gpt4 book ai didi

c++ - 获取系统语言UWP C++/WinRT

转载 作者:行者123 更新时间:2023-12-02 10:11:31 35 4
gpt4 key购买 nike

我想在C++ / WinRT应用程序中获取系统语言(而不是输入语言,而是整体系统语言),但找不到这样做的方法。我搜索了一下,发现在Unity中可以使用System.Globalization.CultureInfo.CurrentCulture结构来完成,该结构在C++代码中不可用。有人熟悉吗?

最佳答案

Getting system language UWP C++/WinRT



您可以使用 Language类获取系统语言。首先,您需要包括所需的头文件。例如:
#include <winrt/Windows.System.UserProfile.h>
#include <winrt/Windows.Globalization.h>

void MainPage::ClickHandler(IInspectable const&, RoutedEventArgs const&)
{
auto topUserLaunghage = Windows::System::UserProfile::GlobalizationPreferences::Languages().GetAt(0);
Windows::Globalization::Language language{topUserLaunghage};
hstring displayName = language.DisplayName();
}
更新:
当您更改区域格式时,日期,时间等将更改其格式,则可以使用DateTimeFormatter的 ResolvedLanguage获得最近用于格式化日期和时间的语言。例如:
Windows::Globalization::GeographicRegion userRegion{};
hstring regionCode = userRegion.CodeTwoLetter();
Windows::Foundation::Collections::IVector<hstring> coll{ winrt::single_threaded_vector<hstring>() };
coll.Append(regionCode);
auto dateTimeFormatter = Windows::Globalization::DateTimeFormatting::DateTimeFormatter(L"longdate", coll);
auto regionInfoName = dateTimeFormatter.ResolvedLanguage(); // This is the language from the Regional format

关于c++ - 获取系统语言UWP C++/WinRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63356135/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com