示例#1
0
        public async Task GetTusNumberForTm()
        {
            var languageParameters = new LanguageParameters("en-us", "de-de");
            var tusNumber          = await gsClient.TranslationMemories.GetNumberOfTus(tmId, languageParameters);

            Assert.True(tusNumber == 0);
        }
示例#2
0
        private void PopulateRepeater()
        {
            string[] availableCultures = { "sv-SE", "nl-NL", "ru-RU" };

            Array.Sort(availableCultures);
            // sort by locale string, and that's ok, that happens to give the same result as sorting on country name

            List <LanguageParameters> availableLanguages = new List <LanguageParameters>();

            foreach (string cultureId in availableCultures)
            {
                LanguageParameters newLanguage = new LanguageParameters();
                newLanguage.IconUrl   = "/Images/Flags/" + cultureId.Substring(3, 2).ToLowerInvariant() + "-64px.png";
                newLanguage.CultureId = cultureId;
                CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureId);
                newLanguage.DisplayName = culture.NativeName;
                newLanguage.DisplayName = Char.ToUpperInvariant(newLanguage.DisplayName[0]) +
                                          newLanguage.DisplayName.Substring(1);  // Capitalize

                if (cultureId.StartsWith("en"))
                {
                    newLanguage.IconUrl = "/Images/Flags/uk-64px.png";
                    // use "uk" for en-GB and en-US rather than "gb" or "us"
                }
                availableLanguages.Add(newLanguage);
            }

            this.RepeaterLanguages.DataSource = availableLanguages;
            this.RepeaterLanguages.DataBind();
        }
        public async Task GetTusNumberForPreDatedTm(string tmId)
        {
            var groupShareClient = await Helper.GetGroupShareClient();

            var languageParameters = new LanguageParameters("de-de", "ro-ro");

            var tusNumber = await groupShareClient.TranslationMemories.GetNumberOfPreDatedTus(tmId, languageParameters);

            Assert.Equal(0, tusNumber);
        }
示例#4
0
        private void PopulateRepeater()
        {
            string[] availableCultures = Formatting.SupportedCultures;

            Dictionary <string, string> specialNameLookup = new Dictionary <string, string>();
            Dictionary <string, bool>   suppressLookup    = new Dictionary <string, bool>();

            specialNameLookup["sr-Cyrl-RS"] = "Српски (ћирилица)";
            specialNameLookup["sr-Latn-RS"] = "Srpski (latinica)";
            specialNameLookup["es-VE"]      = "Español (Venezuela)";

            suppressLookup["en-US"] = true;
            suppressLookup["zh-CN"] = true;
            // suppressLookup["ar-SA"] = true;

            List <LanguageParameters> availableLanguages = new List <LanguageParameters>();

            foreach (string cultureId in availableCultures)
            {
                if (suppressLookup.ContainsKey(cultureId))
                {
                    continue;
                }

                LanguageParameters newLanguage = new LanguageParameters();
                newLanguage.CultureId = cultureId;
                CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureId);

                if (specialNameLookup.ContainsKey(cultureId))
                {
                    newLanguage.DisplayName = specialNameLookup[cultureId];
                }
                else
                {
                    newLanguage.DisplayName = culture.NativeName;
                    newLanguage.DisplayName = Char.ToUpperInvariant(newLanguage.DisplayName[0]) +
                                              newLanguage.DisplayName.Substring(1); // Capitalize

                    // Do not display country, just the language name
                    newLanguage.DisplayName = newLanguage.DisplayName.Substring(0, newLanguage.DisplayName.IndexOf(" (")).Trim();
                }

                newLanguage.IconUrl = SupportFunctions.FlagFileFromCultureId(cultureId);

                if (culture.TextInfo.IsRightToLeft)
                {
                    newLanguage.Rtl = "rtl";
                }

                availableLanguages.Add(newLanguage);
            }

            this.RepeaterLanguages.DataSource = availableLanguages;
            this.RepeaterLanguages.DataBind();
        }
示例#5
0
        private void PopulateRepeater()
        {
            string[] availableCultures = { "ar-AE", "de-DE", "es-ES", /*"fil-Latn",*/ "nl-NL", "pt-PT", "ru-RU", "tr-TR", "sv-SE" };

            Array.Sort(availableCultures);
            // sort by locale string, and that's ok, that happens to give the same result as sorting on country name

            List <LanguageParameters> availableLanguages = new List <LanguageParameters>();

            foreach (string cultureId in availableCultures)
            {
                LanguageParameters newLanguage = new LanguageParameters();
                newLanguage.CultureId = cultureId;
                CultureInfo culture = CultureInfo.CreateSpecificCulture(cultureId);
                newLanguage.DisplayName = culture.NativeName;
                newLanguage.DisplayName = Char.ToUpperInvariant(newLanguage.DisplayName[0]) +
                                          newLanguage.DisplayName.Substring(1);  // Capitalize

                // Do not display country, just the language name
                newLanguage.DisplayName = newLanguage.DisplayName.Split(' ')[0];

                if (cultureId.StartsWith("en"))
                {
                    newLanguage.IconUrl = "/Images/Flags/uk-64px.png";
                    // use "uk" for en-GB and en-US rather than "gb" or "us"
                }
                else if (cultureId.StartsWith("ar"))
                {
                    newLanguage.IconUrl = "/Images/Flags/Arabic-64px.png";
                    // crowdin's generic culture is ar-SA but Arabic is not country specific
                }
                else if (cultureId.StartsWith("fil"))
                {
                    // Filipino flag can't be deduced from the culture string
                    newLanguage.IconUrl = "/Images/Flags/ph-64px.png";
                }
                else
                {
                    newLanguage.IconUrl = "/Images/Flags/" + cultureId.Substring(3, 2).ToLowerInvariant() + "-64px.png";
                }
                if (culture.TextInfo.IsRightToLeft)
                {
                    newLanguage.Rtl = "rtl";
                }

                availableLanguages.Add(newLanguage);
            }

            this.RepeaterLanguages.DataSource = availableLanguages;
            this.RepeaterLanguages.DataBind();
        }
示例#6
0
        public async Task GetTusNumberForPostDatedTm()
        {
            var groupShareClient   = Helper.GsClient;
            var languageParameters = new LanguageParameters("en-us", "de-de");


            var preDatedTUs = await groupShareClient.TranslationMemories.GetNumberOfPreDatedTus(tmId, languageParameters);

            Assert.Equal(0, preDatedTUs);

            var postDatedTUs = await groupShareClient.TranslationMemories.GetNumberOfPostDatedTus(tmId, languageParameters);

            Assert.Equal(0, postDatedTUs);
        }
        public async Task ExportTm()
        {
            var groupShareClient = await Helper.GetGroupShareClient();

            var languageParam = new LanguageParameters("en-us", "es-es");

            var requestExportRequest = new ExportRequest();

            var tm = await groupShareClient.TranslationMemories.ExportTm("613e77ce-e838-4b80-a1a9-0afee3704632", requestExportRequest, languageParam);

            Assert.True(tm.Length > 0);

            //Example of how the byte[] should be decompressed and how to write the tm to disk

            //using (var compressedStream = new MemoryStream(tm))
            //using (var zipStream = new GZipStream(compressedStream, CompressionMode.Decompress))
            //using (var resultStream = new MemoryStream())
            //{
            //    zipStream.CopyTo(resultStream);
            //    var test = resultStream.ToArray();
            //    File.WriteAllBytes(@"C:\Users\aghisa\Desktop\testTm.tmx", test);
            //}
        }