Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

NoesisGUI Unreal Engine Localization Demo

Demo screenshot

Introduction

This demo shows one way to localize your user interface to multiple languages. The main focus points of this demo are:

  • Shows how to use ResourceDictionarys to map from labels to the actual text to display in the various languages supported.

  • Shows how to use the LoadXaml function in a Blueprint to load the dictionaries.

Demo Breakdown

C++ Code

Blueprint

  • NoesisBlueprint'/Game/MainWindowView.MainWindowView': It's a NoesisView for NoesisXaml'/Game/MainWindow.MainWindow' (MainWindow.xaml).

NoesisBlueprint'/Game/MainWindowView.MainWindowView'

  • Blueprint'/Game/Language.Language': This Object derived Blueprint represents a language for the UI. It exposes two properties, the Name of the language and the Resources, which are loaded from a NoesisXaml using the LoadXaml function from the NoesisFunctionLibrary.

Blueprint'/Game/Language.Language'

  • Blueprint'/Game/ViewModel.ViewModel': An Object that is used as the DataContext for NoesisBlueprint'/Game/MainWindowView.MainWindowView'. It exposes the list of supported Languages and the currently SelectedLanguage, as well as the previously mentioned SoundLevel and MusicLevel.

Blueprint'/Game/Language.Language'

  • TestLevel - Level Blueprint: Creates a Widget from NoesisBlueprint'/Game/MainWindowView.MainWindowView', adds it to the viewport and captures mouse input. It also creates several instances of Blueprint'/Game/Language.Language' and an instance of Blueprint'/Game/ViewModel.ViewModel' that it sets as the DataContext of the Widget.

TestLevel - Level Blueprint

Project Settings

  • NoesisGUI Project Settings: Sets the NoesisXaml NoesisXaml'/Game/Resources.Resources' as the global application ResourceDictionary.

Project Settings