在语言管理器 (LM) 版本 5.2.0 中,我们在 appsettings.json 中添加了一个名为 翻译或复制ContentAreaChildrenBlockForTypes。 它的作用正如其名称所示,当 LM 翻译或复制声明类型的内容时,ContentArea 属性中的内容将随之翻译或复制。
基于上述选项,5.3.0 更新为用户提供了更直观和可定制的方法来管理内容翻译和复制,允许用户直接配置翻译或复制过程, 无需声明特定类型 在 appsettings.json 文件中。
让我们从新功能开始,当您单击“自动翻译/复制”功能时,会出现一个新对话框:
它与我们用于“添加到翻译项目”功能的弹出窗口相同,但更好! 值得注意的是,源语言选择已升级为更直观的下拉菜单,取代了以前的单选按钮。
添加所有孩子, 正如它的名字所暗示的那样。 启用此选项需要在翻译过程中包含给定父页面的所有子页面或子页面。
例如:翻译第 1 页时选择此选项也会将上图中的所有页面翻译到翻译过程中。
添加相关内容, 这个有点复杂。 反思 TranslateOrCopyContentAreaChildrenBlockForTypes 选项,它以前专门包含 ContentArea 属性中的所有内容。
不过,随着 5.3.0 版本的出现,我们扩展了这个功能,不仅包含了中的所有内容 内容区,而且还在 内容参考 和 Xhtml字符串。 这个扩展自然包括 从伊利斯出发
如果选择以上两个选项之一,则选择第三个选项 发布添加的内容 将相应揭晓:
此选项使用户能够决定是发布新添加的内容还是将其保留为草稿。 尤其, 根内容将保持草稿状态,确保其在发布前经过进一步审查。
然而,我们增强 LM 灵活性的努力并没有就此结束,默认实现仅仅触及了表面。 为了给用户提供更大的适应性,我们推出了全新的界面: IChildrenContentLoader。
public interface IChildrenContentLoader
{
///
/// Get children from a parent/root content
///
/// The parent or root content
/// Id of the source language
/// Flag to indicate whether including descendants or not
/// Flag to indicate whether including related content or not
/// List of content link that will get translated alongside root
IEnumerable GetChildrenContentsNeedToCopyOrTranslate(ContentReference content, string languageId, bool includeDescendents, bool includeRelatedContents);
}
当然,用户可以自由地自定义此行为以满足他们的特定要求。 这可以通过覆盖默认实现并注册类型的服务来完成 IChildrenContentLoader 进行所需的修改。
现在就这样。 请随意设计您自己的逻辑,并向我们提供有关此新功能的宝贵反馈。 您的见解将有助于我们不断努力进一步增强语言管理器。
2024 年 4 月 15 日
1714069343
#语言管理器 #5.3.0 #中的新增功能
2024-04-15 07:13:40