// Works. // Gets TranslationFile. Converts it to 'Language' file format. Saves it in Assets project // folder in the same relative path as was on the server. private static void SaveTranslationFileToProjectLanguageFile(TranslationFile translationFile, TranslateProject projectSettings) { var tempPath = Path.GetTempFileName(); File.WriteAllText(tempPath, translationFile.content); var db = GetMultiLangStringDB(translationFile.pathOnServer); POUtility.ImportFile(db, tempPath, (SystemLanguage)projectSettings.sourceLanguageID, true); // TODO: 1. Update reference language from settings. 2. Q.: When last param true and when false? File.Delete(tempPath); SaveLangDBFileAtPath(db, translationFile.pathOnServer); }
// Appears to work OK private static string GetFileDataInPoFormat(string localFilePath, SystemLanguage targetLanguage, TranslateProject projectSettings) { var db = GetMultiLangStringDB(localFilePath); var tempPath = Path.GetTempFileName(); POUtility.ExportFile(db, targetLanguage, (SystemLanguage)projectSettings.sourceLanguageID, tempPath); var convertedContent = File.ReadAllText(tempPath); File.Delete(tempPath); return(convertedContent); }