コード例 #1
0
        public ITranslation Translate(string stringToTranslate, ILanguage destLanguage, ILanguage sourceLanguage = null)
        {
            if (string.IsNullOrEmpty(stringToTranslate))
            {
                throw new ArgumentNullException("stringToTranslate");
            }

            if (sourceLanguage == null)
            {
                sourceLanguage = this.DetectLanguage(stringToTranslate);
            }

            ITranslation translation = BingLocanTranslator.GetTranslationFromCache(stringToTranslate, sourceLanguage, destLanguage);

            if (translation == null)
            {
                string translationResult = null;
                using (BingTranslatorService.SoapService client = new BingTranslatorService.SoapService()) {
                    translationResult = client.Translate(
                        this.ApiKey,
                        stringToTranslate,
                        sourceLanguage.Language,
                        destLanguage.Language,
                        this.TranslateOptions.ContentType,
                        this.TranslateOptions.Category);
                }

                translation = new Translation(sourceLanguage, destLanguage, stringToTranslate, translationResult);
            }

            return(translation);
        }
コード例 #2
0
        public void TestAddTranslation()
        {
            IList <BingTranslatorService.Translation> translationList = new List <BingTranslatorService.Translation> {
                new BingTranslatorService.Translation {
                    OriginalText      = "Original text",
                    TranslatedText    = "custom translation here",
                    Rating            = 1,
                    RatingSpecified   = true,
                    Sequence          = 0,
                    SequenceSpecified = true
                }
            };

            BingTranslatorService.TranslateOptions translateOptions = new BingTranslatorService.TranslateOptions {
                Category    = "tech",
                ContentType = "text/plain",
                User        = "******"
            };

            string fromLanguage = "en";
            string toLanguage   = "pt";

            using (BingTranslatorService.SoapService client = new BingTranslatorService.SoapService()) {
                client.AddTranslationArray(
                    this.BingApiKey,
                    translationList.ToArray(),
                    fromLanguage,
                    toLanguage,
                    translateOptions);

                foreach (BingTranslatorService.Translation translation in translationList)
                {
                    string result = client.Translate(
                        this.BingApiKey,
                        translation.OriginalText,
                        fromLanguage,
                        toLanguage,
                        translateOptions.ContentType,
                        translateOptions.Category);
                    BingTranslatorService.GetTranslationsResponse allTranslations = client.GetTranslations(
                        this.BingApiKey,
                        translation.OriginalText,
                        fromLanguage,
                        toLanguage,
                        10,
                        true,
                        translateOptions);

                    IList <BingTranslatorService.TranslationMatch> translationMatches = allTranslations.Translations.ToList();
                }
            }
        }
コード例 #3
0
        public void TestAddTranslation()
        {
            IList<BingTranslatorService.Translation> translationList = new List<BingTranslatorService.Translation>{
                    new BingTranslatorService.Translation {
                    OriginalText="Original text",
                    TranslatedText="custom translation here",
                    Rating=1,
                    RatingSpecified=true,
                    Sequence=0,
                    SequenceSpecified=true
                    }
                };

            BingTranslatorService.TranslateOptions translateOptions = new BingTranslatorService.TranslateOptions {
                Category = "tech",
                ContentType = "text/plain",
                User = "******"
            };

            string fromLanguage = "en";
            string toLanguage = "pt";

            using (BingTranslatorService.SoapService client = new BingTranslatorService.SoapService()) {
                client.AddTranslationArray(
                    this.BingApiKey,
                    translationList.ToArray(),
                    fromLanguage,
                    toLanguage,
                    translateOptions);

                foreach (BingTranslatorService.Translation translation in translationList) {
                    string result = client.Translate(
                        this.BingApiKey,
                        translation.OriginalText,
                        fromLanguage,
                        toLanguage,
                        translateOptions.ContentType,
                        translateOptions.Category);
                    BingTranslatorService.GetTranslationsResponse allTranslations = client.GetTranslations(
                        this.BingApiKey,
                        translation.OriginalText,
                        fromLanguage,
                        toLanguage,
                        10,
                        true,
                        translateOptions);

                    IList<BingTranslatorService.TranslationMatch> translationMatches = allTranslations.Translations.ToList();
                }
            }
        }
コード例 #4
0
        public ITranslation Translate(string stringToTranslate, ILanguage destLanguage, ILanguage sourceLanguage = null)
        {
            if (string.IsNullOrEmpty(stringToTranslate)) { throw new ArgumentNullException("stringToTranslate"); }

            if (sourceLanguage == null) {
                sourceLanguage = this.DetectLanguage(stringToTranslate);
            }

            ITranslation translation = BingLocanTranslator.GetTranslationFromCache(stringToTranslate, sourceLanguage, destLanguage);
            if (translation == null) {
                string translationResult = null;
                using (BingTranslatorService.SoapService client = new BingTranslatorService.SoapService()) {
                    translationResult = client.Translate(
                        this.ApiKey,
                        stringToTranslate,
                        sourceLanguage.Language,
                        destLanguage.Language,
                        this.TranslateOptions.ContentType,
                        this.TranslateOptions.Category);
                }

                translation = new Translation(sourceLanguage, destLanguage, stringToTranslate, translationResult);
            }

            return translation;
        }