/// <summary> /// Make the terms in the default culture more translatable by splitting the strings /// based on camel casing. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnPrepareButton_Click(object sender, RoutedEventArgs e) { if (DataModel == null) { return; } string defaultCulture = DataModel.DefaultCulture; foreach (ExpandoObject row in DataModel.GetAllDataRows()) { ((IDictionary <String, Object>)row)[defaultCulture] = row.SeparateCamelCase(defaultCulture); } }
/// <summary> /// Translate the strings tn the default culture into the /// selected target languages. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnTranslateButton_Click(object sender, RoutedEventArgs e) { if (DataModel.HasTargetLanguages) { using (new Hourglass()) { var ts = new TranslatorService(Languages.Where(x => x.IsSelected == true)?.ToList(), DataModel.DefaultCulture, SubscriptionKey, TranslatorEndpoint, TranslatorLocation); ts.Translate(DataModel.GetAllDataRows(), OverwriteTranslation); } } else { MessageBox.Show(FindResource("NothingToTranslate").ToString()); LanguageToggle.IsChecked = true; } }