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

平台开启

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版本不支持国际化,切记!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,827评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,498评论 2 59
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • 先放一张美照 我看到一座山顶留有雪的高山,它的影子倒印在寂静的湖面之上,早上的太阳从东方升起,让这座山焕发生机。 ...
    心闲散人阅读 1,040评论 0 0
  • 2018年6月28日,星期四,天气晴朗 这几天过得浑浑噩噩,每天除了按时上班下班,就是吃饭睡觉,生活无比有规律,但...
    11山山阅读 5,852评论 26 48