object Convert(object value, Type targetType, object parameter)
        {
            if (value == null)
            {
                return(null);
            }

            if (stringParserService == null)
            {
                stringParserService = Dependency.Resolve <IStringParserService>();
            }

            if (value is Enum)
            {
                string stringEnumValue    = value.ToString();
                string keyWithLocalizeTag = string.Format("${{l:Enum_{0}_{1}}}", value.GetType().Name.Replace('.', '_'), stringEnumValue);
                var    result             = stringParserService.Parse(keyWithLocalizeTag);
                if (string.IsNullOrWhiteSpace(result) || result == keyWithLocalizeTag)
                {
#if DEBUG
                    var log = Dependency.Resolve <ILog>();
                    log.Debug("Localized resource not found: " + keyWithLocalizeTag);
#endif
                    return(value);
                }

                return(result);
            }
            else
            {
                return(stringParserService.Parse(value.ToString()));
            }
        }
Пример #2
0
 public Startup(IStringParserService stringParserService, ICharProcessingService charProcessingService, IOutputResult outputResult)
 {
     _stringParserService   = stringParserService;
     _charProcessingService = charProcessingService;
     _outputResult          = outputResult;
 }