2011-06-14 78 views
0

構建一個asp.net mvc網站必須是多語言的,並且想知道是否可以將格式化文本存儲在資源文件中,以及它是否有意義。在資源文件中存儲格式化文本。是否可能?

很多頁面都是靜態的,用戶可以編輯它們並添加自己的格式「粗體,斜體等。」並且想知道處理它的最佳方式是什麼。

我不想創建一個頁面x語言並在數據庫中存儲涉及創建一個結構來處理多種語言中的相同信息。看起來難以維護。

你以前做過嗎?你是怎麼做到的

任何建議 非常感謝

+0

請詳細說明一下,您的網站用戶究竟能做什麼?如果他們能夠添加任意文本,那麼您也將面臨翻譯挑戰 – Zruty 2011-06-14 15:37:36

+0

是的,他們可以在飛行中輸入任意文本。用戶可以進入管理部分編輯頁面並保存它。我想我沒有選擇,只能將文本保存在數據庫的表中 – user9969 2011-06-14 17:35:48

回答

0

這可能嗎?

當然可以。

它有道理嗎?

這取決於。我不會推薦資源文件(通過ResourceWriter)存儲動態內容。

你的問題

讓我重組你的(我不知道如果我理解正確的你)。您想讓您的用戶能夠更改演示文稿樣式。用戶將能夠改變風格,並且該改變將以某種方式傳播到內容被轉換成的任何語言。

在這種情況下,我看到了一些問題:有譯一個

  1. 如何搭配英文內容是什麼?
    翻譯通常具有不同的順序和可能不同數量的句子。除非...

  2. 將這些信息與可翻譯字符串一起存儲在資源文件中會導致難以維護的內容。我相信你需要添加格式化標籤或帶有樣式信息的內容標籤才能實現這一點。結果將是一團糟。難以閱讀,難以修改。

好的,那你能做什麼?其實,我可以推薦的是爲CSS文件創建自定義機制。你的情況,你需要:

  1. 提供CSS類以及唯一標識符(HTML id屬性),每個結構單元(如果你願意的標籤),讓你有類似<div id="main" class="main"><p id="p1" class="normal">...。該ID將使用戶能夠精確定位該元素,而不會觸及其他元素(通過#p1.normal { // definition here })。
  2. 將CSS存儲在數據庫中,併爲用戶創建一些編輯器。
  3. 創建Handler根據Web瀏覽器的請求從數據庫提供CSS。

即使有了這樣的解決方案,你也不會避免一些問題。一種是你需要在翻譯某些語言的同時真正改變字體族,所以你可能需要基於語言的CSS文件。當用戶想要在某個詞上加上大膽的屬性時會彈出另一個問題 - 這種解決方案是不可能的(但要說實話,如果你想允許,這將不會因爲我之前提到的原因而變得友好) 。
順便說一句。某些語言應該避免使用粗體字體。例如,如果您設法使用粗體字輸出漢字,則漢字很難閱讀。

0

如果你的用戶能夠以多種語言發佈 - 它可能是最好使用一個數據庫來存儲信息和相應的格式。如果是用於網站上的標籤和其他靜態文本 - 資源文件是一個很好的解決方案。資源文件以字符串的形式存儲內容 - 但是在那裏存儲格式化的文本會打破'將邏輯'的目錄分離出來。

相關問題