2017-04-12 51 views
0

我需要爲員工信息創建存儲,可能需要1000〜2000名員工。 員工信息將顯示在網站上。具有多語言內容的可維護數據

此外,我還需要分區(10〜20)和位置(50〜200)信息可維護。

因此,當我輸入員工信息進行分工和職位時,可以從下拉列表或任何可以工作的選擇器中進行選擇。

但分部和職位的名稱是多語言內容。

任何人都可以提出一個合適的方式來構造這些信息存儲?

這是我目前的計劃:

  1. 員工:自定義模塊
  2. 司:自定義表
  3. 位置:自定義表

爲了實現多語言內容,我通過使用概念保留分部名稱和位置名稱的本地化字符串鍵。例如。 {$ AssistantSecretary $}

但是當我輸入員工信息時,選擇器已經根據默認文化設置進行了翻譯。結束我的默認文化是英國,所以我只能用英文獲得部門名稱和職位名稱。

回答

2

爲什麼你把所有這些放到自定義表格中?

您可以考慮將員工建模爲內容(頁面類型),並將分工和職位建模爲分類(通過類別)。

通過讓您的員工內容獲得完整的多語言支持。類別名稱可以使用本地化進行管理(Kentico 10中的編輯人員可以訪問,但早期版本中不能訪問)。

請注意,除非您明確指定語言,否則本地化翻譯將使用當前用戶語言。

例如:ResHelper.LocalizeString(divisionName, "de-de")將返回德語翻譯(如果可用),無論當前用戶首選語言如何。

+0

您的意思是將LocalizeStringKey放入Categories應用程序>顯示名稱字段中? – SoYuJe

+0

請勿直接輸入。該字段使用可本地化的文本框控件。當您在網站上啓用多種文化時,您可以點擊該字段中的+以選擇適當的字符串資源。請注意,您也可以在您自己的類和頁面類型上使用該控件。 –

1

我不是一個在Kentico中本地化內容的專家,但我更喜歡SoYuJe存儲數據到自定義表格中的原始方式。

Marnix的方法存在一些問題 - 在爲內容建模(本例中爲員工)時,您擁有開箱即用的本地化功能,但原始需求最多需要2000名員工 - 有一些limitations這可能會導致您在實施前應考慮的問題。

我們建議內容樹中的每個項目(頁面)最多有1000個直接子頁面。我們建議您在開發過程的一開始就考慮這一點。

+1

我可以從第一手經驗中得知它並不像推薦所說的那麼戲劇化。我們最近在一個節點(也是員工)下提供了一個擁有11.000頁的Kentico 9 MVC站點,但沒有發現任何性能問題。 –

+0

Marnix,限制更多的是Admin UI而不是前端顯示。另外,MVC前端顯示器也可以提高前端的速度。 – Rui

+0

馬丁,在這種情況下,他們可以爲像A-Z這樣的員工或基於部門等創建一些子目錄。 – Rui

0

您可以使用ResHelper。GetString(divisionName),當您在網站上切換語言時,返回的字符串將是當前語言。本地化將爲安裝到網站/實例的每種語言提供翻譯選項。