長期潛伏者,第一次發佈海報(請在我身上輕鬆一下)。內容爲變量的多語言PHP應用程序
背景: 我寫了一個相當大的,複雜的內部(後面的企業防火牆)的金融機構申請。我們現在正在考慮部署到世界各地的辦事處,這將需要翻譯內容。
具體問題: 大部分的內容有變量的內容,這是相當基本的應用程序。
解決方案我已經探討:存儲在數據庫中
1)內容 - 易於管理,易於搜索,易於單個內容塊適用於多頁/使用。無法[容易]在內容中存儲變量。
2)變量在事先準備好的SQL語句 - 不幸的是,準備變量只能通過它的外觀的查詢的WHERE部分。我希望能夠在數據庫中存儲「一些內容:prepared_variable」,並以此方式處理它,但在那裏沒有運氣。
3)含量的XML/JSON /的.ini - 同樣的問題作爲一個數據庫,變量沒有得到解析/填充。 () - 每個人都說它是邪惡的。這可能是它可以或必須使用的情況嗎?我可以創建一個獨立的.sqlite數據庫,該應用程序永遠不會寫入內容存儲,從而降低執行隨機代碼的可能性。事實上,如果有人進入並修改我們的數據庫,我們會遇到更大的問題,儘管我確實看到了風險,並且對於走這條路線非常猶豫。我還擔心,如果我走這條路線,申請可能不會通過任何潛在的審計。
我能想到一些過於複雜的解決方案,但不希望利用它們:
1)處理所有的邏輯,然後加載從模板文件的語言。
2)必要時在變量兩端連接語言。
3.)從DB加載內容並運行str_replace插入變量。
我的具體問題,有人處理多語言應用程序?你如何處理內容中的變量?有沒有我錯過的選項?
你想改變代碼本身的變量名稱或變量的文本輸出到頁面? – Kuya
「大部分內容在內容中都有變量,這對於應用程序來說是非常重要的。」< - 這甚至意味着什麼。我嘗試爲你重新編寫它,但仍然無法弄清楚。 –
如果#*下的#「不願意使用它們」*,那麼您就是指AJAX。我相信多語言支持是您最好的選擇。使用AJAX,您可以創建許多語言的XML文件,然後在後端提供一種方法,允許用戶選擇其偏好語言。該選擇存儲在數據庫中,因此當用戶返回其選擇的語言文件時,將用於填充頁面上的內容。 – Kuya