|
|
@@ -1,5 +1,6 @@
|
|
|
package com.grkj.shared.utils.i18n
|
|
|
|
|
|
+import com.grkj.shared.config.Constants
|
|
|
import java.util.Locale
|
|
|
|
|
|
object LanguageRegistry {
|
|
|
@@ -29,12 +30,18 @@ object LanguageRegistry {
|
|
|
*/
|
|
|
fun entriesFromSources(
|
|
|
targetRegion: String?,
|
|
|
- sortByDisplay: Boolean = true
|
|
|
+ sortByDisplay: Boolean = true,
|
|
|
+ filterRegion: List<String> = Constants.languageFilter
|
|
|
): List<LanguageEntry> {
|
|
|
val curTag = currentLocale().toLanguageTag()
|
|
|
- val list = availableLocales().map { it.toEntry() }.map {
|
|
|
- it.copy(isSelected = it.tag.equals(curTag, true))
|
|
|
+ val list = availableLocales().filter { locale ->
|
|
|
+ filterRegion.none {
|
|
|
+ locale.toLanguageTag().contains(it)
|
|
|
+ }
|
|
|
}
|
|
|
+ .map { it.toEntry() }.map {
|
|
|
+ it.copy(isSelected = it.tag.equals(curTag, true))
|
|
|
+ }
|
|
|
if (!sortByDisplay) return list
|
|
|
val dispLocale = LocaleUtils.regionToLocale(targetRegion)
|
|
|
return list.sortedBy { entry ->
|