File tree Expand file tree Collapse file tree 7 files changed +51
-0
lines changed
Abp.Zero.Common/Localization Expand file tree Collapse file tree 7 files changed +51
-0
lines changed Original file line number Diff line number Diff line change @@ -57,6 +57,11 @@ public virtual async Task<IReadOnlyList<ApplicationLanguage>> GetLanguagesAsync(
5757 return ( await GetLanguageDictionaryAsync ( tenantId ) ) . Values . ToImmutableList ( ) ;
5858 }
5959
60+ public virtual async Task < IReadOnlyList < ApplicationLanguage > > GetActiveLanguagesAsync ( int ? tenantId )
61+ {
62+ return ( await GetLanguagesAsync ( tenantId ) ) . Where ( l => ! l . IsDisabled ) . ToImmutableList ( ) ;
63+ }
64+
6065 /// <summary>
6166 /// Gets list of all languages available to given tenant (or null for host)
6267 /// </summary>
@@ -66,6 +71,11 @@ public virtual IReadOnlyList<ApplicationLanguage> GetLanguages(int? tenantId)
6671 return ( GetLanguageDictionary ( tenantId ) ) . Values . ToImmutableList ( ) ;
6772 }
6873
74+ public virtual IReadOnlyList < ApplicationLanguage > GetActiveLanguages ( int ? tenantId )
75+ {
76+ return GetLanguages ( tenantId ) . Where ( l => ! l . IsDisabled ) . ToImmutableList ( ) ;
77+ }
78+
6979 /// <summary>
7080 /// Adds a new language.
7181 /// </summary>
Original file line number Diff line number Diff line change @@ -57,6 +57,20 @@ public IReadOnlyList<LanguageInfo> GetLanguages()
5757
5858 return languageInfos ;
5959 }
60+ /// <summary>
61+ /// Gets the active languages for current tenant.
62+ /// </summary>
63+ public IReadOnlyList < LanguageInfo > GetActiveLanguages ( )
64+ {
65+ var languageInfos = _applicationLanguageManager . GetLanguages ( AbpSession . TenantId )
66+ . OrderBy ( l => l . DisplayName )
67+ . Select ( l => l . ToLanguageInfo ( ) )
68+ . ToList ( ) ;
69+
70+ SetDefaultLanguage ( languageInfos ) ;
71+
72+ return languageInfos ;
73+ }
6074
6175 private async Task SetDefaultLanguageAsync ( List < LanguageInfo > languageInfos )
6276 {
Original file line number Diff line number Diff line change @@ -14,12 +14,24 @@ public interface IApplicationLanguageManager
1414 /// <param name="tenantId">TenantId or null for host</param>
1515 Task < IReadOnlyList < ApplicationLanguage > > GetLanguagesAsync ( int ? tenantId ) ;
1616
17+ /// <summary>
18+ /// Gets list of all active languages available to given tenant (or null for host)
19+ /// </summary>
20+ /// <param name="tenantId">TenantId or null for host</param>
21+ Task < IReadOnlyList < ApplicationLanguage > > GetActiveLanguagesAsync ( int ? tenantId ) ;
22+
1723 /// <summary>
1824 /// Gets list of all languages available to given tenant (or null for host)
1925 /// </summary>
2026 /// <param name="tenantId">TenantId or null for host</param>
2127 IReadOnlyList < ApplicationLanguage > GetLanguages ( int ? tenantId ) ;
2228
29+ /// <summary>
30+ /// Gets list of all active languages available to given tenant (or null for host)
31+ /// </summary>
32+ /// <param name="tenantId">TenantId or null for host</param>
33+ IReadOnlyList < ApplicationLanguage > GetActiveLanguages ( int ? tenantId ) ;
34+
2335 /// <summary>
2436 /// Adds a new language.
2537 /// </summary>
Original file line number Diff line number Diff line change 11using System . Collections . Generic ;
22using System . Collections . Immutable ;
3+ using System . Linq ;
34using Abp . Configuration . Startup ;
45using Abp . Dependency ;
56
@@ -18,5 +19,10 @@ public IReadOnlyList<LanguageInfo> GetLanguages()
1819 {
1920 return _configuration . Languages . ToImmutableList ( ) ;
2021 }
22+
23+ public IReadOnlyList < LanguageInfo > GetActiveLanguages ( )
24+ {
25+ return _configuration . Languages . Where ( l => ! l . IsDisabled ) . ToImmutableList ( ) ;
26+ }
2127 }
2228}
Original file line number Diff line number Diff line change @@ -7,5 +7,7 @@ public interface ILanguageManager
77 LanguageInfo CurrentLanguage { get ; }
88
99 IReadOnlyList < LanguageInfo > GetLanguages ( ) ;
10+
11+ IReadOnlyList < LanguageInfo > GetActiveLanguages ( ) ;
1012 }
1113}
Original file line number Diff line number Diff line change @@ -5,5 +5,7 @@ namespace Abp.Localization
55 public interface ILanguageProvider
66 {
77 IReadOnlyList < LanguageInfo > GetLanguages ( ) ;
8+
9+ IReadOnlyList < LanguageInfo > GetActiveLanguages ( ) ;
810 }
911}
Original file line number Diff line number Diff line change @@ -22,6 +22,11 @@ public IReadOnlyList<LanguageInfo> GetLanguages()
2222 return _languageProvider . GetLanguages ( ) ;
2323 }
2424
25+ public IReadOnlyList < LanguageInfo > GetActiveLanguages ( )
26+ {
27+ return _languageProvider . GetActiveLanguages ( ) ;
28+ }
29+
2530 private LanguageInfo GetCurrentLanguage ( )
2631 {
2732 var languages = _languageProvider . GetLanguages ( ) ;
You can’t perform that action at this time.
0 commit comments