예제 #1
0
        private string LangRes(string name)
        {
            if (_lang == null)
            {
                var locFile = _locFileResolver.Resolve(Services.WorkContext.WorkingLanguage.UniqueSeoCode, "~/Administration/Content/filemanager/lang/", "*.js");

                if (locFile == null)
                {
                    return(name);
                }

                var js       = System.IO.File.ReadAllText(CommonHelper.MapPath(locFile.VirtualPath));
                var objStart = js.IndexOf("{");
                var json     = js.Substring(objStart);

                _lang = JsonConvert.DeserializeObject <Dictionary <string, string> >(json);
            }

            return(_lang.Get(name) ?? name);
        }
예제 #2
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            var src = output.Attributes["src"].Value.ToString();

            if (src.Length < 11)
            {
                // Must be at least "~/{lang}.js"
                return;
            }

            var resolveResult = _fileResolver.Resolve(Language.UniqueSeoCode, src, true, FallbackCulture);

            if (resolveResult?.Success == true)
            {
                output.Attributes.SetAttribute("src", resolveResult.VirtualPath);
                output.MergeAttribute("charset", "UTF-8");
            }
            else
            {
                output.SuppressOutput();
            }
        }