美文网首页
[内部]平台国际化及集成说明

[内部]平台国际化及集成说明

作者: BeautifulHao | 来源:发表于2018-11-15 10:26 被阅读0次

平台开启

1、通过系统管理->基础设置->环境设置,开启多语言

envSetting.png

2、登录界面切换语言

login.png

接口程序更新

更新平台依赖库


lib.png

业务系统入口更新

在Application_BeginRequest 方法内,设置当前请求国际化配置

protected override void Application_BeginRequest(object sender, EventArgs e)
{
  Supcon.UnifiedPlatform.Framework.Web.CustomCultureSetter.SetCurrentCulture(Context);
}

重启IIS和清理浏览器缓存,即可测试业务系统是否正常国际化。

平台和业务系统国际化传递说明

平台开启指定语言版本后,通过菜单打开业务系统页面,将在URL内附带语言参数,Supcon.UnifiedPlatform.Framework.Web.CustomCultureSetter.SetCurrentCulture 方法,将自动分析请求信息,给各个业务系统一个匹配的国际化语言配置,内部实现如下:

        public static void SetCurrentCulture(HttpContext httpContext)
        {
            //通过url获取参数culture=en,即平台菜单所带语言
            var culture = GetCultureFromUrlParams(httpContext);
            //如果正常获取
            if (!string.IsNullOrWhiteSpace(culture))
            {
                //设置当前系统线程语言
                SetCurrentCulture(culture);
                //设置当前系统语言到当前站点cookiee
                var cookieCulture = GetCultureFromCookie(httpContext);
                if (string.IsNullOrWhiteSpace(cookieCulture) || (!string.IsNullOrWhiteSpace(cookieCulture) && !cookieCulture.Equals(culture, StringComparison.CurrentCultureIgnoreCase)))
                {
                    SetCultureToCookie(httpContext, culture);
                }

                return;
            }
            //从url获取不到语言配置,则从http头获取或者从当前站点cookiee获取
            culture = GetCultureFromHeader(httpContext) ?? GetCultureFromCookie(httpContext);
            //有则设置
            if (culture != null)
            {
                SetCurrentCulture(culture);
                return;
            }
            //否则从综合平台设置的默认语言获取,或者从浏览器信息内获取
            culture = GetDefaultCulture() ?? GetBrowserCulture(httpContext);
            //有则设置,否则不执行任何线程环境设置
            if (culture != null)
            {
                SetCurrentCulture(culture);
                SetCultureToCookie(httpContext, culture);
            }
        }

目前http://10.30.20.233:5000/MESIP 已经更新最新平台4.1版本,业务系统可以在该版本进行测试。平台4.0版本不支持国际化,切记!!!

相关文章

网友评论

      本文标题:[内部]平台国际化及集成说明

      本文链接:https://www.haomeiwen.com/subject/knbefqtx.html