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())); }
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); }
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()); }
/// <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); } }
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); } }