using System.Collections.Generic;
const string json = "{\r \"Top\":{\r \"de-DE\":\"Oben\"\r },\r \"Taxi\":null\r}";
public static void Main()
var localizationData = JsonSerializer.Deserialize<LocalizationData>(json);
Console.WriteLine( "Foo in de-DE: {0}", localizationData.Localize( "Foo", "de-DE" ) );
Console.WriteLine( "Top in de-DE: {0}", localizationData.Localize( "Top", "de-DE" ) );
Console.WriteLine( "Taxi in de-DE: {0}", localizationData.Localize( "Taxi", "de-DE" ) );
class LocalizationData : Dictionary<string,Dictionary<string,string>>
public string Localize( string value, string cultureName)
if ( !this.TryGetValue( value, out var localization ) )
if ( localization == null )
if ( !localization.TryGetValue( cultureName, out var localizedValue ) )