-
Notifications
You must be signed in to change notification settings - Fork 526
Expand file tree
/
Copy pathInstallDataLocaleResources.cs
More file actions
34 lines (27 loc) · 1.11 KB
/
InstallDataLocaleResources.cs
File metadata and controls
34 lines (27 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using Grand.Domain.Localization;
using Grand.SharedKernel.Extensions;
namespace Grand.Module.Installer.Services;
public partial class InstallationService
{
protected virtual async Task InstallLocaleResources()
{
//'English' language
var language = _languageRepository.Table.Single(l => l.Name == "English");
//save resources
var filePath = Path.Combine(_hostingEnvironment.ContentRootPath, "App_Data/Resources/DefaultLanguage.xml");
var localesXml = await File.ReadAllTextAsync(filePath);
var xmlDoc = XmlExtensions.LanguageXmlDocument(localesXml);
var translateResources = XmlExtensions.ParseTranslationResources(xmlDoc);
foreach (var item in translateResources)
{
_ = Enum.TryParse(item.Area, out TranslationResourceArea areaEnum);
await _lsrRepository.InsertAsync(new TranslationResource {
LanguageId = language.Id,
Name = item.Name.ToLowerInvariant(),
Value = item.Value,
Area = areaEnum,
CreatedBy = "System"
});
}
}
}