【问题标题】:Localization via cookies in ASP.NET Boilerplate通过 ASP.NET 样板中的 cookie 进行本地化
【发布时间】:2026-01-25 02:30:01
【问题描述】:

我有一个问题和一个问题。

首先,我试图将登录屏幕语言和应用程序语言分开——这样当用户用德语注销时,登录屏幕是英语(反之亦然),而当他登录时,它不会' t 将上述用户的应用程序语言恢复为英语。

看起来相当简单,但我不明白为什么 cookie 负责更改语言。在language-switch组件中,topbar组件中有这段代码:

this._customSettingsService.changeLanguage(languageName)
    .subscribe(() => {
        abp.utils.setCookieValue(
            "Abp.Localization.CultureName",
            languageName,
            new Date(new Date().getTime() + 5 * 365 * 86400000), // 5 years
            abp.appPath
        );
        window.location.reload();
    });

当我注释掉abp.utils.setCookieValue 时,语言没有切换,这没有任何意义。

重要提示:我更改了app.component 中的ngOnInit() 函数,以便从DB dbo.AbpSettings 中读取当前语言和用户语言并进行相应更改。

任何澄清都会非常有帮助。

【问题讨论】:

    标签: angularjs cookies asp.net-mvc-5 asp.net-boilerplate


    【解决方案1】:

    来自Localization上的文档:

    如何确定当前语言?

    ASP.NET MVC 5.x ?

    ABP 自动确定每个 Web 请求中的当前语言并设置当前线程的文化(和 UI 文化)。这是 ABP 默认确定它的方式。 ABP 将:

    • ...

    • 尝试从一个特殊的 cookie 值中获取,默认名为“Abp.Localization.CultureName”。

    【讨论】:

      最近更新 更多