Language selection fixes (#2917)

* Fix duplicated language entries from system and app language sets.
Closes #2900

* Prefer modern language codes.
Closes #2903

* Synchronize per-account default posting language with server.
Closes #2902

* Allow users to post in languages android doesn't know about yet (e.g. toki pona)

* Always put the preselected language at the top of the list
This commit is contained in:
Levi Bard 2022-11-24 15:45:19 +01:00 committed by GitHub
commit 0126ee9500
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 1043 additions and 18 deletions

View file

@ -0,0 +1,11 @@
package com.keylesspalace.tusky.util
import java.util.Locale
// When a language code has changed, `language` *explicitly* returns the obsolete version,
// but `toLanguageTag()` uses the current version
// https://developer.android.com/reference/java/util/Locale#getLanguage()
val Locale.modernLanguageCode: String
get() {
return this.toLanguageTag().split('-', limit = 2)[0]
}