我正在编写自己的TimeSpan
到ReadableString实现。现在我需要它来支持不同的语言。
函数类实现为具有两个静态公共方法的静态类,两者都称为Convert,但是一个只接收TimeSpan值作为参数,而第二个也允许提供CultureInfo
以指定,这是所需的可读字符串语言。
我的问题是我的想法是使用基本开关(desiredCulture.ThreeLetterISOLanguageName)并返回不同的String.Format结果。
考虑到我想解决的简单任务,这是一个好方法吗?使用ThreeLetterISO无论如何更可靠和广泛的语言两个字母代码?
答案 0 :(得分:0)
在我看来,您实际上并不想仅仅本地化TimeSpan
,而是希望本地化您的整个应用程序。有几种方法可以做到这一点(例如,有一个weird, overcomplicated way specific to WPF)。
但我首选的方法是使用资源文件。您可以拥有一个与文化无关的资源文件(例如Text.resx
),然后为您要支持的每种文化提供一种资源(例如,Text.de.resx
代表德语)。如果当前设置的文化没有资源,则使用与文化无关的资源。
Visual Studio有一个资源文件编辑器,因此翻译相对简单。
此外,这可能会为您提供更多详细信息:Walkthrough: Using Resources for Localization with ASP.NET(但资源并非特定于ASP.NET)。