当前位置: 首页>>代码示例>>C#>>正文


C# ITranslator.TranslateBatch方法代码示例

本文整理汇总了C#中ITranslator.TranslateBatch方法的典型用法代码示例。如果您正苦于以下问题:C# ITranslator.TranslateBatch方法的具体用法?C# ITranslator.TranslateBatch怎么用?C# ITranslator.TranslateBatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ITranslator的用法示例。


在下文中一共展示了ITranslator.TranslateBatch方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Translate

        private static LocalizedAssemblyChanges Translate(ITranslator translator, LocalizedAssembly target, List<LocalizedTypeChanges> types)
        {
            List<IGrouping<CultureInfo, TypeNameConflict>> typeGroups =
                (from t in types
                 where t.TypeConflict != null
                 from tc in t.TypeConflict
                 select tc).GroupBy(a => a.Key, a => a.Value).ToList();

            foreach (IGrouping<CultureInfo, TypeNameConflict> gr in typeGroups)
            {
                List<string> result = translator.TranslateBatch(gr.Select(a => a.Original.Description).ToList(), gr.Key.Name, target.Culture.Name);

                gr.ZipForeach(result, (sp, translated) => sp.Translated = translated);
            }

            List<IGrouping<CultureInfo, MemberNameConflict>> memberGroups =
                (from t in types
                 where t.MemberConflicts != null
                 from mcKVP in t.MemberConflicts
                 from mc in mcKVP.Value
                 select mc).GroupBy(a => a.Key, a => a.Value).ToList();

            foreach (IGrouping<CultureInfo, MemberNameConflict> gr in memberGroups)
            {
                var result = translator.TranslateBatch(gr.Select(a => a.Original).ToList(), gr.Key.Name, target.Culture.Name);

                gr.ZipForeach(result, (sp, translated) => sp.Translated = translated);
            }

            return new LocalizedAssemblyChanges
            {
                LocalizedAssembly = target,
                Types = types,
            };
        }
开发者ID:JackWangCUMT,项目名称:extensions,代码行数:35,代码来源:TranslationSynchronizer.cs

示例2: TranslateInstances

        private static TypeInstancesChanges TranslateInstances(ITranslator translator, Type type, CultureInfo targetCulture, List<InstanceChanges> instances)
        {
            List<IGrouping<CultureInfo, PropertyRouteConflict>> memberGroups = (from t in instances
                                                                                from rcKVP in t.RouteConflicts
                                                                                from rc in rcKVP.Value
                                                                                select rc).GroupBy(a => a.Key, a => a.Value).ToList();

            foreach (IGrouping<CultureInfo, PropertyRouteConflict> gr in memberGroups)
            {
                var result = translator.TranslateBatch(gr.Select(a => a.Original).ToList(), gr.Key.Name, targetCulture.Name);

                gr.ZipForeach(result, (sp, translated) => sp.AutomaticTranslation = translated);
            }

            return new TypeInstancesChanges
            {
                Type = type,
                Instances = instances
            };
        }
开发者ID:JackWangCUMT,项目名称:extensions,代码行数:20,代码来源:TranslatedInstanceSynchronizer.cs


注:本文中的ITranslator.TranslateBatch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。