第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PHP多語(yǔ)言的實(shí)現(xiàn)

PHP多語(yǔ)言的實(shí)現(xiàn)

PHP
Smart貓小萌 2023-04-15 20:41:54
我想知道如何在 PHP 腳本中實(shí)現(xiàn)多種語(yǔ)言。我真的找不到任何方便的方法來(lái)說(shuō)明如何做這樣的事情以使翻譯變得容易。我舉個(gè)例子://Output looks like this://Where are You, Mike? It is me, Rebeca! I am waiting here for 5 hours!//But in file it is some abomination like:echo 'Where are You, '.$name.'? It is me, '.$name2.'! I am waiting here for '.$time.' hours!';//Just imagine that meantime there might be different functions, included files//and other code required to create more sentences like the above to create long text...如果文件輸出這樣的文本被許多不同的變量和代碼打碎,那么語(yǔ)言文件應(yīng)該是什么樣子的?我想到將用戶(hù)語(yǔ)言保存在 $_SESSION['lang'] 中,并在每個(gè)文件中包含具有正確語(yǔ)言的文件。但是在我嘗試這樣做之后,它確實(shí)看起來(lái)像這樣://main fileecho $txt[1].$name.$txt[2].$name2.$txt[3].$time.$txt[3];//lang file$txt[1] = 'Where are You, ';$txt[2] = '? It is me, ';$txt[3] = '! I am waiting here for ';$txt[3] = ' hours!';它看起來(lái)很可笑,不可讀,并且有很多潛在的錯(cuò)誤。試想一下,如果您是只能訪(fǎng)問(wèn) lang 文件的翻譯人員——不可能翻譯這樣的文本,對(duì)吧?這應(yīng)該/可以如何以不同的方式完成?
查看完整描述

1 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

是的,它是那樣做的,但不是像你那樣做的單個(gè)單詞或句子塊,否則它不會(huì)翻譯得很好。


通常如何處理這個(gè)問(wèn)題,你定義你的模板,然后有一個(gè)你用傳遞的參數(shù)調(diào)用的函數(shù)。


請(qǐng)參閱: https: //www.php.net/manual/en/refs.international.php獲取 gettext 等,或查找一個(gè)庫(kù)。


例子:


<?php

$trans = [

? ? 'en' => [

? ? ? ? 'user_where_are_you_text' => 'Where are You, %s? It is me, %s! I am waiting here for %s hours!',

? ? ? ? //...

? ? ],

? ? 'fr' => [

? ? ? ? 'user_where_are_you_text' => 'Où es-tu, %s? C\'est moi, %s! J\'attends ici depuis %s heures!'

? ? ? ? //...

? ? ],

? ? //...

];


$name = 'Loz';

$name1 = 'Rasmus';

$time = 3;


function __($key, ...$arguments) {

? ? global $trans, $lang;

? ? return sprintf($trans[$lang][$key], ...$arguments);

}


//

$lang = 'en';

echo __('user_where_are_you_text', $name, $name1, $time).PHP_EOL;


//

$lang = 'fr';

echo __('user_where_are_you_text', $name, $name1, $time).PHP_EOL;


查看完整回答
反對(duì) 回復(fù) 2023-04-15
  • 1 回答
  • 0 關(guān)注
  • 102 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)