@ -2,6 +2,7 @@ using System;
using System.Collections.Generic ;
using System.IO ;
using System.Text.Json ;
using JetBrains.Annotations ;
using Microsoft.Extensions.Localization ;
namespace Volo.Abp.Localization.Json ;
@ -12,6 +13,7 @@ public static class JsonLocalizationDictionaryBuilder
/// Builds an <see cref="JsonLocalizationDictionaryBuilder" /> from given file.
/// </summary>
/// <param name="filePath">Path of the file</param>
[CanBeNull]
public static ILocalizationDictionary BuildFromFile ( string filePath )
{
try
@ -36,24 +38,26 @@ public static class JsonLocalizationDictionaryBuilder
/// Builds an <see cref="JsonLocalizationDictionaryBuilder" /> from given json string.
/// </summary>
/// <param name="jsonString">Json string</param>
[CanBeNull]
public static ILocalizationDictionary BuildFromJsonString ( string jsonString )
{
JsonLocalizationFile jsonFile ;
string cultureCode ;
try
{
jsonFile = JsonSerializer . Deserialize < JsonLocalizationFile > ( jsonString , DeserializeOptions ) ;
cultureCode = jsonFile . Culture ;
if ( string . IsNullOrEmpty ( cultureCode ) )
{
return null ;
}
}
catch ( JsonException ex )
{
throw new AbpException ( "Can not parse json string. " + ex . Message ) ;
}
var cultureCode = jsonFile . Culture ;
if ( string . IsNullOrEmpty ( cultureCode ) )
{
throw new AbpException ( "Culture is empty in language json file." ) ;
}
var dictionary = new Dictionary < string , LocalizedString > ( ) ;
var dublicateNames = new List < string > ( ) ;
foreach ( var item in jsonFile . Texts )