public static string TranslatedField(Lite <Entity> lite, PropertyRoute route, PrimaryKey?rowId, string fallbackString) { var result = TranslatedInstanceLogic.GetTranslatedInstance(lite, route, rowId); if (result != null && result.OriginalText.Replace("\r", "").Replace("\n", "") == fallbackString.Replace("\r", "").Replace("\n", "")) { return(result.TranslatedText); } return(fallbackString); }
public static TypeInstancesChanges GetTypeInstanceChangesTranslated(ITranslator translator, Type type, CultureInfo targetCulture, out int totalInstances) { var cultures = TranslationLogic.CurrentCultureInfos(TranslatedInstanceLogic.DefaultCulture); cultures.Remove(targetCulture); var instances = TranslatedInstanceLogic.GetInstanceChanges(type, targetCulture, cultures); totalInstances = instances.Count; if (instances.Sum(a => a.TotalOriginalLength()) > MaxTotalSyncCharacters) { instances = instances.GroupsOf(a => a.TotalOriginalLength(), MaxTotalSyncCharacters).First().ToList(); } return(TranslateInstances(translator, type, targetCulture, instances)); }
public static string TranslatedField <T>(this T entity, Expression <Func <T, string> > property) where T : Entity { string fallbackString = TranslatedInstanceLogic.GetPropertyRouteAccesor(property)(entity); return(entity.ToLite().TranslatedField(property, fallbackString)); }