管理者向けの導入

管理者向けの導入 – Translation2_Admin の使用法

Translation2_Admin とは?

Translation2_Admin は、 翻訳の管理 (言語の追加/削除、文字列の追加/削除) を補助するためのクラスです。

新しい言語の追加

この例では、 MDB2 ドライバを使用して新しい言語を追加する [addLang()] 方法を示します。

<?php
// データベースに接続するためのパラメータを設定します
$dbinfo = array(
    
'hostspec' => 'host',
    
'database' => 'dbname',
    
'phptype'  => 'mysql',
    
'username' => 'user',
    
'password' => 'pwd'
);

// デフォルト設定と異なる場合は、
// データベースのテーブル構成を Translation2 に教えます
$params = array(
    
'langs_avail_table' => 'langs_avail',
    
'lang_id_col'       => 'id',
    
'lang_name_col'     => 'name',
    
'lang_meta_col'     => 'meta',
    
'lang_errmsg_col'   => 'error_text',
    
'lang_encoding_col' => 'encoding',
    
'strings_tables'    => array(
                            
'it' => 'i18n',
                            
'de' => 'i18n'
                         
),
    
// あるいは、テーブルをひとつしか使用しないのなら
    //'strings_default_table' => 'i18n',
    
'string_id_col'      => 'id',
    
'string_page_id_col' => 'page_id',
    
'string_page_id_col_length' => 50// db のフィールドサイズ
    
'string_text_col'    => '%s'  // '%s' は言語コードに置き換えられます
);

$driver 'MDB2';

require_once 
'Translation2/Admin.php';
$tr =& Translation2_Admin::factory($driver$dbinfo$params);

// 新しい言語についての情報を設定します
$newLang = array(
    
'lang_id'    => 'en',
    
'table_name' => 'i18n',
    
'name'       => 'english',
    
'meta'       => 'some meta info',
    
'error_text' => 'not available',
    
'encoding'   => 'iso-8859-1',
);

$tr->addLang($newLang);
?>

これだけです。新しいテーブルを指定した場合はそのテーブルが作成されます。 他の翻訳用のテーブルと同じ名前を指定した場合は、 新しい言語用にそのテーブルが ALTER されます。

言語の更新

この例では、既存の言語を更新する [updateLang()] 方法を示します。

<?php
// 新しい言語についての情報を設定します
$langData = array(
    
'lang_id'    => 'en',
    
'table_name' => 'i18n',
    
'name'       => 'English',
    
'meta'       => 'some updated meta info',
    
'error_text' => 'this text is not available in English',
    
'encoding'   => 'iso-8859-15',
);

$tr->updateLang($langData);
?>

既存の言語の削除

ある言語についての翻訳とその情報をすべて削除したい場合は、

<?php
$tr
->removeLang('fr');
?>

をコールすればいいだけです。 removeLang() には 2 番目のパラメータ ($force) を指定することができます。もし文字列テーブルをすべて削除したい場合 (それが他の言語で使用されているかどうかにかかわらず) は、このようにコールします。

<?php
$tr
->removeLang('fr'true);
?>

これは、一切のチェックを行わないことに注意しましょう。 自己責任で使用してください ;-)

新しい翻訳の追加

それでは、   add() を使用して新しい翻訳を追加する方法を見ていきましょう。

<?php
$stringArray 
= array(
    
'en' => 'sample',
    
'it' => 'esempio',
);

// stringID 'smallTest'、pageID 'testGroup' に対応する
// 英語とイタリア語の翻訳を追加します

$tr->add('smallTest''testGroup'$stringArray);
?>

翻訳の削除

stringID を使用して、 remove() で翻訳を削除することも可能です。

<?php
$tr
->remove('smallTest''testGroup');
?>
Translation2 の使用法 (Previous) さまざまな Translation2 コンテナの概要 (Next)
Last updated: Wed, 22 Oct 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.