public static void uploadTranslationSet(List <string> languageCodes, string groupid) { TransfluentEditorWindowMediator mediator = getAuthenticatedMediator(); if (mediator == null) { return; } foreach (string languageCode in languageCodes) { try { GameTranslationSet set = GameTranslationGetter.GetTranslaitonSetFromLanguageCode(languageCode); GameTranslationSet.GroupOfTranslations groupData = set.getGroup(groupid); TransfluentLanguage lang = ResourceLoadFacade.getLanguageList().getLangaugeByCode(languageCode); if (groupData.translations.Count > 0) { mediator.SaveGroupToServer(groupData, lang); } } catch { } } }
public void ordermytranslation() { //just queue up all the calls until first real stopping point List <int> destLanguageIDs = new List <int>(); GameTranslationSet set = GameTranslationGetter.GetTranslaitonSetFromLanguageCode(_selectedConfig.sourceLanguage.code); var keysToTranslate = set.getGroup(_selectedConfig.translation_set_group).getDictionaryCopy(); List <string> textsToTranslate = new List <string>(keysToTranslate.Keys); _selectedConfig.destinationLanguages.ForEach((TransfluentLanguage lang) => { destLanguageIDs.Add(lang.id); }); Stopwatch sw = new Stopwatch(); sw.Start(); var translate = new OrderTranslation(_selectedConfig.sourceLanguage.id, target_languages: destLanguageIDs.ToArray(), texts: textsToTranslate.ToArray(), level: _selectedConfig.QualityToRequest, group_id: _selectedConfig.translation_set_group, comment: "Do not replace any strings that look like {0} or {1} as they are a part of formatted text -- ie Hello {0} will turn into Hello Alex or some other string ", fork: true ); doCall(translate, () => { Debug.Log("ORDER DONE"); _orderDone = true; EditorUtility.DisplayDialog("Success", "Transltion order complete!", "OK"); }); }
public void doTranslation(TranslationConfigurationSO selectedConfig) { List <int> destLanguageIDs = new List <int>(); GameTranslationSet set = GameTranslationGetter.GetTranslaitonSetFromLanguageCode(selectedConfig.sourceLanguage.code); var keysToTranslate = set.getGroup(selectedConfig.translation_set_group).getDictionaryCopy(); List <string> textsToTranslate = new List <string>(keysToTranslate.Keys); //save all of our keys before requesting to transalate them, otherwise we can get errors var uploadAll = new SaveSetOfKeys(selectedConfig.sourceLanguage.id, keysToTranslate, selectedConfig.translation_set_group ); doCall(uploadAll); selectedConfig.destinationLanguages.ForEach((TransfluentLanguage lang) => { destLanguageIDs.Add(lang.id); }); Stopwatch sw = new Stopwatch(); sw.Start(); var translate = new OrderTranslation(selectedConfig.sourceLanguage.id, target_languages: destLanguageIDs.ToArray(), texts: textsToTranslate.ToArray(), level: selectedConfig.QualityToRequest, group_id: selectedConfig.translation_set_group, comment: "Do not replace any strings that look like {0} or {1} as they are a part of formatted text -- ie Hello {0} will turn into Hello Alex or some other string " ); doCall(translate); Debug.Log("full request time:" + sw.Elapsed); }
//[MenuItem("Transfluent/test get content")] public static void getTestContent() { var list = ResourceLoadFacade.getLanguageList(); GameTranslationSet source = GameTranslationGetter.GetTranslaitonSetFromLanguageCode("en-us"); var sender = new FileBasedSend(); var contents = sender.SendFileContents(source.getGroup().getDictionaryCopy(), list.getLangaugeByCode("en-us"), "", ""); Debug.Log("Contents :" + contents); }
private void saveMySourceText() { GameTranslationSet set = GameTranslationGetter.GetTranslaitonSetFromLanguageCode(_selectedConfig.sourceLanguage.code); var keysToTranslate = set.getGroup(_selectedConfig.translation_set_group).getDictionaryCopy(); //save all of our keys before requesting to transalate them, otherwise we can get errors var uploadAll = new SaveSetOfKeys(_selectedConfig.sourceLanguage.id, keysToTranslate, _selectedConfig.translation_set_group ); doCall(uploadAll, saveMyDestinationLanguageText); }
public static void downloadTranslationSetsFromLanguageCodeList(List <string> languageCodes, string groupid = null) { TransfluentEditorWindowMediator mediator = getAuthenticatedMediator(); if (mediator == null) { return; } foreach (string languageCode in languageCodes) { try { mediator.setCurrentLanguageFromLanguageCode(languageCode); TransfluentLanguage currentlanguage = mediator.GetCurrentLanguage(); List <TransfluentTranslation> translations = mediator.knownTextEntries(groupid); //Debug.Log("CURRENT LANGUAGE:" + currentlanguage.code + " translation count:" + translations.Count); if (translations.Count > 0) { GameTranslationSet set = GameTranslationGetter.GetTranslaitonSetFromLanguageCode(languageCode) ?? ResourceCreator.CreateSO <GameTranslationSet>(GameTranslationGetter.fileNameFromLanguageCode(languageCode)); set.language = currentlanguage; Dictionary <string, Dictionary <string, string> > groupToTranslationMap = groupidToDictionaryMap(translations); foreach (var kvp in groupToTranslationMap) { Dictionary <string, string> dictionaryOfStrings = kvp.Value; if (languageCode.Equals("xx-xx")) //backwards string { dictionaryOfStrings = cleanBackwardsLanguageStringDictionary(dictionaryOfStrings); } set.mergeInSet(kvp.Key, dictionaryOfStrings); } EditorUtility.SetDirty(set); AssetDatabase.SaveAssets(); } } catch (Exception e) { Debug.LogError("error while downloading translations:" + e.Message + " stack:" + e.StackTrace); } } }
private void saveMyDestinationLanguageText() { List <WebServiceParameters> requestsToSaveLocalStrings = new List <WebServiceParameters>(); foreach (TransfluentLanguage lang in _selectedConfig.destinationLanguages) { GameTranslationSet set = GameTranslationGetter.GetTranslaitonSetFromLanguageCode(lang.code); if (set == null) { continue; } var keysToTranslate = set.getGroup(_selectedConfig.translation_set_group).getDictionaryCopy(); //save all of our keys before requesting to transalate them, otherwise we can get errors var uploadAll = new SaveSetOfKeys(lang.id, keysToTranslate, _selectedConfig.translation_set_group, fork: true ); requestsToSaveLocalStrings.Add(uploadAll); } doCalls(requestsToSaveLocalStrings, ordermytranslation); }
//[MenuItem("Transfluent/test full loop english content")] public static void getTestSaveEnglishContent() { var list = ResourceLoadFacade.getLanguageList(); GameTranslationSet source = GameTranslationGetter.GetTranslaitonSetFromLanguageCode("en-us"); var sender = new FileBasedSend(); var contents = sender.SendFileContents(source.getGroup().getDictionaryCopy(), list.getLangaugeByCode("en-us"), "", ""); Debug.Log("Contents :" + contents); TransfluentEditorWindowMediator mediator = new TransfluentEditorWindowMediator(); mediator.doAuth(); string authToken = mediator.getCurrentAuthToken(); string fileIdentifier = "testfile"; var sourceLang = list.getLangaugeByCode("en-us"); var saveCall = new FileBasedSaveCall(fileIdentifier, sourceLang.id, authToken, contents); var caller = new SyncronousEditorWebRequest(); var returnStatus = caller.request(saveCall); Debug.Log("saved file return status:"); Debug.Log(JsonWriter.Serialize(returnStatus)); Debug.Log("auth token:" + authToken); var translateRequest = new FileTranslate("", new int[] { 3, 4 }, OrderTranslation.TranslationQuality.NATIVE_SPEAKER, fileIdentifier, sourceLang.id, authToken); var translateReturn = caller.request(translateRequest); Debug.Log("translate request file:"); Debug.Log(JsonWriter.Serialize(translateReturn)); var translateResultRequest = new FileBasedRead(fileIdentifier, sourceLang.id, authToken); var translateResultReturn = caller.request(translateResultRequest); Debug.Log("translate resulting file:"); Debug.Log(JsonWriter.Serialize(translateResultReturn)); }
public void SaveGroupToServer(GameTranslationSet.GroupOfTranslations groupOfTranslations, TransfluentLanguage language) { var saveText = new SaveSetOfKeys(language.id, groupOfTranslations.getDictionaryCopy(), groupOfTranslations.groupid); try { makeCall(saveText); } catch(CallException exception) { Debug.LogError("error making setText call:" + exception.Message); } }
public RuntimeTranslationSet(GameTranslationSet.GroupOfTranslations serializedGroup) { groupid = serializedGroup.groupid; translations = serializedGroup.getDictionaryCopy(); }