我已經完成了一些網站和應用程序,支持多種語言,我已經在代碼中使用了語言xml文件和關鍵字。對於我的網絡應用程序,我相信這種方法很糟糕。我喜歡閱讀和理解我的HTML代碼。此代碼沒有任何意義:翻譯Web應用程序的不同方法
<h1><?= translate('main_headline'); ?></h1>
它看起來不錯的開始,但是剛剛結束了不愉快的程序員,因爲添加新功能的過程,現在需要把東西在個XML所有的時間。
我的解決方案(我只是寫了一個簡單的測試PHP解析器一個小時前,你認爲這將在一個大型項目的工作?)
我用英語作爲我的基本語言,這是我如何源文件的外觀:
<h1>{{ I love colors }}</h1>
我的解析器將使用文本(真實文本)作爲字典數組的關鍵字。在這個例子中,我正在從美國英語翻譯成英國英語。
$dictionary['I love colors']['en_GB'] = 'I love colours'
因爲它已經在源文件中,所以我的基礎語言不需要字典。
還有很多東西像緩存,回退,字典存儲等。你認爲它可以在大型項目中工作嗎?那裏有我沒有考慮過的事情?
這種類型的字典是由phpBB成功使用的(儘管沒有解析方面的東西。)但是,每種語言應該有一個字典文件,如果你需要en_GB, (1)避免加載20種語言,並且(2)在訪問字典時不需要將其作爲關鍵字。 – 2011-09-19 05:33:35