Example #1
0
        public static System.Globalization.CultureInfo GetCulture(LanguageId id)
        {
            // Get equiv .NET CultureInfo for the LanguageId.
            // how to sort strings, show decimals and show date time for a langauge/culture. like RequestCulture.
            if (id < LanguageId.en || id >= LanguageId.test)
            {
                id = LanguageId.en;
            }

            return(new System.Globalization.CultureInfo(id.ToString()));
        }
Example #2
0
        public override async Task <List <string> > TranslateBatchAsync(List <string> fromTexts, LanguageId toLang = LanguageId.native)
        {
            // translate a batch of texts.

            if (toLang == _fromLang)    // nothing to do.
            {
                return(null);
            }

            var    lstResp = new List <string>();
            string url     = kUrlGoogTrans;

            using (var client = new HttpClient())
            {
                if (!string.IsNullOrWhiteSpace(ApiKey))
                {
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(HttpUtil.kAuthBearer, ApiKey);
                    url += "?key=" + ApiKey;
                }

                object req     = new { q = fromTexts, target = toLang.ToString() };
                string json    = JsonConvert.SerializeObject(req);
                var    content = new StringContent(json, Encoding.UTF8, MimeId.json.ToDescription());

                HttpResponseMessage resp = await client.PostAsync(url, content);

                resp.EnsureSuccessStatusCode();

                string respStr = await resp.Content.ReadAsStringAsync();

                dynamic respObj = JsonConvert.DeserializeObject(respStr);

                // detectedSourceLanguage
                foreach (dynamic tran in respObj.data.translations)
                {
                    lstResp.Add(tran.translatedText);
                }
            }

            return(lstResp);
        }
Example #3
0
 public override String ToString()
 {
     return(LanguageId.ToString(Cult.InvariantCulture));
 }
        public void TestRemoveAsync_ServerRemovedInterviewer_DoesNotThrow()
        {
            const int LanguageId = 11;
            var       language   = new Language {
                Id = LanguageId
            };
            var mockedNfieldConnection = new Mock <INfieldConnectionClient>();
            var mockedHttpClient       = CreateHttpClientMock(mockedNfieldConnection);

            mockedHttpClient
            .Setup(client => client.DeleteAsync(ServiceAddress + "Surveys/" + SurveyId + "/Languages/" + LanguageId.ToString()))
            .Returns(CreateTask(HttpStatusCode.OK));

            var target = new NfieldLanguagesService();

            target.InitializeNfieldConnection(mockedNfieldConnection.Object);

            Assert.DoesNotThrow(() => target.RemoveAsync(SurveyId, language).Wait());
        }
Example #5
0
        /// <summary>
        /// Fills the context.
        /// </summary>
        private void FillContext()
        {
            // Reset the DesignMode since we could have saved it in a cookie and logged out since then
            if (CMSContext.Current.IsDesignMode && !CanEdit)
            {
                CMSContext.Current.IsDesignMode = false;
            }

            //SHOW  REQUESTED VERSION
            if (!String.IsNullOrEmpty(Request.QueryString["VersionId"]) && Page.User.Identity.IsAuthenticated)
            {
                bool versionExist = (int.Parse(Request.QueryString["VersionId"]) > 0);

                //Work with exist. version
                if (versionExist)
                {
                    int versionLangId = 1;
                    CMSContext.Current.VersionId = int.Parse(Request.QueryString["VersionId"]);

                    using (IDataReader reader = PageVersion.GetVersionById(CMSContext.Current.VersionId))
                    {
                        if (reader.Read())
                        {
                            CMSContext.Current.TemplateId = (int)reader["TemplateId"];
                            versionLangId = (int)reader["LangId"];
                        }

                        reader.Close();
                    }
                    //set CurrentCulture to version Culture
                    using (IDataReader lang = Language.LoadLanguage(versionLangId))
                    {
                        if (lang.Read())
                        {
                            Thread.CurrentThread.CurrentCulture   = CultureInfo.CreateSpecificCulture(lang["LangName"].ToString());
                            Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(lang["LangName"].ToString());
                        }

                        lang.Close();
                    }
                }
                //Work with temp version
                else
                {
                    CMSContext.Current.VersionId    = int.Parse(Request.QueryString["VersionId"]);
                    CMSContext.Current.IsDesignMode = true;
                    if (Request.QueryString["TemplateId"] != null)
                    {
                        CMSContext.Current.TemplateId = int.Parse(Request.QueryString["TemplateId"]);
                    }
                    else
                    {
                        CMSContext.Current.TemplateId = int.Parse(GlobalVariable.GetVariable("default_template", CMSContext.Current.SiteId).ToString());
                    }
                }
            }

            //SHOW PUBLISHED VERSION
            else
            {
                LoadPublishedVersionContext(!CMSContext.Current.IsDesignMode);
            }

            // If we are opening page in design mode, make sure we can actually edit the version
            if (CMSContext.Current.IsDesignMode && CMSContext.Current.VersionId != -2 && !PageHelper.HasLanguageVersion(CMSContext.Current.PageId, LanguageId, CMSContext.Current.VersionId))
            {
                // simply switch design mode off
                CMSContext.Current.IsDesignMode = false;
            }

            // Check current mode and set if toolbar and toolbox is visible
            if (CanEdit)
            {
                // Redirect to version list page, only for users who have appropriate permissions
                if (CMSContext.Current.VersionId == -1)
                {
                    if (CMSContext.Current.IsDesignMode)
                    {
                        LoadPublishedVersionContext(true);
                        _CommandValue.Value = CMSContext.Current.PageId.ToString() + "," + LanguageId.ToString();
                        RunCommand("AddVersion");
                    }
                    //Response.Redirect("~/Structure/Base/Controls/VersionList.aspx?PageId=" + CMSContext.Current.PageId + "&LanguageId=" + LanguageId);
                }

                // Check if any specific tab was clicked
                if (Request.QueryString["tab"] != null && !this.IsPostBack)
                {
                    if (Request.QueryString["tab"] == "design")
                    {
                        CMSContext.Current.IsDesignMode = true;
                        RunCommand("Edit");
                    }
                    else if (Request.QueryString["tab"] == "public")
                    {
                        CMSContext.Current.IsDesignMode = false;
                        RunCommand("Cancel");
                    }
                }
            }
            else
            {
                // Display default language page and show friendly error saying specified language page is not available
                if (CMSContext.Current.VersionId == -1)
                {
                    //Response.Cookies.Clear();
                    if (Response.Cookies["MediachaseCMSCurrentCulture"] != null)
                    {
                        Response.Cookies["MediachaseCMSCurrentCulture"].Expires = DateTime.Now.AddDays(-10);
                    }

                    if (!String.IsNullOrEmpty(Request.QueryString["_mode"]) && Request.QueryString["_mode"] == "edit")
                    {
                        // can not use "FormsAuthentication.LoginUrl" because it will return full path including ApplicationName, which might be incorrect for a current CMS Site context
                        Response.Redirect(String.Format("{0}?ReturnUrl={1}", ResolveUrl("~/login.aspx"), HttpUtility.UrlEncode(CMSContext.Current.CurrentUrl)));
                    }

                    //throw new HttpException(404, String.Empty);
                }
                else if (!String.IsNullOrEmpty(Request.QueryString["_mode"]) && Request.QueryString["_mode"] == "edit")
                {
                    // can not use "FormsAuthentication.LoginUrl" because it will return full path including ApplicationName, which might be incorrect for a current CMS Site context
                    Response.Redirect(String.Format("{0}?ReturnUrl={1}", ResolveUrl("~/login.aspx"), HttpUtility.UrlEncode(CMSContext.Current.CurrentUrl)));
                }


                HideDesignUI();
                CMSContext.Current.IsDesignMode = false;
            }

//            if (!CMSContext.Current.IsDesignMode)
//                HideDesignUI();

            // Initialize current PageDocument
            if (CMSContext.Current.IsDesignMode)
            {
                PageDocument.Current = PageDocument.Open(CMSContext.Current.VersionId, OpenMode.Design, UserUID);
            }
            else
            {
                PageDocument.Current = PageDocument.Open(CMSContext.Current.VersionId, OpenMode.View, UserUID);
            }
        }
Example #6
0
        public async Task <string> TranslateJsonAsync(string fromEnc, LanguageId toLang = LanguageId.native)
        {
            // use the newer JSON format translation.
            // https://cloud.google.com/translate/docs/basic/translating-text

            if (toLang == _fromLang)    // nothing to do.
            {
                return(fromEnc);
            }

            string url = kUrlGoogTrans;

            using (var client = new HttpClient())
            {
                if (!string.IsNullOrWhiteSpace(ApiKey))
                {
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(HttpUtil.kAuthBearer, ApiKey);
                    url += "?key=" + ApiKey;
                }

                string json    = JsonConvert.SerializeObject(new { q = fromEnc, source = LanguageId.en.ToString(), target = toLang.ToString() });     // format = "text"
                var    content = new StringContent(json, Encoding.UTF8, MimeId.json.ToDescription());

                HttpResponseMessage resp = await client.PostAsync(url, content);

                resp.EnsureSuccessStatusCode();

                string respStr = await resp.Content.ReadAsStringAsync();

                dynamic respObj = JsonConvert.DeserializeObject(respStr);

                // detectedSourceLanguage
                string toText = respObj.data.translations[0].translatedText;
                return(toText);
            }
        }