about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Newman <mozzius@protonmail.com>2025-03-04 14:03:11 +0000
committerGitHub <noreply@github.com>2025-03-04 06:03:11 -0800
commit67c394bc82d8a4316370672546377c8908b2d1f9 (patch)
treebec6e43e6b57cf3efc6840a594a55040f8581884
parentc995eb2f2fa3e73dcc6943078c85cd6a68f5370b (diff)
downloadvoidsky-67c394bc82d8a4316370672546377c8908b2d1f9.tar.zst
Prioritise language codes with regions (#7731)
* prioritise chinese and portugese

* more language name cleanup

* skip ast to fix false positive
-rw-r--r--src/locale/languages.ts10
-rw-r--r--src/view/screens/Search/Search.tsx13
2 files changed, 16 insertions, 7 deletions
diff --git a/src/locale/languages.ts b/src/locale/languages.ts
index a059fcc0a..770a2fa6c 100644
--- a/src/locale/languages.ts
+++ b/src/locale/languages.ts
@@ -163,7 +163,7 @@ export const LANGUAGES: Language[] = [
   {code3: 'cad', code2: '', name: 'Caddo'},
   {code3: 'cai', code2: '', name: 'Central American Indian languages'},
   {code3: 'car', code2: '', name: 'Galibi Carib'},
-  {code3: 'cat', code2: 'ca', name: 'Catalan; Valencian'},
+  {code3: 'cat', code2: 'ca', name: 'Catalan'},
   {code3: 'cau', code2: '', name: 'Caucasian languages'},
   {code3: 'ceb', code2: '', name: 'Cebuano'},
   {code3: 'cel', code2: '', name: 'Celtic languages'},
@@ -218,7 +218,7 @@ export const LANGUAGES: Language[] = [
   {code3: 'efi', code2: '', name: 'Efik'},
   {code3: 'egy', code2: '', name: 'Egyptian (Ancient)'},
   {code3: 'eka', code2: '', name: 'Ekajuk'},
-  {code3: 'ell', code2: 'el', name: 'Greek, Modern (1453-)'},
+  {code3: 'ell', code2: 'el', name: 'Greek'},
   {code3: 'elx', code2: '', name: 'Elamite'},
   {code3: 'eng', code2: 'en', name: 'English'},
   {code3: 'enm', code2: '', name: 'English, Middle (1100-1500)'},
@@ -263,8 +263,8 @@ export const LANGUAGES: Language[] = [
   {code3: 'gor', code2: '', name: 'Gorontalo'},
   {code3: 'got', code2: '', name: 'Gothic'},
   {code3: 'grb', code2: '', name: 'Grebo'},
-  {code3: 'grc', code2: '', name: 'Greek, Ancient (to 1453)'},
-  {code3: 'gre', code2: 'el', name: 'Greek, Modern (1453-)'},
+  {code3: 'grc', code2: '', name: 'Ancient Greek'},
+  {code3: 'gre', code2: 'el', name: 'Greek'},
   {code3: 'grn', code2: 'gn', name: 'Guarani'},
   {code3: 'gsw', code2: '', name: 'Swiss German; Alemannic; Alsatian'},
   {code3: 'guj', code2: 'gu', name: 'Gujarati'},
@@ -361,7 +361,7 @@ export const LANGUAGES: Language[] = [
   {code3: 'lit', code2: 'lt', name: 'Lithuanian'},
   {code3: 'lol', code2: '', name: 'Mongo'},
   {code3: 'loz', code2: '', name: 'Lozi'},
-  {code3: 'ltz', code2: 'lb', name: 'Luxembourgish; Letzeburgesch'},
+  {code3: 'ltz', code2: 'lb', name: 'Luxembourgish'},
   {code3: 'lua', code2: '', name: 'Luba-Lulua'},
   {code3: 'lub', code2: 'lu', name: 'Luba-Katanga'},
   {code3: 'lug', code2: 'lg', name: 'Ganda'},
diff --git a/src/view/screens/Search/Search.tsx b/src/view/screens/Search/Search.tsx
index 9651c722a..c3fe5012c 100644
--- a/src/view/screens/Search/Search.tsx
+++ b/src/view/screens/Search/Search.tsx
@@ -348,8 +348,17 @@ function SearchLanguageDropdown({
         if (aIsUser && !bIsUser) return -1
         if (bIsUser && !aIsUser) return 1
         // prioritize "common" langs in the network
-        const aIsCommon = !!APP_LANGUAGES.find(al => al.code2 === a.value)
-        const bIsCommon = !!APP_LANGUAGES.find(al => al.code2 === b.value)
+        const aIsCommon = !!APP_LANGUAGES.find(
+          al =>
+            // skip `ast`, because it uses a 3-letter code which conflicts with `as`
+            // it begins with `a` anyway so still is top of the list
+            al.code2 !== 'ast' && al.code2.startsWith(a.value),
+        )
+        const bIsCommon = !!APP_LANGUAGES.find(
+          al =>
+            // ditto
+            al.code2 !== 'ast' && al.code2.startsWith(b.value),
+        )
         if (aIsCommon && !bIsCommon) return -1
         if (bIsCommon && !aIsCommon) return 1
         // fall back to alphabetical