2017-04-12 9 views
0

私は従業員情報用のストレージを作成する必要があります(1000〜2000人の従業員)。 従業員情報がウェブサイトに表示されます。多言語コンテンツの保守可能なデータ

さらに、私は、メンテナンス可能にするには、分割(10〜20)と位置(50〜200)の情報も必要です。

従業員情報を部門と位置に入力すると、ドロップダウンリストまたは選択可能なセレクタから選択できます。

しかし、部門名と位置は多言語コンテンツです。

誰も私にこれらの情報ストレージを構成するのに適した方法を提案できますか?ここで

が私の現在の計画である:

  1. 従業員:カスタムモジュール
  2. 部門:カスタム表
  3. ポジション:カスタム表

多言語コンテンツを達成するために、私はによって概念を使用します部門名と位置名のローカライズ文字列キーを保持します。例えば。 {$ AssistantSecretary $}

しかし、従業員情報を入力すると、セレクタからは既定のカルチャ設定に基づいて変換されています。私の既定の文化は英国ですから、私は英語で部門名と役職名しか得られません。

答えて

2

なぜあなたはこのすべてをカスタムテーブルに入れていますか?あなたが分類として(カテゴリを通じて)コンテンツ(ページタイプ)と分裂と位置として従業員をモデル化し検討することもでき

従業員のコンテンツを作成することにより、完全な多言語サポートが得られます。カテゴリ名はローカリゼーションを使用して管理できます(これはKentico 10のエディタにはアクセスできますが、以前のバージョンでは利用できません)。あなたが言語を明示的に指定しない限り、ローカライズと翻訳が現在のユーザの言語を使用することを

は注意してください。

たとえば、ResHelper.LocalizeString(divisionName, "de-de")は、現在のユーザーの優先言語に関係なく、ドイツ語の翻訳を返します(利用可能な場合)。

+0

LocalizeStringKeyをカテゴリアプリケーション>表示名フィールドに置くことを意味しますか? – SoYuJe

+0

直接入力しないでください。そのフィールドは、ローカライズ可能なテキストボックスコントロールを使用します。サイトで複数のカルチャーを有効にすると、フィールドの+を押して適切な文字列リソースを選択できます。このコントロールは独自のクラスやページタイプでも使用できることに注意してください。 –

1

私はKenticoのコンテンツをローカライズする専門家ではありませんが、私はカスタムテーブルにデータを保存する独自の方法が好きです。

Marnixのアプローチにはいくつかの困難があります。コンテンツ(この例では従業員)をモデリングしている間にすぐにローカライズ機能がありますが、元の要件には最大2000人の従業員が必要です。 limitationsこれは実装する前に考慮すべき問題を引き起こす可能性があります。

コンテンツツリーの各アイテム(ページ)には、最大1000の直接的な子ページがあることをお勧めします。これは、開発プロセスの最初から検討することをお勧めします。

+1

私は経験から、推薦状態ほど劇的ではないことが分かります。我々は最近、単一のノード(従業員も含む)のもとで11.000ページのKentico 9 MVCサイトを提供し、パフォーマンス上の問題は見られませんでした。 –

+0

Marnixでは、フロントエンドの表示ではなく、管理UIの制限がさらに大きくなりました。また、MVCフロントエンドの表示は、前面の方が速い場合にも行います。 – Rui

+0

Martinの場合、A-Zや部門などの従業員のためのサブディレクトリを作成することができます。 – Rui

0

ResHelperを使用できます。GetString(divisionName)、ウェブサイト上で言語を切り替えると、返される文字列は現在の言語になります。ローカリゼーションには、ウェブサイト/インスタンスにインストールされた各言語の翻訳オプションがあります。