see requirements for 706

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD
2024-11-11 09:03:22 -07:00
parent 5411d4152c
commit 9cd8030808
4 changed files with 28 additions and 7 deletions

View File

@@ -123,7 +123,9 @@ namespace CarCareTracker.Helper
}
public OperationResponse SaveTranslation(string userLanguage, Dictionary<string, string> translations)
{
if (userLanguage == "en_US")
bool create = bool.Parse(_config["LUBELOGGER_TRANSLATOR"] ?? "false");
bool isDefaultLanguage = userLanguage == "en_US";
if (isDefaultLanguage && !create)
{
return new OperationResponse { Success = false, Message = "The translation file name en_US is reserved." };
}
@@ -135,7 +137,7 @@ namespace CarCareTracker.Helper
{
return new OperationResponse { Success = false, Message = "Translation has no data." };
}
var translationFilePath = _fileHelper.GetFullFilePath($"/translations/{userLanguage}.json", false);
var translationFilePath = isDefaultLanguage ? _fileHelper.GetFullFilePath($"/defaults/en_US.json") : _fileHelper.GetFullFilePath($"/translations/{userLanguage}.json", false);
try
{
if (File.Exists(translationFilePath))
@@ -173,7 +175,13 @@ namespace CarCareTracker.Helper
Directory.CreateDirectory(uploadDirectory);
}
var saveFilePath = _fileHelper.GetFullFilePath(tempFileName, false);
File.WriteAllText(saveFilePath, JsonSerializer.Serialize(translations));
//standardize translation format for export only.
Dictionary<string, string> sortedTranslations = new Dictionary<string, string>();
foreach (var translation in translations.OrderBy(x => x.Key))
{
sortedTranslations.Add(translation.Key, translation.Value);
};
File.WriteAllText(saveFilePath, JsonSerializer.Serialize(sortedTranslations, new JsonSerializerOptions { WriteIndented = true }));
return tempFileName;
}
catch(Exception ex)