using System; using System.Collections.Generic; using System.Web.UI.WebControls; using CMS.GlobalHelper; using CMS.DocumentEngine; using CMS.TranslationServices; /// /// Translation services methods - wrapping methods for macro resolver. /// public class TranslationServicesMethods { /// /// Registers all translation services methods to macro resolver. /// public static void RegisterMethods() { // Get user name MacroMethod isTranslationReady = new MacroMethod("IsTranslationReady", IsTranslationReady) { Comment = "Returns true if there is at least one translation submission item with target XLIFF ready to import.", Type = typeof(bool), MinimumParameters = 1, AllowedTypes = new List() { typeof(CMS.DocumentEngine.TreeNode), typeof(DocumentInfo) } }; isTranslationReady.AddParameter("document", typeof(CMS.DocumentEngine.TreeNode), "Document to check."); MacroMethods.RegisterMethod(isTranslationReady); MacroMethod getTranslationPriority = new MacroMethod("GetTranslationPriority", GetTranslationPriority) { Comment = "Returns priority name from priority integer constant.", Type = typeof(string), MinimumParameters = 1, }; getTranslationPriority.AddParameter("priorty", typeof(int), "Priority integer constant."); MacroMethods.RegisterMethod(getTranslationPriority); } /// /// Returns true if there is at least one translation submission item with target XLIFF. /// /// Document to check public static object IsTranslationReady(params object[] parameters) { switch (parameters.Length) { case 1: return TranslationServicesFunctions.IsTranslationReady(parameters[0]); default: throw new NotSupportedException(); } } /// /// Returns translation priority text. /// /// Priority integer constant public static string GetTranslationPriority(params object[] parameters) { switch (parameters.Length) { case 1: return TranslationServiceHelper.GetPriorityText(ValidationHelper.GetInteger(parameters[0], 0)); default: throw new NotSupportedException(); } } }