Пример #1
0
        /// <summary>
        /// Gets a resource string based on the specified expression.
        /// </summary>
        /// <param name="expression">The expression used to build the resource key</param>
        /// <param name="languageId">Language identifier</param>
        /// <param name="logIfNotFound">A value indicating whether to log error if locale string resource is not found</param>
        /// <param name="defaultValue">Default value</param>
        /// <param name="returnEmptyIfNotFound">A value indicating whether to empty string will be returned if a resource is not found and default value is set to empty string</param>
        /// <returns>A string representing the requested resource string.</returns>
        /// <remarks></remarks>
        public string GetResource(System.Linq.Expressions.Expression <Func <string> > expression,
                                  ObjectId?languageId        = null,
                                  bool?logIfNotFound         = null,
                                  string defaultValue        = "",
                                  bool returnEmptyIfNotFound = false)
        {
            var expressionVisitor = new LocalizationNodeExpressionVisitor(expression);

            return(GetResource(expressionVisitor.ResourceName, languageId, logIfNotFound, expressionVisitor.DefaultValue, returnEmptyIfNotFound));
        }
Пример #2
0
        public void Can_resolve_resource()
        {
            var expressionVisitor = new LocalizationNodeExpressionVisitor(() => Products.Value);

            expressionVisitor.ResourceName.ShouldEqual("Products");
            expressionVisitor.DefaultValue.ShouldEqual("Products value");

            expressionVisitor = new LocalizationNodeExpressionVisitor(() => Products.Categories.Edit);
            expressionVisitor.ResourceName.ShouldEqual("Products.Categories.Edit");
            expressionVisitor.DefaultValue.ShouldEqual("Edit category value");

            expressionVisitor = new LocalizationNodeExpressionVisitor(() => LoginAdditional.RememberMe);
            expressionVisitor.ResourceName.ShouldEqual("Login.Additional.RememberMe");
            expressionVisitor.DefaultValue.ShouldEqual("Remember me");

            expressionVisitor = new LocalizationNodeExpressionVisitor(() => Login.RememberMe);
            expressionVisitor.ResourceName.ShouldEqual("Resources.Security.Login.RememberMe");
            expressionVisitor.DefaultValue.ShouldEqual("Remember me");
        }