Ejemplo n.º 1
0
        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
                {
                }
            }
        }
Ejemplo n.º 2
0
        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");
            });
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        //[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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
                }
            }
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        //[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();
 }