[Svn-src-all:3250] [version-2_12-multilang 22151] #163 テキスト出力多言語対応
pineray
admin @ mail.ec-cube.net
2012年 12月 20日 (木) 13:25:36 JST
Subversion committed to /home/svn/open 22151
http://svn.ec-cube.net/open_trac/changeset/22151
┌────────────────────────────┐
│更新者 : pineray │
│更新日時: 2012-12-20 13:25:36 +0900 (木, 20 12月 2012)│
└────────────────────────────┘
Log:
--------------------------------------------------------
#163 テキスト出力多言語対応
変数を翻訳する修飾子を追加.
default_t_plural 修飾子のコメントを修正.
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_12-multilang/data/smarty_extends/modifier.default_t_plural.php
A branches/version-2_12-multilang/data/smarty_extends/modifier.t.php
変更: branches/version-2_12-multilang/data/smarty_extends/modifier.default_t_plural.php
===================================================================
--- branches/version-2_12-multilang/data/smarty_extends/modifier.default_t_plural.php 2012-12-20 03:28:43 UTC (rev 22150)
+++ branches/version-2_12-multilang/data/smarty_extends/modifier.default_t_plural.php 2012-12-20 04:25:36 UTC (rev 22151)
@@ -7,14 +7,16 @@
/**
- * Smarty default_t modifier plugin
+ * Smarty default_t_plural modifier plugin
*
* Type: modifier<br>
- * Name: default_t<br>
+ * Name: default_t_plural<br>
* Purpose: designate translatable default value for empty variables
* @author pineray 松田光貴 <matsudaterutaka at gmail dot com>
* @param string
+ * @param integer
* @param string
+ * @param string
* @return string
*/
function smarty_modifier_default_t_plural($variable, $counter = 1, $single = '', $plural = '')
追加: branches/version-2_12-multilang/data/smarty_extends/modifier.t.php
===================================================================
--- branches/version-2_12-multilang/data/smarty_extends/modifier.t.php (rev 0)
+++ branches/version-2_12-multilang/data/smarty_extends/modifier.t.php 2012-12-20 04:25:36 UTC (rev 22151)
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Smarty plugin
+ * @package Smarty
+ * @subpackage plugins
+ */
+
+
+/**
+ * Smarty t modifier plugin
+ *
+ * Type: modifier<br>
+ * Name: t<br>
+ * Purpose: translate variables
+ * @author pineray 松田光貴 <matsudaterutaka at gmail dot com>
+ * @param string
+ * @return string
+ */
+function smarty_modifier_t($string)
+{
+ // 多言語対応用の関数が無ければ変数をそのまま出力
+ if (!function_exists('t')) {
+ return $string;
+ }
+
+ // パラメーター用の配列
+ $params = array();
+ // オプション用の配列
+ $options = array();
+
+ // 引数を取得
+ $args = func_get_args();
+ // パラメーターの引数があればセットする
+ if (count($args) > 1) {
+ array_shift($args); // $string
+
+ // 引数をパラメーターに変換
+ $max = floor(count($args)/2);
+ for ($i = 0; $i < $max; $i++) {
+ $key = $i * 2;
+ $params[$args[$key]] = $args[$key+1];
+ }
+
+ // 言語コードの指定があればオプションにセット
+ if (!empty($params['lang_code'])) {
+ $options['lang_code'] = $params['lang_code'];
+ unset($params['lang_code']);
+ }
+ // 機種の指定があればオプションにセット
+ if (!empty($params['device_type_id'])) {
+ $options['device_type_id'] = $params['device_type_id'];
+ unset($params['device_type_id']);
+ }
+ }
+
+ return t($string, $params, $options);
+}
Svn-src-all メーリングリストの案内