/// <summary> /// API request for POEditor languages of a specific project /// </summary> /// <param name="data"></param> /// <returns></returns> private static Model.PoEditLanguageList.Response ExcecutePoEditLanguageList( Model.PoEditLanguageList.Request data) { var client = new RestClient(POEDIT_BASE_URL); var request = new RestRequest("languages/list", Method.POST); request.AddParameter("api_token", data.api_token); request.AddParameter("id", data.id); var response = client.Execute <Model.PoEditLanguageList.Response>(request); return(response.Data); }
public async Task ExportLocalizationsToPath(string path) { // list all languages // export all languages in xliff format and save to disk // file name should have language code var languageListRequest = new Model.PoEditLanguageList.Request() { api_token = POEDIT_API_TOKEN, id = POEDIT_PROJECT_ID }; var languageListResponse = ExcecutePoEditLanguageList(languageListRequest); foreach (var language in languageListResponse.result.languages) { var response = ExecutePoExport(language.code); var webClient = new WebClient(); webClient.DownloadFile(response.result.url, Path.Combine(path, $"messages.{language.code}.xlf")); } }
public async Task UpdateLocalizationTexts() { // get all translated entries entries from po editor // identify the entries that do not exist yet // insert entries that do not exist yet var languageListRequest = new Model.PoEditLanguageList.Request() { api_token = POEDIT_API_TOKEN, id = POEDIT_PROJECT_ID }; var languageListResponse = ExcecutePoEditLanguageList(languageListRequest); foreach (var language in languageListResponse.result.languages) { var request = new Request { api_token = POEDIT_API_TOKEN, id = POEDIT_PROJECT_ID, language = language.code }; var response = ExecutePoEditTermsList(request); CreateOrUpdateText(language.code, response); } }