如何本地化UWP DirectX C ++?

时间:2018-12-28 13:47:46

标签: c++ uwp directx

我拥有最新的Visual C ++ 17(15.9.4),并从UWP directX C ++模板(无XAML)开始。

当我运行它时,它可以工作。它在窗口中显示彩色旋转的多维数据集,如果我全屏显示,则全屏显示,并且在屏幕右下方显示FPS编号。

现在我想在其中添加本地化,​​然后我去了那里:

Localize strings in your UI and app package manifest

所以我在该示例中添加了这两行:

auto resourceLoader = Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView();
this->myXAMLTextBlockElement->Text = resourceLoader->GetString("Farewell");

在我的代码中是这样的:

void App::Run()
{
    auto resourceLoader = Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView();
    auto myText = resourceLoader->GetString("Farewell");

    while (!m_windowClosed)
    {
        if (m_windowVisible)
        {
            CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent);

            m_main->Update();

            if (m_main->Render())
            {
                m_deviceResources->Present();
            }
        }
        else
        {
            CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending);
        }
    }
}

但是那行不通,我在该代码的第一行中遇到了一个异常,说它找不到资源映射。 我做了他们所说的一切:创建了一个“ Strings”目录,在其中创建了“ en-US”目录,在其中创建了一个Resources.resw文件,其中的“ Farewell”字符串设置为“ bye bye!”。

它引发的异常:

Exception levée à 0x747D1812 dans App9.exe : exception Microsoft C++ : 
Platform::COMException ^ à l'emplacement de mémoire 0x02CDF49C. 
HRESULT:0x80073B1F ResourceMap introuvable.
Informations WinRT : ResourceMap introuvable.

0 个答案:

没有答案