Skip to content

Commit d83b9a8

Browse files
committed
Added language switch to account layout.
1 parent cca7e65 commit d83b9a8

File tree

9 files changed

+77
-0
lines changed

9 files changed

+77
-0
lines changed

aspnet-core/src/AbpCompanyName.AbpProjectName.Web.Mvc/AbpCompanyName.AbpProjectName.Web.Mvc.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<ItemGroup>
1919
<Content Include="wwwroot\images\user-img-background.jpg" />
2020
<Content Include="wwwroot\images\user.png" />
21+
<Content Include="wwwroot\view-resources\Views\Account\_Layout.less" />
2122
<Content Include="wwwroot\view-resources\Views\Home\Index.js" />
2223
</ItemGroup>
2324

aspnet-core/src/AbpCompanyName.AbpProjectName.Web.Mvc/Views/Account/_Layout.cshtml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<link href="~/css/style.css" rel="stylesheet">
4343

4444
<link rel="stylesheet" href="~/css/main.css" asp-append-version="true" />
45+
<link href="~/view-resources/Views/Account/_Layout.css" rel="stylesheet" asp-append-version="true" />
4546
</environment>
4647

4748
<environment names="Staging,Production">
@@ -74,6 +75,8 @@
7475

7576
@RenderBody()
7677

78+
<vc:account-languages></vc:account-languages>
79+
7780
<div class="row">
7881
<div class="col-xs-12 text-center" style="color: #e9e9e9">
7982
<small>&copy; @DateTime.Now.Year AbpProjectName. <b>Version </b> @AppVersionHelper.Version [@AppVersionHelper.ReleaseDate.ToString("yyyyMMdd")]</small>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System.Linq;
2+
using System.Threading.Tasks;
3+
using Abp.Localization;
4+
using Microsoft.AspNetCore.Mvc;
5+
6+
namespace AbpCompanyName.AbpProjectName.Web.Views.Shared.Components.AccountLanguages
7+
{
8+
public class AccountLanguagesViewComponent : ViewComponent
9+
{
10+
private readonly ILanguageManager _languageManager;
11+
12+
public AccountLanguagesViewComponent(ILanguageManager languageManager)
13+
{
14+
_languageManager = languageManager;
15+
}
16+
17+
public Task<IViewComponentResult> InvokeAsync()
18+
{
19+
var model = new LanguageSelectionViewModel
20+
{
21+
CurrentLanguage = _languageManager.CurrentLanguage,
22+
Languages = _languageManager.GetLanguages()
23+
//.Where(l => !l.IsDisabled) //TODO: Will be supported after Abp.ZeroCore 2.1.
24+
.ToList(),
25+
CurrentUrl = Request.Path
26+
};
27+
28+
return Task.FromResult(View(model) as IViewComponentResult);
29+
}
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
@using System.Text.Encodings.Web
2+
@using AbpCompanyName.AbpProjectName.Web.Views.Shared.Components.AccountLanguages
3+
@model LanguageSelectionViewModel
4+
@if (Model.Languages.Count > 1)
5+
{
6+
<div class="language-switch-area">
7+
@foreach (var languageInfo in Model.Languages)
8+
{
9+
<a href="~/AbpLocalization/ChangeCulture?cultureName=@(languageInfo.Name)&returnUrl=@(UrlEncoder.Default.Encode(Context.Request.Path + Context.Request.QueryString))">
10+
<span class="language-icon @(languageInfo == Model.CurrentLanguage ? "language-icon-current" : "")" title="@languageInfo.DisplayName"><i class="@languageInfo.Icon"></i></span>
11+
</a>
12+
}
13+
</div>
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System.Collections.Generic;
2+
using Abp.Localization;
3+
using Microsoft.AspNetCore.Http;
4+
5+
namespace AbpCompanyName.AbpProjectName.Web.Views.Shared.Components.AccountLanguages
6+
{
7+
public class LanguageSelectionViewModel
8+
{
9+
public LanguageInfo CurrentLanguage { get; set; }
10+
11+
public IReadOnlyList<LanguageInfo> Languages { get; set; }
12+
13+
public PathString CurrentUrl { get; set; }
14+
}
15+
}

aspnet-core/src/AbpCompanyName.AbpProjectName.Web.Mvc/compilerconfig.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@
66
{
77
"outputFile": "wwwroot/view-resources/Views/Account/Login.css",
88
"inputFile": "wwwroot/view-resources/Views/Account/Login.less"
9+
},
10+
{
11+
"outputFile": "wwwroot/view-resources/Views/Account/_Layout.css",
12+
"inputFile": "wwwroot/view-resources/Views/Account/_Layout.less"
913
}
1014
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.language-switch-area {
2+
text-align: center;
3+
padding: 10px;
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.language-switch-area {
2+
text-align: center;
3+
padding: 10px;
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.language-switch-area{text-align:center;padding:10px;}

0 commit comments

Comments
 (0)