public void UpsertTranslation(string appName, string key, string lang, Translation value) { var dataBase = _serverWrapper.ServerConnection.GetDatabase(appName); var collection = dataBase.GetCollection<LocalizedString>(LOCALIZATION_COLLECTION_NAME + "_" + lang); collection.EnsureIndex(new IndexKeysBuilder().Ascending("key"), IndexOptions.SetUnique(true)); var localized = collection.Find(Query.EQ("key", key)).FirstOrDefault(); if (localized == null) { List<Translation> trans = new List<Translation>(); trans.Add(value); collection.Insert(new LocalizedString() { Key = key, Translation = value }); } else { localized.Translation = value; collection.Save(localized); } }
private void button5_Click(object sender, EventArgs e) { //WebRequest req = HttpWebRequest.Create("http://dataservice.datingbook.com/get_local"); //req.Method = "POST"; //req.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; //using (var dataStream = req.GetRequestStream()) //{ // var bytes = Encoding.UTF8.GetBytes("lang=IL"); // dataStream.Write(bytes, 0, bytes.Length); //} //HttpWebResponse res = (HttpWebResponse)req.GetResponse(); //StreamReader reader = new StreamReader(res.GetResponseStream(), Encoding.UTF8); string localizedStr = File.ReadAllText(@"E:\dev\Dating\DatingBook\trunk\DatingBook.Web.DataService\static\local\local_en.json"); //reader.ReadToEnd(); //reader.Close(); var localized = Newtonsoft.Json.Linq.JObject.Parse(localizedStr); LocalizationDataProvider prov = new LocalizationDataProvider(); foreach (JProperty local in localized["data"]) { //local.Value Translation trans = new Translation() { Options = new List<TransKeyVal>(), Value = local.Name }; foreach (JObject val in local) { foreach (var prop in val.Properties()) { if (prop.Name == "label") { trans.Value = prop.Value.ToString(); } else { trans.Options.Add(new TransKeyVal() { Key = prop.Name, Value = prop.Value.ToString() }); } } } prov.UpsertTranslation("gokapara-newyork", local.Name, "english", trans); } }
private void InsertLocalization(string appName, string lang) { var filePath = HttpContext.Current.Server.MapPath(string.Format("~/static/local/local_{0}.json", lang)); string localization = File.ReadAllText(filePath, Encoding.UTF8); var localized = JObject.Parse(localization); foreach (JProperty local in localized["data"]) { Translation trans = new Translation() { Options = new List<TransKeyVal>(), Value = local.Name }; foreach (JObject val in local) { foreach (var prop in val.Properties()) { if (prop.Name == "label") { trans.Value = prop.Value.ToString(); } else { trans.Options.Add(new TransKeyVal() { Key = prop.Name, Value = prop.Value.ToString() }); } } } _localizationDataProvider.UpsertTranslation(appName, local.Name, lang, trans); } }