Beispiel #1
0
        public static string Translator(this string key)
        {
            var cacheConfig = HttpContext.Current.Cache.Get("LanguageConfig");

            if (cacheConfig == null)
            {
                throw new System.Exception("多语言未配置,请检查配置文件.");
            }
            ITranslator trans    = new LanguageTranslator();
            string      language = null;
            var         lang     = HttpContext.Current.Session["Lang"];

            if (lang == null || lang == "")
            {
                var langCk = HttpContext.Current.Request.Cookies.Get("LangCookie");
                if (langCk != null && langCk.Value != null)
                {
                    language = langCk.Value;
                }
            }
            else
            {
                language = lang.ToString();
            }
            LanguageConfig config = (LanguageConfig)cacheConfig;
            string         targetLanguagePackUri = config.LangUri + (!string.IsNullOrWhiteSpace(language) ? lang + ".xml" : config.DefaultLang).ToString();

            if (!string.IsNullOrWhiteSpace(targetLanguagePackUri))
            {
                trans.TargetLanguagePackUri = targetLanguagePackUri;
            }
            return(trans.Translator(key, targetLanguagePackUri));
        }
    private IEnumerator CreateService()
    {
        if (string.IsNullOrEmpty(_iamApikey))
        {
            throw new WatsonException("Plesae provide IAM ApiKey for the service.");
        }

        //  Create credential and instantiate service
        Credentials credentials = null;

        //  Authenticate using iamApikey
        TokenOptions tokenOptions = new TokenOptions()
        {
            IamApiKey = _iamApikey
        };

        credentials = new Credentials(tokenOptions, _serviceUrl);

        //  Wait for tokendata
        while (!credentials.HasIamTokenData())
        {
            yield return(null);
        }

        _service = new LanguageTranslator(_versionDate, credentials);

        Runnable.Run(Examples());
    }
Beispiel #3
0
    public void translate( )
    {
        LogSystem.InstallDefaultReactors();
        Credentials credentials = new Credentials(_username, _password, _url);

        _languageTranslator = new LanguageTranslator(credentials);
        //_forcedGlossaryFilePath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/glossary.tmx";
        StartCoroutine("trans");
    }
    void Start()
    {
        LogSystem.InstallDefaultReactors();
        Credentials credentials = new Credentials(_username, _password, _url);

        _languageTranslator     = new LanguageTranslator(credentials);
        _forcedGlossaryFilePath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/glossary.tmx";
        Runnable.Run(Examples());
    }
Beispiel #5
0
        /// <summary>
        /// Configure the error message object that will contain the default user friendly language enabled
        /// message. The method is used with exceptions that do not derive from the BusinessException class.
        /// This exceptions can be considered ASP.NET platform excepions that are not captured by this
        /// application. For example, unable to conntect to database exception. In such cases a generic message
        /// is sent to the client.
        /// </summary>
        /// <param name="actionExecutedContext">HttpActionExecutedContext object</param>
        ///
        private HttpContent GetDefaultDetailedErrorMessage(HttpActionExecutedContext actionExecutedContext)
        {
            var errorMessage = new ErrorMessage
            {
                TechDetails = GetTechnicalDetails(actionExecutedContext),
                Message     = LanguageTranslator.Translate(ResourceManager.GetResourceKeyString(ErrorMessageKeys.DefaultErrorMessage), ResourceType.Error)
            };

            return(new StringContent(JsonConvert.SerializeObject(errorMessage)));
        }
Beispiel #6
0
        public static string Translator(this string key, object _targetLanguagePackUri)
        {
            ITranslator trans = new LanguageTranslator();
            string      targetLanguagePackUri = _targetLanguagePackUri.ToString();

            if (!string.IsNullOrWhiteSpace(targetLanguagePackUri))
            {
                trans.TargetLanguagePackUri = targetLanguagePackUri;
            }
            return(trans.Translator(key, targetLanguagePackUri));
        }
        private string FormatDate(DateTime date)
        {
            string dayOfMonth = date.ToString("dd");
            string month      = this.lang == DisplayLanguage.BG
                ? LanguageTranslator.TranslateEnBgMonth(date.ToString("MMMM"))
                : date.ToString("MMMM");
            string time = date.ToString("HH:mm");

            string formatedDate = $"{dayOfMonth} {month}, {time}";

            return(formatedDate);
        }
    void Start()
    {
        LogSystem.InstallDefaultReactors();

        Credentials languageTranslatorCredentials = new Credentials()
        {
            Url      = "https://gateway.watsonplatform.net/language-translator/api",
            Username = "******",
            Password = "******"
        };

        _languageTranslator = new LanguageTranslator(languageTranslatorCredentials);
    }
Beispiel #9
0
        private void frmNew_Load(object sender, EventArgs e)
        {
            dtpBirhtDate.MaxDate = DateTime.Now.AddYears(-17);
            dtpBirhtDate.MinDate = DateTime.Now.AddYears(-40);
            dtpBirhtDate.Value   = DateTime.Now.AddYears(-20);

            var translator = new LanguageTranslator();

            cmbLanguage.DataSource = translator.GetLanguages().ToList();
            //cmbLanguage.ValueMember = "Text"; //KekoYöntem
            cmbLanguage.ValueMember   = nameof(LanguageTranslator.LanguageMap.Key);
            cmbLanguage.DisplayMember = nameof(LanguageTranslator.LanguageMap.Text);
        }
    // Use this for initialization
    void Start()
    {
        LogSystem.InstallDefaultReactors();

        Credentials languageTranslatorCredentials = new Credentials()
        {
            Username = "******",
            Password = "******",
            Url      = "https://gateway.watsonplatform.net/language-translator/api"
        };

        _languageTranslator = new LanguageTranslator(languageTranslatorCredentials);

        Translate(translateString);
    }
Beispiel #11
0
    private string _translationModel_en_ja = "en-ja";     // japanese


    // All the language options here https://console.bluemix.net/docs/services/language-translator/translation-models.html
    // Use this for initialization
    void Start()
    {
        LogSystem.InstallDefaultReactors();

        Credentials languageTranslatorCredentials = new Credentials()
        {
            Username = "******",
            Password = "******",
            Url      = "https://gateway.watsonplatform.net/language-translator/api"
        };

        _languageTranslator = new LanguageTranslator(languageTranslatorCredentials);

        //Translate("Where is the library?");
    }
Beispiel #12
0
    void Start()
    {
        LogSystem.InstallDefaultReactors();

        Credentials languageTranslatorCredential = new Credentials()
        {
            Username = "******",
            Password = "******",
            Url      = "https://gateway.watsonplatform.net/language-translator/api"
        };

        _languageTranslator = new LanguageTranslator(languageTranslatorCredential);

        _dropDownCallback = DropDown.GetComponent <DropDownCallback>();
        SetEvent();
    }
        public void Invoke()
        {
            //Arrange
            //   string FilePath = @"C:\...\Documents\ZappySamples\ExtractRequiredValuesFromPDF\PDFExtractionAutomation.docx";
            string FilePath     = "TestFiles/PDFExtractionAutomation.docx";
            string FromLanguage = "en";
            string ToLanguage   = "ja";

            //Replace your Azure's ResourceKey
            string             TextTranslatorResorceKey = "Replace ResourceKey";
            LanguageTranslator action = new LanguageTranslator();

            //Act
            action.FilePath                 = FilePath;
            action.FromLanguage             = FromLanguage;
            action.ToLanguage               = ToLanguage;
            action.TextTranslatorResorceKey = TextTranslatorResorceKey;
            action.Invoke(null, null);
        }
        public IEnumerable <BarChartViewModel> GetBarChartData(int year)
        {
            var stats = this.Statistics.Find(s => s.Year == year).ToList();

            ICollection <BarChartViewModel> models = new List <BarChartViewModel>();

            foreach (var stat in stats)
            {
                BarChartViewModel model = new BarChartViewModel
                {
                    HitsCount       = stat.HitsCount,
                    SubscribesCount = stat.SubscribesCount,
                    Month           = LanguageTranslator.TranslateNumBgMonth(stat.Month)
                };

                models.Add(model);
            }

            return(models);
        }
Beispiel #15
0
        public static void AddStringList(this Menu m, string uniqueId, string displayName, string[] displayNames,
                                         int defaultValue = 0)
        {
            var slider = m.Add(uniqueId, new Slider(displayName, defaultValue, 0, displayNames.Length - 1));

            slider.DisplayName =
                (LanguageTranslator.GetTranslationFromDisplayName(Language.English, LanguageTranslator.CurrentLanguage,
                                                                  displayName) ?? displayName) + ": " +
                (LanguageTranslator.GetTranslationFromDisplayName(Language.English, LanguageTranslator.CurrentLanguage,
                                                                  displayNames[slider.CurrentValue]) ?? displayNames[slider.CurrentValue]);
            slider.OnValueChange +=
                delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
            {
                slider.DisplayName =
                    (LanguageTranslator.GetTranslationFromDisplayName(Language.English,
                                                                      LanguageTranslator.CurrentLanguage, displayName) ?? displayName) + ": " +
                    (LanguageTranslator.GetTranslationFromDisplayName(Language.English,
                                                                      LanguageTranslator.CurrentLanguage, displayNames[args.NewValue]) ??
                     displayNames[args.NewValue]);
            };
            StringLists.Add(new Tuple <Slider, string, string[]>(slider, displayName, displayNames));
        }
Beispiel #16
0
 public static void Translate(Language from, Language to)
 {
     foreach (var pair in SubMenus)
     {
         var translation =
             LanguageTranslator.GetTranslationFromDisplayName(from, to, pair.Value.LastTranslation) ??
             pair.Value.OriginalName;
         if (translation != null)
         {
             pair.Value.Menu.DisplayName = translation;
             pair.Value.LastTranslation  = translation;
         }
     }
     foreach (var pair in ValuesBasePerMenu)
     {
         foreach (var pair2 in pair.Value)
         {
             var translation =
                 LanguageTranslator.GetTranslationFromDisplayName(from, to, pair2.Value.LastTranslation) ??
                 pair2.Value.OriginalName;
             if (translation != null)
             {
                 pair2.Value.Value.DisplayName = translation;
                 pair2.Value.LastTranslation   = translation;
             }
         }
     }
     foreach (var tuple in StringLists)
     {
         tuple.Item1.DisplayName =
             (LanguageTranslator.GetTranslationFromDisplayName(Language.English,
                                                               LanguageTranslator.CurrentLanguage, tuple.Item2) ?? tuple.Item2) + ": " +
             (LanguageTranslator.GetTranslationFromDisplayName(Language.English,
                                                               LanguageTranslator.CurrentLanguage, tuple.Item3[tuple.Item1.CurrentValue]) ??
              tuple.Item3[tuple.Item1.CurrentValue]);
     }
 }
    private IEnumerator CreateService()
    {
        //  Create credential and instantiate service
        Credentials credentials = null;

        if (!string.IsNullOrEmpty(_username) && !string.IsNullOrEmpty(_password))
        {
            //  Authenticate using username and password
            credentials = new Credentials(_username, _password, _serviceUrl);
        }
        else if (!string.IsNullOrEmpty(_iamApikey))
        {
            //  Authenticate using iamApikey
            TokenOptions tokenOptions = new TokenOptions()
            {
                IamApiKey = _iamApikey,
                IamUrl    = _iamUrl
            };

            credentials = new Credentials(tokenOptions, _serviceUrl);

            //  Wait for tokendata
            while (!credentials.HasIamTokenData())
            {
                yield return(null);
            }
        }
        else
        {
            throw new WatsonException("Please provide either username and password or IAM apikey to authenticate the service.");
        }

        _service = new LanguageTranslator(credentials);

        Runnable.Run(Examples());
    }
Beispiel #18
0
        public override IEnumerator RunTest()
        {
            LogSystem.InstallDefaultReactors();

            try
            {
                VcapCredentials vcapCredentials = new VcapCredentials();
                fsData          data            = null;

                //  Get credentials from a credential file defined in environmental variables in the VCAP_SERVICES format.
                //  See https://www.ibm.com/watson/developercloud/doc/common/getting-started-variables.html.
                var environmentalVariable = Environment.GetEnvironmentVariable("VCAP_SERVICES");
                var fileContent           = File.ReadAllText(environmentalVariable);

                //  Add in a parent object because Unity does not like to deserialize root level collection types.
                fileContent = Utility.AddTopLevelObjectToJson(fileContent, "VCAP_SERVICES");

                //  Convert json to fsResult
                fsResult r = fsJsonParser.Parse(fileContent, out data);
                if (!r.Succeeded)
                {
                    throw new WatsonException(r.FormattedMessages);
                }

                //  Convert fsResult to VcapCredentials
                object obj = vcapCredentials;
                r = _serializer.TryDeserialize(data, obj.GetType(), ref obj);
                if (!r.Succeeded)
                {
                    throw new WatsonException(r.FormattedMessages);
                }

                //  Set credentials from imported credntials
                Credential credential = vcapCredentials.VCAP_SERVICES["language_translator"][TestCredentialIndex].Credentials;
                _username = credential.Username.ToString();
                _password = credential.Password.ToString();
                _url      = credential.Url.ToString();
            }
            catch
            {
                Log.Debug("TestLanguageTranslator", "Failed to get credentials from VCAP_SERVICES file. Please configure credentials to run this test. For more information, see: https://github.com/watson-developer-cloud/unity-sdk/#authentication");
            }

            //  Create credential and instantiate service
            Credentials credentials = new Credentials(_username, _password, _url);

            //  Or authenticate using token
            //Credentials credentials = new Credentials(_url)
            //{
            //    AuthenticationToken = _token
            //};

            _languageTranslator = new LanguageTranslator(credentials);

            _forcedGlossaryFilePath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/glossary.tmx";

            if (!_languageTranslator.GetTranslation(_pharseToTranslate, "en", "es", OnGetTranslation))
            {
                Log.Debug("TestLanguageTranslator", "Failed to translate.");
            }
            while (!_getTranslationTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModels(OnGetModels))
            {
                Log.Debug("TestLanguageTranslator", "Failed to get models.");
            }
            while (!_getModelsTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.CreateModel(OnCreateModel, _baseModelName, _customModelName, _forcedGlossaryFilePath))
            {
                Log.Debug("TestLanguageTranslator", "Failed to create model.");
            }
            while (!_createModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModel(OnGetModel, _customLanguageModelId))
            {
                Log.Debug("TestLanguageTranslator", "Failed to get model.");
            }
            while (!_getModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.DeleteModel(OnDeleteModel, _customLanguageModelId))
            {
                Log.Debug("TestLanguageTranslator", "Failed to delete model.");
            }
            while (!_deleteModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.Identify(OnIdentify, _pharseToTranslate))
            {
                Log.Debug("TestLanguageTranslator", "Failed to identify language.");
            }
            while (!_identifyTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetLanguages(OnGetLanguages))
            {
                Log.Debug("TestLanguageTranslator", "Failed to get languages.");
            }
            while (!_getLanguagesTested)
            {
                yield return(null);
            }

            Log.Debug("TestLanguageTranslator", "Language Translator examples complete.");

            yield break;
        }
Beispiel #19
0
    private IEnumerator createServices()
    {
        Credentials stt_credentials = null;

        //  Create credential and instantiate service
        if (!string.IsNullOrEmpty(speechToTextUsername) && !string.IsNullOrEmpty(speechToTextPassword))
        {
            //  Authenticate using username and password
            stt_credentials = new Credentials(speechToTextUsername, speechToTextPassword, speechToTextServiceUrl);
        }
        else if (!string.IsNullOrEmpty(speechToTextIamApikey))
        {
            //  Authenticate using iamApikey
            TokenOptions tokenOptions = new TokenOptions()
            {
                IamApiKey = speechToTextIamApikey,
                IamUrl    = speechToTextIamUrl
            };

            stt_credentials = new Credentials(tokenOptions, speechToTextServiceUrl);

            while (!stt_credentials.HasIamTokenData())
            {
                yield return(null);
            }
        }
        else
        {
            throw new WatsonException("Please provide either username and password or IAM apikey to authenticate the service.");
        }

        Credentials asst_credentials = null;

        //  Create credential and instantiate service
        if (!string.IsNullOrEmpty(assistantUsername) && !string.IsNullOrEmpty(assitantPassword))
        {
            //  Authenticate using username and password
            asst_credentials = new Credentials(assistantUsername, assitantPassword, assistantServiceUrl);
        }
        else if (!string.IsNullOrEmpty(assistantIamApikey))
        {
            Log.Debug("createServices()", "IAM key", "key {0}", assistantIamApikey);
            //  Authenticate using iamApikey
            TokenOptions tokenOptions = new TokenOptions()
            {
                IamApiKey = assistantIamApikey,
                IamUrl    = assistantIamUrl
            };

            asst_credentials = new Credentials(tokenOptions, assistantServiceUrl);

            while (!asst_credentials.HasIamTokenData())
            {
                yield return(null);
            }
        }
        else
        {
            throw new WatsonException("Please provide either username and password or IAM apikey to authenticate the service.");
        }

        Credentials lang_credentials = null;

        //  Create credential and instantiate service
        if (!string.IsNullOrEmpty(translatorUsername) && !string.IsNullOrEmpty(translatorPassword))
        {
            //  Authenticate using username and password
            lang_credentials = new Credentials(translatorUsername, translatorPassword, translatorServiceUrl);
        }
        else if (!string.IsNullOrEmpty(translatorIamApikey))
        {
            Log.Debug("createServices()", "IAM key", "key {0}", translatorIamApikey);

            //  Authenticate using iamApikey
            TokenOptions tokenOptions = new TokenOptions()
            {
                IamApiKey = translatorIamApikey,
                IamUrl    = translatorIamUrl
            };

            lang_credentials = new Credentials(tokenOptions, translatorServiceUrl);

            while (!lang_credentials.HasIamTokenData())
            {
                yield return(null);
            }

            Log.Debug("createServices()", "lang_creds", " {0}", lang_credentials);
        }
        else
        {
            throw new WatsonException("Please provide either username and password or IAM apikey to authenticate the service.");
        }

        _speechToText        = new SpeechToText(stt_credentials);
        _conversation        = new Conversation(asst_credentials);
        _language_translator = new LanguageTranslator(translatorVersionDate, lang_credentials);

        _speechToText.RecognizeModel = "ja-JP_BroadbandModel";
        _conversation.VersionDate    = assistantVersionDate;

        Active = true;

        StartRecording();
    }
        public override IEnumerator RunTest()
        {
            LogSystem.InstallDefaultReactors();

            VcapCredentials vcapCredentials = new VcapCredentials();
            fsData          data            = null;

            string result = null;
            string credentialsFilepath = "../sdk-credentials/credentials.json";

            //  Load credentials file if it exists. If it doesn't exist, don't run the tests.
            if (File.Exists(credentialsFilepath))
            {
                result = File.ReadAllText(credentialsFilepath);
            }
            else
            {
                yield break;
            }

            //  Add in a parent object because Unity does not like to deserialize root level collection types.
            result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES");

            //  Convert json to fsResult
            fsResult r = fsJsonParser.Parse(result, out data);

            if (!r.Succeeded)
            {
                throw new WatsonException(r.FormattedMessages);
            }

            //  Convert fsResult to VcapCredentials
            object obj = vcapCredentials;

            r = _serializer.TryDeserialize(data, obj.GetType(), ref obj);
            if (!r.Succeeded)
            {
                throw new WatsonException(r.FormattedMessages);
            }

            //  Set credentials from imported credntials
            Credential credential = vcapCredentials.GetCredentialByname("language-translator-sdk")[0].Credentials;

            _username = credential.Username.ToString();
            _password = credential.Password.ToString();
            _url      = credential.Url.ToString();

            //  Create credential and instantiate service
            Credentials credentials = new Credentials(_username, _password, _url);

            //  Or authenticate using token
            //Credentials credentials = new Credentials(_url)
            //{
            //    AuthenticationToken = _token
            //};

            _languageTranslator = new LanguageTranslator(credentials);

            _forcedGlossaryFilePath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/glossary.tmx";

            if (!_languageTranslator.GetTranslation(OnGetTranslation, OnFail, _pharseToTranslate, "en", "es"))
            {
                Log.Debug("TestLanguageTranslator.GetTranslation()", "Failed to translate.");
            }
            while (!_getTranslationTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModels(OnGetModels, OnFail))
            {
                Log.Debug("TestLanguageTranslator.GetModels()", "Failed to get models.");
            }
            while (!_getModelsTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.CreateModel(OnCreateModel, OnFail, _baseModelName, _customModelName, _forcedGlossaryFilePath))
            {
                Log.Debug("TestLanguageTranslator.CreateModel()", "Failed to create model.");
            }
            while (!_createModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModel(OnGetModel, OnFail, _customLanguageModelId))
            {
                Log.Debug("TestLanguageTranslator.GetModel()", "Failed to get model.");
            }
            while (!_getModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.DeleteModel(OnDeleteModel, OnFail, _customLanguageModelId))
            {
                Log.Debug("TestLanguageTranslator.DeleteModel()", "Failed to delete model.");
            }
            while (!_deleteModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.Identify(OnIdentify, OnFail, _pharseToTranslate))
            {
                Log.Debug("TestLanguageTranslator.Identify()", "Failed to identify language.");
            }
            while (!_identifyTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetLanguages(OnGetLanguages, OnFail))
            {
                Log.Debug("TestLanguageTranslator.GetLanguages()", "Failed to get languages.");
            }
            while (!_getLanguagesTested)
            {
                yield return(null);
            }

            Log.Debug("TestLanguageTranslator.RunTest()", "Language Translator examples complete.");

            yield break;
        }
Beispiel #21
0
        /// <summary>
        /// Get the main user friendly language enabled error message that will be used by the client application.
        /// </summary>
        /// <param name="actionExecutedContext">HttpActionExecutedContext object</param>
        ///
        private string GetMainErrorMessage(HttpActionExecutedContext actionExecutedContext)
        {
            var exception = actionExecutedContext.Exception;

            return(LanguageTranslator.Translate(ErrorMessagePackager.GetResourceKeyString(exception), ResourceType.Error));
        }
Beispiel #22
0
 /// <summary>
 /// Default main error message.
 /// </summary>
 ///
 private string GetDefaultMainErrorMessage()
 {
     return(LanguageTranslator.Translate(ResourceManager.GetResourceKeyString(ErrorMessageKeys.DefaultErrorMessage), ResourceType.Error));
 }
Beispiel #23
0
        public override IEnumerator RunTest()
        {
            LogSystem.InstallDefaultReactors();

            VcapCredentials vcapCredentials = new VcapCredentials();
            fsData          data            = null;

            string result = null;
            string credentialsFilepath = "../sdk-credentials/credentials.json";

            //  Load credentials file if it exists. If it doesn't exist, don't run the tests.
            if (File.Exists(credentialsFilepath))
            {
                result = File.ReadAllText(credentialsFilepath);
            }
            else
            {
                yield break;
            }

            //  Add in a parent object because Unity does not like to deserialize root level collection types.
            result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES");

            //  Convert json to fsResult
            fsResult r = fsJsonParser.Parse(result, out data);

            if (!r.Succeeded)
            {
                throw new WatsonException(r.FormattedMessages);
            }

            //  Convert fsResult to VcapCredentials
            object obj = vcapCredentials;

            r = _serializer.TryDeserialize(data, obj.GetType(), ref obj);
            if (!r.Succeeded)
            {
                throw new WatsonException(r.FormattedMessages);
            }

            //  Set credentials from imported credntials
            Credential credential = vcapCredentials.GetCredentialByname("language-translator-sdk")[0].Credentials;

            _url = credential.Url.ToString();

            //  Create credential and instantiate service
            TokenOptions tokenOptions = new TokenOptions()
            {
                IamApiKey = credential.IamApikey,
                IamUrl    = credential.IamUrl
            };

            Credentials credentials = new Credentials(tokenOptions, credential.Url);

            //  Wait for tokendata
            while (!credentials.HasIamTokenData())
            {
                yield return(null);
            }

            _languageTranslator = new LanguageTranslator(_versionDate, credentials);

            if (!_languageTranslator.GetTranslation(OnGetTranslation, OnFail, _pharseToTranslate, "en", "es"))
            {
                Log.Debug("TestLanguageTranslator.GetTranslation()", "Failed to translate.");
            }
            while (!_getTranslationTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModels(OnGetModels, OnFail))
            {
                Log.Debug("TestLanguageTranslator.GetModels()", "Failed to get models.");
            }
            while (!_getModelsTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModel(OnGetModel, OnFail, "en-es"))
            {
                Log.Debug("TestLanguageTranslator.GetModel()", "Failed to get model.");
            }
            while (!_getModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.Identify(OnIdentify, OnFail, _pharseToTranslate))
            {
                Log.Debug("TestLanguageTranslator.Identify()", "Failed to identify language.");
            }
            while (!_identifyTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetLanguages(OnGetLanguages, OnFail))
            {
                Log.Debug("TestLanguageTranslator.GetLanguages()", "Failed to get languages.");
            }
            while (!_getLanguagesTested)
            {
                yield return(null);
            }

            Log.Debug("TestLanguageTranslator.RunTest()", "Language Translator examples complete.");

            yield break;
        }
Beispiel #24
0
        public override IEnumerator RunTest()
        {
            LogSystem.InstallDefaultReactors();

            VcapCredentials vcapCredentials = new VcapCredentials();
            fsData          data            = null;

            string result = null;

            var vcapUrl      = Environment.GetEnvironmentVariable("VCAP_URL");
            var vcapUsername = Environment.GetEnvironmentVariable("VCAP_USERNAME");
            var vcapPassword = Environment.GetEnvironmentVariable("VCAP_PASSWORD");

            using (SimpleGet simpleGet = new SimpleGet(vcapUrl, vcapUsername, vcapPassword))
            {
                while (!simpleGet.IsComplete)
                {
                    yield return(null);
                }

                result = simpleGet.Result;
            }

            //  Add in a parent object because Unity does not like to deserialize root level collection types.
            result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES");

            //  Convert json to fsResult
            fsResult r = fsJsonParser.Parse(result, out data);

            if (!r.Succeeded)
            {
                throw new WatsonException(r.FormattedMessages);
            }

            //  Convert fsResult to VcapCredentials
            object obj = vcapCredentials;

            r = _serializer.TryDeserialize(data, obj.GetType(), ref obj);
            if (!r.Succeeded)
            {
                throw new WatsonException(r.FormattedMessages);
            }

            //  Set credentials from imported credntials
            Credential credential = vcapCredentials.VCAP_SERVICES["language_translator"];

            _username = credential.Username.ToString();
            _password = credential.Password.ToString();
            _url      = credential.Url.ToString();

            //  Create credential and instantiate service
            Credentials credentials = new Credentials(_username, _password, _url);

            //  Or authenticate using token
            //Credentials credentials = new Credentials(_url)
            //{
            //    AuthenticationToken = _token
            //};

            _languageTranslator = new LanguageTranslator(credentials);

            _forcedGlossaryFilePath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/glossary.tmx";

            if (!_languageTranslator.GetTranslation(OnGetTranslation, OnFail, _pharseToTranslate, "en", "es"))
            {
                Log.Debug("TestLanguageTranslator.GetTranslation()", "Failed to translate.");
            }
            while (!_getTranslationTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModels(OnGetModels, OnFail))
            {
                Log.Debug("TestLanguageTranslator.GetModels()", "Failed to get models.");
            }
            while (!_getModelsTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.CreateModel(OnCreateModel, OnFail, _baseModelName, _customModelName, _forcedGlossaryFilePath))
            {
                Log.Debug("TestLanguageTranslator.CreateModel()", "Failed to create model.");
            }
            while (!_createModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetModel(OnGetModel, OnFail, _customLanguageModelId))
            {
                Log.Debug("TestLanguageTranslator.GetModel()", "Failed to get model.");
            }
            while (!_getModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.DeleteModel(OnDeleteModel, OnFail, _customLanguageModelId))
            {
                Log.Debug("TestLanguageTranslator.DeleteModel()", "Failed to delete model.");
            }
            while (!_deleteModelTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.Identify(OnIdentify, OnFail, _pharseToTranslate))
            {
                Log.Debug("TestLanguageTranslator.Identify()", "Failed to identify language.");
            }
            while (!_identifyTested)
            {
                yield return(null);
            }

            if (!_languageTranslator.GetLanguages(OnGetLanguages, OnFail))
            {
                Log.Debug("TestLanguageTranslator.GetLanguages()", "Failed to get languages.");
            }
            while (!_getLanguagesTested)
            {
                yield return(null);
            }

            Log.Debug("TestLanguageTranslator.RunTest()", "Language Translator examples complete.");

            yield break;
        }