// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Core/Config/Settings.h"
#include "Engine/Content/AssetReference.h"
#include "LocalizedStringTable.h"
///
/// Game localization and internalization settings container.
///
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API LocalizationSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(LocalizationSettings);
public:
///
/// The list of the string localization tables used by the game.
///
API_FIELD()
Array> LocalizedStringTables;
///
/// The default fallback language to use if localization system fails to pick the system locale language (eg. en-GB).
///
API_FIELD()
String DefaultFallbackLanguage;
public:
///
/// Gets the instance of the settings asset (default value if missing). Object returned by this method is always loaded with valid data to use.
///
static LocalizationSettings* Get();
// [SettingsBase]
void Apply() override;
void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) final override;
};