Skip to content

Instantly share code, notes, and snippets.

@enisn
Created February 10, 2021 10:34
Show Gist options
  • Save enisn/c0aab46329615047f8ba87dab8bfd1fe to your computer and use it in GitHub Desktop.
Save enisn/c0aab46329615047f8ba87dab8bfd1fe to your computer and use it in GitHub Desktop.
BetterBlazorApp - I18NPortable
@inherits LayoutComponentBase
@inject I18NPortable.II18N L
@inject Events Events
<div class="page">
<div class="sidebar">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
@foreach (var language in L.Languages)
{
var locale = language.Locale.Split('-').LastOrDefault();
<button @onclick="@(()=>SetLanguage(language.Locale))" class="btn btn-light btn-lg">
<img src="https://www.countryflags.io/@locale/flat/32.png">
</button>
}
<a href="http://blazor.net" target="_blank" class="ml-md-auto">About</a>
</div>
<div class="content px-4">
@Body
</div>
</div>
</div>
@code{
public void SetLanguage(string locale)
{
L.Language = L.Languages.FirstOrDefault(x => x.Locale == locale);
StateHasChanged();
Events.InvokeLanguageChanged(locale);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment