Как переводить содержимое писем с помощью ручек в net core 3.1? - PullRequest
0 голосов
/ 02 августа 2020

Я создаю многоязычные приложения в net core 3.1 и Angular 9. Лично у меня проблема с переводом сообщений, сгенерированных в net core, с помощью ручек.

Вот мой код запуска:

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddLocalization(options => options.ResourcesPath = "Resources");

            services.Configure<RequestLocalizationOptions>(options =>
            {
                var supportedCultures = new List<CultureInfo>
                {
                    new CultureInfo("pl"),
                    new CultureInfo("en")
                };
                options.DefaultRequestCulture = new RequestCulture(culture: "pl");
                options.SupportedCultures = supportedCultures;
                options.SupportedUICultures = supportedCultures;
                options.RequestCultureProviders = new List<IRequestCultureProvider>
                {
                    new QueryStringRequestCultureProvider(),
                    new CookieRequestCultureProvider()
                };
            });

            services.AddMvc().AddViewLocalization(LanguageViewLocationExpanderFormat
                     .Suffix).AddDataAnnotationsLocalization();

Я создаю повар ie для хранения информации о текущем языке:

 export class SettingsService {
 url:string;

   constructor(private http: HttpClient) {
     this.url = environment.apiUrl + '/settings/';

    }

   setLanguageCookie(name: string){
     this.http.get(this.url + 'SetCookie?culture=' + name);
 }  
 }

. net core:

    [ApiController]
    [AllowAnonymous]
    [Route("[controller]")]
    public class SettingsController : BaseController
    {

        [AllowAnonymous]
        [HttpGet("SetCookie")]
        public IActionResult Cookie(string culture)
        {
            Response.Cookies.Append(
                CookieRequestCultureProvider.DefaultCookieName,
                CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
                new CookieOptions { Expires = DateTimeOffset.UtcNow.AddMonths(1) }
                );
            return RedirectToAction("SetCookie");
        }
    }
}

файл руля перевести:

{{#>BasicHtmlLayout}}
<p>
    Twoje konto w systemie BLS zostało aktywowane.
</p>
{{/BasicHtmlLayout}}

Есть у кого идеи?

...