示例#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
                {
                }
            }
        }
        public void testCreation()
        {
            mediator = new TransfluentEditorWindowMediator();
            Assert.IsNotNullOrEmpty(mediator.getUserNamePassword().Key);

            Assert.NotNull(mediator.getUserNamePassword());
            Assert.IsNotNullOrEmpty(mediator.getUserNamePassword().Key);
            Assert.IsNotNullOrEmpty(mediator.getUserNamePassword().Value);

            mediator.doAuth(mediator.getUserNamePassword().Key, mediator.getUserNamePassword().Value);
            Assert.IsTrue(mediator.authIsDone());
        }
示例#3
0
        public static void doDownload()
        {
            TransfluentEditorWindowMediator mediator = getAuthenticatedMediator();

            if (mediator == null)
            {
                return;
            }

            List <string> allLanguageCodes = mediator.getAllLanguageCodes();

            downloadTranslationSetsFromLanguageCodeList(allLanguageCodes);
        }
示例#4
0
        private static TransfluentEditorWindowMediator getAuthenticatedMediator()
        {
            var mediator = new TransfluentEditorWindowMediator();
            KeyValuePair <string, string> usernamePassword = mediator.getUserNamePassword();

            if (String.IsNullOrEmpty(usernamePassword.Key) || String.IsNullOrEmpty(usernamePassword.Value))
            {
                EditorUtility.DisplayDialog("Login please",
                                            "Please login using editor window before trying to use this functionality", "ok");
                //TransfluentEditorWindow.Init();
                return(null);
            }
            mediator.doAuth(usernamePassword.Key, usernamePassword.Value);
            return(mediator);
        }
示例#5
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);
                }
            }
        }
 public TransfluentEditorWindow()
 {
     _mediator = new TransfluentEditorWindowMediator();
     loginScreen = new LoginGUI(_mediator);
     textGui = new TextsGUI(_mediator);
 }
 public TextsGUI(TransfluentEditorWindowMediator mediator)
 {
     _mediator = mediator;
 }
 public LoginGUI(TransfluentEditorWindowMediator mediator)
 {
     _mediator = mediator;
     GetCredentialsFromDataStore();
 }
 private static TransfluentEditorWindowMediator getAuthenticatedMediator()
 {
     var mediator = new TransfluentEditorWindowMediator();
     KeyValuePair<string, string> usernamePassword = mediator.getUserNamePassword();
     if(String.IsNullOrEmpty(usernamePassword.Key) || String.IsNullOrEmpty(usernamePassword.Value))
     {
         EditorUtility.DisplayDialog("Login please",
             "Please login using editor window before trying to use this functionality", "ok");
         //TransfluentEditorWindow.Init();
         return null;
     }
     mediator.doAuth(usernamePassword.Key, usernamePassword.Value);
     return mediator;
 }
 public TranslationEstimate(TransfluentEditorWindowMediator mediator)
 {
     _mediator = mediator;
 }
示例#11
0
 public LoginGUI(TransfluentEditorWindowMediator mediator)
 {
     _mediator = mediator;
     GetCredentialsFromDataStore();
 }
示例#12
0
 public TextsGUI(TransfluentEditorWindowMediator mediator)
 {
     _mediator = mediator;
 }
示例#13
0
 public TransfluentEditorWindow()
 {
     _mediator   = new TransfluentEditorWindowMediator();
     loginScreen = new LoginGUI(_mediator);
     textGui     = new TextsGUI(_mediator);
 }
        //[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 SetupTranslationConfiguration()
 {
     _mediator = new TransfluentEditorWindowMediator();
 }