是否有更好的方法來存儲大量文本以便在laravel進行本地化?如果我的整個頁面僅僅是純文本,但是我的幾個頁面的佈局複雜,並且我需要添加多個字符串以圍繞內容(如圖像/鏈接/媒體)包裝文本,這很容易。Laravel大型網站本地化
這是一個痛苦,如果我需要斜體/大膽或爲文本做任何形式的HTML以及我需要將它們分成幾部分才能做到這一點。
我使用的是什麼樣的一個例子:
return array(
'exchange_rate' => array(
'title' => 'Exchange Rate',
'p1' => 'Disclaimer',
'p2' => 'Currency rate displayed is subject to change.',
'p3' => 'View All Rates to Date'
),
第一個數組是網頁,二是網頁的內容。我經常需要爲更復雜的佈局深入多個陣列,例如:
return array(
'exchange_rate' => array(
'title' => 'Exchange Rate',
'p1' => 'Disclaimer',
'p2' => 'Currency rate displayed is subject to change.',
'p3' => 'View All Rates to Date',
'table1' => array(
'title' => 'Currency Table',
'row1' => array(
'l1' => 'Current Rate'
),
'row2' => array('etc')
)
);
我正在做對嗎?有沒有更好的方法來格式化我的語言文件,以便我可以在視圖中解決佈局問題?我只是好奇大型網站如何管理本地化。
任何幫助非常感謝,謝謝!
編輯:我也知道,你可以如你的本地化陣列裏面添加佔位符:
'title' => ':title'
但在一個頁面上添加佔位我所有的鏈接,圖像和媒體可以得到亂。 Laravel也不支持語言數組中的HTML,所以我不能僅僅在語言文件內部播放內容。 - 是的它確實
現在看來有兩種不同的方式可以到這裏。
- 繼續將它們分成小段以不同的方式格式化文本。
- 將頁面文本粘貼到每個頁面的「內容」數組中,使用Waavi將它們傳輸到數據庫,然後使用網站上的WYSIWYG編輯器正確格式化它們以格式化數據庫條目。 (雖然這樣也有問題,以及因爲你不能使用刀片模板郎:: get()返回唯一安全的文本)
EDIT(2015年2月10日):
大量搜索後,我已經創建了一個適合我需求的包裝。它完全消除了對laravel中任何文本數組的需求。它會自動將文本添加到數據庫並將其轉換爲您設置的區域設置。另外,您不需要管理和解密帶點標記的翻譯路徑。
https://github.com/stevebauman/translation
我也有興趣看到這個答案。 – snollygolly