diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..621c990 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "langs-flags-list"] + path = langs-flags-list + url = https://github.com/martinsik/langs-flags-list.git diff --git a/app/i18n/lang.ts b/app/i18n/lang.ts index 261d17d..2bab897 100644 --- a/app/i18n/lang.ts +++ b/app/i18n/lang.ts @@ -1,9 +1,9 @@ -export const LANGUAGES = [ - "en", - "es", - "fr", - "uk", - "rs", -] +import * as LANG_FLAGS from "@/langs-flags-list/lang-flags.json" -export type language_t = typeof LANGUAGES[number]; \ No newline at end of file +export const LANGUAGES = Object.keys(LANG_FLAGS); + +export type lang_t = typeof LANGUAGES[number]; + +export function longLang(shortLang : string) { + return ((LANG_FLAGS as any)[shortLang] as any)["nameEnglish"] as string +} \ No newline at end of file diff --git a/components/ui/ISpeakButton.tsx b/components/ui/ISpeakButton.tsx index ffe058c..c215b92 100644 --- a/components/ui/ISpeakButton.tsx +++ b/components/ui/ISpeakButton.tsx @@ -1,5 +1,8 @@ +import AsyncStorage from '@react-native-async-storage/async-storage'; import { CachedTranslator } from "@/app/i18n/api" -import { language_t } from "@/app/i18n/lang" +import { longLang } from "@/app/i18n/lang" +import { useEffect, useRef, useState } from "react" +import { Button } from "react-native" type ISpeakButtonProps = { country: string, @@ -7,7 +10,7 @@ type ISpeakButtonProps = { } function iSpeak(language : string) { - return `I speak ${language}.` + return `I speak ${longLang(language)}.` } async function iSpeakTr(targetLang : string, sourceLang = "en") { @@ -17,5 +20,18 @@ async function iSpeakTr(targetLang : string, sourceLang = "en") { } const ISpeakButton = (props : ISpeakButtonProps) => { - -} \ No newline at end of file + + const [title, setTitle] = useState(""); + + useEffect(() => { + async function () { + setTitle(await iSpeakTr(props.language) as string); + } + }, []); + + +} + +export default ISpeakButton; \ No newline at end of file diff --git a/langs-flags-list b/langs-flags-list new file mode 160000 index 0000000..f888fb8 --- /dev/null +++ b/langs-flags-list @@ -0,0 +1 @@ +Subproject commit f888fb8e1b5f40886bb2739d2cd183c51af70311 diff --git a/scripts/captureTheFlag.ts b/scripts/captureTheFlag.ts deleted file mode 100644 index e553572..0000000 --- a/scripts/captureTheFlag.ts +++ /dev/null @@ -1,32 +0,0 @@ -import {readFileSync} from "fs" -import {resolve, dirname} from "path" -import {load} from "cheerio" - -const FLAG_URL = "https://www.flagpictures.com/countries/languages/"; -const FLAG_FILE = resolve( __dirname, "./flagref.html" ) - -type locale = { - flag: string, - language: { - name: string, - abbreviation : string, - } -} - -async function capture () { -// const flagHtml = await fetch(FLAG_URL, { -// method: "GET", -// headers: { "Content-Type": "text/html", 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' -// } -// }); - const flagHtml = readFileSync(FLAG_FILE, {encoding: "utf-8"}); - const $ = load(flagHtml); - const countryLangFlags = $("table").find("tr").map(e => { - const tds = $(e).find("td"); - console.log(tds.length) - }) -} - -(async function () { - await capture() -})(); \ No newline at end of file diff --git a/scripts/flagref.html b/scripts/flagref.html deleted file mode 100644 index 90c13d9..0000000 --- a/scripts/flagref.html +++ /dev/null @@ -1,4463 +0,0 @@ - - - - - - National Languages of the Countries - Updated 2025 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - -
-
-
-

- - National Languages of the Countries - -

-
- -
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Countries NameCountries National Languages
- - Afghanistan - - - - - Pushto; Pashto (ps)
- - Turkmen (tk)
- - Uzbek (uz)
- - -
- - Albania - - - - - Albanian (sq)
- - -
- - Algeria - - - - - Arabic (ar)
- - -
- - American Samoa - - - - - English (en)
- - Samoan (sm)
- - -
- - Andorra - - - - - Catalan (cat)
- - French (fr)
- - Spanish; Castilian (es)
- - -
- - Angola - - - - - Portuguese (pt)
- - -
- - Anguilla - - - - - English (en)
- - -
- - Antigua And Barbuda - - - - - English (en)
- - -
- - Argentina - - - - - Guarani (gn)
- - Spanish; Castilian (es)
- - -
- - Armenia - - - - - Armenian (hy)
- - Russian (ru)
- - -
- - Aruba - - - - - Dutch (nl)
- - Papiamentu (pap)
- - -
- - Australia - - - - - English (en)
- - -
- - Austria - - - - - German (de)
- - -
- - Azerbaijan - - - - - Armenian (hy)
- - Azerbaijani (az)
- - -
- - Bahamas - - - - - English (en)
- - -
- - Bahrain - - - - - Arabic (ar)
- - -
- - Bangladesh - - - - - Bengali (bn)
- - -
- - Barbados - - - - - English (en)
- - -
- - Belarus - - - - - Belarusian (be)
- - Russian (ru)
- - -
- - Belgium - - - - - Dutch (nl)
- - French (fr)
- - German (de)
- - -
- - Belize - - - - - English (en)
- - Spanish; Castilian (es)
- - -
- - Benin - - - - - French (fr)
- - -
- - Bermuda - - - - - English (en)
- - -
- - Bhutan - - - - - Dzongkha (dz)
- - -
- - Bolivia - - - - - Aymara (ay)
- - Quechua (qu)
- - Spanish; Castilian (es)
- - -
- - Bosnia And Herzegovina - - - - - Bosnian (bs)
- - Croatian (hr)
- - Serbian (sr)
- - -
- - Botswana - - - - - English (en)
- - Tswana (tn)
- - -
- - Bouvet Island - - - - - Norwegian (no)
- - Sami languages (None)
- - -
- - Brazil - - - - - Portuguese (pt)
- - -
- - British Indian Ocean Territory - - - - - English (en)
- - -
- - Brunei Darussalam - - - - - Malay (ms)
- - -
- - Bulgaria - - - - - Bulgarian (bg)
- - -
- - Burkina Faso - - - - - French (fr)
- - Fulah (ff)
- - -
- - Burundi - - - - - French (fr)
- - Rundi (rn)
- - -
- - Cabo Verde - - - - - Portuguese (pt)
- - -
- - Cambodia - - - - - Central Khmer (km)
- - -
- - Cameroon - - - - - English (en)
- - French (fr)
- - -
- - Canada - - - - - English (en)
- - French (fr)
- - -
- - Cayman - - - - - English (en)
- - -
- - Central African Republic - - - - - French (fr)
- - Sango (sg)
- - -
- - Chad - - - - - Arabic (ar)
- - French (fr)
- - -
- - Chile - - - - - Spanish; Castilian (es)
- - -
- - China - - - - - Chinese (zh)
- - -
- - Christmas Island - - - - - English (en)
- - -
- - Cocos Islands - - - - - English (en)
- - -
- - Colombia - - - - - Spanish; Castilian (es)
- - -
- - Comoros - - - - - Arabic (ar)
- - French (fr)
- - -
- - Cook Islands - - - - - English (en)
- - Rarotongan; Cook Islands Maori (rar)
- - -
- - Costa Rica - - - - - Spanish; Castilian (es)
- - -
- - Croatia - - - - - Croatian (hr)
- - -
- - Cuba - - - - - Spanish; Castilian (es)
- - -
- - Curaçao - - - - - Dutch (nl)
- - English (en)
- - Papiamentu (pap)
- - -
- - Cyprus - - - - - Armenian (hy)
- - Greek (el)
- - Turkish (tr)
- - -
- - Czechia - - - - - Czech (cs)
- - Slovak (sk)
- - -
- - Côte D'Ivoire - - - - - French (fr)
- - -
- - Democratic Republic Of The Congo - - - - - French (fr)
- - Kongo (kg)
- - Lingala (ln)
- - Luba-Katanga (lu)
- - Swahili (sw)
- - -
- - Denmark - - - - - Danish (da)
- - -
- - Djibouti - - - - - Arabic (ar)
- - French (fr)
- - -
- - Dominica - - - - - English (en)
- - -
- - Dominican Republic - - - - - Spanish; Castilian (es)
- - -
- - Ecuador - - - - - Spanish; Castilian (es)
- - -
- - Egypt - - - - - Arabic (ar)
- - -
- - El Salvador - - - - - Spanish; Castilian (es)
- - -
- - Equatorial Guinea - - - - - French (fr)
- - Spanish; Castilian (es)
- - -
- - Eritrea - - - - - Arabic (ar)
- - English (en)
- - Tigrinya (ti)
- - -
- - Estonia - - - - - Estonian (et)
- - -
- - Eswatini - - - - - English (en)
- - Swati (ss)
- - -
- - Ethiopia - - - - - Amharic (am)
- - -
- - Falkland Islands - - - - - English (en)
- - -
- - Faroe Islands - - - - - Faroese (fo)
- - -
- - Fiji - - - - - English (en)
- - Fijian (fj)
- - Hindi (hi)
- - Urdu (ur)
- - -
- - Finland - - - - - Finnish (fi)
- - Swedish (sv)
- - -
- - France - - - - - French (fr)
- - -
- - French Guiana - - - - - French (fr)
- - -
- - French Polynesia - - - - - French (fr)
- - -
- - French Southern Territories - - - - - French (fr)
- - -
- - Gabon - - - - - French (fr)
- - -
- - Gambia - - - - - English (en)
- - -
- - Georgia - - - - - Georgian (ka)
- - -
- - Germany - - - - - German (de)
- - -
- - Ghana - - - - - English (en)
- - -
- - Gibraltar - - - - - English (en)
- - -
- - Greece - - - - - Greek (el)
- - -
- - Greenland - - - - - Kalaallisut; Greenlandic (kl)
- - -
- - Grenada - - - - - English (en)
- - -
- - Guadeloupe - - - - - French (fr)
- - -
- - Guam - - - - - Chamorro (ch)
- - English (en)
- - Spanish; Castilian (es)
- - -
- - Guatemala - - - - - Spanish; Castilian (es)
- - -
- - Guernsey - - - - - English (en)
- - French (fr)
- - -
- - Guinea - - - - - French (fr)
- - Fulah (ff)
- - -
- - Guinea-Bissau - - - - - Portuguese (pt)
- - -
- - Guyana - - - - - English (en)
- - -
- - Himi - - - - - English (en)
- - -
- - Haiti - - - - - French (fr)
- - Haitian Creole (ht)
- - -
- - Holy See (Vatican City State) - - - - - Italian (it)
- - Latin (la)
- - -
- - Honduras - - - - - Spanish; Castilian (es)
- - -
- - Hong Kong - - - - - Chinese (zh)
- - English (en)
- - -
- - Hungary - - - - - Hungarian (hu)
- - -
- - Iceland - - - - - Icelandic (is)
- - -
- - India - - - - - English (en)
- - Hindi (hi)
- - -
- - Indonesia - - - - - Indonesian (id)
- - -
- - Iran - - - - - Persian (fa)
- - -
- - Iraq - - - - - Arabic (ar)
- - Kurdish (ku)
- - -
- - Ireland - - - - - English (en)
- - Irish (ga)
- - -
- - Isle Of Man - - - - - English (en)
- - Manx (gv)
- - -
- - Israel - - - - - Arabic (ar)
- - Hebrew (he)
- - -
- - Italy - - - - - Italian (it)
- - -
- - Jamaica - - - - - English (en)
- - -
- - Japan - - - - - Japanese (ja)
- - -
- - Jersey - - - - - English (en)
- - French (fr)
- - -
- - Jordan - - - - - Arabic (ar)
- - -
- - Kazakhstan - - - - - Kazakh (kk)
- - Russian (ru)
- - -
- - Kenya - - - - - English (en)
- - Swahili (sw)
- - -
- - Kiribati - - - - - English (en)
- - -
- - Kuwait - - - - - Arabic (ar)
- - -
- - Kyrgyzstan - - - - - Kirghiz; Kyrgyz (ky)
- - Russian (ru)
- - -
- - Laos - - - - - Lao (lo)
- - -
- - Latvia - - - - - Latvian (lv)
- - -
- - Lebanon - - - - - Arabic (ar)
- - French (fr)
- - -
- - Lesotho - - - - - English (en)
- - Sotho, Southern (st)
- - -
- - Liberia - - - - - English (en)
- - -
- - Libya - - - - - Arabic (ar)
- - -
- - Liechtenstein - - - - - German (de)
- - -
- - Lithuania - - - - - Lithuanian (lt)
- - -
- - Luxembourg - - - - - French (fr)
- - German (de)
- - Luxembourgish; Lëtzebuergesch (lb)
- - -
- - Macao - - - - - Chinese (zh)
- - Portuguese (pt)
- - -
- - Madagascar - - - - - French (fr)
- - Malagasy (mg)
- - -
- - Malawi - - - - - Chichewa (ny)
- - English (en)
- - -
- - Malaysia - - - - - Malay (ms)
- - -
- - Maldives - - - - - Divehi; Dhivehi; Maldivian (dv)
- - -
- - Mali - - - - - French (fr)
- - -
- - Malta - - - - - English (en)
- - Maltese (mt)
- - -
- - Marshall Islands - - - - - English (en)
- - Marshallese (mh)
- - -
- - Martinique - - - - - French (fr)
- - -
- - Mauritania - - - - - Arabic (ar)
- - -
- - Mauritius - - - - - English (en)
- - -
- - Mayotte - - - - - French (fr)
- - -
- - Mexico - - - - - Spanish; Castilian (es)
- - -
- - Micronesia - - - - - English (en)
- - -
- - Moldova - - - - - Romanian; Moldavian; Moldovan (ro)
- - -
- - Monaco - - - - - French (fr)
- - -
- - Mongolia - - - - - Mongolian (mn)
- - -
- - Montenegro - - - - - Montenegrin (cnr)
- - Serbian (sr)
- - -
- - Montserrat - - - - - English (en)
- - -
- - Morocco - - - - - Arabic (ar)
- - -
- - Mozambique - - - - - Portuguese (pt)
- - -
- - Myanmar - - - - - Burmese (my)
- - -
- - Namibia - - - - - Afrikaans (af)
- - English (en)
- - -
- - Nauru - - - - - English (en)
- - Nauru (na)
- - -
- - Nepal - - - - - Nepali (ne)
- - -
- - Netherlands - - - - - Dutch (nl)
- - -
- - New Caledonia - - - - - French (fr)
- - -
- - New Zealand - - - - - English (en)
- - Maori (mi)
- - -
- - Nicaragua - - - - - Spanish; Castilian (es)
- - -
- - Niger - - - - - French (fr)
- - -
- - Nigeria - - - - - English (en)
- - -
- - Niue - - - - - English (en)
- - Niuean (None)
- - -
- - Norfolk Island - - - - - English (en)
- - -
- - North Korea - - - - - Korean (ko)
- - -
- - North Macedonia - - - - - Macedonian (mk)
- - -
- - Northern Mariana Islands - - - - - Chamorro (ch)
- - English (en)
- - -
- - Norway - - - - - Bokmål, Norwegian; Norwegian Bokmål (nb)
- - Norwegian (no)
- - Norwegian Nynorsk; Nynorsk, Norwegian (nn)
- - -
- - Oman - - - - - Arabic (ar)
- - -
- - Pakistan - - - - - English (en)
- - Urdu (ur)
- - -
- - Palau - - - - - English (en)
- - -
- - Palestine - - - - - Arabic (ar)
- - -
- - Panama - - - - - Spanish; Castilian (es)
- - -
- - Papua New Guinea - - - - - English (en)
- - -
- - Paraguay - - - - - Guarani (gn)
- - Spanish; Castilian (es)
- - -
- - Peru - - - - - Spanish; Castilian (es)
- - -
- - Philippines - - - - - English (en)
- - -
- - Pitcairn Islands - - - - - English (en)
- - Pitcairn (pn)
- - -
- - Poland - - - - - Polish (pl)
- - -
- - Portugal - - - - - Portuguese (pt)
- - -
- - Puerto Rico - - - - - English (en)
- - Spanish; Castilian (es)
- - -
- - Qatar - - - - - Arabic (ar)
- - -
- - Republic Of The Congo - - - - - French (fr)
- - Lingala (ln)
- - -
- - Romania - - - - - Romanian; Moldavian; Moldovan (ro)
- - -
- - Russian Federation - - - - - Russian (ru)
- - -
- - Rwanda - - - - - English (en)
- - French (fr)
- - Kinyarwanda (rw)
- - -
- - Réunion - - - - - French (fr)
- - -
- - Saint Barthélemy - - - - - French (fr)
- - -
- - Saint Helena, Ascension And Tristan Da Cunha - - - - - English (en)
- - -
- - Saint Kitts And Nevis - - - - - English (en)
- - -
- - Saint Lucia - - - - - English (en)
- - -
- - Saint Martin - - - - - Dutch (nl)
- - English (en)
- - -
- - Saint Pierre And Miquelon - - - - - French (fr)
- - -
- - Saint Vincent And The Grenadines - - - - - English (en)
- - -
- - Samoa - - - - - English (en)
- - Samoan (sm)
- - -
- - San Marino - - - - - Italian (it)
- - -
- - Sao Tome And Principe - - - - - Portuguese (pt)
- - -
- - Saudi Arabia - - - - - Arabic (ar)
- - -
- - Senegal - - - - - French (fr)
- - -
- - Serbia - - - - - Serbian (sr)
- - -
- - Seychelles - - - - - English (en)
- - French (fr)
- - -
- - Sierra Leone - - - - - English (en)
- - -
- - Singapore - - - - - Chinese (zh)
- - English (en)
- - Malay (ms)
- - Tamil (ta)
- - -
- - Sint Eustatius - - - - - Dutch (nl)
- - -
- - Sint Maarten (Dutch Part) - - - - - Dutch (nl)
- - English (en)
- - -
- - Slovakia - - - - - Slovak (sk)
- - -
- - Slovenia - - - - - Slovenian (sl)
- - -
- - Solomon Islands - - - - - English (en)
- - -
- - Somalia - - - - - Arabic (ar)
- - Somali (so)
- - -
- - South Africa - - - - - Afrikaans (af)
- - English (en)
- - Ndebele, South; South Ndebele (nr)
- - Sotho, Southern (st)
- - Swati (ss)
- - Tsonga (ts)
- - Tswana (tn)
- - Venda (ve)
- - Xhosa (xh)
- - Zulu (zu)
- - -
- - South Georgia And The South Sandwich Islands - - - - - English (en)
- - -
- - South Korea - - - - - Korean (ko)
- - -
- - South Sudan - - - - - English (en)
- - -
- - Spain - - - - - Spanish; Castilian (es)
- - -
- - Sri Lanka - - - - - Sinhala; Sinhalese (si)
- - Tamil (ta)
- - -
- - Sudan - - - - - Arabic (ar)
- - English (en)
- - -
- - Suriname - - - - - Dutch (nl)
- - -
- - Svalbard And Jan Mayen - - - - - Norwegian (no)
- - -
- - Sweden - - - - - Swedish (sv)
- - -
- - Switzerland - - - - - French (fr)
- - German (de)
- - Italian (it)
- - -
- - Syrian Arab Republic - - - - - Arabic (ar)
- - -
- - Taiwan, Province Of China - - - - - Chinese (zh)
- - -
- - Tajikistan - - - - - Russian (ru)
- - Tajik (tg)
- - -
- - Tanzania, United Republic Of - - - - - English (en)
- - Swahili (sw)
- - -
- - Thailand - - - - - Thai (th)
- - -
- - Timor-Leste - - - - - Portuguese (pt)
- - -
- - Togo - - - - - French (fr)
- - -
- - Tokelau - - - - - English (en)
- - -
- - Tonga - - - - - English (en)
- - Tonga (Tonga Islands) (to)
- - -
- - Trinidad And Tobago - - - - - English (en)
- - -
- - Tunisia - - - - - Arabic (ar)
- - -
- - Turkey - - - - - Turkish (tr)
- - -
- - Turkmenistan - - - - - Russian (ru)
- - Turkmen (tk)
- - -
- - Turks And Caicos Islands - - - - - English (en)
- - Turks and Caicos Creole English (tch)
- - -
- - Tuvalu - - - - - English (en)
- - -
- - Uganda - - - - - English (en)
- - Swahili (sw)
- - -
- - Ukraine - - - - - Ukrainian (uk)
- - -
- - United Arab Emirates - - - - - Arabic (ar)
- - -
- - United Kingdom - - - - - English (en)
- - -
- - United States - - - - - English (en)
- - -
- - United States Minor Outlying Islands - - - - - English (en)
- - -
- - Uruguay - - - - - Spanish; Castilian (es)
- - -
- - Uzbekistan - - - - - Russian (ru)
- - Uzbek (uz)
- - -
- - Vanuatu - - - - - Bislama (bi)
- - English (en)
- - French (fr)
- - -
- - Venezuela - - - - - Spanish; Castilian (es)
- - -
- - Vietnam - - - - - Vietnamese (vi)
- - -
- - Virgin Islands, British - - - - - English (en)
- - -
- - Virgin Islands, U.S. - - - - - English (en)
- - -
- - Wallis And Futuna - - - - - French (fr)
- - -
- - Western Sahara - - - - - Spanish; Castilian (es)
- - -
- - Yemen - - - - - Arabic (ar)
- - -
- - Zambia - - - - - English (en)
- - -
- - Zimbabwe - - - - - English (en)
- - Ndebele, North; North Ndebele (nd)
- - Shona (sn)
- - -
- - Åland Islands - - - - - Swedish (sv)
- - -
-
-
-
-
- - - - -
- - - - - - - - - - - - - -