using System;
using System.Globalization;
namespace Kreta.Framework.Localization
{
///
/// Általános megvalósítás.
///
///
/// Az általános megvalósítás egyenértékű az objektumon végrehajtott hívással,
/// azzal a különbséggel, hogy figyelembe veszi, ha az objektum megvalósítja az
/// felületet.
///
internal sealed class GenericLocalizer : ILocalizer
{
///
/// Az osztály alapértelmezett konstruktora.
///
public GenericLocalizer()
{
}
///
/// Lásd .
///
/// Lásd
/// Lásd
/// Lásd
public string Localize(object value, CultureInfo cultureInfo)
{
if (value == null)
{
return null;
}
if (value is IFormattable formattable)
{
if (cultureInfo.IsNeutralCulture)
{
return formattable.ToString(null, CultureInfo.CreateSpecificCulture(cultureInfo.Name));
}
return formattable.ToString(null, cultureInfo);
}
return value.ToString();
}
}
}