ASP.NET Core 3.0中的本地化

卢卡斯

我正在尝试使用.resx文件将项目本地化。

对我而言,这对我来说是行不通的,对于我的同事来说,这也行得通。

有关代码的一些详细信息:Startup.cs文件

 public void ConfigureServices(IServiceCollection services)
        {
            .
            .
            .
            // Localization

            services.AddLocalization(options => options.ResourcesPath = "Lang/");

            services.AddMvc(option => option.EnableEndpointRouting = false)
                .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
                .AddDataAnnotationsLocalization();



            services.Configure<RequestLocalizationOptions>(options =>
            {
                var supportedCultures = new List<CultureInfo>
                    {
                        new CultureInfo("cs"),
                        //new CultureInfo("en")
                    };

                options.DefaultRequestCulture = new RequestCulture(culture: "cs", uiCulture: "cs");
                options.SupportedCultures = supportedCultures;
                options.SupportedUICultures = supportedCultures;
            });
            services.AddTransient<Messages>();
            // Localization end
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }

            // Localization
            var locOptions = app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>();
            app.UseRequestLocalization(locOptions.Value);
            // Localization end

            .
            .
            .

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }

我的控制器:

public class AccountController : BasicController
    {     
        private readonly UserManager<User> userManager;
        private readonly IPasswordHasher<User> passwordHasher;
        private IStringLocalizer<Default> _localizer;


        public AccountController(UserManager<User> userManager, SignInManager<User> signInManager, IPasswordHasher<User> passwordHasher,
            IStringLocalizer<Default> LangDefault, IDataProtectionProvider provider) : base(signInManager,provider)
        {
            this.userManager = userManager;
            this.passwordHasher = passwordHasher;
            _localizer = LangDefault;
        }

我的登录视图:

@using Microsoft.AspNetCore.Localization
@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer

@{
    Layout = "_LayoutLogin";
    ViewData["Title"] = Localizer["TitleLogin"];

我的项目结构

对我来说,它返回“ TitleLogin”,值“ ResourceNotFound”为true。

对于我的同事,它使用相同的代码返回正确的值...

您能帮我吗-我做错了吗?

非常感谢。

瑞安

我不知道哪个resx文件包含TitleLogin。为显示正确的本地化数据,当我修改services.AddLocalization(options => options.ResourcesPath = "Lang/");

services.AddLocalization(options => options.ResourcesPath = "Lang");

然后添加一个Views.Account.Login.cs.resxLang文件夹中命名的resx文件

更新3/19/2020

事实证明,在asp.net core 3.1中,您需要放置Default.cs在Resources文件夹(您的Lang文件夹在此处)之外,请参阅此github问题

如果类Default.csDefault.*.resx在同一个文件夹,命名空间将在编译的.dll文件xxx.lang.dll错误。

因此,解决方案是

1.删​​除原始文件Default.cs并直接在项目下创建一个新文件:

namespace MyApp
{
    public class Default
    {
    }
}

2.增加Default.cs.resx了在Lang文件夹中

3._ViewImports.cshtml

@using MyApp
@using Microsoft.Extensions.Localization
@inject IStringLocalizer<Default> LangDefault

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ASP.NET中本地化动态绑定的DropDownList

来自分类Dev

ASP.NET 5 MVC 6中的本地化

来自分类Dev

asp.net中的应用程序本地化

来自分类Dev

在单独的项目Asp.net Core MVC中进行本地化

来自分类Dev

如何在ASP.NET Core中的自定义本地化提供程序中注入DbContext?

来自分类Dev

如何在Asp.Net Core 1.0.0中本地化Display属性?

来自分类Dev

ASP .NET Core 1.0 RTM本地化无法正常工作

来自分类Dev

ASP.NET Core请求本地化选项

来自分类Dev

ASP.Net Core本地化

来自分类Dev

ASP.NET CORE(.NET Framework)和本地化

来自分类Dev

ASP.NET Core 3 MVC端点路由和按路由进行本地化

来自分类Dev

ASP.NET Core 3.0 Razor页面中的路由本地化

来自分类Dev

ASP.NET CORE 3.1中的数据注释和错误验证消息的本地化

来自分类Dev

无法使用ASP.NET CORE 2.2生成用于本地化的Response cookie

来自分类Dev

ASP.NET Core 3.1:共享的本地化版本3.1不起作用

来自分类Dev

Asp.Net Core中基于请求的Razor页面本地化

来自分类Dev

如何进行ASP.NET Core 3.1路由(Route,ActionName)本地化?

来自分类Dev

在asp.net core 3中创建漂亮的url

来自分类Dev

在ASP.net Core MVC 3.1中的HtmlHelper扩展方法中使用DataAnnotation本地化器

来自分类Dev

通过_Layout.cshtml中的ASP.NET Core本地化在ASP.NET Core中进行翻译的问题

来自分类Dev

覆盖ASP.NET Core 3中的授权策略

来自分类Dev

asp.net中Google Map API v3中的反向地理编码本地化

来自分类Dev

在ASP.NET中本地化动态绑定的DropDownList

来自分类Dev

在ASP.NET MVC中Korzh EasyQuery的本地化

来自分类Dev

在单独的项目Asp.net Core MVC中进行本地化

来自分类Dev

使用VSCode的Asp.Net Core本地化无法正常工作

来自分类Dev

ASP.NET Core 全球化和本地化

来自分类Dev

Asp.net Core 2.0 查看本地化错误

来自分类Dev

在asp.net core 2.1中基于国家的本地化

Related 相关文章

  1. 1

    在ASP.NET中本地化动态绑定的DropDownList

  2. 2

    ASP.NET 5 MVC 6中的本地化

  3. 3

    asp.net中的应用程序本地化

  4. 4

    在单独的项目Asp.net Core MVC中进行本地化

  5. 5

    如何在ASP.NET Core中的自定义本地化提供程序中注入DbContext?

  6. 6

    如何在Asp.Net Core 1.0.0中本地化Display属性?

  7. 7

    ASP .NET Core 1.0 RTM本地化无法正常工作

  8. 8

    ASP.NET Core请求本地化选项

  9. 9

    ASP.Net Core本地化

  10. 10

    ASP.NET CORE(.NET Framework)和本地化

  11. 11

    ASP.NET Core 3 MVC端点路由和按路由进行本地化

  12. 12

    ASP.NET Core 3.0 Razor页面中的路由本地化

  13. 13

    ASP.NET CORE 3.1中的数据注释和错误验证消息的本地化

  14. 14

    无法使用ASP.NET CORE 2.2生成用于本地化的Response cookie

  15. 15

    ASP.NET Core 3.1:共享的本地化版本3.1不起作用

  16. 16

    Asp.Net Core中基于请求的Razor页面本地化

  17. 17

    如何进行ASP.NET Core 3.1路由(Route,ActionName)本地化?

  18. 18

    在asp.net core 3中创建漂亮的url

  19. 19

    在ASP.net Core MVC 3.1中的HtmlHelper扩展方法中使用DataAnnotation本地化器

  20. 20

    通过_Layout.cshtml中的ASP.NET Core本地化在ASP.NET Core中进行翻译的问题

  21. 21

    覆盖ASP.NET Core 3中的授权策略

  22. 22

    asp.net中Google Map API v3中的反向地理编码本地化

  23. 23

    在ASP.NET中本地化动态绑定的DropDownList

  24. 24

    在ASP.NET MVC中Korzh EasyQuery的本地化

  25. 25

    在单独的项目Asp.net Core MVC中进行本地化

  26. 26

    使用VSCode的Asp.Net Core本地化无法正常工作

  27. 27

    ASP.NET Core 全球化和本地化

  28. 28

    Asp.net Core 2.0 查看本地化错误

  29. 29

    在asp.net core 2.1中基于国家的本地化

热门标签

归档