Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }