2016-11-16 8 views
0

ローカリゼーションを実装したいと思います。言語コードを取得したら(たとえばen)、テキストを取得する最も良い方法は何ですか?たとえば、PHP変数またはJSONローカリゼーションとその取得方法

en: 
    welcome-text = "Hello!" 
es: 
    welcome-text = "Hola!" 

また、最も効率的で最速の方法は何ですか?私はPHPの変数でそれらを格納し、配列またはスイッチの文でPHPの変数を介してテキストを取得するか、私はそれらをjsonとして保存し、json経由で取得する必要がありますか?

+0

最速の方法ですか?既存のコードを活用する:https://github.com/Philipp15b/php-i18n –

+0

ベストウェイ。いくつかのチュートリアルや多分マニュアルを読んで、最初に正しく(通常は長期的には最速の方法) – RiggsFolly

答えて

0

フレームワークを使用していない場合(ほとんどの場合、翻訳機能があり、実際に使用することをお勧めします)、翻訳ファイルとして配列を使用することをお勧めします。これは、シンプルかつ迅速な方法である:

en.php

<?php return array(
    'Welcome' => 'Welcome', 
    ... 
); 

es.php

<?php return array(
    'Welcome' => 'Holla', 
    ... 
); 

lang.php

<?php 
$mapping = require($_SESSION['user-lang-code'].'.php'); 

funciton _t($text) 
{ 
    global $mapping; 
    return isset($mapping[$text])?$mapping[$text]:$text; 
} 

あなたのページ:

<?php 
require 'lang.php'; 

echo _t('Welcome'); 
+0

これのスピードは何ですか?それはjsonより速いでしょうか?私は最も速く効率的な方法が必要であることに注意してください。 – jasonmoqio

関連する問題