none
ASP.NET Webフォームで国際化対応したサードパーティ製のコントロールって知りませんでしょうか? RRS feed

  • 質問

  • お世話になります。

    現在、ASP.NETのWebフォームを使用して国際化対応したアプリケーションを開発しようとしています。

    共通部品として多言語対応のコントロールを開発しようとしていますがカスタムコントロールとして独自に開発するしか方法はないのでしょうか?

    できれば、サードパーティ製の既製のものを導入して生産性を上げたいと考えていますが、そのようなものはあるのでしょうか?

    2013年6月14日 0:37

回答

  • ASP.NET に標準で提供されているコントロールは国際化対応されてますよ。

    globalization 要素の culture, uiCulture 属性を auto に設定した場合には、ASP.NET がリクエスト情報に含まれる Accept-Language ヘッダの内容から判断して、自動的にカルチャを特定してくれます。

    globalization 要素 (ASP.NET 設定スキーマ)
    http://msdn.microsoft.com/ja-jp/library/hy4kkhe0(v=vs.100).aspx

    特定のページだけにしたい場合は @ Page ディレクティブで Culture, UICulture 属性を auto に設定できます。

    @ Page
    http://msdn.microsoft.com/ja-jp/library/vstudio/ydy4x04a(v=vs.100).aspx

    Login コントロールなどで試してみてください。例えば IE なら[ツール(T)]⇒[インターネットオプション(O)]で表示されるダイアログの[全般]タブで[言語]をクリックして、英語の優先順位を一番にすると User Name, Password など英語で表示されるはずです。


    特別なカスタムコントロールを作って使うとなると、自力で対応するか、外注するほかないと思います。自力で作る場合は、以下のようにします。

    多言語対応カスタムコンロトール
    http://surferonwww.info/BlogEngine/post/2010/12/06/Multi-Languages-Web-Custom-Control.aspx


    • 編集済み SurferOnWww 2013年6月14日 4:01 誤字訂正
    • 回答の候補に設定 星 睦美 2013年6月18日 1:10
    • 回答としてマーク 星 睦美 2013年6月26日 6:01
    2013年6月14日 3:24
  • サードパーティ製のコントロールを導入するとして、そもそもどんなコントロールが必要なのかはまとまっていますか?

    場合によってはサードパーティ製よりもカスタムで作成したほうが安上がりになることもあります。

    広範囲をサポートするコントロールとしては、GrapCityのComponentOne StudioやinfragisticsのNetAdvantageがあります。どちらも国際化対応しているはずですのでサポートに問い合わせをしてみてください。

    • 回答の候補に設定 星 睦美 2013年6月18日 1:10
    • 回答としてマーク 星 睦美 2013年6月26日 6:01
    2013年6月14日 1:59

すべての返信

  • サードパーティ製のコントロールを導入するとして、そもそもどんなコントロールが必要なのかはまとまっていますか?

    場合によってはサードパーティ製よりもカスタムで作成したほうが安上がりになることもあります。

    広範囲をサポートするコントロールとしては、GrapCityのComponentOne StudioやinfragisticsのNetAdvantageがあります。どちらも国際化対応しているはずですのでサポートに問い合わせをしてみてください。

    • 回答の候補に設定 星 睦美 2013年6月18日 1:10
    • 回答としてマーク 星 睦美 2013年6月26日 6:01
    2013年6月14日 1:59
  • ASP.NET に標準で提供されているコントロールは国際化対応されてますよ。

    globalization 要素の culture, uiCulture 属性を auto に設定した場合には、ASP.NET がリクエスト情報に含まれる Accept-Language ヘッダの内容から判断して、自動的にカルチャを特定してくれます。

    globalization 要素 (ASP.NET 設定スキーマ)
    http://msdn.microsoft.com/ja-jp/library/hy4kkhe0(v=vs.100).aspx

    特定のページだけにしたい場合は @ Page ディレクティブで Culture, UICulture 属性を auto に設定できます。

    @ Page
    http://msdn.microsoft.com/ja-jp/library/vstudio/ydy4x04a(v=vs.100).aspx

    Login コントロールなどで試してみてください。例えば IE なら[ツール(T)]⇒[インターネットオプション(O)]で表示されるダイアログの[全般]タブで[言語]をクリックして、英語の優先順位を一番にすると User Name, Password など英語で表示されるはずです。


    特別なカスタムコントロールを作って使うとなると、自力で対応するか、外注するほかないと思います。自力で作る場合は、以下のようにします。

    多言語対応カスタムコンロトール
    http://surferonwww.info/BlogEngine/post/2010/12/06/Multi-Languages-Web-Custom-Control.aspx


    • 編集済み SurferOnWww 2013年6月14日 4:01 誤字訂正
    • 回答の候補に設定 星 睦美 2013年6月18日 1:10
    • 回答としてマーク 星 睦美 2013年6月26日 6:01
    2013年6月14日 3:24
  • フォーラム オペレーターの星 睦美です。
    ritopapa さん、こんにちは

    かるあ さんとSurferOnWww さんからの情報を参考にしていただいたのではないかと思います。
    今回は私から[回答としてマーク]させていただきました。

    もし回答に引き続き質問があれば遠慮なく[回答としてのマークの解除]をしていつでも返信できます。
    では、これからもMSDN フォーラムをお役立てください。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美

    2013年6月26日 6:02