// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#pragma once
#include "CultureInfo.h"
#include "Engine/Core/Types/BaseTypes.h"
///
/// The language and culture localization manager.
///
API_CLASS(Static) class FLAXENGINE_API Localization
{
DECLARE_SCRIPTING_TYPE_MINIMAL(Localization);
public:
///
/// Gets the current culture (date, time, currency and values formatting locale).
///
API_PROPERTY() static const CultureInfo& GetCurrentCulture();
///
/// Sets the current culture (date, time, currency and values formatting locale).
///
API_PROPERTY() static void SetCurrentCulture(const CultureInfo& value);
///
/// Gets the current language (text display locale).
///
API_PROPERTY() static const CultureInfo& GetCurrentLanguage();
///
/// Sets the current language (text display locale).
///
API_PROPERTY() static void SetCurrentLanguage(const CultureInfo& value);
///
/// Sets both the current language (text display locale) and the current culture (date, time, currency and values formatting locale) at once.
///
API_FUNCTION() static void SetCurrentLanguageCulture(const CultureInfo& value);
///
/// Occurs when current culture or language gets changed. Can be used to refresh UI to reflect language changes.
///
API_EVENT() static Delegate<> CurrentLanguageCultureChanged;
};