0

DotNetNuke 7 の Community エディションを使用して、HTML モジュールでカルチャ コード (「en-US」や「fr-FR」など) を使用またはレンダリングする方法はありますか?

私の目的は、次の行に沿って、これを HTML モジュール内の iFrame URL に渡すことです。

<iframe src="http://www.awesome.com?language=[Language:Culture]" />

これがどのように(または可能であったとしても)可能かを調べるために、いくつかのことを試しました:

  • 「HTMLモジュールのDotNetNuke 7言語トークン」などのクエリのグーグル。これは多くの古いページにつながります。最良のページは、多くのトークンに言及しているページですが、必要なものが 1 つもありません。

  • DotNetNuke (具体的にはTokenReplace.cs ) のソース コードを参照します。[Language:...]これは、利用可能なトークンがまったくないことを示唆しています。

  • のような単純なことを試してみるだけです[Language:culture]が、これはエラーになります:

    [Language:culture] へのアクセス中にエラーが発生しました。Language は不明なデータソースです。

  • すべての設定を調べて、モジュールを選択した言語に何らかの方法で応答させる方法を見つけようとしています。私が見つけた唯一のものは、(有望な)「モジュール文化」設定であり、これは有用であると期待していました(特定の文化でのみモジュールを表示するだけで十分です)。しかし、この設定...

    DNN での設定

    ...設定できるものではありません。おそらくこれは、HTML モジュールが文化との対話をまったくサポートしていないためでしょうか?

コミュニティ版でこれらの線に沿って何かを行う方法があるかどうか誰か教えてもらえますか? または、独自のモジュールを作成するか、javascript などを含むハックに頼る必要がありますか?

4

1 に答える 1

2

最初のメモ:

  • デフォルトではページはニュートラルですが、多言語ポータルを有効にすると、ページの文化がデフォルトの言語に変更されます。ページ設定で確認できます (モジュールのスクリーンショットのように見えます)。
  • ページ内のすべてのモジュールは、そのページと同じ文化を持っています。
  • したがって、モジュールのカルチャがニュートラルである場合、それはページがニュートラルであることを意味し、多言語を有効にしていないことを意味します。

必ず:

  1. DNN 多言語オプションを有効にします:
    • ホスト > ホスト設定 > その他の設定 > コンテンツ ローカリゼーションを許可
  2. デフォルトの言語 (後で変更することはできません) を設定し、ポータルに必要な言語のリストを作成します。
    • 管理者 > 言語
  3. サイトを複数の言語に対応できるようにします。(元に戻せません)
    • この元に戻すことができる操作は、言語リストにあった各言語のデフォルト言語 (ニュートラル言語ではない) を使用して、ページからすべてのページとそのモジュールのコピーを作成します。つまり、この後、各言語の各ページ/モジュールのコピーが作成されます。それらはまったく異なるコンテンツ/設定を持つことができますが、それらは互いに関連しているだけです (同じものと見なされますが、異なる言語である) ため、ユーザーは言語を変更して他の言語で正しいページを表示できます。異なる言語のこれらのページはデフォルトと同じページではないため、別のタブ ID があることに注意してください。したがって、言語トークンは必要ありません。各言語の各ページには、モジュールの個別のコピーがあります。
    • 管理者 > 言語 > ローカライズされたコンテンツを有効にする
  4. 各コピーを最初に公開する必要があります。そうしないと、翻訳者グループ/ロールによってのみ表示されます (公開されません)。そのため、コピーされたモジュールとページを個別に翻訳済みとしてマークする必要があります。もちろん、そのコンテンツと設定を翻訳してアップグレードした後。
    • 異なる言語でリンクされたページ間での翻訳とモジュール関係のマーキングと管理を容易にするために、 http://dnncltools.codeplex.com/を使用することをお勧めします。このツールを使用すると、コピーを使用する代わりに、異なる言語で同じモジュールを使用する方が簡単です。 .
  5. したがって、モジュールを複数のページで使用できるようにする場合、要求されたように複数の言語を使用できるモジュールが本当に必要になります。HTML モジュールの場合、http://nuntiocontent.codeplex.com/を使用します。
  6. すべてを翻訳済みとしてマークした後、それらを公開する必要があります。これにより、通常の閲覧権限が付与されます。
    • 管理者 > 言語 > 各言語行の前に公開アイコン
于 2013-10-08T22:49:32.427 に答える