質問

私は月のカレンダー形式のコントロールを書いて、今日の日付を示す文字列を表示する必要がありますしています。だから、英語文化のマシン上では'Today : 11/02/2009'を示すだろう。

異なる文化がフランス語など、使用することが発生した場合は、その後、私は「今日のためにフランス語の単語を使用したいと思います。

私はそれを自動的に取得することができますので、

.NETプラットフォームは、培養情報の一部として、この言葉を公開していますか?私が露出何かを見つけることができませんが、多分私が正しい場所に見ているわけではない。

役に立ちましたか?

解決

旧..しかし、(何歳?VB6旧)なお有用ます。

基本的にはWindowsがComctl32.dllの中に「今日」のローカライズされたバージョンを保持します。あなたはloadstringex呼び出しでそれを魚することができます:

Private Const IDM_TODAY As Long = 4163
Private Const IDM_GOTODAY As Long = 4164

Public Function GetTodayLocalized(ByVal LocaleId As Long) As String
    Static hComCtl32 As Long
    Static hComCtl32Initialized As Boolean
    Static hComCtl32MustBeFreed As Boolean

    Dim s As String

    If Not hComCtl32Initialized Then
        hComCtl32 = GetModuleHandle("Comctl32.dll")
        If hComCtl32 <> 0 Then
            hComCtl32MustBeFreed = False
            hComCtl32Initialized = True
        Else
            hComCtl32 = LoadLibrary("Comctl32.Dll")
            If Not hComCtl32 = 0 Then
                hComCtl32MustBeFreed = True
                hComCtl32Initialized = True
            End If
        End If
    End If

    If hComCtl32Initialized = False Then
        s = "Today"
    Else
        s = LoadStringEx(hComCtl32, IDM_TODAY, LocaleId)
        If s = "" Then
            s = "Today"
        End If
    End If

    If hComCtl32MustBeFreed Then
        FreeLibrary hComCtl32
        hComCtl32MustBeFreed = False
        hComCtl32Initialized = False
        hComCtl32 = 0
    End If

    s = Replace(s, "&", "")
    If Right(s, 1) = ":" Then
        s = Left(s, Len(s) - 1)
    End If

    GetTodayLocalized = s
End Function

他のヒント

このには、.NETのかなり包括的な概観でありますローカライズます。

要するに、DateTime構造体の方法は、システムのロケールに基づいて日付をフォーマットします。あなたがあなた自身を指定することにより、デフォルトのロケールを上書きすることができます。

編集:申し訳ありませんが、私はあなたの質問を読み違えます。いいえ、そのようなことはありません。あなたがサポートする必要がある「今日の翻訳を取得するには翻訳サイトを使って、あなたのコード内の辞書でそれらを保つことができます。 綿密に検討すると、しかし、私は結果の文字列以来、全くこのことをお勧めしません「今日:XX / XX / XXX」他の言語でぎこちない感じがあります。 「Heute:2009年2月11日」、またはフランス語の「Aujourd'hui:2009年2月11日は」ドイツ語版ながらカレンダーで[OK]を動作するようです、私は、中国語や日本語のために言うことができません。これは、あなたがローカライズだけの翻訳であると考えたときに実行する可能性のある問題を示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top