Standing on the Shoulder of Linus

Home / 2011 / 12月 / 05 / Debugging translation for Concrete5

Debugging translation for Concrete5

メッセージを英日併記にするWordPressプラグインdebugging translation の Concrete5 版を作りました。https://github.com/ounziw/Debugging-translation-for-Concrete5 からダウンロードできます。

下の画面のように、英語と日本語が並んで表示されます。(未訳部分は英語英語、となります。)訳語が適切かどうか、等を実際の画面を見て確認することができます。


localization.php ファイルを、libraries に置くと動作します。デバッグ用ですので、実サイトで利用することは推奨しません。

t関数部分を書き換えています。

	function t($text) {
		// prevents warnings when texts are used as an arg of some functions like printf.
		$removed = array('$','%');
		$no_var_text = str_replace($removed,'_',$text);
		$zt = Localization::getTranslate();
		if (func_num_args() == 1) {
			if (is_object($zt)) {
				return $no_var_text . $zt->_($text);
			} else {
				return $text;
			}
		}

		$arg = array();
	    for($i = 1 ; $i < func_num_args(); $i++) {
	        $arg[] = func_get_arg($i); 
	    }
		if (is_object($zt)) {
			return vsprintf($no_var_text . $zt->_($text), $arg);
		} else {
			return vsprintf($text, $arg);
		}
	}

パッケージ化することも考えていますが、dispatcher.php で Loader::library('localization'); が実行されるので、パッケージハンドラを指定して実行するのは結構大変かもしれません。

※Concrete5.5 ベータ版を元に作成しています。古いバージョンでの動作はチェックしていません。

関連

Posted in concrete5 | Tagged 日本語化, 管理画面
← github でドキュメント日本語化 FuelPHP の view に PHPTAL デザインテンプレートを使う →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 問い合わせフォーム改善: 選択肢により条件分岐し、項目の表示非表示を変更する
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.