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

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

作者: 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