バージョン選択

フォーラム

メニュー

オンライン状況

46 人のユーザが現在オンラインです。 (38 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 46
もっと...

サイト内検索

機能要望 > その他 > gettext の採用可否について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
pineray
投稿日時: 2012/4/18 12:43
対応状況: −−−
長老
登録日: 2006/9/9
居住地: 伊賀
投稿: 292
gettext の採用可否について
gettext の採用可否について、皆さんのご意見を聞かせていただきたく、投稿します。

プログラムから出力されるエラーメッセージ等の文言が、現在はそれぞれのコードに直接記述されている状態ですが、これは保守性の面でかなりよろしくない状態だと思います。

そのため、現在のハードコーディングされている文言をそれぞれエイリアスに置き換え、そのエイリアスを実際に表示する文言へ変換する方式に変えてコミットしようかと思っています。

その場合、PHPの拡張モジュール gettext を利用して mo ファイルや po ファイルから文言を抽出する方法が一般的なようです。

ただ、gettext モジュールが有効になっている環境が一般的とはいえ、有効でない環境がある可能性も考えると、gettext を採用するのはどうなのかな、と考えてしまいます。

みなさんはどう思われますか?


----------------
EC-CUBEのプラグインを公開しています!
いつも reCAPTCHA

seasoft
投稿日時: 2012/4/18 12:53
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: gettext の採用可否について
個人的には gettext 周りでハマった過去もあり若干の拒絶反応もありますが(笑)、他(多?)言語対応の方向にも繋げていけそうな、興味深い提案ですね。

この辺り(動作環境要件)は、ホスティングパートナーとの調整もあるっぽいので、最終的には株式会社ロックオン社の判断も必要そうですね。

「他のメジャーなアプリで、こんなものでも必須となっています」という話があると、説得しやすいようにも思います。(たしか、何かの CMS のインストールで導入した記憶が。)

あとは、どのタイミングで投入するのかというのもありますよね。2.12 はβまで進んでいるからなぁ・・・


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

nanasess
投稿日時: 2012/4/18 13:46
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2314
Re: gettext の採用可否について
個人的には賛成です.

ただ, ハードコーディングされている画像の文言まで対応しないといけませんよね...
最終判断は, 株式会社ロックオンさんに委ねます.
shutta
投稿日時: 2012/4/18 13:48
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: gettext の採用可否について
私も、メッセージを変更したい場合に、あちこちに散らばっていて不便な思いをしばしばしています。
そのあたりのメッセージが1ファイルに集約できるという部分で是非前向きに採用して欲しいですね。

動作環境要件的には、多くの場合gettextエクステンションは有効になっているんじゃないかなぁと思うんですが、やはり株式会社ロックオン社のディシジョンが必要でしょうね。

WordPressなんかは、自前でライブラリを持っていて、gettextエクステンションが有効でない場合にも対応しているっぽいです。
こういった手法だと環境面ではクリアできそうですが、実装工数が上がりそうですね。

投入時期に関しては、2.12のロードマップには、
ソース凍結予定日:2012/05/16
となっているので、それまでに盛り込めなければ、次期バージョン以降になりそうですね。


----------------

リゾート会員権(エクシブ等)の売買・仲介

pineray
投稿日時: 2012/4/19 19:04
対応状況: −−−
長老
登録日: 2006/9/9
居住地: 伊賀
投稿: 292
Re: gettext の採用可否について
調べてみたところ、WordPress・Drupal・Zend Framework・CakePHP・Code Igniter のいずれも、拡張モジュールに依存しないように、独自のライブラリーで実装しているみたいですね。

うーん、やっぱり gettext を使わない形で実装したほうが良いのかもしれません。
かなり工数が上がっちゃいますけど


----------------
EC-CUBEのプラグインを公開しています!
いつも reCAPTCHA

shutta
投稿日時: 2012/4/19 19:34
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: gettext の採用可否について
引用:

pinerayさんは書きました:
調べてみたところ、WordPress・Drupal・Zend Framework・CakePHP・Code Igniter のいずれも、拡張モジュールに依存しないように、独自のライブラリーで実装しているみたいですね。

うーん、やっぱり gettext を使わない形で実装したほうが良いのかもしれません。
かなり工数が上がっちゃいますけど


独自ライブラリーを一から作成するとなると大変そうですね。

以前のWordPressは、下記のライブラリーを使用していたっぽいですね。

php-gettext
https://launchpad.net/php-gettext/

既存のライブラリーを利用可能なら、少しは工数も抑えられるように思いますので、参考にして頂けたら幸いです。

あと、さらに工数掛かかる話で心苦しいですが、
管理画面からメッセージの変更ができるようになると大変便利になると思います。
こちらの機能も検討頂ければ、ものすごく嬉しいです。


----------------

リゾート会員権(エクシブ等)の売買・仲介

tao_s
投稿日時: 2012/4/20 22:05
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 799
Re: gettext の採用可否について
concrete5は前はgettext必須でしたが、今はZendのライブラリ使ってgettext無くても動く様になってます。
実装もそこまでゴリゴリ書いて無かったと思いますよ。


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

pineray
投稿日時: 2012/4/23 13:49
対応状況: −−−
長老
登録日: 2006/9/9
居住地: 伊賀
投稿: 292
Re: gettext の採用可否について
独自ライブラリーをイチから作ると大変なので、既存のライブラリーを利用して省力化しつつ、拡張モジュールには依存しない形で実装しようと思います。

既存のライブラリーだと shutta さんが挙げてくださっている php-gettext が良さそうですね。
Zend Framework のものは高機能で作りもしっかりしていると思うのですが、なにぶん PHP 5.2.4 以降からのサポートなので、また別の問題が生じてきます。

あと、毎度ファイルを読み込むと負荷が高くなりそうなので、PEAR の Cache_Lite を使ってキャッシュを実装しようかとも計画しています。


----------------
EC-CUBEのプラグインを公開しています!
いつも reCAPTCHA

yosako
投稿日時: 2012/4/25 9:14
対応状況: −−−
一人前
登録日: 2011/12/3
居住地:
投稿: 101
Re: gettext の採用可否について
あのぉ...メッセージだけを多言語化しても、データ側が単一言語だけではダメだと思います。

商品情報なども多言語で登録する必要があり、DB構造自体を多言語化する必要があると思います。すなわち、dtb_lang_keyテーブルを新規に作成し言語キーを登録し、必要なものはdtb_xxxに言語キーフィールドをもち、言語キー別にデータを登録できるように大改造する必要があると思います。管理画面もこれに対応して修正しなければなりません。

また、shop側では、ユーザのブラウザlocaleからその言語で初期表示し、ユーザが任意に言語を切り替えることができるようにすることも必要です。

いずれにしても、gettextだけの問題ではなく、大改造が必要になる思います。
pineray
投稿日時: 2012/4/25 10:15
対応状況: −−−
長老
登録日: 2006/9/9
居住地: 伊賀
投稿: 292
Re: gettext の採用可否について
複数の言語で同時に運用する場合はそうですよね。

ただ、まずはコード中のメッセージを集約して、
メンテナンスや変更をしやすくすることが目標です。
なので単一の言語で運用することを考えています。

もし翻訳ファイルの提供があれば、中国語版EC-CUBEや
英語版EC-CUBEが実現できる、といった程度です。

ゆくゆくは複数言語での運用もできればとは思いますが、
yosakoさんが書かれているとおり、道のりは遠いです


----------------
EC-CUBEのプラグインを公開しています!
いつも reCAPTCHA

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,043名です
総投稿数は110,020件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.