diff --git a/InferenceInterfaces/ControllableInterface.py b/InferenceInterfaces/ControllableInterface.py index daf9f8dcffbaba07146d2d680b2a17d484703a42..ae68ceb5ddabe4fc3805a7dabbce114d58abde33 100644 --- a/InferenceInterfaces/ControllableInterface.py +++ b/InferenceInterfaces/ControllableInterface.py @@ -2,8 +2,8 @@ import os import torch -from Architectures.ControllabilityGAN.GAN import GanWrapper from InferenceInterfaces.ToucanTTSInterface import ToucanTTSInterface +from Modules.ControllabilityGAN.GAN import GanWrapper from Utility.storage_config import MODELS_DIR @@ -16,14 +16,18 @@ class ControllableInterface: os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"] = f"{gpu_id}" self.device = "cuda" if gpu_id != "cpu" else "cpu" - self.model = ToucanTTSInterface(device=self.device, tts_model_path="Meta", language="eng") + self.model = ToucanTTSInterface(device=self.device, tts_model_path="Meta") self.wgan = GanWrapper(os.path.join(MODELS_DIR, "Embedding", "embedding_gan.pt"), device=self.device) self.generated_speaker_embeds = list() self.available_artificial_voices = available_artificial_voices + self.current_language = "" + self.current_accent = "" def read(self, prompt, - audio, + reference_audio, + language, + accent, voice_seed, prosody_creativity, duration_scaling_factor, @@ -38,7 +42,15 @@ class ControllableInterface: emb_slider_6, loudness_in_db ): - if audio is None: + if self.current_language != language: + self.model.set_phonemizer_language(language) + print(f"switched phonemizer language to {language}") + self.current_language = language + if self.current_accent != accent: + self.model.set_accent_language(accent) + print(f"switched accent language to {accent}") + self.current_accent = accent + if reference_audio is None: self.wgan.set_latent(voice_seed) controllability_vector = torch.tensor([emb_slider_1, emb_slider_2, @@ -49,13 +61,46 @@ class ControllableInterface: embedding = self.wgan.modify_embed(controllability_vector) self.model.set_utterance_embedding(embedding=embedding) else: - self.model.set_utterance_embedding(path_to_reference_audio=audio) + self.model.set_utterance_embedding(reference_audio) phones = self.model.text2phone.get_phone_string(prompt) if len(phones) > 1800: - prompt = "Your input was too long. Please try either a shorter text or split it into several parts." + if language == "deu": + prompt = "Deine Eingabe war zu lang. Bitte versuche es entweder mit einem kürzeren Text oder teile ihn in mehrere Teile auf." + elif language == "ell": + prompt = "Η εισήγησή σας ήταν πολύ μεγάλη. Παρακαλώ δοκιμάστε είτε ένα μικρότερο κείμενο είτε χωρίστε το σε διάφορα μέρη." + elif language == "spa": + prompt = "Su entrada es demasiado larga. Por favor, intente un texto más corto o divídalo en varias partes." + elif language == "fin": + prompt = "Vastauksesi oli liian pitkä. Kokeile joko lyhyempää tekstiä tai jaa se useampaan osaan." + elif language == "rus": + prompt = "Ваш текст слишком длинный. Пожалуйста, попробуйте либо сократить текст, либо разделить его на несколько частей." + elif language == "hun": + prompt = "Túl hosszú volt a bevitele. Kérjük, próbáljon meg rövidebb szöveget írni, vagy ossza több részre." + elif language == "nld": + prompt = "Uw input was te lang. Probeer een kortere tekst of splits het in verschillende delen." + elif language == "fra": + prompt = "Votre saisie était trop longue. Veuillez essayer un texte plus court ou le diviser en plusieurs parties." + elif language == 'pol': + prompt = "Twój wpis był zbyt długi. Spróbuj skrócić tekst lub podzielić go na kilka części." + elif language == 'por': + prompt = "O seu contributo foi demasiado longo. Por favor, tente um texto mais curto ou divida-o em várias partes." + elif language == 'ita': + prompt = "Il tuo input era troppo lungo. Per favore, prova un testo più corto o dividilo in più parti." + elif language == 'cmn': + prompt = "你的输入太长了。请尝试使用较短的文本或将其拆分为多个部分。" + elif language == 'vie': + prompt = "Đầu vào của bạn quá dài. Vui lòng thử một văn bản ngắn hơn hoặc chia nó thành nhiều phần." + else: + prompt = "Your input was too long. Please try either a shorter text or split it into several parts." + if self.current_language != "eng": + self.model.set_phonemizer_language("eng") + self.current_language = "eng" + if self.current_accent != "eng": + self.model.set_accent_language("eng") + self.current_accent = "eng" - print(prompt) + print(prompt + "\n\n") wav, sr, fig = self.model(prompt, input_is_phones=False, duration_scaling_factor=duration_scaling_factor, diff --git a/InferenceInterfaces/ToucanTTSInterface.py b/InferenceInterfaces/ToucanTTSInterface.py index f5ac2a56472f6cd9496c2dd347313dbbbf894f3c..271a99ef1565a37661c0ca070c3ff93b6d94f30b 100644 --- a/InferenceInterfaces/ToucanTTSInterface.py +++ b/InferenceInterfaces/ToucanTTSInterface.py @@ -10,8 +10,8 @@ import torch from speechbrain.pretrained import EncoderClassifier from torchaudio.transforms import Resample -from Architectures.ToucanTTS.InferenceToucanTTS import ToucanTTS -from Architectures.Vocoder.HiFiGAN_Generator import HiFiGAN +from Modules.ToucanTTS.InferenceToucanTTS import ToucanTTS +from Modules.Vocoder.HiFiGAN_Generator import HiFiGAN from Preprocessing.AudioPreprocessor import AudioPreprocessor from Preprocessing.TextFrontend import ArticulatoryCombinedTextFrontend from Preprocessing.TextFrontend import get_language_id @@ -109,7 +109,7 @@ class ToucanTTSInterface(torch.nn.Module): self.text2phone = ArticulatoryCombinedTextFrontend(language=lang_id, add_silence_to_end=True, device=self.device) def set_accent_language(self, lang_id): - if lang_id in ['ajp', 'ajt', 'lak', 'lno', 'nul', 'pii', 'plj', 'slq', 'smd', 'snb', 'tpw', 'wya', 'zua', 'en-us', 'en-sc', 'fr-be', 'fr-sw', 'pt-br', 'spa-lat', 'vi-ctr', 'vi-so']: + if lang_id in {'ajp', 'ajt', 'lak', 'lno', 'nul', 'pii', 'plj', 'slq', 'smd', 'snb', 'tpw', 'wya', 'zua', 'en-us', 'en-sc', 'fr-be', 'fr-sw', 'pt-br', 'spa-lat', 'vi-ctr', 'vi-so'}: if lang_id == 'vi-so' or lang_id == 'vi-ctr': lang_id = 'vie' elif lang_id == 'spa-lat': @@ -121,7 +121,7 @@ class ToucanTTSInterface(torch.nn.Module): elif lang_id == 'en-sc' or lang_id == 'en-us': lang_id = 'eng' else: - # no clue where these others are even coming from, they are not in ISO 639-2 + # no clue where these others are even coming from, they are not in ISO 639-3 lang_id = 'eng' self.lang_id = get_language_id(lang_id).to(self.device) @@ -139,7 +139,7 @@ class ToucanTTSInterface(torch.nn.Module): input_is_phones=False, return_plot_as_filepath=False, loudness_in_db=-24.0, - prosody_creativity=0.5): + prosody_creativity=0.1): """ duration_scaling_factor: reasonable values are 0.8 < scale < 1.2. 1.0 means no scaling happens, higher values increase durations for the whole @@ -241,7 +241,7 @@ class ToucanTTSInterface(torch.nn.Module): dur_list=None, pitch_list=None, energy_list=None, - prosody_creativity=0.5): + prosody_creativity=0.1): """ Args: silent: Whether to be verbose about the process @@ -299,7 +299,7 @@ class ToucanTTSInterface(torch.nn.Module): pitch_variance_scale=1.0, energy_variance_scale=1.0, blocking=False, - prosody_creativity=0.5): + prosody_creativity=0.1): if text.strip() == "": return wav, sr = self(text, diff --git a/InferenceInterfaces/UtteranceCloner.py b/InferenceInterfaces/UtteranceCloner.py index 9f55ebe2fc3b1e41dd166c98c59e4a538455db00..cddeda0efed47f18abeb5586d36bd7cf8840419b 100644 --- a/InferenceInterfaces/UtteranceCloner.py +++ b/InferenceInterfaces/UtteranceCloner.py @@ -4,11 +4,11 @@ import numpy import soundfile as sf import torch -from Architectures.Aligner.Aligner import Aligner -from Architectures.ToucanTTS.DurationCalculator import DurationCalculator -from Architectures.ToucanTTS.EnergyCalculator import EnergyCalculator -from Architectures.ToucanTTS.PitchCalculator import Parselmouth from InferenceInterfaces.ToucanTTSInterface import ToucanTTSInterface +from Modules.Aligner.Aligner import Aligner +from Modules.ToucanTTS.DurationCalculator import DurationCalculator +from Modules.ToucanTTS.EnergyCalculator import EnergyCalculator +from Modules.ToucanTTS.PitchCalculator import Parselmouth from Preprocessing.AudioPreprocessor import AudioPreprocessor from Preprocessing.TextFrontend import ArticulatoryCombinedTextFrontend from Preprocessing.articulatory_features import get_feature_to_index_lookup diff --git a/Models/ToucanTTS_Meta/best.pt b/Models/ToucanTTS_Meta/best.pt deleted file mode 100644 index 7b62dbf658a8e9c2837873bc70735781c62e08c4..0000000000000000000000000000000000000000 --- a/Models/ToucanTTS_Meta/best.pt +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f1f562f9473f227b4425938c80dec1808d0cd3a54fd3629b327613dae3be694 -size 112081651 diff --git a/Models/Vocoder/best.pt b/Models/Vocoder/best.pt deleted file mode 100644 index 7bbfa2227645626a972c17a22258fce6636e88d5..0000000000000000000000000000000000000000 --- a/Models/Vocoder/best.pt +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:68a4db7d7d96a554eab75c5d8b79267760d7d4c7af65504947ab807ab18d680b -size 56113099 diff --git a/Architectures/Aligner/Aligner.py b/Modules/Aligner/Aligner.py similarity index 100% rename from Architectures/Aligner/Aligner.py rename to Modules/Aligner/Aligner.py diff --git a/Architectures/Aligner/CodecAlignerDataset.py b/Modules/Aligner/CodecAlignerDataset.py similarity index 100% rename from Architectures/Aligner/CodecAlignerDataset.py rename to Modules/Aligner/CodecAlignerDataset.py diff --git a/Architectures/Aligner/README.md b/Modules/Aligner/README.md similarity index 100% rename from Architectures/Aligner/README.md rename to Modules/Aligner/README.md diff --git a/Architectures/Aligner/Reconstructor.py b/Modules/Aligner/Reconstructor.py similarity index 100% rename from Architectures/Aligner/Reconstructor.py rename to Modules/Aligner/Reconstructor.py diff --git a/Architectures/Aligner/__init__.py b/Modules/Aligner/__init__.py similarity index 100% rename from Architectures/Aligner/__init__.py rename to Modules/Aligner/__init__.py diff --git a/Architectures/Aligner/autoaligner_train_loop.py b/Modules/Aligner/autoaligner_train_loop.py similarity index 98% rename from Architectures/Aligner/autoaligner_train_loop.py rename to Modules/Aligner/autoaligner_train_loop.py index 557210ac4780413e0d2304b3518a2cf8b5d3faaf..ed46ff03f19845d501776c0717e4a71262c6614d 100644 --- a/Architectures/Aligner/autoaligner_train_loop.py +++ b/Modules/Aligner/autoaligner_train_loop.py @@ -8,8 +8,8 @@ from torch.optim import RAdam from torch.utils.data.dataloader import DataLoader from tqdm import tqdm -from Architectures.Aligner.Aligner import Aligner -from Architectures.Aligner.Reconstructor import Reconstructor +from Modules.Aligner.Aligner import Aligner +from Modules.Aligner.Reconstructor import Reconstructor from Preprocessing.AudioPreprocessor import AudioPreprocessor from Preprocessing.EnCodecAudioPreprocessor import CodecAudioPreprocessor diff --git a/Architectures/ControllabilityGAN/GAN.py b/Modules/ControllabilityGAN/GAN.py similarity index 97% rename from Architectures/ControllabilityGAN/GAN.py rename to Modules/ControllabilityGAN/GAN.py index 4b4bc70dbd2a9514551abad2b5a7536d65d1792d..ac268cb4bd5a9955cda61d3e205e7d6e96e1a2e2 100644 --- a/Architectures/ControllabilityGAN/GAN.py +++ b/Modules/ControllabilityGAN/GAN.py @@ -1,6 +1,6 @@ import torch -from Architectures.ControllabilityGAN.wgan.init_wgan import create_wgan +from Modules.ControllabilityGAN.wgan.init_wgan import create_wgan class GanWrapper: diff --git a/Architectures/ControllabilityGAN/__init__.py b/Modules/ControllabilityGAN/__init__.py similarity index 100% rename from Architectures/ControllabilityGAN/__init__.py rename to Modules/ControllabilityGAN/__init__.py diff --git a/Architectures/ControllabilityGAN/dataset/__init__.py b/Modules/ControllabilityGAN/dataset/__init__.py similarity index 100% rename from Architectures/ControllabilityGAN/dataset/__init__.py rename to Modules/ControllabilityGAN/dataset/__init__.py diff --git a/Architectures/ControllabilityGAN/dataset/speaker_embeddings_dataset.py b/Modules/ControllabilityGAN/dataset/speaker_embeddings_dataset.py similarity index 100% rename from Architectures/ControllabilityGAN/dataset/speaker_embeddings_dataset.py rename to Modules/ControllabilityGAN/dataset/speaker_embeddings_dataset.py diff --git a/Architectures/ControllabilityGAN/wgan/__init__.py b/Modules/ControllabilityGAN/wgan/__init__.py similarity index 100% rename from Architectures/ControllabilityGAN/wgan/__init__.py rename to Modules/ControllabilityGAN/wgan/__init__.py diff --git a/Architectures/ControllabilityGAN/wgan/init_weights.py b/Modules/ControllabilityGAN/wgan/init_weights.py similarity index 100% rename from Architectures/ControllabilityGAN/wgan/init_weights.py rename to Modules/ControllabilityGAN/wgan/init_weights.py diff --git a/Architectures/ControllabilityGAN/wgan/init_wgan.py b/Modules/ControllabilityGAN/wgan/init_wgan.py similarity index 90% rename from Architectures/ControllabilityGAN/wgan/init_wgan.py rename to Modules/ControllabilityGAN/wgan/init_wgan.py index da345b6af6bf237daba480efad1d57247eb26dbf..9caddd6d5bbaaad0a92968dfabbf651b3b260fa7 100644 --- a/Architectures/ControllabilityGAN/wgan/init_wgan.py +++ b/Modules/ControllabilityGAN/wgan/init_wgan.py @@ -1,7 +1,7 @@ import torch -from Architectures.ControllabilityGAN.wgan.resnet_init import init_resnet -from Architectures.ControllabilityGAN.wgan.wgan_qc import WassersteinGanQuadraticCost +from Modules.ControllabilityGAN.wgan.resnet_init import init_resnet +from Modules.ControllabilityGAN.wgan.wgan_qc import WassersteinGanQuadraticCost def create_wgan(parameters, device, optimizer='adam'): diff --git a/Architectures/ControllabilityGAN/wgan/resnet_1.py b/Modules/ControllabilityGAN/wgan/resnet_1.py similarity index 100% rename from Architectures/ControllabilityGAN/wgan/resnet_1.py rename to Modules/ControllabilityGAN/wgan/resnet_1.py diff --git a/Architectures/ControllabilityGAN/wgan/resnet_init.py b/Modules/ControllabilityGAN/wgan/resnet_init.py similarity index 61% rename from Architectures/ControllabilityGAN/wgan/resnet_init.py rename to Modules/ControllabilityGAN/wgan/resnet_init.py index 0ff7e8f228f15d1de629a8c2355cf73f1908681b..890bece8156fd627419c1ce0bcba2b48b1a7532a 100644 --- a/Architectures/ControllabilityGAN/wgan/resnet_init.py +++ b/Modules/ControllabilityGAN/wgan/resnet_init.py @@ -1,7 +1,7 @@ -from Architectures.ControllabilityGAN.wgan.init_weights import weights_init_D -from Architectures.ControllabilityGAN.wgan.init_weights import weights_init_G -from Architectures.ControllabilityGAN.wgan.resnet_1 import ResNet_D -from Architectures.ControllabilityGAN.wgan.resnet_1 import ResNet_G +from Modules.ControllabilityGAN.wgan.init_weights import weights_init_D +from Modules.ControllabilityGAN.wgan.init_weights import weights_init_G +from Modules.ControllabilityGAN.wgan.resnet_1 import ResNet_D +from Modules.ControllabilityGAN.wgan.resnet_1 import ResNet_G def init_resnet(parameters): diff --git a/Architectures/ControllabilityGAN/wgan/wgan_qc.py b/Modules/ControllabilityGAN/wgan/wgan_qc.py similarity index 100% rename from Architectures/ControllabilityGAN/wgan/wgan_qc.py rename to Modules/ControllabilityGAN/wgan/wgan_qc.py diff --git a/Architectures/EmbeddingModel/GST.py b/Modules/EmbeddingModel/GST.py similarity index 99% rename from Architectures/EmbeddingModel/GST.py rename to Modules/EmbeddingModel/GST.py index b0f2435bd91aaf93a3de3ab6c779409972f0b907..eb23d4ad9d4cdf800119969fb0811bf5126f616e 100644 --- a/Architectures/EmbeddingModel/GST.py +++ b/Modules/EmbeddingModel/GST.py @@ -3,7 +3,7 @@ import torch -from Architectures.GeneralLayers.Attention import MultiHeadedAttention as BaseMultiHeadedAttention +from Modules.GeneralLayers.Attention import MultiHeadedAttention as BaseMultiHeadedAttention class GSTStyleEncoder(torch.nn.Module): diff --git a/Architectures/EmbeddingModel/README.md b/Modules/EmbeddingModel/README.md similarity index 100% rename from Architectures/EmbeddingModel/README.md rename to Modules/EmbeddingModel/README.md diff --git a/Architectures/EmbeddingModel/StyleEmbedding.py b/Modules/EmbeddingModel/StyleEmbedding.py similarity index 95% rename from Architectures/EmbeddingModel/StyleEmbedding.py rename to Modules/EmbeddingModel/StyleEmbedding.py index d7154010e3b9c4945dc76a6cefdcb0fc8541ef06..46a2120a29e2a8b4407ff7ae520123a13e14adc0 100644 --- a/Architectures/EmbeddingModel/StyleEmbedding.py +++ b/Modules/EmbeddingModel/StyleEmbedding.py @@ -1,7 +1,7 @@ import torch -from Architectures.EmbeddingModel.GST import GSTStyleEncoder -from Architectures.EmbeddingModel.StyleTTSEncoder import StyleEncoder as StyleTTSEncoder +from Modules.EmbeddingModel.GST import GSTStyleEncoder +from Modules.EmbeddingModel.StyleTTSEncoder import StyleEncoder as StyleTTSEncoder class StyleEmbedding(torch.nn.Module): diff --git a/Architectures/EmbeddingModel/StyleTTSEncoder.py b/Modules/EmbeddingModel/StyleTTSEncoder.py similarity index 100% rename from Architectures/EmbeddingModel/StyleTTSEncoder.py rename to Modules/EmbeddingModel/StyleTTSEncoder.py diff --git a/Architectures/EmbeddingModel/__init__.py b/Modules/EmbeddingModel/__init__.py similarity index 100% rename from Architectures/EmbeddingModel/__init__.py rename to Modules/EmbeddingModel/__init__.py diff --git a/Architectures/GeneralLayers/Attention.py b/Modules/GeneralLayers/Attention.py similarity index 100% rename from Architectures/GeneralLayers/Attention.py rename to Modules/GeneralLayers/Attention.py diff --git a/Architectures/GeneralLayers/ConditionalLayerNorm.py b/Modules/GeneralLayers/ConditionalLayerNorm.py similarity index 99% rename from Architectures/GeneralLayers/ConditionalLayerNorm.py rename to Modules/GeneralLayers/ConditionalLayerNorm.py index 614d89f1c1d23c6efa4e5752d49ebb82274eace3..844cb2a3c1a73865b970ae5c41d0033746dfe4a5 100644 --- a/Architectures/GeneralLayers/ConditionalLayerNorm.py +++ b/Modules/GeneralLayers/ConditionalLayerNorm.py @@ -112,7 +112,6 @@ class AdaIN1d(nn.Module): self.fc = nn.Linear(style_dim, num_features * 2) def forward(self, x, s): - s = torch.nn.functional.normalize(s) h = self.fc(s) h = h.view(h.size(0), h.size(1), 1) gamma, beta = torch.chunk(h, chunks=2, dim=1) diff --git a/Architectures/GeneralLayers/Conformer.py b/Modules/GeneralLayers/Conformer.py similarity index 80% rename from Architectures/GeneralLayers/Conformer.py rename to Modules/GeneralLayers/Conformer.py index 6453571952bffa3ab0b651c953f64c52a682ec8d..0489d8f1116e4b9749d966c44d87e09602b8fe28 100644 --- a/Architectures/GeneralLayers/Conformer.py +++ b/Modules/GeneralLayers/Conformer.py @@ -4,16 +4,16 @@ Taken from ESPNet, but heavily modified import torch -from Architectures.GeneralLayers.Attention import RelPositionMultiHeadedAttention -from Architectures.GeneralLayers.ConditionalLayerNorm import AdaIN1d -from Architectures.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm -from Architectures.GeneralLayers.Convolution import ConvolutionModule -from Architectures.GeneralLayers.EncoderLayer import EncoderLayer -from Architectures.GeneralLayers.LayerNorm import LayerNorm -from Architectures.GeneralLayers.MultiLayeredConv1d import MultiLayeredConv1d -from Architectures.GeneralLayers.MultiSequential import repeat -from Architectures.GeneralLayers.PositionalEncoding import RelPositionalEncoding -from Architectures.GeneralLayers.Swish import Swish +from Modules.GeneralLayers.Attention import RelPositionMultiHeadedAttention +from Modules.GeneralLayers.ConditionalLayerNorm import AdaIN1d +from Modules.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm +from Modules.GeneralLayers.Convolution import ConvolutionModule +from Modules.GeneralLayers.EncoderLayer import EncoderLayer +from Modules.GeneralLayers.LayerNorm import LayerNorm +from Modules.GeneralLayers.MultiLayeredConv1d import MultiLayeredConv1d +from Modules.GeneralLayers.MultiSequential import repeat +from Modules.GeneralLayers.PositionalEncoding import RelPositionalEncoding +from Modules.GeneralLayers.Swish import Swish from Utility.utils import integrate_with_utt_embed @@ -88,6 +88,8 @@ class Conformer(torch.nn.Module): self.language_embedding_projection = lambda x: x else: self.language_embedding_projection = torch.nn.Linear(lang_emb_size, attention_dim) + self.language_emb_norm = LayerNorm(attention_dim) + # self-attention module definition encoder_selfattn_layer = RelPositionMultiHeadedAttention encoder_selfattn_layer_args = (attention_heads, attention_dim, attention_dropout_rate, zero_triu) @@ -130,6 +132,7 @@ class Conformer(torch.nn.Module): if lang_ids is not None: lang_embs = self.language_embedding(lang_ids) projected_lang_embs = self.language_embedding_projection(lang_embs).unsqueeze(-1).transpose(1, 2) + projected_lang_embs = self.language_emb_norm(projected_lang_embs) xs = xs + projected_lang_embs # offset phoneme representation by language specific offset xs = self.pos_enc(xs) @@ -139,21 +142,28 @@ class Conformer(torch.nn.Module): if isinstance(xs, tuple): x, pos_emb = xs[0], xs[1] if self.conformer_type != "encoder": - x = integrate_with_utt_embed(hs=x, utt_embeddings=utterance_embedding, projection=self.decoder_embedding_projections[encoder_index], embedding_training=self.use_conditional_layernorm_embedding_integration) + x = integrate_with_utt_embed(hs=x, + utt_embeddings=utterance_embedding, + projection=self.decoder_embedding_projections[encoder_index], + embedding_training=self.use_conditional_layernorm_embedding_integration) xs = (x, pos_emb) else: if self.conformer_type != "encoder": - xs = integrate_with_utt_embed(hs=xs, utt_embeddings=utterance_embedding, projection=self.decoder_embedding_projections[encoder_index], embedding_training=self.use_conditional_layernorm_embedding_integration) + xs = integrate_with_utt_embed(hs=xs, + utt_embeddings=utterance_embedding, + projection=self.decoder_embedding_projections[encoder_index], + embedding_training=self.use_conditional_layernorm_embedding_integration) xs, masks = encoder(xs, masks) if isinstance(xs, tuple): xs = xs[0] - if self.use_output_norm and not (self.utt_embed and self.conformer_type == "encoder"): - xs = self.output_norm(xs) - if self.utt_embed and self.conformer_type == "encoder": - xs = integrate_with_utt_embed(hs=xs, utt_embeddings=utterance_embedding, - projection=self.encoder_embedding_projection, embedding_training=self.use_conditional_layernorm_embedding_integration) + xs = integrate_with_utt_embed(hs=xs, + utt_embeddings=utterance_embedding, + projection=self.encoder_embedding_projection, + embedding_training=self.use_conditional_layernorm_embedding_integration) + elif self.use_output_norm: + xs = self.output_norm(xs) return xs, masks diff --git a/Architectures/GeneralLayers/Convolution.py b/Modules/GeneralLayers/Convolution.py similarity index 100% rename from Architectures/GeneralLayers/Convolution.py rename to Modules/GeneralLayers/Convolution.py diff --git a/Architectures/GeneralLayers/DurationPredictor.py b/Modules/GeneralLayers/DurationPredictor.py similarity index 96% rename from Architectures/GeneralLayers/DurationPredictor.py rename to Modules/GeneralLayers/DurationPredictor.py index 871f3bb2e1e2f571ab2e24f3233e9a22d009b043..5a6e25739d16ff6dfb55b86c5ce0fca0e3a365ac 100644 --- a/Architectures/GeneralLayers/DurationPredictor.py +++ b/Modules/GeneralLayers/DurationPredictor.py @@ -5,9 +5,9 @@ import torch -from Architectures.GeneralLayers.ConditionalLayerNorm import AdaIN1d -from Architectures.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm -from Architectures.GeneralLayers.LayerNorm import LayerNorm +from Modules.GeneralLayers.ConditionalLayerNorm import AdaIN1d +from Modules.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm +from Modules.GeneralLayers.LayerNorm import LayerNorm from Utility.utils import integrate_with_utt_embed diff --git a/Architectures/GeneralLayers/EncoderLayer.py b/Modules/GeneralLayers/EncoderLayer.py similarity index 98% rename from Architectures/GeneralLayers/EncoderLayer.py rename to Modules/GeneralLayers/EncoderLayer.py index e21d35ae120527e049c37fd9516fd0d860ea5e7f..8008358fe8e306752b9d45647f824ca758de491e 100644 --- a/Architectures/GeneralLayers/EncoderLayer.py +++ b/Modules/GeneralLayers/EncoderLayer.py @@ -7,7 +7,7 @@ import torch from torch import nn -from Architectures.GeneralLayers.LayerNorm import LayerNorm +from Modules.GeneralLayers.LayerNorm import LayerNorm class EncoderLayer(nn.Module): diff --git a/Architectures/GeneralLayers/LayerNorm.py b/Modules/GeneralLayers/LayerNorm.py similarity index 100% rename from Architectures/GeneralLayers/LayerNorm.py rename to Modules/GeneralLayers/LayerNorm.py diff --git a/Architectures/GeneralLayers/LengthRegulator.py b/Modules/GeneralLayers/LengthRegulator.py similarity index 100% rename from Architectures/GeneralLayers/LengthRegulator.py rename to Modules/GeneralLayers/LengthRegulator.py diff --git a/Architectures/GeneralLayers/MultiLayeredConv1d.py b/Modules/GeneralLayers/MultiLayeredConv1d.py similarity index 100% rename from Architectures/GeneralLayers/MultiLayeredConv1d.py rename to Modules/GeneralLayers/MultiLayeredConv1d.py diff --git a/Architectures/GeneralLayers/MultiSequential.py b/Modules/GeneralLayers/MultiSequential.py similarity index 100% rename from Architectures/GeneralLayers/MultiSequential.py rename to Modules/GeneralLayers/MultiSequential.py diff --git a/Architectures/GeneralLayers/PositionalEncoding.py b/Modules/GeneralLayers/PositionalEncoding.py similarity index 100% rename from Architectures/GeneralLayers/PositionalEncoding.py rename to Modules/GeneralLayers/PositionalEncoding.py diff --git a/Architectures/GeneralLayers/PositionwiseFeedForward.py b/Modules/GeneralLayers/PositionwiseFeedForward.py similarity index 100% rename from Architectures/GeneralLayers/PositionwiseFeedForward.py rename to Modules/GeneralLayers/PositionwiseFeedForward.py diff --git a/Architectures/GeneralLayers/README.md b/Modules/GeneralLayers/README.md similarity index 100% rename from Architectures/GeneralLayers/README.md rename to Modules/GeneralLayers/README.md diff --git a/Architectures/GeneralLayers/ResidualBlock.py b/Modules/GeneralLayers/ResidualBlock.py similarity index 100% rename from Architectures/GeneralLayers/ResidualBlock.py rename to Modules/GeneralLayers/ResidualBlock.py diff --git a/Architectures/GeneralLayers/ResidualStack.py b/Modules/GeneralLayers/ResidualStack.py similarity index 100% rename from Architectures/GeneralLayers/ResidualStack.py rename to Modules/GeneralLayers/ResidualStack.py diff --git a/Architectures/GeneralLayers/STFT.py b/Modules/GeneralLayers/STFT.py similarity index 100% rename from Architectures/GeneralLayers/STFT.py rename to Modules/GeneralLayers/STFT.py diff --git a/Architectures/GeneralLayers/Swish.py b/Modules/GeneralLayers/Swish.py similarity index 100% rename from Architectures/GeneralLayers/Swish.py rename to Modules/GeneralLayers/Swish.py diff --git a/Architectures/GeneralLayers/VariancePredictor.py b/Modules/GeneralLayers/VariancePredictor.py similarity index 94% rename from Architectures/GeneralLayers/VariancePredictor.py rename to Modules/GeneralLayers/VariancePredictor.py index 52d2effd53c4da6cb4009c641daa11f8e8b6711f..ad187b15342a8b4b001ce971adfa1ace9f51948d 100644 --- a/Architectures/GeneralLayers/VariancePredictor.py +++ b/Modules/GeneralLayers/VariancePredictor.py @@ -6,9 +6,9 @@ from abc import ABC import torch -from Architectures.GeneralLayers.ConditionalLayerNorm import AdaIN1d -from Architectures.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm -from Architectures.GeneralLayers.LayerNorm import LayerNorm +from Modules.GeneralLayers.ConditionalLayerNorm import AdaIN1d +from Modules.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm +from Modules.GeneralLayers.LayerNorm import LayerNorm from Utility.utils import integrate_with_utt_embed diff --git a/Architectures/GeneralLayers/__init__.py b/Modules/GeneralLayers/__init__.py similarity index 100% rename from Architectures/GeneralLayers/__init__.py rename to Modules/GeneralLayers/__init__.py diff --git a/Architectures/README.md b/Modules/README.md similarity index 100% rename from Architectures/README.md rename to Modules/README.md diff --git a/Architectures/ToucanTTS/CodecDiscriminator.py b/Modules/ToucanTTS/CodecDiscriminator.py similarity index 100% rename from Architectures/ToucanTTS/CodecDiscriminator.py rename to Modules/ToucanTTS/CodecDiscriminator.py diff --git a/Architectures/ToucanTTS/CodecRefinementTransformer.py b/Modules/ToucanTTS/CodecRefinementTransformer.py similarity index 99% rename from Architectures/ToucanTTS/CodecRefinementTransformer.py rename to Modules/ToucanTTS/CodecRefinementTransformer.py index 98a19c6865176631ba736acfb691c59f8934a03a..f73176d60e264a92ca74b5912d074af77810b8b5 100644 --- a/Architectures/ToucanTTS/CodecRefinementTransformer.py +++ b/Modules/ToucanTTS/CodecRefinementTransformer.py @@ -1,6 +1,6 @@ import torch -from Architectures.GeneralLayers.Conformer import Conformer +from Modules.GeneralLayers.Conformer import Conformer class CodecRefinementTransformer(torch.nn.Module): @@ -151,7 +151,7 @@ def one_hot_sequence_to_token_sequence(batch_of_indexes_one_hot_per_codebook): if __name__ == '__main__': - from Architectures.ToucanTTS.ToucanTTS import ToucanTTS + from Modules.ToucanTTS.ToucanTTS import ToucanTTS from Utility.utils import make_pad_mask # prepare dummy inputs diff --git a/Architectures/ToucanTTS/DurationCalculator.py b/Modules/ToucanTTS/DurationCalculator.py similarity index 100% rename from Architectures/ToucanTTS/DurationCalculator.py rename to Modules/ToucanTTS/DurationCalculator.py diff --git a/Architectures/ToucanTTS/EnergyCalculator.py b/Modules/ToucanTTS/EnergyCalculator.py similarity index 98% rename from Architectures/ToucanTTS/EnergyCalculator.py rename to Modules/ToucanTTS/EnergyCalculator.py index 373bcb902a90e57e1df05204a4d3c0fb9d185419..6861dc57028da046c9855ec94ccffe5f5c6be937 100644 --- a/Architectures/ToucanTTS/EnergyCalculator.py +++ b/Modules/ToucanTTS/EnergyCalculator.py @@ -5,7 +5,7 @@ import torch import torch.nn.functional as F -from Architectures.GeneralLayers.STFT import STFT +from Modules.GeneralLayers.STFT import STFT from Utility.utils import pad_list diff --git a/Architectures/ToucanTTS/Glow.py b/Modules/ToucanTTS/Glow.py similarity index 99% rename from Architectures/ToucanTTS/Glow.py rename to Modules/ToucanTTS/Glow.py index 3d40aaa5abbe729c115462a4f8d5b270577886dc..fe9a2369cc07c181befb2a2aff8e587ca63bcf9d 100644 --- a/Architectures/ToucanTTS/Glow.py +++ b/Modules/ToucanTTS/Glow.py @@ -5,8 +5,8 @@ import torch.distributions as dist from torch import nn from torch.nn import functional as F -from Architectures.ToucanTTS import glow_utils -from Architectures.ToucanTTS.wavenet import WN +from Modules.ToucanTTS import glow_utils +from Modules.ToucanTTS.wavenet import WN class ActNorm(nn.Module): diff --git a/Architectures/ToucanTTS/InferenceToucanTTS.py b/Modules/ToucanTTS/InferenceToucanTTS.py similarity index 84% rename from Architectures/ToucanTTS/InferenceToucanTTS.py rename to Modules/ToucanTTS/InferenceToucanTTS.py index a5ae372d15d29287091937b39103834076ea5297..0e593d72b2aba20aaa7ca6ab4c3bfb0cb9ce2bf2 100644 --- a/Architectures/ToucanTTS/InferenceToucanTTS.py +++ b/Modules/ToucanTTS/InferenceToucanTTS.py @@ -5,13 +5,10 @@ from torch.nn import Linear from torch.nn import Sequential from torch.nn import Tanh -from Architectures.GeneralLayers.ConditionalLayerNorm import AdaIN1d -from Architectures.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm -from Architectures.GeneralLayers.Conformer import Conformer -from Architectures.GeneralLayers.LengthRegulator import LengthRegulator -from Architectures.ToucanTTS.flow_matching import CFMDecoder +from Modules.GeneralLayers.Conformer import Conformer +from Modules.GeneralLayers.LengthRegulator import LengthRegulator +from Modules.ToucanTTS.flow_matching import CFMDecoder from Preprocessing.articulatory_features import get_feature_to_index_lookup -from Utility.utils import integrate_with_utt_embed from Utility.utils import make_non_pad_mask @@ -74,6 +71,12 @@ class ToucanTTS(torch.nn.Module): integrate_language_embedding_into_encoder_out = config.integrate_language_embedding_into_encoder_out prosody_channels = config.prosody_channels + if lang_embs is None or lang_embs == 0: + lang_embs = None + integrate_language_embedding_into_encoder_out = False + if integrate_language_embedding_into_encoder_out: + utt_embed_dim = utt_embed_dim + lang_emb_size + self.input_feature_dimensions = input_feature_dimensions self.attention_dimension = attention_dimension self.use_scaled_pos_enc = use_scaled_positional_encoding @@ -105,14 +108,6 @@ class ToucanTTS(torch.nn.Module): use_output_norm=True, embedding_integration=embedding_integration) - if self.integrate_language_embedding_into_encoder_out: - if embedding_integration == "AdaIN": - self.language_embedding_infusion = AdaIN1d(style_dim=lang_emb_size, num_features=attention_dimension) - elif embedding_integration == "ConditionalLayerNorm": - self.language_embedding_infusion = ConditionalLayerNorm(speaker_embedding_dim=lang_emb_size, hidden_dim=attention_dimension) - else: - self.language_embedding_infusion = torch.nn.Linear(attention_dimension + lang_emb_size, attention_dimension) - self.duration_predictor = CFMDecoder(hidden_channels=prosody_channels, out_channels=1, filter_channels=prosody_channels, @@ -174,7 +169,6 @@ class ToucanTTS(torch.nn.Module): embedding_integration=embedding_integration) self.output_projection = torch.nn.Linear(attention_dimension, spec_channels) - self.cfm_projection = torch.nn.Linear(attention_dimension, spec_channels) self.pitch_latent_reduction = torch.nn.Linear(attention_dimension, prosody_channels) self.energy_latent_reduction = torch.nn.Linear(attention_dimension, prosody_channels) self.duration_latent_reduction = torch.nn.Linear(attention_dimension, prosody_channels) @@ -202,41 +196,53 @@ class ToucanTTS(torch.nn.Module): pitch_variance_scale=1.0, energy_variance_scale=1.0, pause_duration_scaling_factor=1.0, - prosody_creativity=0.5): + prosody_creativity=0.1): text_tensors = torch.clamp(text_tensors, max=1.0) # this is necessary, because of the way we represent modifiers to keep them identifiable. - utterance_embedding = torch.nn.functional.normalize(utterance_embedding) - if not self.multilingual_model: lang_ids = None if not self.multispeaker_model: utterance_embedding = None + if utterance_embedding is not None: + utterance_embedding = torch.nn.functional.normalize(utterance_embedding) + if self.integrate_language_embedding_into_encoder_out and lang_ids is not None: + lang_embs = self.encoder.language_embedding(lang_ids) + lang_embs = torch.nn.functional.normalize(lang_embs) + utterance_embedding = torch.cat([lang_embs, utterance_embedding], dim=1).detach() + # encoding the texts text_masks = make_non_pad_mask(text_lengths, device=text_lengths.device).unsqueeze(-2) encoded_texts, _ = self.encoder(text_tensors, text_masks, utterance_embedding=utterance_embedding, lang_ids=lang_ids) - if self.integrate_language_embedding_into_encoder_out: - lang_embs = self.encoder.language_embedding(lang_ids).squeeze(-1).detach() - encoded_texts = integrate_with_utt_embed(hs=encoded_texts, utt_embeddings=lang_embs, projection=self.language_embedding_infusion, embedding_training=self.use_conditional_layernorm_embedding_integration) - # predicting pitch, energy and durations reduced_pitch_space = torchfunc.dropout(self.pitch_latent_reduction(encoded_texts), p=0.1).transpose(1, 2) - pitch_predictions = self.pitch_predictor(mu=reduced_pitch_space, mask=text_masks.float(), n_timesteps=30, temperature=prosody_creativity, c=utterance_embedding) if gold_pitch is None else gold_pitch + pitch_predictions = self.pitch_predictor(mu=reduced_pitch_space, + mask=text_masks.float(), + n_timesteps=10, + temperature=prosody_creativity, + c=utterance_embedding) if gold_pitch is None else gold_pitch pitch_predictions = _scale_variance(pitch_predictions, pitch_variance_scale) embedded_pitch_curve = self.pitch_embed(pitch_predictions).transpose(1, 2) reduced_energy_space = torchfunc.dropout(self.energy_latent_reduction(encoded_texts + embedded_pitch_curve), p=0.1).transpose(1, 2) - energy_predictions = self.energy_predictor(mu=reduced_energy_space, mask=text_masks.float(), n_timesteps=30, temperature=prosody_creativity, c=utterance_embedding) if gold_energy is None else gold_energy + energy_predictions = self.energy_predictor(mu=reduced_energy_space, + mask=text_masks.float(), + n_timesteps=10, + temperature=prosody_creativity, + c=utterance_embedding) if gold_energy is None else gold_energy energy_predictions = _scale_variance(energy_predictions, energy_variance_scale) embedded_energy_curve = self.energy_embed(energy_predictions).transpose(1, 2) reduced_duration_space = torchfunc.dropout(self.duration_latent_reduction(encoded_texts + embedded_pitch_curve + embedded_energy_curve), p=0.1).transpose(1, 2) - predicted_durations = torch.clamp(torch.ceil(self.duration_predictor(mu=reduced_duration_space, mask=text_masks.float(), n_timesteps=30, temperature=prosody_creativity, c=utterance_embedding)), min=0.0).long().squeeze( - 1) if gold_durations is None else gold_durations + predicted_durations = torch.clamp(torch.ceil(self.duration_predictor(mu=reduced_duration_space, + mask=text_masks.float(), + n_timesteps=10, + temperature=prosody_creativity, + c=utterance_embedding)), min=0.0).long().squeeze(1) if gold_durations is None else gold_durations # modifying the predictions with control parameters for phoneme_index, phoneme_vector in enumerate(text_tensors.squeeze(0)): @@ -257,13 +263,13 @@ class ToucanTTS(torch.nn.Module): # decoding spectrogram decoded_speech, _ = self.decoder(upsampled_enriched_encoded_texts, None, utterance_embedding=utterance_embedding) - # frames = self.output_projection(decoded_speech) # this is only needed for training + preliminary_spectrogram = self.output_projection(decoded_speech) - refined_codec_frames = self.flow_matching_decoder(mu=self.cfm_projection(decoded_speech).transpose(1, 2), + refined_codec_frames = self.flow_matching_decoder(mu=preliminary_spectrogram.transpose(1, 2), mask=make_non_pad_mask([len(decoded_speech[0])], device=decoded_speech.device).unsqueeze(-2), - n_timesteps=30, - temperature=0.05, # low temperature, so the model follows the specified prosody curves better. - c=utterance_embedding).transpose(1, 2) + n_timesteps=15, + temperature=0.1, # low temperature, so the model follows the specified prosody curves better. + c=None).transpose(1, 2) return refined_codec_frames, predicted_durations.squeeze(), pitch_predictions.squeeze(), energy_predictions.squeeze() @@ -280,7 +286,7 @@ class ToucanTTS(torch.nn.Module): pitch_variance_scale=1.0, energy_variance_scale=1.0, pause_duration_scaling_factor=1.0, - prosody_creativity=0.5): + prosody_creativity=0.1): """ Generate the sequence of spectrogram frames given the sequence of vectorized phonemes. @@ -320,19 +326,19 @@ class ToucanTTS(torch.nn.Module): lang_id = lang_id.to(text.device) outs, \ - predicted_durations, \ - pitch_predictions, \ - energy_predictions = self._forward(text.unsqueeze(0), - text_length, - gold_durations=durations, - gold_pitch=pitch, - gold_energy=energy, - utterance_embedding=utterance_embedding.unsqueeze(0) if utterance_embedding is not None else None, lang_ids=lang_id, - duration_scaling_factor=duration_scaling_factor, - pitch_variance_scale=pitch_variance_scale, - energy_variance_scale=energy_variance_scale, - pause_duration_scaling_factor=pause_duration_scaling_factor, - prosody_creativity=prosody_creativity) + predicted_durations, \ + pitch_predictions, \ + energy_predictions = self._forward(text.unsqueeze(0), + text_length, + gold_durations=durations, + gold_pitch=pitch, + gold_energy=energy, + utterance_embedding=utterance_embedding.unsqueeze(0) if utterance_embedding is not None else None, lang_ids=lang_id, + duration_scaling_factor=duration_scaling_factor, + pitch_variance_scale=pitch_variance_scale, + energy_variance_scale=energy_variance_scale, + pause_duration_scaling_factor=pause_duration_scaling_factor, + prosody_creativity=prosody_creativity) if return_duration_pitch_energy: return outs.squeeze().transpose(0, 1), predicted_durations, pitch_predictions, energy_predictions diff --git a/Architectures/ToucanTTS/LanguageEmbeddingSpaceStructureLoss.py b/Modules/ToucanTTS/LanguageEmbeddingSpaceStructureLoss.py similarity index 81% rename from Architectures/ToucanTTS/LanguageEmbeddingSpaceStructureLoss.py rename to Modules/ToucanTTS/LanguageEmbeddingSpaceStructureLoss.py index 2206f8a80ee7938334717110b29d631377a1c7d6..295f23153b0d74e06be49788e11dbbb1dabcc310 100644 --- a/Architectures/ToucanTTS/LanguageEmbeddingSpaceStructureLoss.py +++ b/Modules/ToucanTTS/LanguageEmbeddingSpaceStructureLoss.py @@ -1,5 +1,4 @@ import os.path -import pickle import torch @@ -16,14 +15,12 @@ class LanguageEmbeddingSpaceStructureLoss(torch.nn.Module): cc.create_tree_cache(cache_root="Preprocessing/multilinguality") if not os.path.exists('Preprocessing/multilinguality/lang_1_to_lang_2_to_tree_dist.json'): cc.create_map_cache(cache_root="Preprocessing/multilinguality") - if not os.path.exists("Preprocessing/multilinguality/asp_dict.pkl"): - print("download asp file") # TODO downloader script with release self.tree_dist = load_json_from_path('Preprocessing/multilinguality/lang_1_to_lang_2_to_tree_dist.json') self.map_dist = load_json_from_path('Preprocessing/multilinguality/lang_1_to_lang_2_to_map_dist.json') - with open("Preprocessing/multilinguality/asp_dict.pkl", 'rb') as dictfile: - self.asp_sim = pickle.load(dictfile) - self.lang_list = list(self.asp_sim.keys()) # list of all languages, to get lang_b's index + # with open("Preprocessing/multilinguality/asp_dict.pkl", 'rb') as dictfile: + # self.asp_sim = pickle.load(dictfile) + # self.lang_list = list(self.asp_sim.keys()) # list of all languages, to get lang_b's index self.largest_value_map_dist = 0.0 for _, values in self.map_dist.items(): @@ -64,11 +61,12 @@ class LanguageEmbeddingSpaceStructureLoss(torch.nn.Module): map_dist = self.map_dist[lang_2][lang_1] / self.largest_value_map_dist # Value Range Normalized ASP Dist - lang_2_idx = self.lang_list.index(lang_2) - asp_dist = 1.0 - self.asp_sim[lang_1][lang_2_idx] # it's a similarity measure that goes from 0 to 1, so we subtract it from 1 to turn it into a distance + # lang_2_idx = self.lang_list.index(lang_2) + # asp_dist = 1.0 - self.asp_sim[lang_1][lang_2_idx] # it's a similarity measure that goes from 0 to 1, so we subtract it from 1 to turn it into a distance # Average distance should be similar to embedding distance to bring some structure into the embedding-space - metric_distance = (torch.tensor(tree_dist) + torch.tensor(map_dist) + torch.tensor(asp_dist)) / 3 + # metric_distance = (torch.tensor(tree_dist) + torch.tensor(map_dist) + torch.tensor(asp_dist)) / 3 + metric_distance = (torch.tensor(tree_dist) + torch.tensor(map_dist)) / 2 losses.append(torch.nn.functional.l1_loss(embed_dist, metric_distance)) - return sum(losses) / len(losses) \ No newline at end of file + return sum(losses) / len(losses) diff --git a/Architectures/ToucanTTS/PitchCalculator.py b/Modules/ToucanTTS/PitchCalculator.py similarity index 100% rename from Architectures/ToucanTTS/PitchCalculator.py rename to Modules/ToucanTTS/PitchCalculator.py diff --git a/Architectures/ToucanTTS/README.md b/Modules/ToucanTTS/README.md similarity index 100% rename from Architectures/ToucanTTS/README.md rename to Modules/ToucanTTS/README.md diff --git a/Architectures/ToucanTTS/StochasticToucanTTSLoss.py b/Modules/ToucanTTS/StochasticToucanTTSLoss.py similarity index 100% rename from Architectures/ToucanTTS/StochasticToucanTTSLoss.py rename to Modules/ToucanTTS/StochasticToucanTTSLoss.py diff --git a/Architectures/ToucanTTS/TTSDataset.py b/Modules/ToucanTTS/TTSDataset.py similarity index 97% rename from Architectures/ToucanTTS/TTSDataset.py rename to Modules/ToucanTTS/TTSDataset.py index 89867f6d719fd22ecac7a11b37d3b38b29ee9f8a..878c6886d7141e4eca2305f7859105f2263e0837 100644 --- a/Architectures/ToucanTTS/TTSDataset.py +++ b/Modules/ToucanTTS/TTSDataset.py @@ -5,11 +5,11 @@ import torch from torch.utils.data import Dataset from tqdm import tqdm -from Architectures.Aligner.Aligner import Aligner -from Architectures.Aligner.CodecAlignerDataset import CodecAlignerDataset -from Architectures.ToucanTTS.DurationCalculator import DurationCalculator -from Architectures.ToucanTTS.EnergyCalculator import EnergyCalculator -from Architectures.ToucanTTS.PitchCalculator import Parselmouth +from Modules.Aligner.Aligner import Aligner +from Modules.Aligner.CodecAlignerDataset import CodecAlignerDataset +from Modules.ToucanTTS.DurationCalculator import DurationCalculator +from Modules.ToucanTTS.EnergyCalculator import EnergyCalculator +from Modules.ToucanTTS.PitchCalculator import Parselmouth from Preprocessing.AudioPreprocessor import AudioPreprocessor from Preprocessing.EnCodecAudioPreprocessor import CodecAudioPreprocessor from Preprocessing.TextFrontend import get_language_id diff --git a/Architectures/ToucanTTS/ToucanTTS.py b/Modules/ToucanTTS/ToucanTTS.py similarity index 87% rename from Architectures/ToucanTTS/ToucanTTS.py rename to Modules/ToucanTTS/ToucanTTS.py index 9b6961eed37e4d4ad43fd647b21e199d83a6692f..849c81bb97de25b4604e75806b489bf4315732ff 100644 --- a/Architectures/ToucanTTS/ToucanTTS.py +++ b/Modules/ToucanTTS/ToucanTTS.py @@ -4,15 +4,12 @@ from torch.nn import Linear from torch.nn import Sequential from torch.nn import Tanh -from Architectures.GeneralLayers.ConditionalLayerNorm import AdaIN1d -from Architectures.GeneralLayers.ConditionalLayerNorm import ConditionalLayerNorm -from Architectures.GeneralLayers.Conformer import Conformer -from Architectures.GeneralLayers.LengthRegulator import LengthRegulator -from Architectures.ToucanTTS.StochasticToucanTTSLoss import StochasticToucanTTSLoss -from Architectures.ToucanTTS.flow_matching import CFMDecoder +from Modules.GeneralLayers.Conformer import Conformer +from Modules.GeneralLayers.LengthRegulator import LengthRegulator +from Modules.ToucanTTS.StochasticToucanTTSLoss import StochasticToucanTTSLoss +from Modules.ToucanTTS.flow_matching import CFMDecoder from Preprocessing.articulatory_features import get_feature_to_index_lookup from Utility.utils import initialize -from Utility.utils import integrate_with_utt_embed from Utility.utils import make_non_pad_mask @@ -34,7 +31,7 @@ class ToucanTTS(torch.nn.Module): # network structure related input_feature_dimensions=64, spec_channels=128, - attention_dimension=192, + attention_dimension=384, attention_heads=4, positionwise_conv_kernel_size=1, use_scaled_positional_encoding=True, @@ -53,7 +50,7 @@ class ToucanTTS(torch.nn.Module): transformer_enc_attn_dropout_rate=0.1, # decoder - decoder_layers=1, + decoder_layers=6, decoder_units=1536, decoder_concat_after=False, conformer_decoder_kernel_size=31, # 31 works for spectrograms @@ -64,36 +61,36 @@ class ToucanTTS(torch.nn.Module): # duration predictor prosody_channels=8, - duration_predictor_layers=2, - duration_predictor_kernel_size=3, + duration_predictor_layers=3, + duration_predictor_kernel_size=5, duration_predictor_dropout_rate=0.2, # pitch predictor - pitch_predictor_layers=2, + pitch_predictor_layers=3, pitch_predictor_kernel_size=5, - pitch_predictor_dropout=0.3, + pitch_predictor_dropout=0.2, pitch_embed_kernel_size=1, pitch_embed_dropout=0.0, # energy predictor energy_predictor_layers=2, energy_predictor_kernel_size=3, - energy_predictor_dropout=0.5, + energy_predictor_dropout=0.2, energy_embed_kernel_size=1, energy_embed_dropout=0.0, # cfm decoder - cfm_filter_channels=512, + cfm_filter_channels=256, cfm_heads=4, - cfm_layers=5, + cfm_layers=3, cfm_kernel_size=5, cfm_p_dropout=0.1, # additional features utt_embed_dim=192, # 192 dim speaker embedding + 16 dim prosody embedding optionally (see older version, this one doesn't use the prosody embedding) lang_embs=8000, - lang_emb_size=192, - integrate_language_embedding_into_encoder_out=False, + lang_emb_size=32, # lower dimensions seem to work better + integrate_language_embedding_into_encoder_out=True, embedding_integration="AdaIN", # ["AdaIN" | "ConditionalLayerNorm" | "ConcatProject"] ): super().__init__() @@ -150,6 +147,12 @@ class ToucanTTS(torch.nn.Module): "integrate_language_embedding_into_encoder_out": integrate_language_embedding_into_encoder_out } + if lang_embs is None or lang_embs == 0: + lang_embs = None + integrate_language_embedding_into_encoder_out = False + if integrate_language_embedding_into_encoder_out: + utt_embed_dim = utt_embed_dim + lang_emb_size + self.input_feature_dimensions = input_feature_dimensions self.attention_dimension = attention_dimension self.use_scaled_pos_enc = use_scaled_positional_encoding @@ -181,14 +184,6 @@ class ToucanTTS(torch.nn.Module): use_output_norm=True, embedding_integration=embedding_integration) - if self.integrate_language_embedding_into_encoder_out: - if embedding_integration == "AdaIN": - self.language_embedding_infusion = AdaIN1d(style_dim=lang_emb_size, num_features=attention_dimension) - elif embedding_integration == "ConditionalLayerNorm": - self.language_embedding_infusion = ConditionalLayerNorm(speaker_embedding_dim=lang_emb_size, hidden_dim=attention_dimension) - else: - self.language_embedding_infusion = torch.nn.Linear(attention_dimension + lang_emb_size, attention_dimension) - self.pitch_embed = Sequential(torch.nn.Conv1d(in_channels=1, out_channels=attention_dimension, kernel_size=pitch_embed_kernel_size, @@ -221,7 +216,6 @@ class ToucanTTS(torch.nn.Module): embedding_integration=embedding_integration) self.output_projection = torch.nn.Linear(attention_dimension, spec_channels) - self.cfm_projection = torch.nn.Linear(attention_dimension, spec_channels) self.pitch_latent_reduction = torch.nn.Linear(attention_dimension, prosody_channels) self.energy_latent_reduction = torch.nn.Linear(attention_dimension, prosody_channels) self.duration_latent_reduction = torch.nn.Linear(attention_dimension, prosody_channels) @@ -299,20 +293,20 @@ class ToucanTTS(torch.nn.Module): run_stochastic (Bool): Whether to detach the inputs to the normalizing flow for stability. """ outs, \ - stochastic_loss, \ - duration_loss, \ - pitch_loss, \ - energy_loss = self._forward(text_tensors=text_tensors, - text_lengths=text_lengths, - gold_speech=gold_speech, - speech_lengths=speech_lengths, - gold_durations=gold_durations, - gold_pitch=gold_pitch, - gold_energy=gold_energy, - utterance_embedding=utterance_embedding, - is_inference=False, - lang_ids=lang_ids, - run_stochastic=run_stochastic) + stochastic_loss, \ + duration_loss, \ + pitch_loss, \ + energy_loss = self._forward(text_tensors=text_tensors, + text_lengths=text_lengths, + gold_speech=gold_speech, + speech_lengths=speech_lengths, + gold_durations=gold_durations, + gold_pitch=gold_pitch, + gold_energy=gold_energy, + utterance_embedding=utterance_embedding, + is_inference=False, + lang_ids=lang_ids, + run_stochastic=run_stochastic) # calculate loss regression_loss = self.criterion(predicted_features=outs, @@ -345,14 +339,17 @@ class ToucanTTS(torch.nn.Module): if not self.multispeaker_model: utterance_embedding = None + if utterance_embedding is not None: + utterance_embedding = torch.nn.functional.normalize(utterance_embedding) + if self.integrate_language_embedding_into_encoder_out and lang_ids is not None: + lang_embs = self.encoder.language_embedding(lang_ids) + lang_embs = torch.nn.functional.normalize(lang_embs) + utterance_embedding = torch.cat([lang_embs, utterance_embedding], dim=1).detach() + # encoding the texts text_masks = make_non_pad_mask(text_lengths, device=text_lengths.device).unsqueeze(-2) encoded_texts, _ = self.encoder(text_tensors, text_masks, utterance_embedding=utterance_embedding, lang_ids=lang_ids) - if self.integrate_language_embedding_into_encoder_out: - lang_embs = self.encoder.language_embedding(lang_ids).squeeze(-1) - encoded_texts = integrate_with_utt_embed(hs=encoded_texts, utt_embeddings=lang_embs, projection=self.language_embedding_infusion, embedding_training=self.use_conditional_layernorm_embedding_integration) - if is_inference: # predicting pitch, energy and durations reduced_pitch_space = torchfunc.dropout(self.pitch_latent_reduction(encoded_texts), p=0.1).transpose(1, 2) @@ -412,30 +409,30 @@ class ToucanTTS(torch.nn.Module): if is_inference: if run_stochastic: - refined_codec_frames = self.flow_matching_decoder(mu=self.cfm_projection(decoded_speech).transpose(1, 2), + refined_codec_frames = self.flow_matching_decoder(mu=preliminary_spectrogram.transpose(1, 2), mask=make_non_pad_mask([len(decoded_speech[0])], device=decoded_speech.device).unsqueeze(-2).float(), n_timesteps=15, temperature=0.2, - c=utterance_embedding).transpose(1, 2) + c=None).transpose(1, 2) else: refined_codec_frames = preliminary_spectrogram return refined_codec_frames, \ - predicted_durations.squeeze(), \ - pitch_predictions.squeeze(), \ - energy_predictions.squeeze() + predicted_durations.squeeze(), \ + pitch_predictions.squeeze(), \ + energy_predictions.squeeze() else: if run_stochastic: stochastic_loss, _ = self.flow_matching_decoder.compute_loss(x1=gold_speech.transpose(1, 2), mask=decoder_masks.float(), - mu=self.cfm_projection(decoded_speech).transpose(1, 2), - c=utterance_embedding) + mu=preliminary_spectrogram.transpose(1, 2).detach(), + c=None) else: stochastic_loss = None return preliminary_spectrogram, \ - stochastic_loss, \ - duration_loss, \ - pitch_loss, \ - energy_loss + stochastic_loss, \ + duration_loss, \ + pitch_loss, \ + energy_loss @torch.inference_mode() def inference(self, @@ -464,15 +461,15 @@ class ToucanTTS(torch.nn.Module): utterance_embeddings = utterance_embedding.unsqueeze(0) if utterance_embedding is not None else None outs, \ - duration_predictions, \ - pitch_predictions, \ - energy_predictions = self._forward(text_pseudobatched, - ilens, - speech_pseudobatched, - is_inference=True, - utterance_embedding=utterance_embeddings, - lang_ids=lang_id, - run_stochastic=run_stochastic) # (1, L, odim) + duration_predictions, \ + pitch_predictions, \ + energy_predictions = self._forward(text_pseudobatched, + ilens, + speech_pseudobatched, + is_inference=True, + utterance_embedding=utterance_embeddings, + lang_ids=lang_id, + run_stochastic=run_stochastic) # (1, L, odim) self.train() if return_duration_pitch_energy: diff --git a/Architectures/ToucanTTS/ToucanTTSLoss.py b/Modules/ToucanTTS/ToucanTTSLoss.py similarity index 97% rename from Architectures/ToucanTTS/ToucanTTSLoss.py rename to Modules/ToucanTTS/ToucanTTSLoss.py index 6d324093a088ffafb9067bc623b4def44daf40bc..4a182a6f6121314c93f3fa57ea8a04ae0d4b258d 100644 --- a/Architectures/ToucanTTS/ToucanTTSLoss.py +++ b/Modules/ToucanTTS/ToucanTTSLoss.py @@ -5,7 +5,7 @@ Adapted by Flux import torch -from Architectures.GeneralLayers.DurationPredictor import DurationPredictorLoss +from Modules.GeneralLayers.DurationPredictor import DurationPredictorLoss from Utility.utils import make_non_pad_mask diff --git a/Architectures/ToucanTTS/__init__.py b/Modules/ToucanTTS/__init__.py similarity index 100% rename from Architectures/ToucanTTS/__init__.py rename to Modules/ToucanTTS/__init__.py diff --git a/Architectures/ToucanTTS/dit.py b/Modules/ToucanTTS/dit.py similarity index 91% rename from Architectures/ToucanTTS/dit.py rename to Modules/ToucanTTS/dit.py index 45a386050c47e77a7984df5be024642e6f818cb8..339cba8b70fbe90a7e346e3ebb87e29635543242 100644 --- a/Architectures/ToucanTTS/dit.py +++ b/Modules/ToucanTTS/dit.py @@ -118,15 +118,15 @@ class DiTConVBlock(nn.Module): x = x * x_mask attn_mask = x_mask.unsqueeze(1) * x_mask.unsqueeze(-1) # shape: [batch_size, 1, time, time] # attn_mask = attn_mask.to(torch.bool) - - shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = self.adaLN_modulation(c).unsqueeze(2).chunk(6, dim=1) # shape: [batch_size, channel, 1] - x = x + gate_msa * self.attn(self.modulate(self.norm1(x.transpose(1, 2)).transpose(1, 2), shift_msa, scale_msa), attn_mask) * x_mask - # x = x.masked_fill(~x_mask, 0.0) - x = x + gate_mlp * self.mlp(self.modulate(self.norm2(x.transpose(1, 2)).transpose(1, 2), shift_mlp, scale_mlp), x_mask) * x_mask - - # no condition version - # x = x + self.attn(self.norm1(x.transpose(1,2)).transpose(1,2), attn_mask) - # x = x + self.mlp(self.norm1(x.transpose(1,2)).transpose(1,2), x_mask) + if c is not None: + shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = self.adaLN_modulation(c).unsqueeze(2).chunk(6, dim=1) # shape: [batch_size, channel, 1] + x = x + gate_msa * self.attn(self.modulate(self.norm1(x.transpose(1, 2)).transpose(1, 2), shift_msa, scale_msa), attn_mask) * x_mask + # x = x.masked_fill(~x_mask, 0.0) + x = x + gate_mlp * self.mlp(self.modulate(self.norm2(x.transpose(1, 2)).transpose(1, 2), shift_mlp, scale_mlp), x_mask) * x_mask + else: + # no condition version + x = x + self.attn(self.norm1(x.transpose(1, 2)).transpose(1, 2), attn_mask) + x = x + self.mlp(self.norm1(x.transpose(1, 2)).transpose(1, 2), x_mask) return x @staticmethod diff --git a/Architectures/ToucanTTS/dit_wrapper.py b/Modules/ToucanTTS/dit_wrapper.py similarity index 97% rename from Architectures/ToucanTTS/dit_wrapper.py rename to Modules/ToucanTTS/dit_wrapper.py index e2d8bace285e325d786bd23c926a6e6af342bc16..762939dde84fa8f5be95ef6cd801afca8a673e5f 100644 --- a/Architectures/ToucanTTS/dit_wrapper.py +++ b/Modules/ToucanTTS/dit_wrapper.py @@ -11,7 +11,7 @@ import math import torch import torch.nn as nn -from Architectures.ToucanTTS.dit import DiTConVBlock +from Modules.ToucanTTS.dit import DiTConVBlock class DitWrapper(nn.Module): @@ -62,7 +62,10 @@ class ConvNeXtBlock(nn.Module): def forward(self, x, c, x_mask) -> torch.Tensor: residual = x x = self.dwconv(x) * x_mask - x = self.norm(x.transpose(1, 2), c) + if c is not None: + x = self.norm(x.transpose(1, 2), c) + else: + x = x.transpose(1, 2) x = self.pwconv(x).transpose(1, 2) x = residual + x return x * x_mask diff --git a/Architectures/ToucanTTS/flow_matching.py b/Modules/ToucanTTS/flow_matching.py similarity index 98% rename from Architectures/ToucanTTS/flow_matching.py rename to Modules/ToucanTTS/flow_matching.py index 7e2375c5c7b92fa8df143495d3799a5b049c2373..c0ba1af423816e7d75c6715bb2f2f107c58d6a20 100644 --- a/Architectures/ToucanTTS/flow_matching.py +++ b/Modules/ToucanTTS/flow_matching.py @@ -10,7 +10,7 @@ import imageio import torch import torch.nn.functional as F -from Architectures.ToucanTTS.dit_wrapper import Decoder +from Modules.ToucanTTS.dit_wrapper import Decoder from Utility.utils import plot_spec_tensor diff --git a/Architectures/ToucanTTS/glow_utils.py b/Modules/ToucanTTS/glow_utils.py similarity index 100% rename from Architectures/ToucanTTS/glow_utils.py rename to Modules/ToucanTTS/glow_utils.py diff --git a/Architectures/ToucanTTS/toucantts_meta_train_loop.py b/Modules/ToucanTTS/toucantts_meta_train_loop.py similarity index 68% rename from Architectures/ToucanTTS/toucantts_meta_train_loop.py rename to Modules/ToucanTTS/toucantts_meta_train_loop.py index f96b056474c5a04b25730c85aa22be66b2839329..657cc4c092fd77b55cc9f7edfae01e361df3664f 100644 --- a/Architectures/ToucanTTS/toucantts_meta_train_loop.py +++ b/Modules/ToucanTTS/toucantts_meta_train_loop.py @@ -4,7 +4,7 @@ from torch.nn.utils.rnn import pad_sequence from torch.utils.data.dataloader import DataLoader from tqdm import tqdm -from Architectures.ToucanTTS.LanguageEmbeddingSpaceStructureLoss import LanguageEmbeddingSpaceStructureLoss +from Modules.ToucanTTS.LanguageEmbeddingSpaceStructureLoss import LanguageEmbeddingSpaceStructureLoss from Preprocessing.AudioPreprocessor import AudioPreprocessor from Preprocessing.EnCodecAudioPreprocessor import CodecAudioPreprocessor from Utility.WarmupScheduler import ToucanWarmupScheduler as WarmupScheduler @@ -67,45 +67,19 @@ def train_loop(net, if use_less_loss: less_loss = LanguageEmbeddingSpaceStructureLoss() - pretrained_language_codes = ['eng', 'deu', 'fra', 'spa', 'cmn', 'por', 'pol', 'ita', 'nld', 'ell', 'fin', 'vie', - 'rus', 'hun', 'bem', 'swh', 'amh', 'wol', 'mal', 'chv', 'iba', 'jav', 'fon', 'hau', - 'lbb', 'kik', 'lin', 'lug', 'luo', 'sxb', 'yor', 'nya', 'loz', 'toi', 'afr', 'arb', - 'asm', 'ast', 'azj', 'bel', 'bul', 'ben', 'bos', 'cat', 'ceb', 'sdh', 'ces', 'cym', - 'dan', 'ekk', 'pes', 'fil', 'gle', 'glg', 'guj', 'heb', 'hin', 'hrv', 'hye', 'ind', - 'ibo', 'isl', 'kat', 'kam', 'kea', 'kaz', 'khm', 'kan', 'kor', 'ltz', 'lao', 'lit', - 'lvs', 'mri', 'mkd', 'xng', 'mar', 'zsm', 'mlt', 'oci', 'ory', 'pan', 'pst', 'ron', - 'snd', 'slk', 'slv', 'sna', 'som', 'srp', 'swe', 'tam', 'tel', 'tgk', 'tur', 'ukr', - 'umb', 'urd', 'uzn', 'bhd', 'kfs', 'dgo', 'gbk', 'bgc', 'xnr', 'kfx', 'mjl', 'bfz', - 'acf', 'bss', 'inb', 'nca', 'quh', 'wap', 'acr', 'bus', 'dgr', 'maz', 'nch', 'qul', - 'tav', 'wmw', 'acu', 'byr', 'dik', 'iou', 'mbb', 'ncj', 'qvc', 'tbc', 'xed', 'agd', - 'bzh', 'djk', 'ipi', 'mbc', 'ncl', 'qve', 'tbg', 'xon', 'agg', 'bzj', 'dop', 'jac', - 'mbh', 'ncu', 'qvh', 'tbl', 'xtd', 'agn', 'caa', 'jic', 'mbj', 'ndj', 'qvm', 'tbz', - 'xtm', 'agr', 'cab', 'emp', 'jiv', 'mbt', 'nfa', 'qvn', 'tca', 'yaa', 'agu', 'cap', - 'jvn', 'mca', 'ngp', 'qvs', 'tcs', 'yad', 'aia', 'car', 'ese', 'mcb', 'ngu', 'qvw', - 'yal', 'cax', 'kaq', 'mcd', 'nhe', 'qvz', 'tee', 'ycn', 'ake', 'cbc', 'far', 'mco', - 'qwh', 'yka', 'alp', 'cbi', 'kdc', 'mcp', 'nhu', 'qxh', 'ame', 'cbr', 'gai', 'kde', - 'mcq', 'nhw', 'qxn', 'tew', 'yre', 'amf', 'cbs', 'gam', 'kdl', 'mdy', 'nhy', 'qxo', - 'tfr', 'yva', 'amk', 'cbt', 'geb', 'kek', 'med', 'nin', 'rai', 'zaa', 'apb', 'cbu', - 'glk', 'ken', 'mee', 'nko', 'rgu', 'zab', 'apr', 'cbv', 'meq', 'tgo', 'zac', 'arl', - 'cco', 'gng', 'kje', 'met', 'nlg', 'rop', 'tgp', 'zad', 'grc', 'klv', 'mgh', 'nnq', - 'rro', 'zai', 'ata', 'cek', 'gub', 'kmu', 'mib', 'noa', 'ruf', 'tna', 'zam', 'atb', - 'cgc', 'guh', 'kne', 'mie', 'not', 'rug', 'tnk', 'zao', 'atg', 'chf', 'knf', 'mih', - 'npl', 'tnn', 'zar', 'awb', 'chz', 'gum', 'knj', 'mil', 'sab', 'tnp', 'zas', 'cjo', - 'guo', 'ksr', 'mio', 'obo', 'seh', 'toc', 'zav', 'azg', 'cle', 'gux', 'kue', 'mit', - 'omw', 'sey', 'tos', 'zaw', 'azz', 'cme', 'gvc', 'kvn', 'miz', 'ood', 'sgb', 'tpi', - 'zca', 'bao', 'cni', 'gwi', 'kwd', 'mkl', 'shp', 'tpt', 'zga', 'bba', 'cnl', 'gym', - 'kwf', 'mkn', 'ote', 'sja', 'trc', 'ziw', 'bbb', 'cnt', 'gyr', 'kwi', 'mop', 'otq', - 'snn', 'ttc', 'zlm', 'cof', 'hat', 'kyc', 'mox', 'pab', 'snp', 'tte', 'zos', 'bgt', - 'con', 'kyf', 'mpm', 'pad', 'tue', 'zpc', 'bjr', 'cot', 'kyg', 'mpp', 'soy', 'tuf', - 'zpl', 'bjv', 'cpa', 'kyq', 'mpx', 'pao', 'tuo', 'zpm', 'bjz', 'cpb', 'hlt', 'kyz', - 'mqb', 'pib', 'spp', 'zpo', 'bkd', 'cpu', 'hns', 'lac', 'mqj', 'pir', 'spy', 'txq', - 'zpu', 'blz', 'crn', 'hto', 'lat', 'msy', 'pjt', 'sri', 'txu', 'zpz', 'bmr', 'cso', - 'hub', 'lex', 'mto', 'pls', 'srm', 'udu', 'ztq', 'bmu', 'ctu', 'lgl', 'muy', 'poi', - 'srn', 'zty', 'bnp', 'cuc', 'lid', 'mxb', 'stp', 'upv', 'zyp', 'boa', 'cui', 'huu', - 'mxq', 'sus', 'ura', 'boj', 'cuk', 'huv', 'llg', 'mxt', 'poy', 'suz', 'urb', 'box', - 'cwe', 'hvn', 'prf', 'urt', 'bpr', 'cya', 'ign', 'lww', 'myk', 'ptu', 'usp', 'bps', - 'daa', 'ikk', 'maj', 'myy', 'vid', 'bqc', 'dah', 'nab', 'qub', 'tac', 'bqp', 'ded', - 'imo', 'maq', 'nas', 'quf', 'taj', 'vmy'] + pretrained_language_codes = [ + "eng", "deu", "fra", "spa", "cmn", "por", "pol", "ita", "nld", "ell", "fin", "vie", "jpn", "rus", "hun", "asm", "ben", "brx", "dgo", "guj", "hin", "kan", "kas", "knn", "mai", "mal", "mni", "mar", "nep", "ory", "pan", "san", "sat", "snd", "tam", "tel", "urd", "bem", "swh", "amh", "wol", "chv", "iba", "jav", "fon", "hau", "lbb", + "kik", "lin", "lug", "luo", "sxb", "yor", "nya", "loz", "toi", "afr", "arb", "ast", "azj", "bel", "bul", "bos", "cat", "ceb", "sdh", "ces", "cym", "dan", "ekk", "pes", "fil", "gle", "glg", "heb", "hrv", "hye", "ind", "ibo", "isl", "kat", "kam", "kea", "kaz", "khm", "kor", "ltz", "lao", "lit", "lvs", "mri", "mkd", "xng", "zsm", + "mlt", "oci", "pst", "ron", "slk", "slv", "sna", "som", "srp", "swe", "tgk", "tur", "ukr", "umb", "uzn", "bhd", "kfs", "gbk", "bgc", "xnr", "kfx", "mjl", "bfz", "acf", "bss", "inb", "nca", "quh", "wap", "acr", "bus", "dgr", "maz", "nch", "qul", "tav", "wmw", "acu", "byr", "dik", "iou", "mbb", "ncj", "qvc", "tbc", "xed", "agd", + "bzh", "djk", "ipi", "mbc", "ncl", "qve", "tbg", "xon", "agg", "bzj", "dop", "jac", "mbh", "ncu", "qvh", "tbl", "xtd", "agn", "caa", "jic", "mbj", "ndj", "qvm", "tbz", "xtm", "agr", "cab", "emp", "jiv", "mbt", "nfa", "qvn", "tca", "yaa", "agu", "cap", "jvn", "mca", "ngp", "qvs", "tcs", "yad", "aia", "car", "ese", "mcb", "ngu", + "qvw", "yal", "cax", "kaq", "mcd", "nhe", "qvz", "tee", "ycn", "ake", "cbc", "far", "mco", "qwh", "yka", "alp", "cbi", "kdc", "mcp", "nhu", "qxh", "ame", "cbr", "gai", "kde", "mcq", "nhw", "qxn", "tew", "yre", "amf", "cbs", "gam", "kdl", "mdy", "nhy", "qxo", "tfr", "yva", "amk", "cbt", "geb", "kek", "med", "nin", "rai", "zaa", + "apb", "cbu", "glk", "ken", "mee", "nko", "rgu", "zab", "apr", "cbv", "meq", "tgo", "zac", "arl", "cco", "gng", "kje", "met", "nlg", "rop", "tgp", "zad", "grc", "klv", "mgh", "nnq", "rro", "zai", "ata", "cek", "gub", "kmu", "mib", "noa", "ruf", "tna", "zam", "atb", "cgc", "guh", "kne", "mie", "not", "rug", "tnk", "zao", "atg", + "chf", "knf", "mih", "npl", "tnn", "zar", "awb", "chz", "gum", "knj", "mil", "sab", "tnp", "zas", "cjo", "guo", "ksr", "mio", "obo", "seh", "toc", "zav", "azg", "cle", "gux", "kue", "mit", "omw", "sey", "tos", "zaw", "azz", "cme", "gvc", "kvn", "miz", "ood", "sgb", "tpi", "zca", "bao", "cni", "gwi", "kwd", "mkl", "shp", "tpt", + "zga", "bba", "cnl", "gym", "kwf", "mkn", "ote", "sja", "trc", "ziw", "bbb", "cnt", "gyr", "kwi", "mop", "otq", "snn", "ttc", "zlm", "cof", "hat", "kyc", "mox", "pab", "snp", "tte", "zos", "bgt", "con", "kyf", "mpm", "pad", "tue", "zpc", "bjr", "cot", "kyg", "mpp", "soy", "tuf", "zpl", "bjv", "cpa", "kyq", "mpx", "pao", "tuo", + "zpm", "bjz", "cpb", "hlt", "kyz", "mqb", "pib", "spp", "zpo", "bkd", "cpu", "hns", "lac", "mqj", "pir", "spy", "txq", "zpu", "blz", "crn", "hto", "lat", "msy", "pjt", "sri", "txu", "zpz", "bmr", "cso", "hub", "lex", "mto", "pls", "srm", "udu", "ztq", "bmu", "ctu", "lgl", "muy", "poi", "srn", "zty", "bnp", "cuc", "lid", "mxb", + "stp", "upv", "zyp", "boa", "cui", "huu", "mxq", "sus", "ura", "boj", "cuk", "huv", "llg", "mxt", "poy", "suz", "urb", "box", "cwe", "hvn", "prf", "urt", "bpr", "cya", "ign", "lww", "myk", "ptu", "usp", "bps", "daa", "ikk", "maj", "myy", "vid", "bqc", "dah", "nab", "qub", "tac", "bqp", "ded", "imo", "maq", "nas", "quf", "taj", + "vmy" + ] pretrained_language_ids = list() # an alternative to the valid_language_ids for language_code in pretrained_language_codes: pretrained_language_ids.append(less_loss.iso_codes_to_ids[language_code]) @@ -138,7 +112,7 @@ def train_loop(net, train_iters.append(iter(train_loaders[-1])) # embedding training is not supported here - optimizer = torch.optim.RAdam(model.parameters(), lr=lr) + optimizer = torch.optim.Adam(model.parameters(), lr=lr) scheduler = WarmupScheduler(optimizer, peak_lr=lr, warmup_steps=warmup_steps, max_steps=steps) @@ -148,7 +122,6 @@ def train_loop(net, duration_losses_total = list() pitch_losses_total = list() energy_losses_total = list() - less_losses_total = list() if resume: path_to_checkpoint = get_most_recent_checkpoint(checkpoint_dir=save_directory) @@ -180,21 +153,27 @@ def train_loop(net, if not fine_tune and not resume and use_less_loss and not freeze_lang_embs: print("Priming the language embedding space...") + original_lr = optimizer.param_groups[0]['lr'] + pretraining_lr = 0.001 + for param_group in optimizer.param_groups: + param_group['lr'] = pretraining_lr less_values = list() - for i in tqdm(range(warmup_steps * 2)): + for i in tqdm(range(warmup_steps * 8)): language_ids = random.sample(valid_language_ids, batch_size) language_embeddings = model.encoder.language_embedding(torch.LongTensor(language_ids).to(device)) less_value_unsupervised = less_loss(language_ids, language_embeddings) - optimizer.zero_grad() less_values.append(less_value_unsupervised.item()) + optimizer.zero_grad() less_value_unsupervised.backward() optimizer.step() if i % warmup_steps // 2 == 0: print(sum(less_values) / len(less_values)) less_values = list() + for param_group in optimizer.param_groups: + param_group['lr'] = original_lr for step_counter in tqdm(range(steps_run_previously, steps)): - run_stochastic = step_counter > warmup_steps + run_stochastic = step_counter > warmup_steps * 2 batches = [] while len(batches) < batch_size: @@ -248,12 +227,6 @@ def train_loop(net, run_stochastic=run_stochastic ) - if use_less_loss: - language_embeddings_seen = model.encoder.language_embedding(lang_ids) - language_ids = random.sample(valid_language_ids, batch_size) - language_embeddings_random = model.encoder.language_embedding(torch.LongTensor(language_ids).to(device)) - less_value = less_loss(lang_ids.cpu().squeeze().tolist() + language_ids, torch.cat([language_embeddings_seen, language_embeddings_random], dim=0)) - # then we directly update our meta-parameters without # the need for any task specific parameters @@ -265,8 +238,6 @@ def train_loop(net, train_loss = train_loss + duration_loss train_loss = train_loss + pitch_loss train_loss = train_loss + energy_loss - if use_less_loss: - train_loss = train_loss + less_value * 2 if stochastic_loss is not None: if torch.isnan(stochastic_loss) or torch.isinf(stochastic_loss): @@ -281,15 +252,11 @@ def train_loop(net, duration_losses_total.append(duration_loss.item()) pitch_losses_total.append(pitch_loss.item()) energy_losses_total.append(energy_loss.item()) - if use_less_loss: - less_losses_total.append(less_value.item()) optimizer.zero_grad() if type(train_loss) is float: print("There is no loss for this step! Skipping ...") continue - if gpu_count > 1: - torch.distributed.barrier() train_loss.backward() torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0, error_if_nonfinite=False) optimizer.step() @@ -322,13 +289,12 @@ def train_loop(net, if use_wandb: wandb.log({ - "regression_loss" : round(sum(regression_losses_total) / len(regression_losses_total), 5), - "stochastic_loss" : round(sum(stochastic_losses_total) / len(stochastic_losses_total), 5), - "duration_loss" : round(sum(duration_losses_total) / len(duration_losses_total), 5), - "pitch_loss" : round(sum(pitch_losses_total) / len(pitch_losses_total), 5), - "energy_loss" : round(sum(energy_losses_total) / len(energy_losses_total), 5), - "embedding_structure_loss": 0.0 if len(less_losses_total) == 0 else round(sum(less_losses_total) / len(less_losses_total), 5), - "learning_rate" : optimizer.param_groups[0]['lr'] + "regression_loss": round(sum(regression_losses_total) / len(regression_losses_total), 5), + "stochastic_loss": round(sum(stochastic_losses_total) / len(stochastic_losses_total), 5), + "duration_loss" : round(sum(duration_losses_total) / len(duration_losses_total), 5), + "pitch_loss" : round(sum(pitch_losses_total) / len(pitch_losses_total), 5), + "energy_loss" : round(sum(energy_losses_total) / len(energy_losses_total), 5), + "learning_rate" : optimizer.param_groups[0]['lr'] }, step=step_counter) try: @@ -358,4 +324,10 @@ def train_loop(net, duration_losses_total = list() pitch_losses_total = list() energy_losses_total = list() - less_losses_total = list() + if gpu_count > 1: + # just to be extra sure tht all models are synchronous + torch.distributed.barrier() + checkpoint_paths = get_n_recent_checkpoints_paths(checkpoint_dir=save_directory, n=1) + check_dict = torch.load(checkpoint_paths[0], map_location=device) + model.load_state_dict(check_dict["model"]) + torch.distributed.barrier() diff --git a/Architectures/ToucanTTS/toucantts_train_loop.py b/Modules/ToucanTTS/toucantts_train_loop.py similarity index 95% rename from Architectures/ToucanTTS/toucantts_train_loop.py rename to Modules/ToucanTTS/toucantts_train_loop.py index 0fb8d04ea89a7dbc546579645d943c75b606a38a..d749d50c2264c2c86d816862073363c4e14d9645 100644 --- a/Architectures/ToucanTTS/toucantts_train_loop.py +++ b/Modules/ToucanTTS/toucantts_train_loop.py @@ -126,7 +126,7 @@ def train_loop(net, speech_batch.append(gold_speech_sample) gold_speech = pad_sequence(speech_batch, batch_first=True).to(device) - run_stochastic = (step_counter > warmup_steps) or fine_tune + run_stochastic = (step_counter > warmup_steps * 2) or fine_tune train_loss = 0.0 utterance_embedding = batch[9].to(device) @@ -173,8 +173,6 @@ def train_loop(net, if type(train_loss) is float: print("There is no loss for this step! Skipping ...") continue - if gpu_count > 1: - torch.distributed.barrier() train_loss.backward() torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0, error_if_nonfinite=False) optimizer.step() @@ -236,5 +234,11 @@ def train_loop(net, return # DONE net.train() - + if gpu_count > 1: + # just to be extra sure tht all models are synchronous + torch.distributed.barrier() + checkpoint_paths = get_n_recent_checkpoints_paths(checkpoint_dir=save_directory, n=1) + check_dict = torch.load(checkpoint_paths[0], map_location=device) + model.load_state_dict(check_dict["model"]) + torch.distributed.barrier() print("\n\n\nEPOCH COMPLETE\n\n\n") diff --git a/Architectures/ToucanTTS/toucantts_train_loop_arbiter.py b/Modules/ToucanTTS/toucantts_train_loop_arbiter.py similarity index 96% rename from Architectures/ToucanTTS/toucantts_train_loop_arbiter.py rename to Modules/ToucanTTS/toucantts_train_loop_arbiter.py index 90fdd28d52bd6cb15fdbbd3d80b4544e721fb0e4..3cee24bd4ace106536cce7a7275ebff447b111d6 100644 --- a/Architectures/ToucanTTS/toucantts_train_loop_arbiter.py +++ b/Modules/ToucanTTS/toucantts_train_loop_arbiter.py @@ -1,7 +1,7 @@ import torch -from Architectures.ToucanTTS.toucantts_meta_train_loop import train_loop as multi_language_loop -from Architectures.ToucanTTS.toucantts_train_loop import train_loop as mono_language_loop +from Modules.ToucanTTS.toucantts_meta_train_loop import train_loop as multi_language_loop +from Modules.ToucanTTS.toucantts_train_loop import train_loop as mono_language_loop def train_loop(net, # an already initialized ToucanTTS model that should be trained. diff --git a/Architectures/ToucanTTS/wavenet.py b/Modules/ToucanTTS/wavenet.py similarity index 100% rename from Architectures/ToucanTTS/wavenet.py rename to Modules/ToucanTTS/wavenet.py diff --git a/Architectures/Vocoder/AMP.py b/Modules/Vocoder/AMP.py similarity index 98% rename from Architectures/Vocoder/AMP.py rename to Modules/Vocoder/AMP.py index 9e8021ef80c305968ef61e6a0c88d7003ebf71ba..c6ae0b4e6b67af8ac596d33b0996fbbafcb268a4 100644 --- a/Architectures/Vocoder/AMP.py +++ b/Modules/Vocoder/AMP.py @@ -11,7 +11,7 @@ from torch.nn import Conv1d from torch.nn.utils import remove_weight_norm from torch.nn.utils import weight_norm -from Architectures.Vocoder.Snake import SnakeBeta +from Modules.Vocoder.Snake import SnakeBeta LRELU_SLOPE = 0.1 diff --git a/Architectures/Vocoder/AdversarialLoss.py b/Modules/Vocoder/AdversarialLoss.py similarity index 100% rename from Architectures/Vocoder/AdversarialLoss.py rename to Modules/Vocoder/AdversarialLoss.py diff --git a/Architectures/Vocoder/Avocodo_Discriminators.py b/Modules/Vocoder/Avocodo_Discriminators.py similarity index 99% rename from Architectures/Vocoder/Avocodo_Discriminators.py rename to Modules/Vocoder/Avocodo_Discriminators.py index 954a74279a37a8bcda14f6b09f6d8558172a27a3..9a9477e69eb33ec55dc6696e179754c58279d6ee 100644 --- a/Architectures/Vocoder/Avocodo_Discriminators.py +++ b/Modules/Vocoder/Avocodo_Discriminators.py @@ -14,7 +14,7 @@ from torch.nn import Conv1d from torch.nn.utils import spectral_norm from torch.nn.utils import weight_norm -from Architectures.Vocoder.SAN_modules import SANConv1d +from Modules.Vocoder.SAN_modules import SANConv1d def get_padding(kernel_size, dilation=1): diff --git a/Architectures/Vocoder/Avocodo_LICENSE b/Modules/Vocoder/Avocodo_LICENSE similarity index 100% rename from Architectures/Vocoder/Avocodo_LICENSE rename to Modules/Vocoder/Avocodo_LICENSE diff --git a/Architectures/Vocoder/FeatureMatchingLoss.py b/Modules/Vocoder/FeatureMatchingLoss.py similarity index 100% rename from Architectures/Vocoder/FeatureMatchingLoss.py rename to Modules/Vocoder/FeatureMatchingLoss.py diff --git a/Architectures/Vocoder/HiFiGAN_Dataset.py b/Modules/Vocoder/HiFiGAN_Dataset.py similarity index 100% rename from Architectures/Vocoder/HiFiGAN_Dataset.py rename to Modules/Vocoder/HiFiGAN_Dataset.py diff --git a/Architectures/Vocoder/HiFiGAN_Discriminators.py b/Modules/Vocoder/HiFiGAN_Discriminators.py similarity index 98% rename from Architectures/Vocoder/HiFiGAN_Discriminators.py rename to Modules/Vocoder/HiFiGAN_Discriminators.py index bd7337ba304c5cfe37d7c087bd6356908ee01b04..d6c874ab423b6f4da637bc1ef213b6e8b4a372fe 100644 --- a/Architectures/Vocoder/HiFiGAN_Discriminators.py +++ b/Modules/Vocoder/HiFiGAN_Discriminators.py @@ -9,10 +9,10 @@ import copy import torch import torch.nn.functional as F -from Architectures.Vocoder.Avocodo_Discriminators import MultiCoMBDiscriminator -from Architectures.Vocoder.Avocodo_Discriminators import MultiSubBandDiscriminator -from Architectures.Vocoder.SAN_modules import SANConv1d -from Architectures.Vocoder.SAN_modules import SANConv2d +from Modules.Vocoder.Avocodo_Discriminators import MultiCoMBDiscriminator +from Modules.Vocoder.Avocodo_Discriminators import MultiSubBandDiscriminator +from Modules.Vocoder.SAN_modules import SANConv1d +from Modules.Vocoder.SAN_modules import SANConv2d class HiFiGANPeriodDiscriminator(torch.nn.Module): diff --git a/Architectures/Vocoder/HiFiGAN_Generator.py b/Modules/Vocoder/HiFiGAN_Generator.py similarity index 98% rename from Architectures/Vocoder/HiFiGAN_Generator.py rename to Modules/Vocoder/HiFiGAN_Generator.py index 8dfd99bb67d9d0a8ecb1640bb6de97cf686b3ca3..39ad04072fd35a78d918044ab47ffd5df2ba042d 100644 --- a/Architectures/Vocoder/HiFiGAN_Generator.py +++ b/Modules/Vocoder/HiFiGAN_Generator.py @@ -7,7 +7,7 @@ import torch -from Architectures.GeneralLayers.ResidualBlock import HiFiGANResidualBlock as ResidualBlock +from Modules.GeneralLayers.ResidualBlock import HiFiGANResidualBlock as ResidualBlock class HiFiGAN(torch.nn.Module): diff --git a/Architectures/Vocoder/HiFiGAN_LICENSE b/Modules/Vocoder/HiFiGAN_LICENSE similarity index 100% rename from Architectures/Vocoder/HiFiGAN_LICENSE rename to Modules/Vocoder/HiFiGAN_LICENSE diff --git a/Architectures/Vocoder/HiFiGAN_train_loop.py b/Modules/Vocoder/HiFiGAN_train_loop.py similarity index 96% rename from Architectures/Vocoder/HiFiGAN_train_loop.py rename to Modules/Vocoder/HiFiGAN_train_loop.py index ffda64fb88a222bcc105fa294455134778fd4922..c0837fa6fd2070bb255f0e362bb16db414739952 100644 --- a/Architectures/Vocoder/HiFiGAN_train_loop.py +++ b/Modules/Vocoder/HiFiGAN_train_loop.py @@ -8,10 +8,10 @@ from torch.optim.lr_scheduler import MultiStepLR from torch.utils.data.dataloader import DataLoader from tqdm import tqdm -from Architectures.Vocoder.AdversarialLoss import discriminator_adv_loss -from Architectures.Vocoder.AdversarialLoss import generator_adv_loss -from Architectures.Vocoder.FeatureMatchingLoss import feature_loss -from Architectures.Vocoder.MelSpecLoss import MelSpectrogramLoss +from Modules.Vocoder.AdversarialLoss import discriminator_adv_loss +from Modules.Vocoder.AdversarialLoss import generator_adv_loss +from Modules.Vocoder.FeatureMatchingLoss import feature_loss +from Modules.Vocoder.MelSpecLoss import MelSpectrogramLoss from Utility.utils import delete_old_checkpoints from Utility.utils import get_most_recent_checkpoint from run_weight_averaging import average_checkpoints diff --git a/Architectures/Vocoder/MelSpecLoss.py b/Modules/Vocoder/MelSpecLoss.py similarity index 100% rename from Architectures/Vocoder/MelSpecLoss.py rename to Modules/Vocoder/MelSpecLoss.py diff --git a/Architectures/Vocoder/README.md b/Modules/Vocoder/README.md similarity index 100% rename from Architectures/Vocoder/README.md rename to Modules/Vocoder/README.md diff --git a/Architectures/Vocoder/SAN_LICENSE b/Modules/Vocoder/SAN_LICENSE similarity index 100% rename from Architectures/Vocoder/SAN_LICENSE rename to Modules/Vocoder/SAN_LICENSE diff --git a/Architectures/Vocoder/SAN_modules.py b/Modules/Vocoder/SAN_modules.py similarity index 100% rename from Architectures/Vocoder/SAN_modules.py rename to Modules/Vocoder/SAN_modules.py diff --git a/Architectures/Vocoder/Snake.py b/Modules/Vocoder/Snake.py similarity index 100% rename from Architectures/Vocoder/Snake.py rename to Modules/Vocoder/Snake.py diff --git a/Architectures/Vocoder/__init__.py b/Modules/Vocoder/__init__.py similarity index 100% rename from Architectures/Vocoder/__init__.py rename to Modules/Vocoder/__init__.py diff --git a/Architectures/__init__.py b/Modules/__init__.py similarity index 100% rename from Architectures/__init__.py rename to Modules/__init__.py diff --git a/Preprocessing/TextFrontend.py b/Preprocessing/TextFrontend.py index 3b460448e8f6732bca975a9f66b84c2e0a2a406e..e96b47b1d42f00a790c1e689cf5a2217e2bcfb7d 100644 --- a/Preprocessing/TextFrontend.py +++ b/Preprocessing/TextFrontend.py @@ -2,6 +2,7 @@ import json +import logging import re import torch @@ -593,7 +594,8 @@ class ArticulatoryCombinedTextFrontend: punctuation_marks=';:,.!?¡¿—…()"«»“”~/。【】、‥،؟“”؛', preserve_punctuation=True, language_switch='remove-flags', - with_stress=self.use_stress) + with_stress=self.use_stress, + logger=logging.getLogger(__file__)) except RuntimeError: print("Error in loading espeak! \n" "Maybe espeak is not installed on your system? \n" @@ -965,6 +967,22 @@ class ArticulatoryCombinedTextFrontend: ('⮃', ""), # dipping ('⮁', ""), # peaking ('̃', ""), # nasalizing + ("̧", ""), # palatalized + ("ʷ", ""), # labialized + ("ʰ", ""), # aspirated + ("ˠ", ""), # velarized + ("ˁ", ""), # pharyngealized + ("ˀ", ""), # glottalized + ("ʼ", ""), # ejective + ("̹", ""), # rounding + ("̞", ""), # open + ("̪", ""), # dental + ("̬", ""), # voiced + ("̝", ""), # closed + ("̰", ""), # laryngalization + ("̈", ""), # centralization + ("̜", ""), # unrounded + ("̥", ""), # voiceless ] for replacement in replacements: phoneme_string = phoneme_string.replace(replacement[0], replacement[1]) @@ -1060,7 +1078,7 @@ def get_language_id(language): except FileNotFoundError: iso_codes_to_ids = load_json_from_path("iso_lookup.json")[-1] if language not in iso_codes_to_ids: - print("Please specify the language as ISO 639-2 code (https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes)") + print("Please specify the language as ISO 639-3 code (https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes)") return None return torch.LongTensor([iso_codes_to_ids[language]]) diff --git a/Preprocessing/UtteranceEmbeddingExtractor.py b/Preprocessing/UtteranceEmbeddingExtractor.py index 62f41229245f23e6d4a2ea4a55a47d1ce83213b5..81e7b0061c068231a391bc11a3ecfbe71658c78c 100644 --- a/Preprocessing/UtteranceEmbeddingExtractor.py +++ b/Preprocessing/UtteranceEmbeddingExtractor.py @@ -5,7 +5,7 @@ import torch.multiprocessing from speechbrain.pretrained import EncoderClassifier from torchaudio.transforms import Resample -from Architectures.EmbeddingModel.StyleEmbedding import StyleEmbedding +from Modules.EmbeddingModel.StyleEmbedding import StyleEmbedding from Preprocessing.HiFiCodecAudioPreprocessor import CodecAudioPreprocessor from Utility.storage_config import MODELS_DIR diff --git a/Preprocessing/multilinguality/MetricMetaLearner.py b/Preprocessing/multilinguality/MetricMetaLearner.py index d2a5b105a68c8f48daaf0973caa521a0c4ecb0d0..4fe14abdd8a92414e7c3678e589af2f0ef290b68 100644 --- a/Preprocessing/multilinguality/MetricMetaLearner.py +++ b/Preprocessing/multilinguality/MetricMetaLearner.py @@ -4,11 +4,10 @@ import pickle import random import kan -import matplotlib.pyplot as plt import torch from tqdm import tqdm -from Architectures.ToucanTTS.InferenceToucanTTS import ToucanTTS +from Modules.ToucanTTS.InferenceToucanTTS import ToucanTTS from Utility.utils import load_json_from_path @@ -107,8 +106,8 @@ def create_learned_cache(model_path, cache_root="."): print("\n\n") running_loss = list() - model_list[-1].scoring_function.plot(folder=f"kan_vis_{m}", beta=5000) - plt.show() + # model_list[-1].scoring_function.plot(folder=f"kan_vis_{m}", beta=5000) + # plt.show() # Time to see if the final ensemble is any good ensemble = EnsembleModel(model_list) @@ -164,7 +163,7 @@ def create_learned_cache(model_path, cache_root="."): _asp_dist = 1.0 - asp_sim[lang_1][lang_list.index(lang_2)] metric_distance = torch.tensor([_tree_dist, _map_dist, _asp_dist], dtype=torch.float32) with torch.inference_mode(): - predicted_distance = ensemble(metric_distance) + predicted_distance = ensemble(metric_distance.unsqueeze(0)).squeeze() language_to_language_to_learned_distance[lang_1][lang_2] = predicted_distance.item() except ValueError: continue diff --git a/Preprocessing/multilinguality/create_distance_lookups.py b/Preprocessing/multilinguality/create_distance_lookups.py index b54e91caca46c17dc993c7e3320d6a7d5e436bd1..ee658b3040e8e06dda5c45a3e4543a8589b54341 100644 --- a/Preprocessing/multilinguality/create_distance_lookups.py +++ b/Preprocessing/multilinguality/create_distance_lookups.py @@ -28,16 +28,14 @@ class CacheCreator: self.pair_to_depth = dict() for pair in tqdm(self.pairs, desc="Generating tree pairs"): self.pair_to_tree_similarity[pair] = len(set(iso_to_family_memberships[pair[0]]).intersection(set(iso_to_family_memberships[pair[1]]))) - self.pair_to_depth[pair] = len(iso_to_family_memberships[pair[0]]) + len(iso_to_family_memberships[pair[1]]) - lang_1_to_lang_2_to_tree_dist = dict() - for pair in self.pair_to_tree_similarity: + for pair in tqdm(self.pair_to_tree_similarity): lang_1 = pair[0] lang_2 = pair[1] if self.pair_to_tree_similarity[pair] == 2: dist = 1.0 else: - dist = 1 - ((self.pair_to_tree_similarity[pair] * 2) / self.pair_to_depth[pair]) + dist = 1.0 - (self.pair_to_tree_similarity[pair] / max(len(iso_to_family_memberships[pair[0]]), len(iso_to_family_memberships[pair[1]]))) if lang_1 not in lang_1_to_lang_2_to_tree_dist.keys(): lang_1_to_lang_2_to_tree_dist[lang_1] = dict() lang_1_to_lang_2_to_tree_dist[lang_1][lang_2] = dist @@ -69,7 +67,7 @@ class CacheCreator: def create_oracle_cache(self, model_path, cache_root="."): """Oracle language-embedding distance of supervised languages is only used for evaluation, not usable for zero-shot. - + Note: The generated oracle cache is only valid for the given `model_path`!""" loss_fn = torch.nn.MSELoss(reduction="mean") self.pair_to_oracle_dist = dict() diff --git a/Preprocessing/multilinguality/eval_lang_emb_approximation.py b/Preprocessing/multilinguality/eval_lang_emb_approximation.py index b2a36c46c383d290231c8819b73b5012145f7430..36b0518c0b2fd6391c86805b16fc2f22074031de 100644 --- a/Preprocessing/multilinguality/eval_lang_emb_approximation.py +++ b/Preprocessing/multilinguality/eval_lang_emb_approximation.py @@ -85,7 +85,7 @@ def compute_loss_for_approximated_embeddings(csv_path, iso_lookup, language_embe if __name__ == "__main__": - default_model_path = os.path.join(MODELS_DIR, "ToucanTTS_Meta", "best.pt") # MODELS_DIR must be absolute path, the relative path will fail at this location + default_model_path = os.path.join("../..", MODELS_DIR, "ToucanTTS_Meta", "best.pt") # MODELS_DIR must be absolute path, the relative path will fail at this location parser = argparse.ArgumentParser() parser.add_argument("--model_path", type=str, default=default_model_path, help="model path that should be used for creating oracle lang emb distance cache") parser.add_argument("--min_n_langs", type=int, default=5, help="minimum amount of languages used for averaging") diff --git a/Preprocessing/multilinguality/generate_zero_shot_lang_embs.py b/Preprocessing/multilinguality/generate_zero_shot_lang_embs.py index aac0f6e3f618a9c678a86e94069d48f9d27158f3..28c5c79d05f16a0821f7e643d8c49b85e626d378 100644 --- a/Preprocessing/multilinguality/generate_zero_shot_lang_embs.py +++ b/Preprocessing/multilinguality/generate_zero_shot_lang_embs.py @@ -1,12 +1,15 @@ -import torch +import argparse +import json +import os + import numpy as np import pandas as pd -import json -import argparse +import torch from tqdm import tqdm -import os + from Utility.storage_config import MODELS_DIR + def approximate_and_inject_language_embeddings(model_path, df, iso_lookup, min_n_langs=5, max_n_langs=25, threshold_percentile=50): # load pretrained language_embeddings model = torch.load(model_path, map_location="cpu") @@ -48,7 +51,7 @@ def approximate_and_inject_language_embeddings(model_path, df, iso_lookup, min_n threshold = np.percentile(df[closest_dist_columns[-1]], threshold_percentile) print(f"threshold: {threshold:.4f}") for row in tqdm(df.itertuples(), total=df.shape[0], desc="Approximating language embeddings"): - avg_emb = torch.zeros([16]) + avg_emb = torch.zeros([32]) # If you change the size of the language embedding in the model, you need to change the size here as well. TODO automate this dists = [getattr(row, d) for i, d in enumerate(closest_dist_columns) if i < min_n_langs or getattr(row, d) < threshold] langs = [getattr(row, l) for l in closest_lang_columns[:len(dists)]] diff --git a/Preprocessing/multilinguality/iso_lookup.json b/Preprocessing/multilinguality/iso_lookup.json deleted file mode 100644 index 1dfb4489ade1cace5454d49d8bb884cd107bcb0d..0000000000000000000000000000000000000000 --- a/Preprocessing/multilinguality/iso_lookup.json +++ /dev/null @@ -1,21815 +0,0 @@ -[ - { - "aaa": "Ghotuo", - "aab": "Alumu-Tesu", - "aac": "Ari", - "aad": "Amal", - "aae": "Arbëreshë Albanian", - "aaf": "Aranadan", - "aag": "Ambrak", - "aah": "Abu' Arapesh", - "aai": "Arifama-Miniafia", - "aak": "Ankave", - "aal": "Afade", - "aan": "Anambé", - "aao": "Algerian Saharan Arabic", - "aap": "Pará Arára", - "aaq": "Eastern Abnaki", - "aar": "Afar", - "aas": "Aasáx", - "aat": "Arvanitika Albanian", - "aau": "Abau", - "aaw": "Solong", - "aax": "Mandobo Atas", - "aaz": "Amarasi", - "aba": "Abé", - "abb": "Bankon", - "abc": "Ambala Ayta", - "abd": "Manide", - "abe": "Western Abnaki", - "abf": "Abai Sungai", - "abg": "Abaga", - "abh": "Tajiki Arabic", - "abi": "Abidji", - "abj": "Aka-Bea", - "abk": "Abkhazian", - "abl": "Lampung Nyo", - "abm": "Abanyom", - "abn": "Abua", - "abo": "Abon", - "abp": "Abellen Ayta", - "abq": "Abaza", - "abr": "Abron", - "abs": "Ambonese Malay", - "abt": "Ambulas", - "abu": "Abure", - "abv": "Baharna Arabic", - "abw": "Pal", - "abx": "Inabaknon", - "aby": "Aneme Wake", - "abz": "Abui", - "aca": "Achagua", - "acd": "Gikyode", - "ace": "Achinese", - "acf": "Saint Lucian Creole French", - "ach": "Acoli", - "aci": "Aka-Cari", - "ack": "Aka-Kora", - "acl": "Akar-Bale", - "acm": "Mesopotamian Arabic", - "acn": "Achang", - "acp": "Eastern Acipa", - "acq": "Ta'izzi-Adeni Arabic", - "acr": "Achi", - "acs": "Acroá", - "act": "Achterhoeks", - "acu": "Achuar-Shiwiar", - "acv": "Achumawi", - "acw": "Hijazi Arabic", - "acx": "Omani Arabic", - "acy": "Cypriot Arabic", - "acz": "Acheron", - "ada": "Adangme", - "add": "Lidzonka", - "ade": "Adele", - "adf": "Dhofari Arabic", - "adg": "Andegerebinha", - "adh": "Adhola", - "adi": "Adi", - "adj": "Adioukrou", - "adl": "Galo", - "adn": "Adang", - "ado": "Abu", - "adq": "Adangbe", - "adr": "Adonara", - "adt": "Adnyamathanha", - "adw": "Amundava", - "adx": "Amdo Tibetan", - "ady": "Adyghe", - "adz": "Adzera", - "aea": "Areba", - "aeb": "Tunisian Arabic", - "aec": "Saidi Arabic", - "aee": "Northeast Pashayi", - "aek": "Haeke", - "ael": "Ambele", - "aem": "Arem", - "aeq": "Aer", - "aer": "Eastern Arrernte", - "aes": "Alsea", - "aeu": "Akeu", - "aew": "Ambakich", - "aey": "Amele", - "aez": "Aeka", - "afb": "Gulf Arabic", - "afd": "Andai", - "afe": "Putukwam", - "afi": "Chini", - "afk": "Nanubae", - "afn": "Defaka", - "afo": "Eloyi", - "afp": "Tapei", - "afr": "Afrikaans", - "afs": "Afro-Seminole Creole", - "aft": "Afitti", - "afu": "Awutu", - "afz": "Obokuitai", - "agb": "Legbo", - "agc": "Agatu", - "agd": "Agarabi", - "age": "Angal", - "agf": "Arguni", - "agg": "Angor", - "agh": "Ngelima", - "agj": "Argobba", - "agk": "Isarog Agta", - "agl": "Fembe", - "agm": "Angaataha", - "agn": "Agutaynen", - "ago": "Tainae", - "agq": "Aghem", - "agr": "Aguaruna", - "ags": "Esimbi", - "agt": "Central Cagayan Agta", - "agu": "Aguacateco", - "agv": "Remontado Dumagat", - "agw": "Kahua", - "agx": "Aghul", - "agy": "Southern Alta", - "agz": "Mt. Iriga Agta", - "aha": "Ahanta", - "ahb": "Axamb", - "ahg": "Qimant", - "ahh": "Aghu", - "ahi": "Tiagbamrin Aizi", - "ahk": "Akha", - "ahl": "Igo", - "ahm": "Mobumrin Aizi", - "ahn": "Àhàn", - "aho": "Ahom", - "ahp": "Aproumu Aizi", - "ahs": "Ashe", - "aht": "Ahtena", - "aia": "Arosi", - "aib": "Ainu (China)", - "aic": "Ainbai", - "aid": "Alngith", - "aie": "Amara", - "aif": "Agi", - "aig": "Antigua and Barbuda Creole English", - "aih": "Ai-Cham", - "aii": "Assyrian Neo-Aramaic", - "aij": "Lishanid Noshan", - "aik": "Ake", - "ail": "Aimele", - "aim": "Aimol", - "ain": "Ainu (Japan)", - "aio": "Aiton", - "aip": "Burumakok", - "aiq": "Aimaq", - "air": "Airoran", - "ait": "Arikem", - "aiw": "Aari", - "aix": "Aighon", - "aiy": "Ali", - "aja": "Aja (South Sudan)", - "ajg": "Aja (Benin)", - "aji": "Ajië", - "ajn": "Andajin", - "ajp": "South Levantine Arabic", - "ajt": "Judeo-Tunisian Arabic", - "aju": "Judeo-Moroccan Arabic", - "ajw": "Ajawa", - "ajz": "Amri Karbi", - "aka": "Akan", - "akb": "Batak Angkola", - "akc": "Mpur", - "akd": "Ukpet-Ehom", - "ake": "Akawaio", - "akf": "Akpa", - "akg": "Anakalangu", - "akh": "Angal Heneng", - "aki": "Aiome", - "akj": "Aka-Jeru", - "akk": "Akkadian", - "akl": "Aklanon", - "akm": "Aka-Bo", - "ako": "Akurio", - "akp": "Siwu", - "akq": "Ak", - "akr": "Araki", - "aks": "Akaselem", - "akt": "Akolet", - "aku": "Akum", - "akv": "Akhvakh", - "akw": "Akwa", - "akx": "Aka-Kede", - "aky": "Aka-Kol", - "akz": "Alabama", - "ala": "Alago", - "alc": "Qawasqar", - "ald": "Alladian", - "ale": "Aleut", - "alf": "Alege", - "alh": "Alawa", - "ali": "Amaimon", - "alj": "Alangan", - "alk": "Alak", - "all": "Allar", - "alm": "Amblong", - "aln": "Albanian", - "alo": "Larike-Wakasihu", - "alp": "Alune", - "alq": "Algonquin", - "alr": "Alutor", - "als": "Tosk Albanian", - "alt": "Southern Altai", - "alu": "'Are'are", - "alw": "Wanbasana", - "alx": "Amol", - "aly": "Alyawarr", - "alz": "Alur", - "ama": "Amanayé", - "amb": "Ambo", - "amc": "Amahuaca", - "ame": "Yanesha'", - "amf": "Hamer-Banna", - "amg": "Amurdak", - "amh": "Amharic", - "ami": "Amis", - "amj": "Amdang", - "amk": "Ambai", - "aml": "War-Jaintia", - "amm": "Ama (Papua New Guinea)", - "amn": "Amanab", - "amo": "Amo", - "amp": "Alamblak", - "amq": "Amahai", - "amr": "Amarakaeri", - "ams": "Southern Amami-Oshima", - "amt": "Amto", - "amu": "Guerrero Amuzgo", - "amv": "Ambelau", - "amw": "Western Neo-Aramaic", - "amx": "Anmatyerre", - "amy": "Ami", - "amz": "Atampaya", - "ana": "Andaqui", - "anb": "Andoa", - "anc": "Ngas", - "and": "Ansus", - "ane": "Xârâcùù", - "anf": "Animere", - "ang": "Old English (ca. 450-1100)", - "anh": "Nend", - "ani": "Andi", - "anj": "Anor", - "ank": "Goemai", - "anl": "Anu-Hkongso Chin", - "anm": "Anal", - "ann": "Obolo", - "ano": "Andoque", - "anp": "Angika", - "anq": "Jarawa (India)", - "anr": "Andh", - "ans": "Anserma", - "ant": "Antikarinya", - "anu": "Anuak", - "anv": "Denya", - "anw": "Anaang", - "anx": "Andra-Hus", - "any": "Anyin", - "anz": "Anem", - "aoa": "Angolar", - "aob": "Abom", - "aoc": "Pemon", - "aod": "Andarum", - "aoe": "Angal Enen", - "aof": "Bragat", - "aog": "Angoram", - "aoi": "Anindilyakwa", - "aoj": "Mufian", - "aok": "Arhö", - "aol": "Alor", - "aom": "Ömie", - "aon": "Bumbita Arapesh", - "aor": "Aore", - "aos": "Taikat", - "aot": "Atong (India)", - "aou": "A'ou", - "aox": "Atorada", - "aoz": "Uab Meto", - "apb": "Sa'a", - "apc": "North Levantine Arabic", - "apd": "Sudanese Arabic", - "ape": "Bukiyip", - "apf": "Pahanan Agta", - "apg": "Ampanang", - "aph": "Athpariya", - "api": "Apiaká", - "apj": "Jicarilla Apache", - "apk": "Kiowa Apache", - "apl": "Lipan Apache", - "apm": "Mescalero-Chiricahua Apache", - "apn": "Apinayé", - "apo": "Ambul", - "app": "Apma", - "apq": "A-Pucikwar", - "apr": "Arop-Lokep", - "aps": "Arop-Sissano", - "apt": "Apatani", - "apu": "Apurinã", - "apw": "Western Apache", - "apx": "Aputai", - "apy": "Apalaí", - "apz": "Safeyoka", - "aqc": "Archi", - "aqd": "Ampari Dogon", - "aqg": "Arigidi", - "aqk": "Aninka", - "aqm": "Atohwaim", - "aqn": "Northern Alta", - "aqp": "Atakapa", - "aqr": "Arhâ", - "aqt": "Angaité", - "aqz": "Akuntsu", - "arb": "Standard Arabic", - "arc": "Official Aramaic (700-300 BCE)", - "ard": "Arabana", - "are": "Western Arrarnta", - "arg": "Aragonese", - "arh": "Arhuaco", - "ari": "Arikara", - "arj": "Arapaso", - "ark": "Arikapú", - "arl": "Arabela", - "arn": "Mapudungun", - "aro": "Araona", - "arp": "Arapaho", - "arq": "Algerian Arabic", - "arr": "Karo (Brazil)", - "ars": "Najdi Arabic", - "aru": "Aruá (Amazonas State)", - "arv": "Arbore", - "arw": "Arawak", - "arx": "Aruá (Rodonia State)", - "ary": "Moroccan Arabic", - "arz": "Egyptian Arabic", - "asa": "Asu (Tanzania)", - "asb": "Assiniboine", - "asc": "Casuarina Coast Asmat", - "asg": "Cishingini", - "ash": "Abishira", - "asi": "Buruwai", - "asj": "Sari", - "ask": "Ashkun", - "asl": "Asilulu", - "asm": "Assamese", - "asn": "Xingú Asuriní", - "aso": "Dano", - "asr": "Asuri", - "ass": "Ipulo", - "ast": "Leonese", - "asu": "Tocantins Asurini", - "asv": "Asoa", - "asx": "Muratayak", - "asy": "Yaosakor Asmat", - "asz": "As", - "ata": "Pele-Ata", - "atb": "Zaiwa", - "atc": "Atsahuaca", - "atd": "Ata Manobo", - "ate": "Atemble", - "atg": "Ivbie North-Okpela-Arhe", - "ati": "Attié", - "atj": "Atikamekw", - "atk": "Ati", - "atl": "Mt. Iraya Agta", - "atm": "Ata", - "atn": "Ashtiani", - "ato": "Atong (Cameroon)", - "atp": "Pudtol Atta", - "atq": "Aralle-Tabulahan", - "atr": "Waimiri-Atroari", - "ats": "Gros Ventre", - "att": "Pamplona Atta", - "atu": "Reel", - "atv": "Northern Altai", - "atw": "Atsugewi", - "atx": "Arutani", - "aty": "Aneityum", - "atz": "Arta", - "aua": "Asumboa", - "aub": "Alugu", - "auc": "Waorani", - "aud": "Anuta", - "aug": "Aguna", - "auh": "Aushi", - "aui": "Anuki", - "auj": "Awjilah", - "auk": "Heyo", - "aul": "Aulua", - "aum": "Asu (Nigeria)", - "aun": "Molmo One", - "auo": "Auyokawa", - "aup": "Makayam", - "auq": "Korur", - "aur": "Aruek", - "aut": "Austral", - "auu": "Auye", - "auw": "Awyi", - "aux": "Aurá", - "auy": "Awiyaana", - "auz": "Uzbeki Arabic", - "ava": "Avaric", - "avb": "Avau", - "avd": "Alviri-Vidari", - "ave": "Avestan", - "avi": "Avikam", - "avl": "Eastern Egyptian Bedawi Arabic", - "avm": "Angkamuthi", - "avn": "Avatime", - "avs": "Aushiri", - "avt": "Au", - "avu": "Avokaya", - "avv": "Avá-Canoeiro", - "awa": "Awadhi", - "awb": "Awa (Papua New Guinea)", - "awc": "Cicipu", - "awe": "Awetí", - "awg": "Anguthimri", - "awh": "Awbono", - "awi": "Aekyom", - "awk": "Awabakal", - "awm": "Arawum", - "awn": "Awngi", - "awo": "Awak", - "awr": "Awera", - "aws": "South Awyu", - "awt": "Araweté", - "awu": "Central Awyu", - "awv": "Jair Awyu", - "aww": "Awun", - "awx": "Awara", - "awy": "Edera Awyu", - "axb": "Abipon", - "axg": "Mato Grosso Arára", - "axk": "Yaka (Central African Republic)", - "axl": "Lower Southern Aranda", - "axx": "Xârâgurè", - "aya": "Awar", - "ayb": "Ayizo Gbe", - "ayc": "Southern Aymara", - "ayd": "Ayabadhu", - "aye": "Ayere", - "ayg": "Ginyanga", - "ayh": "Hadrami Arabic", - "ayi": "Leyigha", - "ayk": "Akuku", - "ayl": "Libyan Arabic", - "ayn": "Sanaani Arabic", - "ayo": "Ayoreo", - "ayp": "North Mesopotamian Arabic", - "ayq": "Ayi (Papua New Guinea)", - "ayr": "Central Aymara", - "ayt": "Magbukun Ayta", - "ayu": "Ayu", - "ayz": "Mai Brat", - "aza": "Azha", - "azb": "South Azerbaijani", - "azd": "Eastern Durango Nahuatl", - "azg": "San Pedro Amuzgos Amuzgo", - "azj": "Azerbaijani", - "azm": "Ipalapa Amuzgo", - "azn": "Western Durango Nahuatl", - "azo": "Awing", - "azt": "Faire Atta", - "azz": "Highland Puebla Nahuatl", - "baa": "Babatana", - "bab": "Bainouk-Gunyuño", - "bac": "Badui", - "bae": "Baré", - "baf": "Nubaca", - "bag": "Tuki", - "bah": "Bahamas Creole English", - "baj": "Barakai", - "bak": "Bashkir", - "bam": "Bambara", - "ban": "Balinese", - "bao": "Waimaha", - "bap": "Bantawa", - "bar": "Bavarian", - "bas": "Basa (Cameroon)", - "bau": "Bada (Nigeria)", - "bav": "Vengo", - "baw": "Bambili-Bambui", - "bax": "Bamun", - "bay": "Batuley", - "bba": "Baatonum", - "bbb": "Barai", - "bbc": "Batak Toba", - "bbd": "Bau", - "bbe": "Bangba", - "bbf": "Baibai", - "bbg": "Barama", - "bbh": "Bugan", - "bbi": "Barombi", - "bbj": "Ghomálá'", - "bbk": "Babanki", - "bbl": "Bats", - "bbm": "Babango", - "bbn": "Uneapa", - "bbo": "Northern Bobo Madaré", - "bbp": "West Central Banda", - "bbq": "Bamali", - "bbr": "Girawa", - "bbs": "Bakpinka", - "bbt": "Mburku", - "bbu": "Kulung (Nigeria)", - "bbv": "Karnai", - "bbw": "Baba", - "bby": "Befang", - "bca": "Central Bai", - "bcc": "Southern Balochi", - "bcd": "North Babar", - "bce": "Bamenyam", - "bcf": "Bamu", - "bcg": "Baga Pokur", - "bch": "Bariai", - "bci": "Baoulé", - "bcj": "Bardi", - "bck": "Bunuba", - "bcl": "Central Bikol", - "bcm": "Bannoni", - "bcn": "Bali (Nigeria)", - "bco": "Kaluli", - "bcp": "Bali (Democratic Republic of Congo)", - "bcq": "Bench", - "bcr": "Babine", - "bcs": "Kohumono", - "bct": "Bendi", - "bcu": "Awad Bing", - "bcv": "Shoo-Minda-Nye", - "bcw": "Bana", - "bcy": "Bacama", - "bcz": "Bainouk-Gunyaamolo", - "bda": "Bayot", - "bdb": "Basap", - "bdc": "Emberá-Baudó", - "bdd": "Bunama", - "bde": "Bade", - "bdf": "Biage", - "bdg": "Bonggi", - "bdh": "Baka (South Sudan)", - "bdi": "Burun", - "bdj": "Bai (South Sudan)", - "bdk": "Budukh", - "bdl": "Indonesian Bajau", - "bdm": "Buduma", - "bdn": "Baldemu", - "bdo": "Morom", - "bdp": "Bende", - "bdq": "Bahnar", - "bdr": "West Coast Bajau", - "bds": "Burunge", - "bdt": "Bokoto", - "bdu": "Oroko", - "bdv": "Bodo Parja", - "bdw": "Baham", - "bdx": "Budong-Budong", - "bdy": "Bandjalang", - "bea": "Beaver", - "beb": "Bebele", - "bec": "Iceve-Maci", - "bed": "Bedoanas", - "bee": "Byangsi", - "bef": "Benabena", - "beg": "Belait", - "beh": "Biali", - "bei": "Bekati'", - "bej": "Beja", - "bek": "Bebeli", - "bel": "Belarusian", - "bem": "Bemba (Zambia)", - "ben": "Bengali", - "beo": "Beami", - "bep": "Besoa", - "beq": "Beembe", - "bes": "Besme", - "bet": "Guiberoua Béte", - "beu": "Blagar", - "bev": "Daloa Bété", - "bew": "Betawi", - "bex": "Jur Modo", - "bey": "Beli (Papua New Guinea)", - "bez": "Bena (Tanzania)", - "bfa": "Bari", - "bfb": "Pauri Bareli", - "bfc": "Panyi Bai", - "bfd": "Bafut", - "bfe": "Tena", - "bff": "Bofi", - "bfg": "Busang Kayan", - "bfh": "Blafe", - "bfj": "Bafanji", - "bfl": "Banda-Ndélé", - "bfm": "Mmen", - "bfn": "Bunak", - "bfo": "Malba Birifor", - "bfp": "Beba", - "bfq": "Badaga", - "bfs": "Southern Bai", - "bft": "Balti", - "bfu": "Gahri", - "bfw": "Bondo", - "bfx": "Bantayanon", - "bfy": "Bagheli", - "bfz": "Mahasu Pahari", - "bga": "Gwamhi-Wuri", - "bgb": "Bobongko", - "bgc": "Haryanvi", - "bgd": "Rathwi Bareli", - "bge": "Bauria", - "bgf": "Bangandu", - "bgg": "Bugun", - "bgi": "Giangan", - "bgj": "Bangolan", - "bgk": "Buxinhua", - "bgl": "Bo (Laos)", - "bgn": "Western Balochi", - "bgo": "Baga Koga", - "bgp": "Eastern Balochi", - "bgq": "Bagri", - "bgr": "Bawm Chin", - "bgs": "Tagabawa", - "bgt": "Bughotu", - "bgu": "Mbongno", - "bgv": "Warkay-Bipim", - "bgw": "Bhatri", - "bgx": "Balkan Gagauz Turkish", - "bgy": "Benggoi", - "bgz": "Banggai", - "bha": "Bharia", - "bhb": "Bhili", - "bhc": "Biga", - "bhd": "Bhadrawahi", - "bhe": "Bhaya", - "bhf": "Odiai", - "bhg": "Binandere", - "bhh": "Bukharic", - "bhi": "Bhilali", - "bhj": "Bahing", - "bhl": "Bimin", - "bhm": "Bathari", - "bhn": "Bohtan Neo-Aramaic", - "bho": "Bhojpuri", - "bhp": "Bima", - "bhq": "Tukang Besi South", - "bhr": "Bara Malagasy", - "bhs": "Buwal", - "bht": "Bhattiyali", - "bhu": "Bhunjia", - "bhv": "Bahau", - "bhw": "Biak", - "bhy": "Bhele", - "bhz": "Bada (Indonesia)", - "bia": "Badimaya", - "bib": "Bissa", - "bid": "Bidiyo", - "bie": "Bepour", - "bif": "Biafada", - "big": "Biangai", - "bil": "Bile", - "bim": "Bimoba", - "bin": "Edo", - "bio": "Nai", - "bip": "Bila", - "biq": "Bipi", - "bir": "Bisorio", - "bis": "Bislama", - "bit": "Berinomo", - "biu": "Biete", - "biv": "Southern Birifor", - "biw": "Kol (Cameroon)", - "bix": "Bijori", - "biy": "Birhor", - "biz": "Baloi", - "bja": "Budza", - "bjb": "Banggarla", - "bjc": "Bariji", - "bje": "Biao-Jiao Mien", - "bjf": "Barzani Jewish Neo-Aramaic", - "bjg": "Bidyogo", - "bjh": "Bahinemo", - "bji": "Burji", - "bjj": "Kanauji", - "bjk": "Barok", - "bjl": "Bulu (Papua New Guinea)", - "bjm": "Bajelani", - "bjn": "Banjar", - "bjo": "Mid-Southern Banda", - "bjr": "Binumarien", - "bjs": "Bajan", - "bjt": "Balanta-Ganja", - "bju": "Busuu", - "bjv": "Bedjond", - "bjw": "Bakwé", - "bjx": "Banao Itneg", - "bjy": "Bayali", - "bjz": "Baruga", - "bka": "Kyak", - "bkc": "Baka (Cameroon)", - "bkd": "Talaandig", - "bkf": "Beeke", - "bkh": "Bakoko", - "bki": "Baki", - "bkj": "Pande", - "bkk": "Brokskat", - "bkl": "Berik", - "bkm": "Kom (Cameroon)", - "bkn": "Bukitan", - "bko": "Kwa'", - "bkp": "Boko (Democratic Republic of Congo)", - "bkq": "Bakairí", - "bkr": "Bakumpai", - "bks": "Northern Sorsoganon", - "bkt": "Boloki", - "bku": "Buhid", - "bkv": "Bekwarra", - "bkw": "Bekwel", - "bkx": "Baikeno", - "bky": "Bokyi", - "bkz": "Bungku", - "bla": "Siksika", - "blb": "Bilua", - "blc": "Bella Coola", - "bld": "Bolango", - "ble": "Balanta-Kentohe", - "blf": "Buol", - "blh": "Kuwaa", - "bli": "Bolia", - "blj": "Bolongan", - "blk": "Pa'o Karen", - "bll": "Biloxi", - "blm": "Beli (South Sudan)", - "bln": "Southern Catanduanes Bikol", - "blo": "Anii", - "blp": "Blablanga", - "blq": "Baluan-Pam", - "blr": "Blang", - "bls": "Balaesang", - "blt": "Tai Dam", - "blv": "Kibala", - "blw": "Balangao", - "blx": "Mag-Indi Ayta", - "bly": "Notre", - "blz": "Balantak", - "bma": "Lame", - "bmb": "Bembe", - "bmc": "Biem", - "bmd": "Baga Manduri", - "bme": "Limassa", - "bmf": "Bom-Kim", - "bmg": "Bamwe", - "bmh": "Kein", - "bmi": "Bagirmi", - "bmj": "Bote-Majhi", - "bmk": "Ghayavi", - "bml": "Bomboli", - "bmm": "Northern Betsimisaraka Malagasy", - "bmn": "Bina (Papua New Guinea)", - "bmo": "Bambalang", - "bmp": "Bulgebi", - "bmq": "Bomu", - "bmr": "Muinane", - "bms": "Bilma Kanuri", - "bmt": "Biao Mon", - "bmu": "Somba-Siawari", - "bmv": "Bum", - "bmw": "Bomwali", - "bmx": "Baimak", - "bmz": "Baramu", - "bna": "Bonerate", - "bnb": "Bookan", - "bnc": "Bontok", - "bnd": "Banda (Indonesia)", - "bne": "Bintauna", - "bnf": "Masiwang", - "bng": "Benga", - "bni": "Bangi", - "bnj": "Eastern Tawbuid", - "bnk": "Bierebo", - "bnl": "Boon", - "bnm": "Batanga", - "bnn": "Bunun", - "bno": "Bantoanon", - "bnp": "Bola", - "bnq": "Bantik", - "bnr": "Butmas-Tur", - "bns": "Bundeli", - "bnu": "Bentong", - "bnv": "Edwas", - "bnw": "Bisis", - "bnx": "Bangubangu", - "bny": "Bintulu", - "bnz": "Beezen", - "boa": "Bora", - "bob": "Aweer", - "bod": "Tibetan", - "boe": "Mundabli", - "bof": "Bolon", - "boh": "Boma", - "boi": "Barbareño", - "boj": "Anjam", - "bok": "Bonjo", - "bol": "Bole", - "bom": "Berom", - "bon": "Bine", - "boo": "Tiemacèwè Bozo", - "bop": "Bonkiman", - "boq": "Bogaya", - "bor": "Borôro", - "bos": "Bosnian", - "bot": "Bongo", - "bou": "Bondei", - "bov": "Tuwuli", - "bow": "Rema", - "box": "Buamu", - "boy": "Bodo (Central African Republic)", - "boz": "Tiéyaxo Bozo", - "bpa": "Daakaka", - "bpd": "Banda-Banda", - "bpe": "Bauni", - "bpg": "Bonggo", - "bph": "Botlikh", - "bpi": "Bagupi", - "bpj": "Binji", - "bpk": "Orowe", - "bpm": "Biyom", - "bpn": "Dzao Min", - "bpp": "Kaure", - "bpq": "Banda Malay", - "bpr": "Koronadal Blaan", - "bps": "Sarangani Blaan", - "bpt": "Barrow Point", - "bpu": "Bongu", - "bpv": "Bian Marind", - "bpw": "Bo (Papua New Guinea)", - "bpx": "Palya Bareli", - "bpy": "Bishnupriya", - "bpz": "Bilba", - "bqa": "Tchumbuli", - "bqb": "Bagusa", - "bqc": "Boo", - "bqd": "Bung", - "bqg": "Bago-Kusuntu", - "bqh": "Baima", - "bqi": "Bakhtiari", - "bqj": "Bandial", - "bqk": "Banda-Mbrès", - "bql": "Bilakura", - "bqm": "Wumboko", - "bqo": "Balo", - "bqp": "Busa", - "bqq": "Biritai", - "bqr": "Burusu", - "bqs": "Bosngun", - "bqt": "Bamukumbit", - "bqu": "Boguru", - "bqv": "Koro Wachi", - "bqw": "Buru (Nigeria)", - "bqx": "Baangi", - "bqz": "Bakaka", - "bra": "Braj", - "brb": "Lave", - "brc": "Berbice Creole Dutch", - "brd": "Baraamu", - "bre": "Breton", - "brf": "Bira", - "brg": "Baure", - "brh": "Brahui", - "bri": "Mokpwe", - "brj": "Bieria", - "brk": "Birked", - "brl": "Birwa", - "brm": "Barambu", - "brn": "Boruca", - "bro": "Brokkat", - "brp": "Barapasi", - "brq": "Breri", - "brr": "Birao", - "brs": "Baras", - "brt": "Bitare", - "bru": "Eastern Bru", - "brv": "Western Bru", - "brw": "Bellari", - "brx": "Bodo (India)", - "bry": "Burui", - "brz": "Bilbil", - "bsa": "Abinomn", - "bsb": "Brunei Bisaya", - "bsc": "Oniyan", - "bse": "Wushi", - "bsf": "Bauchi", - "bsg": "Bashkardi", - "bsh": "Kati", - "bsi": "Bassossi", - "bsj": "Bangwinji", - "bsk": "Burushaski", - "bsl": "Basa-Gumna", - "bsm": "Busami", - "bsn": "Barasana-Eduria", - "bsp": "Baga Sitemu", - "bsq": "Bassa", - "bsr": "Bassa-Kontagora", - "bss": "Akoose", - "bst": "Basketo", - "bsu": "Bahonsuai", - "bsw": "Baiso", - "bsx": "Yangkam", - "bsy": "Sabah Bisaya", - "bta": "Bata", - "btc": "Bati (Cameroon)", - "btd": "Batak Dairi", - "bte": "Gamo-Ningi", - "btf": "Birgit", - "btg": "Gagnoa Bété", - "bth": "Biatah Bidayuh", - "bti": "Burate", - "btj": "Bacanese Malay", - "btm": "Batak Mandailing", - "btn": "Ratagnon", - "bto": "Rinconada Bikol", - "btp": "Budibud", - "btq": "Batek", - "btr": "Baetora", - "bts": "Batak Simalungun", - "btt": "Bete-Bendi", - "btu": "Batu", - "btv": "Bateri", - "btw": "Butuanon", - "btx": "Batak Karo", - "bty": "Bobot", - "btz": "Batak Alas-Kluet", - "bub": "Bua", - "buc": "Bushi", - "bud": "Ntcham", - "bue": "Beothuk", - "buf": "Bushoong", - "bug": "Buginese", - "buh": "Younuo Bunu", - "bui": "Bongili", - "buj": "Basa-Gurmana", - "buk": "Bugawac", - "bul": "Bulgarian", - "bum": "Bulu (Cameroon)", - "bun": "Sherbro", - "buo": "Terei", - "bup": "Busoa", - "buq": "Brem", - "bus": "Bokobaru", - "but": "Bungain", - "buu": "Budu", - "buv": "Bun", - "buw": "Bubi", - "bux": "Boghom", - "buy": "Bullom So", - "buz": "Bukwen", - "bva": "Barein", - "bvb": "Bube", - "bvc": "Baelelea", - "bvd": "Baeggu", - "bve": "Berau Malay", - "bvf": "Boor", - "bvg": "Bonkeng", - "bvh": "Bure", - "bvi": "Belanda Viri", - "bvj": "Baan", - "bvk": "Bukat", - "bvm": "Bamunka", - "bvn": "Buna", - "bvo": "Bolgo", - "bvq": "Birri", - "bvr": "Burarra", - "bvt": "Bati (Indonesia)", - "bvu": "Bukit Malay", - "bvv": "Baniva", - "bvw": "Boga", - "bvx": "Dibole", - "bvy": "Baybayanon", - "bvz": "Bauzi", - "bwa": "Bwatoo", - "bwb": "Namosi-Naitasiri-Serua", - "bwc": "Bwile", - "bwd": "Bwaidoka", - "bwe": "Bwe Karen", - "bwf": "Boselewa", - "bwg": "Barwe", - "bwh": "Bishuo", - "bwi": "Baniwa", - "bwj": "Láá Láá Bwamu", - "bwk": "Bauwaki", - "bwl": "Bwela", - "bwm": "Biwat", - "bwn": "Wunai Bunu", - "bwo": "Boro (Ethiopia)", - "bwp": "Mandobo Bawah", - "bwq": "Southern Bobo Madaré", - "bwr": "Bura-Pabir", - "bws": "Bomboma", - "bwt": "Bafaw-Balong", - "bwu": "Buli (Ghana)", - "bww": "Bwa", - "bwx": "Bu-Nao Bunu", - "bwy": "Cwi Bwamu", - "bwz": "Bwisi", - "bxa": "Tairaha", - "bxb": "Belanda Bor", - "bxc": "Molengue", - "bxd": "Pela", - "bxe": "Birale", - "bxf": "Minigir", - "bxg": "Bangala", - "bxh": "Buhutu", - "bxi": "Pirlatapa", - "bxj": "Bayungu", - "bxk": "Lubukusu", - "bxl": "Jalkunan", - "bxm": "Mongolia Buriat", - "bxn": "Burduna", - "bxp": "Bebil", - "bxq": "Beele", - "bxr": "Russia Buriat", - "bxs": "Busam", - "bxu": "China Buriat", - "bxv": "Berakou", - "bxw": "Bankagooma", - "bxz": "Binahari", - "bya": "Batak", - "byb": "Bikya", - "byc": "Ubaghara", - "byd": "Benyadu'", - "bye": "Pouye", - "byf": "Bete", - "byg": "Baygo", - "byh": "Bhujel", - "byi": "Buyu", - "byj": "Bina (Nigeria)", - "byk": "Biao", - "byl": "Bayono", - "bym": "Bidjara", - "byn": "Blin", - "byo": "Biyo", - "byp": "Bumaji", - "byq": "Basay", - "byr": "Yipma", - "bys": "Burak", - "byt": "Berti", - "byv": "Medumba", - "byw": "Belhariya", - "byx": "Qaqet", - "byz": "Banaro", - "bza": "Bandi", - "bzb": "Andio", - "bzc": "Southern Betsimisaraka Malagasy", - "bzd": "Bribri", - "bze": "Jenaama Bozo", - "bzf": "Boikin", - "bzg": "Babuza", - "bzh": "Mapos Buang", - "bzi": "Bisu", - "bzj": "Belize Kriol English", - "bzk": "Nicaragua Creole English", - "bzl": "Boano (Sulawesi)", - "bzm": "Bolondo", - "bzn": "Boano (Maluku)", - "bzo": "Bozaba", - "bzp": "Kemberano", - "bzq": "Buli (Indonesia)", - "bzr": "Biri", - "bzu": "Burmeso", - "bzv": "Naami", - "bzw": "Basa (Nigeria)", - "bzx": "Kɛlɛngaxo Bozo", - "bzy": "Obanliku", - "bzz": "Evant", - "caa": "Chortí", - "cab": "Garifuna", - "cac": "Chuj", - "cad": "Caddo", - "cae": "Lehar", - "caf": "Southern Carrier", - "cag": "Nivaclé", - "cah": "Cahuarano", - "caj": "Chané", - "cak": "Kaqchikel", - "cal": "Carolinian", - "cam": "Cemuhî", - "can": "Chambri", - "cao": "Chácobo", - "cap": "Chipaya", - "caq": "Car Nicobarese", - "car": "Galibi Carib", - "cas": "Tsimané", - "cat": "Valencian", - "cav": "Cavineña", - "cax": "Chiquitano", - "cay": "Cayuga", - "caz": "Canichana", - "cbb": "Cabiyarí", - "cbc": "Carapana", - "cbd": "Carijona", - "cbg": "Chimila", - "cbi": "Chachi", - "cbj": "Ede Cabe", - "cbk": "Chavacano", - "cbl": "Bualkhaw Chin", - "cbn": "Nyahkur", - "cbo": "Izora", - "cbq": "Tsucuba", - "cbr": "Cashibo-Cacataibo", - "cbs": "Cashinahua", - "cbt": "Chayahuita", - "cbu": "Candoshi-Shapra", - "cbv": "Cacua", - "cbw": "Kinabalian", - "ccc": "Chamicuro", - "ccd": "Cafundo Creole", - "cce": "Chopi", - "ccg": "Samba Daka", - "cch": "Atsam", - "ccj": "Kasanga", - "ccl": "Cutchi-Swahili", - "ccm": "Malaccan Creole Malay", - "cco": "Comaltepec Chinantec", - "ccp": "Chakma", - "ccr": "Cacaopera", - "cda": "Choni", - "cde": "Chenchu", - "cdf": "Chiru", - "cdh": "Chambeali", - "cdi": "Chodri", - "cdj": "Churahi", - "cdm": "Chepang", - "cdn": "Chaudangsi", - "cdo": "Min Dong Chinese", - "cdr": "Cinda-Regi-Tiyal", - "cdy": "Chadong", - "cdz": "Koda", - "cea": "Lower Chehalis", - "ceb": "Cebuano", - "ceg": "Chamacoco", - "cek": "Eastern Khumi Chin", - "cen": "Cen", - "ces": "Czech", - "cet": "Centúúm", - "cfa": "Dijim-Bwilim", - "cfd": "Cara", - "cfg": "Como Karim", - "cfm": "Falam Chin", - "cga": "Changriwa", - "cgc": "Kagayanen", - "cgg": "Chiga", - "cgk": "Chocangacakha", - "cha": "Chamorro", - "chb": "Chibcha", - "chc": "Catawba", - "chd": "Highland Oaxaca Chontal", - "che": "Chechen", - "chf": "Tabasco Chontal", - "chg": "Chagatai", - "chh": "Chinook", - "chj": "Ojitlán Chinantec", - "chk": "Chuukese", - "chl": "Cahuilla", - "chn": "Chinook jargon", - "cho": "Choctaw", - "chp": "Dene Suline", - "chq": "Quiotepec Chinantec", - "chr": "Cherokee", - "cht": "Cholón", - "chu": "Old Slavonic", - "chv": "Chuvash", - "chw": "Chuwabu", - "chx": "Chantyal", - "chy": "Cheyenne", - "chz": "Ozumacín Chinantec", - "cia": "Cia-Cia", - "cib": "Ci Gbe", - "cic": "Chickasaw", - "cid": "Chimariko", - "cie": "Cineni", - "cih": "Chinali", - "cik": "Chitkuli Kinnauri", - "cim": "Cimbrian", - "cin": "Cinta Larga", - "cip": "Chiapanec", - "cir": "Tiri", - "ciw": "Chippewa", - "ciy": "Chaima", - "cja": "Western Cham", - "cje": "Chru", - "cjh": "Upper Chehalis", - "cji": "Chamalal", - "cjk": "Chokwe", - "cjm": "Eastern Cham", - "cjn": "Chenapian", - "cjo": "Ashéninka Pajonal", - "cjp": "Cabécar", - "cjs": "Shor", - "cjv": "Chuave", - "cjy": "Jinyu Chinese", - "ckb": "Kurdish", - "ckh": "Chak", - "ckl": "Cibak", - "cko": "Anufo", - "ckq": "Kajakse", - "ckr": "Kairak", - "cks": "Tayo", - "ckt": "Chukot", - "cku": "Koasati", - "ckv": "Kavalan", - "ckx": "Caka", - "cky": "Cakfem-Mushere", - "cla": "Ron", - "clc": "Chilcotin", - "cld": "Chaldean Neo-Aramaic", - "cle": "Lealao Chinantec", - "clh": "Chilisso", - "cli": "Chakali", - "clk": "Idu-Mishmi", - "cll": "Chala", - "clm": "Clallam", - "clo": "Lowland Oaxaca Chontal", - "clt": "Lautu Chin", - "clu": "Caluyanun", - "clw": "Chulym", - "cly": "Eastern Highland Chatino", - "cma": "Maa", - "cme": "Cerma", - "cmi": "Emberá-Chamí", - "cml": "Campalagian", - "cmn": "Mandarin Chinese", - "cmo": "Central Mnong", - "cmr": "Mro-Khimi Chin", - "cms": "Messapic", - "cna": "Changthang", - "cnb": "Chinbon Chin", - "cnc": "Côông", - "cng": "Northern Qiang", - "cnh": "Hakha Chin", - "cni": "Asháninka", - "cnk": "Khumi Chin", - "cnl": "Lalana Chinantec", - "cnp": "Northern Pinghua", - "cns": "Central Asmat", - "cnt": "Tepetotutla Chinantec", - "cnu": "Chenoua", - "cnw": "Ngawn Chin", - "coa": "Cocos Islands Malay", - "cob": "Chicomuceltec", - "coc": "Cocopa", - "cod": "Cocama-Cocamilla", - "coe": "Koreguaje", - "cof": "Colorado", - "cog": "Chong", - "coh": "Chonyi-Dzihana-Kauma", - "coj": "Cochimi", - "cok": "Santa Teresa Cora", - "col": "Columbia-Wenatchi", - "com": "Comanche", - "con": "Cofán", - "coo": "Comox", - "cop": "Coptic", - "coq": "Coquille", - "cor": "Cornish", - "cos": "Corsican", - "cot": "Caquinte", - "cou": "Wamey", - "cov": "Cao Miao", - "cow": "Cowlitz", - "cox": "Nanti", - "coz": "Chochotec", - "cpa": "Palantla Chinantec", - "cpb": "Ucayali-Yurúa Ashéninka", - "cpc": "Ajyíninka Apurucayali", - "cpg": "Cappadocian Greek", - "cpn": "Cherepon", - "cpo": "Kpeego", - "cps": "Capiznon", - "cpu": "Pichis Ashéninka", - "cpx": "Pu-Xian Chinese", - "cpy": "South Ucayali Ashéninka", - "cra": "Chara", - "crb": "Island Carib", - "crc": "Lonwolwol", - "crd": "Coeur d'Alene", - "crf": "Caramanta", - "crg": "Michif", - "crh": "Crimean Turkish", - "cri": "Sãotomense", - "crj": "Southern East Cree", - "crk": "Plains Cree", - "crl": "Northern East Cree", - "crm": "Moose Cree", - "crn": "El Nayar Cora", - "cro": "Crow", - "crq": "Iyo'wujwa Chorote", - "crr": "Carolina Algonquian", - "crs": "Seselwa Creole French", - "crt": "Iyojwa'ja Chorote", - "crv": "Chaura", - "crw": "Chrau", - "crx": "Carrier", - "cry": "Cori", - "crz": "Cruzeño", - "csa": "Chiltepec Chinantec", - "csb": "Kashubian", - "csh": "Asho Chin", - "csi": "Coast Miwok", - "csk": "Jola-Kasa", - "csm": "Central Sierra Miwok", - "cso": "Sochiapan Chinantec", - "csp": "Southern Pinghua", - "css": "Southern Ohlone", - "cst": "Northern Ohlone", - "csv": "Sumtu Chin", - "csw": "Swampy Cree", - "csy": "Siyin Chin", - "csz": "Coos", - "cta": "Tataltepec Chatino", - "ctd": "Tedim Chin", - "cte": "Tepinapa Chinantec", - "ctg": "Chittagonian", - "ctl": "Tlacoatzintepec Chinantec", - "ctm": "Chitimacha", - "ctn": "Chhintange", - "cto": "Emberá-Catío", - "ctp": "Western Highland Chatino", - "cts": "Northern Catanduanes Bikol", - "ctt": "Wayanad Chetti", - "ctu": "Chol", - "ctz": "Zacatepec Chatino", - "cua": "Cua", - "cub": "Cubeo", - "cuc": "Usila Chinantec", - "cuh": "Gichuka", - "cui": "Cuiba", - "cuj": "Mashco Piro", - "cuk": "San Blas Kuna", - "cul": "Kulina", - "cuo": "Cumanagoto", - "cup": "Cupeño", - "cuq": "Cun", - "cur": "Chhulung", - "cut": "Teutila Cuicatec", - "cuu": "Tai Ya", - "cuv": "Cuvok", - "cuw": "Chukwa", - "cux": "Tepeuxila Cuicatec", - "cuy": "Cuitlatec", - "cvg": "Chug", - "cvn": "Valle Nacional Chinantec", - "cwa": "Kabwa", - "cwb": "Maindo", - "cwd": "Woods Cree", - "cwe": "Kwere", - "cwg": "Chewong", - "cwt": "Kuwaataay", - "cya": "Nopala Chatino", - "cyb": "Cayubaba", - "cym": "Welsh", - "cyo": "Cuyonon", - "czh": "Huizhou Chinese", - "czn": "Zenzontepec Chatino", - "czo": "Min Zhong Chinese", - "czt": "Zotung Chin", - "daa": "Dangaléat", - "dac": "Dambi", - "dad": "Marik", - "dae": "Duupa", - "dag": "Dagbani", - "dah": "Gwahatike", - "dai": "Day", - "daj": "Dar Fur Daju", - "dak": "Dakota", - "dal": "Dahalo", - "dam": "Damakawa", - "dan": "Danish", - "dao": "Daai Chin", - "daq": "Dandami Maria", - "dar": "Dargwa", - "das": "Daho-Doo", - "dau": "Dar Sila Daju", - "dav": "Taita", - "daw": "Davawenyo", - "dax": "Dayi", - "daz": "Dao", - "dba": "Bangime", - "dbb": "Deno", - "dbd": "Dadiya", - "dbe": "Dabe", - "dbf": "Edopi", - "dbg": "Dogul Dom Dogon", - "dbi": "Doka", - "dbj": "Ida'an", - "dbl": "Dyirbal", - "dbm": "Duguri", - "dbn": "Duriankere", - "dbo": "Dulbu", - "dbp": "Duwai", - "dbq": "Daba", - "dbr": "Dabarre", - "dbt": "Ben Tey Dogon", - "dbu": "Bondum Dom Dogon", - "dbw": "Bankan Tey Dogon", - "dby": "Dibiyaso", - "dcc": "Deccan", - "dcr": "Negerhollands", - "ddd": "Dongotono", - "dde": "Doondo", - "ddg": "Fataluku", - "ddi": "West Goodenough", - "ddj": "Jaru", - "ddn": "Dendi (Benin)", - "ddo": "Dido", - "ddr": "Dhudhuroa", - "dds": "Donno So Dogon", - "ddw": "Dawera-Daweloor", - "dec": "Dagik", - "ded": "Dedua", - "dee": "Dewoin", - "def": "Dezfuli", - "deg": "Degema", - "deh": "Dehwari", - "dei": "Demisa", - "dem": "Dem", - "deq": "Dendi (Central African Republic)", - "der": "Deori", - "des": "Desano", - "deu": "German", - "dev": "Domung", - "dez": "Dengese", - "dga": "Southern Dagaare", - "dgb": "Bunoge Dogon", - "dgc": "Casiguran Dumagat Agta", - "dgd": "Dagaari Dioula", - "dge": "Degenan", - "dgg": "Doga", - "dgh": "Dghwede", - "dgi": "Northern Dagara", - "dgk": "Dagba", - "dgl": "Dongolawi", - "dgn": "Dagoman", - "dgo": "Dogri", - "dgr": "Tłı̨chǫ", - "dgs": "Dogoso", - "dgw": "Daungwurrung", - "dgx": "Doghoro", - "dgz": "Daga", - "dhd": "Dhundari", - "dhg": "Djangu", - "dhi": "Dhimal", - "dhl": "Dhalandji", - "dhm": "Zemba", - "dhn": "Dhanki", - "dho": "Dhodia", - "dhr": "Dhargari", - "dhs": "Dhaiso", - "dhu": "Dhurga", - "dhv": "Drehu", - "dhw": "Dhanwar (Nepal)", - "dia": "Dia", - "dib": "South Central Dinka", - "dic": "Lakota Dida", - "did": "Didinga", - "dif": "Diyari", - "dig": "Digo", - "dih": "Kumiai", - "dii": "Dimbong", - "dij": "Dai", - "dik": "Southwestern Dinka", - "dil": "Dilling", - "dim": "Dime", - "dio": "Dibo", - "dip": "Northeastern Dinka", - "diq": "Dimli", - "dir": "Dirim", - "dis": "Dimasa", - "diu": "Diriku", - "div": "Maldivian", - "diw": "Northwestern Dinka", - "dix": "Dixon Reef", - "diy": "Diuwe", - "diz": "Ding", - "djb": "Djinba", - "djc": "Dar Daju Daju", - "djd": "Ngaliwurru", - "dje": "Zarma", - "djf": "Djangun", - "dji": "Djinang", - "djj": "Djeebbana", - "djk": "Nenge", - "djm": "Jamsay Dogon", - "djn": "Jawoyn", - "djo": "Jangkang", - "djr": "Djambarrpuyngu", - "dju": "Kapriman", - "djw": "Djawi", - "dka": "Dakpakha", - "dkk": "Dakka", - "dkr": "Kuijau", - "dks": "Southeastern Dinka", - "dkx": "Mazagway", - "dlg": "Dolgan", - "dlk": "Dahalik", - "dlm": "Dalmatian", - "dln": "Darlong", - "dma": "Duma", - "dmb": "Mombo Dogon", - "dmc": "Gavak", - "dmd": "Madhi Madhi", - "dme": "Dugwor", - "dmg": "Upper Kinabatangan", - "dmk": "Domaaki", - "dml": "Dameli", - "dmm": "Dama", - "dmo": "Kemedzung", - "dmr": "East Damar", - "dms": "Dampelas", - "dmu": "Tebi", - "dmv": "Dumpas", - "dmx": "Dema", - "dmy": "Sowari", - "dna": "Upper Grand Valley Dani", - "dnd": "Daonda", - "dne": "Ndendeule", - "dng": "Dungan", - "dni": "Lower Grand Valley Dani", - "dnj": "Dan", - "dnk": "Dengka", - "dnn": "Dzùùngoo", - "dno": "Northern Lendu", - "dnr": "Danaru", - "dnt": "Mid Grand Valley Dani", - "dnu": "Danau", - "dnw": "Western Dani", - "dny": "Dení", - "doa": "Dom", - "dob": "Dobu", - "doc": "Northern Dong", - "doe": "Doe", - "dof": "Domu", - "doh": "Dong", - "dok": "Dondo", - "dol": "Doso", - "don": "Toura (Papua New Guinea)", - "doo": "Dongo", - "dop": "Lukpa", - "dor": "Dori'o", - "dos": "Dogosé", - "dot": "Dass", - "dov": "Dombe", - "dow": "Doyayo", - "dox": "Bussa", - "doy": "Dompo", - "doz": "Dorze", - "dpp": "Papar", - "drb": "Dair", - "drc": "Minderico", - "drd": "Darmiya", - "dre": "Dolpo", - "drg": "Rungus", - "dri": "C'Lela", - "drl": "Paakantyi", - "drn": "West Damar", - "dro": "Daro-Matu Melanau", - "drq": "Dura", - "drs": "Gedeo", - "drt": "Drents", - "dru": "Rukai", - "dry": "Darai", - "dsb": "Lower Sorbian", - "dsh": "Daasanach", - "dsi": "Disa", - "dsn": "Dusner", - "dsq": "Tadaksahak", - "dta": "Daur", - "dtb": "Labuk-Kinabatangan Kadazan", - "dtd": "Ditidaht", - "dth": "Adithinngithigh", - "dti": "Ana Tinga Dogon", - "dtk": "Tene Kan Dogon", - "dtm": "Tomo Kan Dogon", - "dtn": "Daatsʼíin", - "dto": "Tommo So Dogon", - "dtp": "Kadazan Dusun", - "dtr": "Lotud", - "dts": "Toro So Dogon", - "dtt": "Toro Tegu Dogon", - "dtu": "Tebul Ure Dogon", - "dty": "Dotyali", - "dua": "Duala", - "dub": "Dubli", - "duc": "Duna", - "due": "Umiray Dumaget Agta", - "duf": "Dumbea", - "dug": "Duruma", - "duh": "Dungra Bhil", - "dui": "Dumun", - "duk": "Uyajitaya", - "dul": "Alabat Island Agta", - "dum": "Middle Dutch (ca. 1050-1350)", - "dun": "Dusun Deyah", - "duo": "Dupaninan Agta", - "dup": "Duano", - "duq": "Dusun Malang", - "dur": "Dii", - "dus": "Dumi", - "duu": "Drung", - "duv": "Duvle", - "duw": "Dusun Witu", - "dux": "Duungooma", - "duy": "Dicamay Agta", - "duz": "Duli-Gey", - "dva": "Duau", - "dwa": "Diri", - "dwr": "Dawro", - "dww": "Dawawa", - "dwz": "Dewas Rai", - "dya": "Dyan", - "dyb": "Dyaberdyaber", - "dyd": "Dyugun", - "dyi": "Djimini Senoufo", - "dym": "Yanda Dom Dogon", - "dyn": "Dyangadi", - "dyo": "Jola-Fonyi", - "dyu": "Dyula", - "dyy": "Dyaabugay", - "dza": "Tunzu", - "dze": "Djiwarli", - "dzg": "Dazaga", - "dzl": "Dzalakha", - "dzn": "Dzando", - "dzo": "Dzongkha", - "ebg": "Ebughu", - "ebo": "Teke-Ebo", - "ebr": "Ebrié", - "ebu": "Kiembu", - "eee": "E", - "efa": "Efai", - "efe": "Efe", - "efi": "Efik", - "ega": "Ega", - "egl": "Emilian", - "ego": "Eggon", - "egy": "Egyptian (Ancient)", - "ehu": "Ehueun", - "eip": "Eipomek", - "eit": "Eitiep", - "eiv": "Askopan", - "eja": "Ejamat", - "eka": "Ekajuk", - "eke": "Ekit", - "ekg": "Ekari", - "eki": "Eki", - "ekk": "Estonian", - "ekl": "Kol (Bangladesh)", - "ekm": "Elip", - "eko": "Koti", - "ekp": "Ekpeye", - "ekr": "Yace", - "eky": "Eastern Kayah", - "ele": "Elepi", - "elh": "El Hugeirat", - "eli": "Nding", - "elk": "Elkei", - "ell": "Greek", - "elm": "Eleme", - "elo": "El Molo", - "elu": "Elu", - "elx": "Elamite", - "ema": "Emai-Iuleha-Ora", - "emb": "Embaloh", - "eme": "Emerillon", - "emg": "Eastern Meohang", - "emi": "Mussau-Emira", - "emk": "Eastern Maninkakan", - "emn": "Eman", - "emp": "Northern Emberá", - "emq": "Eastern Minyag", - "ems": "Pacific Gulf Yupik", - "emu": "Eastern Muria", - "emw": "Emplawas", - "emy": "Epigraphic Mayan", - "emz": "Mbessa", - "ena": "Apali", - "enb": "Markweeta", - "enc": "En", - "end": "Ende", - "enf": "Forest Enets", - "eng": "English", - "enh": "Tundra Enets", - "enl": "Enlhet", - "enm": "Middle English (1100-1500)", - "enn": "Engenni", - "eno": "Enggano", - "enq": "Enga", - "enr": "Emumu", - "enu": "Enu", - "env": "Enwan (Edu State)", - "enw": "Enwan (Akwa Ibom State)", - "enx": "Enxet", - "eot": "Beti (Côte d'Ivoire)", - "epi": "Epie", - "era": "Eravallan", - "erg": "Sie", - "erh": "Eruwa", - "eri": "Ogea", - "erk": "South Efate", - "ero": "Horpa", - "err": "Erre", - "ers": "Ersu", - "ert": "Eritai", - "erw": "Erokwanas", - "ese": "Ese Ejja", - "esh": "Eshtehardi", - "esi": "North Alaskan Inupiatun", - "esk": "Northwest Alaska Inupiatun", - "esq": "Esselen", - "ess": "Central Siberian Yupik", - "esu": "Central Yupik", - "etb": "Etebi", - "etn": "Eton (Vanuatu)", - "eto": "Eton (Cameroon)", - "etr": "Edolo", - "ets": "Yekhee", - "ett": "Etruscan", - "etu": "Ejagham", - "etx": "Eten", - "etz": "Semimi", - "eus": "Basque", - "eve": "Even", - "evh": "Uvbie", - "evn": "Evenki", - "ewe": "Ewe", - "ewo": "Ewondo", - "ext": "Extremaduran", - "eya": "Eyak", - "eyo": "Keiyo", - "eze": "Uzekwe", - "faa": "Fasu", - "fab": "Fa d'Ambu", - "fad": "Wagi", - "faf": "Fagani", - "fag": "Finongan", - "fah": "Baissa Fali", - "fai": "Faiwol", - "faj": "Faita", - "fak": "Fang (Cameroon)", - "fal": "South Fali", - "fam": "Fam", - "fan": "Fang (Equatorial Guinea)", - "fao": "Faroese", - "fap": "Paloor", - "far": "Fataleka", - "fau": "Fayu", - "fax": "Fala", - "fay": "Southwestern Fars", - "fer": "Feroge", - "ffm": "Maasina Fulfulde", - "fgr": "Fongoro", - "fia": "Nobiin", - "fie": "Fyer", - "fif": "Faifi", - "fij": "Fijian", - "fil": "Pilipino", - "fin": "Finnish", - "fip": "Fipa", - "fir": "Firan", - "fit": "Tornedalen Finnish", - "fiw": "Fiwaga", - "fkk": "Kirya-Konzəl", - "fkv": "Kven Finnish", - "fla": "Kalispel-Pend d'Oreille", - "flh": "Foau", - "fli": "Fali", - "fll": "North Fali", - "fln": "Flinders Island", - "flr": "Fuliiru", - "fmp": "Fe'fe'", - "fmu": "Far Western Muria", - "fnb": "Fanbak", - "fni": "Fania", - "fod": "Foodo", - "foi": "Foi", - "fon": "Fon", - "for": "Fore", - "fos": "Siraya", - "fpe": "Fernando Po Creole English", - "fqs": "Fas", - "fra": "French", - "frc": "Cajun French", - "frd": "Fordata", - "frk": "Frankish", - "fro": "Old French (842-ca. 1400)", - "frp": "Francoprovençal", - "frq": "Forak", - "frr": "Northern Frisian", - "frs": "Eastern Frisian", - "frt": "Fortsenal", - "fry": "Western Frisian", - "fss": "suomenruotsalainen viittomakieli", - "fub": "Adamawa Fulfulde", - "fuc": "Pulaar", - "fud": "East Futuna", - "fue": "Borgu Fulfulde", - "fuf": "Pular", - "fuh": "Western Niger Fulfulde", - "fui": "Bagirmi Fulfulde", - "fuj": "Ko", - "fun": "Fulniô", - "fuq": "Central-Eastern Niger Fulfulde", - "fur": "Friulian", - "fut": "Futuna-Aniwa", - "fuu": "Furu", - "fuv": "Nigerian Fulfulde", - "fuy": "Fuyug", - "fvr": "Fur", - "fwa": "Fwâi", - "fwe": "Fwe", - "gaa": "Ga", - "gab": "Gabri", - "gac": "Mixed Great Andamanese", - "gad": "Gaddang", - "gae": "Guarequena", - "gaf": "Gende", - "gag": "Gagauz", - "gah": "Alekano", - "gai": "Borei", - "gaj": "Gadsup", - "gak": "Gamkonora", - "gal": "Galolen", - "gam": "Kandawo", - "gan": "Gan Chinese", - "gao": "Gants", - "gap": "Gal", - "gaq": "Gata'", - "gar": "Galeya", - "gas": "Adiwasi Garasia", - "gat": "Kenati", - "gau": "Mudhili Gadaba", - "gaw": "Nobonob", - "gax": "Borana-Arsi-Guji Oromo", - "gay": "Gayo", - "gaz": "Oromo", - "gbb": "Kaytetye", - "gbd": "Karajarri", - "gbe": "Niksek", - "gbf": "Gaikundi", - "gbg": "Gbanziri", - "gbh": "Defi Gbe", - "gbi": "Galela", - "gbj": "Bodo Gadaba", - "gbk": "Gaddi", - "gbl": "Gamit", - "gbm": "Garhwali", - "gbn": "Mo'da", - "gbo": "Northern Grebo", - "gbp": "Gbaya-Bossangoa", - "gbq": "Gbaya-Bozoum", - "gbr": "Gbagyi", - "gbs": "Gbesi Gbe", - "gbu": "Gagadu", - "gbv": "Gbanu", - "gbw": "Gabi-Gabi", - "gbx": "Eastern Xwla Gbe", - "gby": "Gbari", - "gbz": "Zoroastrian Dari", - "gcc": "Mali", - "gcd": "Ganggalida", - "gce": "Galice", - "gcf": "Guadeloupean Creole French", - "gcl": "Grenadian Creole English", - "gcn": "Gaina", - "gcr": "Guianese Creole French", - "gct": "Colonia Tovar German", - "gda": "Gade Lohar", - "gdb": "Pottangi Ollar Gadaba", - "gdc": "Gugu Badhun", - "gdd": "Gedaged", - "gde": "Gude", - "gdf": "Guduf-Gava", - "gdg": "Ga'dang", - "gdh": "Gajirrabeng", - "gdi": "Gundi", - "gdj": "Gurdjar", - "gdk": "Gadang", - "gdl": "Dirasha", - "gdm": "Laal", - "gdn": "Umanakaina", - "gdo": "Ghodoberi", - "gdq": "Mehri", - "gdr": "Wipi", - "gdu": "Gudu", - "gdx": "Godwari", - "gea": "Geruma", - "geb": "Kire", - "gec": "Gboloo Grebo", - "ged": "Gade", - "geh": "Hutterite German", - "gei": "Gebe", - "gej": "Gen", - "gek": "Ywom", - "gel": "ut-Ma'in", - "geq": "Geme", - "ges": "Geser-Gorom", - "gev": "Eviya", - "gew": "Gera", - "gex": "Garre", - "gey": "Enya", - "gez": "Geez", - "gfk": "Patpatar", - "gft": "Gafat", - "gga": "Gao", - "ggb": "Gbii", - "ggd": "Gugadj", - "gge": "Gurr-goni", - "ggg": "Gurgula", - "ggk": "Kungarakany", - "ggl": "Ganglau", - "ggt": "Gitua", - "ggu": "Gban", - "ggw": "Gogodala", - "gha": "Ghadamès", - "ghc": "Hiberno-Scottish Gaelic", - "ghe": "Southern Ghale", - "ghh": "Northern Ghale", - "ghk": "Geko Karen", - "ghl": "Ghulfan", - "ghn": "Ghanongga", - "gho": "Ghomara", - "ghr": "Ghera", - "ghs": "Guhu-Samane", - "ght": "Kutang Ghale", - "gia": "Kija", - "gid": "Gidar", - "gie": "Guébie", - "gig": "Goaria", - "gih": "Githabul", - "gii": "Girirra", - "gil": "Gilbertese", - "gim": "Gimi (Eastern Highlands)", - "gin": "Hinukh", - "gip": "Gimi (West New Britain)", - "giq": "Green Gelao", - "gir": "Red Gelao", - "gis": "North Giziga", - "git": "Gitxsan", - "giu": "Mulao", - "giw": "White Gelao", - "gix": "Gilima", - "giz": "South Giziga", - "gjk": "Kachi Koli", - "gjm": "Gunditjmara", - "gjn": "Gonja", - "gju": "Gujari", - "gka": "Guya", - "gkd": "Magɨ (Madang Province)", - "gke": "Ndai", - "gkn": "Gokana", - "gko": "Kok-Nar", - "gkp": "Guinea Kpelle", - "gku": "ǂUngkue", - "gla": "Scottish Gaelic", - "glb": "Belning", - "glc": "Bon Gula", - "gld": "Nanai", - "gle": "Irish", - "glg": "Galician", - "glh": "Northwest Pashayi", - "glj": "Gula Iro", - "glk": "Gilaki", - "gll": "Garlali", - "glo": "Galambu", - "glr": "Glaro-Twabo", - "glu": "Gula (Chad)", - "glv": "Manx", - "glw": "Glavda", - "gly": "Gule", - "gma": "Gambera", - "gmb": "Gula'alaa", - "gmd": "Mághdì", - "gmg": "Magɨyi", - "gmh": "Middle High German (ca. 1050-1500)", - "gml": "Middle Low German", - "gmm": "Gbaya-Mbodomo", - "gmn": "Gimnime", - "gmu": "Gumalu", - "gmv": "Gamo", - "gmx": "Magoma", - "gmy": "Mycenaean Greek", - "gna": "Kaansa", - "gnb": "Gangte", - "gnc": "Guanche", - "gnd": "Zulgo-Gemzek", - "gne": "Ganang", - "gng": "Ngangam", - "gnh": "Lere", - "gni": "Gooniyandi", - "gnj": "Ngen", - "gnk": "ǁGana", - "gnl": "Gangulu", - "gnm": "Ginuman", - "gnn": "Gumatj", - "gno": "Northern Gondi", - "gnq": "Gana", - "gnr": "Gureng Gureng", - "gnt": "Guntai", - "gnu": "Gnau", - "gnw": "Western Bolivian Guaraní", - "gnz": "Ganzi", - "goa": "Guro", - "gob": "Playero", - "goc": "Gorakor", - "god": "Godié", - "goe": "Gongduk", - "gof": "Gofa", - "gog": "Gogo", - "goh": "Old High German (ca. 750-1050)", - "goi": "Gobasi", - "gol": "Gola", - "gom": "Goan Konkani", - "goo": "Gone Dau", - "gop": "Yeretuar", - "goq": "Gorap", - "gor": "Gorontalo", - "gos": "Gronings", - "got": "Gothic", - "gou": "Gavar", - "gow": "Gorowa", - "gox": "Gobu", - "goy": "Goundo", - "goz": "Gozarkhani", - "gpa": "Gupa-Abawa", - "gpe": "Ghanaian Pidgin English", - "gpn": "Taiap", - "gqa": "Ga'anda", - "gqi": "Guiqiong", - "gqn": "Guana (Brazil)", - "gqr": "Gor", - "gqu": "Qau", - "gra": "Rajput Garasia", - "grc": "Ancient Greek", - "grd": "Guruntum-Mbaaru", - "grg": "Madi", - "grh": "Gbiri-Niragu", - "gri": "Ghari", - "grj": "Southern Grebo", - "grm": "Kota Marudu Talantang", - "gro": "Groma", - "grq": "Gorovu", - "grr": "Taznatit", - "grs": "Gresi", - "grt": "Garo", - "gru": "Kistane", - "grv": "Central Grebo", - "grw": "Gweda", - "grx": "Guriaso", - "gry": "Barclayville Grebo", - "grz": "Guramalum", - "gsl": "Gusilay", - "gsn": "Nema", - "gso": "Southwest Gbaya", - "gsp": "Wasembo", - "gsw": "Swiss German", - "gta": "Guató", - "gua": "Shiki", - "gub": "Guajajára", - "guc": "Wayuu", - "gud": "Yocoboué Dida", - "gue": "Gurindji", - "guf": "Gupapuyngu", - "gug": "Paraguayan Guaraní", - "guh": "Guahibo", - "gui": "Eastern Bolivian Guaraní", - "guj": "Gujarati", - "guk": "Gumuz", - "gul": "Sea Island Creole English", - "gum": "Guambiano", - "gun": "Mbyá Guaraní", - "guo": "Guayabero", - "gup": "Gunwinggu", - "guq": "Aché", - "gur": "Farefare", - "gut": "Maléku Jaíka", - "guu": "Yanomamö", - "guw": "Gun", - "gux": "Gourmanchéma", - "guz": "Gusii", - "gva": "Guana (Paraguay)", - "gvc": "Guanano", - "gve": "Duwet", - "gvf": "Golin", - "gvj": "Guajá", - "gvl": "Gulay", - "gvm": "Gurmana", - "gvn": "Kuku-Yalanji", - "gvo": "Gavião Do Jiparaná", - "gvp": "Pará Gavião", - "gvr": "Gurung", - "gvs": "Gumawana", - "gvy": "Guyani", - "gwa": "Mbato", - "gwb": "Gwa", - "gwc": "Kalami", - "gwd": "Gawwada", - "gwe": "Gweno", - "gwf": "Gowro", - "gwg": "Moo", - "gwi": "Gwichʼin", - "gwj": "ǀGwi", - "gwm": "Awngthim", - "gwn": "Gwandara", - "gwr": "Gwere", - "gwt": "Gawar-Bati", - "gwu": "Guwamu", - "gww": "Kwini", - "gwx": "Gua", - "gxx": "Wè Southern", - "gya": "Northwest Gbaya", - "gyb": "Garus", - "gyd": "Kayardild", - "gye": "Gyem", - "gyf": "Gungabula", - "gyg": "Gbayi", - "gyi": "Gyele", - "gyl": "Gayil", - "gym": "Ngäbere", - "gyn": "Guyanese Creole English", - "gyo": "Gyalsumdo", - "gyr": "Guarayu", - "gyy": "Gunya", - "gyz": "Gyaazi", - "gza": "Ganza", - "gzi": "Gazi", - "gzn": "Gane", - "haa": "Han", - "hac": "Gurani", - "had": "Hatam", - "hae": "Eastern Oromo", - "hag": "Hanga", - "hah": "Hahon", - "haj": "Hajong", - "hak": "Hakka Chinese", - "hal": "Halang", - "ham": "Hewa", - "han": "Hangaza", - "hao": "Hakö", - "hap": "Hupla", - "haq": "Ha", - "har": "Harari", - "has": "Haisla", - "hat": "Haitian Creole", - "hau": "Hausa", - "hav": "Havu", - "haw": "Hawaiian", - "hax": "Southern Haida", - "hay": "Haya", - "haz": "Hazaragi", - "hba": "Hamba", - "hbb": "Huba", - "hbn": "Heiban", - "hbo": "Ancient Hebrew", - "hbs": "Serbo-Croatian", - "hbu": "Habu", - "hca": "Andaman Creole Hindi", - "hch": "Huichol", - "hdn": "Northern Haida", - "hdy": "Hadiyya", - "hea": "Northern Qiandong Miao", - "heb": "Hebrew", - "hed": "Herdé", - "heg": "Helong", - "heh": "Hehe", - "hei": "Heiltsuk", - "hem": "Hemba", - "her": "Herero", - "hgm": "Haiǁom", - "hgw": "Haigwai", - "hhi": "Hoia Hoia", - "hhr": "Kerak", - "hhy": "Hoyahoya", - "hia": "Lamang", - "hib": "Hibito", - "hid": "Hidatsa", - "hif": "Fiji Hindi", - "hig": "Kamwe", - "hih": "Pamosu", - "hii": "Hinduri", - "hij": "Hijuk", - "hik": "Seit-Kaitetu", - "hil": "Hiligaynon", - "hin": "Hindi", - "hio": "Tsoa", - "hit": "Hittite", - "hiw": "Hiw", - "hix": "Hixkaryána", - "hji": "Haji", - "hka": "Kahe", - "hke": "Hunde", - "hkh": "Poguli", - "hkk": "Hunjara-Kaina Ke", - "hla": "Halia", - "hlb": "Halbi", - "hld": "Halang Doan", - "hle": "Hlersu", - "hlt": "Matu Chin", - "hlu": "Hieroglyphic Luwian", - "hma": "Southern Mashan Miao", - "hmb": "Humburi Senni Songhay", - "hmc": "Central Huishui Miao", - "hmd": "Large Flowery Miao", - "hme": "Eastern Huishui Miao", - "hmf": "Hmong Don", - "hmg": "Southwestern Guiyang Hmong", - "hmh": "Southwestern Huishui Miao", - "hmi": "Northern Huishui Miao", - "hmj": "Gejia", - "hml": "Luopohe Miao", - "hmm": "Central Mashan Miao", - "hmp": "Northern Mashan Miao", - "hmq": "Eastern Qiandong Miao", - "hmr": "Hmar", - "hms": "Southern Qiandong Miao", - "hmt": "Hamtai", - "hmu": "Hamap", - "hmv": "Hmong Dô", - "hmw": "Western Mashan Miao", - "hmy": "Southern Guiyang Miao", - "hmz": "Sinicized Miao", - "hna": "Mina (Cameroon)", - "hnd": "Southern Hindko", - "hne": "Chhattisgarhi", - "hng": "Hungu", - "hnh": "ǁAni", - "hni": "Hani", - "hnj": "Mong Njua", - "hnn": "Hanunoo", - "hno": "Northern Hindko", - "hns": "Caribbean Hindustani", - "hnu": "Hung", - "hoa": "Hoava", - "hob": "Mari (Madang Province)", - "hoc": "Ho", - "hod": "Holma", - "hoe": "Horom", - "hoh": "Hobyót", - "hoi": "Holikachuk", - "hoj": "Haroti", - "hol": "Holu", - "hom": "Homa", - "hoo": "Holoholo", - "hop": "Hopi", - "hor": "Horo", - "hot": "Malê", - "hov": "Hovongan", - "how": "Honi", - "hoy": "Holiya", - "hoz": "Hozo", - "hpo": "Hpon", - "hra": "Hrangkhol", - "hrc": "Niwer Mil", - "hre": "Hre", - "hrk": "Haruku", - "hrm": "Horned Miao", - "hro": "Haroi", - "hrp": "Nhirrpi", - "hrt": "Hértevin", - "hru": "Hruso", - "hrv": "Croatian", - "hrx": "Hunsrik", - "hrz": "Harzani", - "hsb": "Upper Sorbian", - "hsn": "Xiang Chinese", - "hss": "Harsusi", - "hti": "Hoti", - "hto": "Minica Huitoto", - "hts": "Hadza", - "htu": "Hitu", - "hub": "Huambisa", - "huc": "ǂHua", - "hud": "Huaulu", - "hue": "San Francisco Del Mar Huave", - "huf": "Humene", - "hug": "Huachipaeri", - "huh": "Huilliche", - "hui": "Huli", - "huj": "Northern Guiyang Miao", - "huk": "Hulung", - "hul": "Hula", - "hum": "Hungana", - "hun": "Hungarian", - "huo": "Hu", - "hup": "Hupa", - "huq": "Tsat", - "hur": "Halkomelem", - "hus": "Huastec", - "hut": "Humla", - "huu": "Murui Huitoto", - "huv": "San Mateo Del Mar Huave", - "huw": "Hukumina", - "hux": "Nüpode Huitoto", - "huy": "Hulaulá", - "huz": "Hunzib", - "hve": "San Dionisio Del Mar Huave", - "hvk": "Haveke", - "hvn": "Sabu", - "hvv": "Santa María Del Mar Huave", - "hwa": "Wané", - "hwc": "Hawai'i Pidgin", - "hwo": "Hwana", - "hya": "Hya", - "hye": "Armenian", - "hyw": "Western Armenian", - "iai": "Iaai", - "ian": "Iatmul", - "iar": "Purari", - "iba": "Iban", - "ibb": "Ibibio", - "ibd": "Iwaidja", - "ibe": "Akpes", - "ibg": "Ibanag", - "ibh": "Bih", - "ibl": "Ibaloi", - "ibm": "Agoi", - "ibn": "Ibino", - "ibo": "Igbo", - "ibr": "Ibuoro", - "ibu": "Ibu", - "iby": "Ibani", - "ica": "Ede Ica", - "ich": "Etkywan", - "icr": "Islander Creole English", - "ida": "Luidakho-Luisukha-Lutirichi", - "idb": "Indo-Portuguese", - "idc": "Idon", - "idd": "Ede Idaca", - "ide": "Idere", - "idi": "Idi", - "idr": "Indri", - "idt": "Idaté", - "idu": "Idoma", - "ifa": "Amganad Ifugao", - "ifb": "Batad Ifugao", - "ife": "Ifè", - "iff": "Ifo", - "ifk": "Tuwali Ifugao", - "ifm": "Teke-Fuumu", - "ifu": "Mayoyao Ifugao", - "ify": "Keley-I Kallahan", - "igb": "Ebira", - "ige": "Igede", - "igg": "Igana", - "igl": "Igala", - "igm": "Kanggape", - "ign": "Ignaciano", - "igo": "Isebe", - "igw": "Igwe", - "ihp": "Iha", - "ihw": "Bidhawal", - "iii": "Sichuan Yi", - "iin": "Thiin", - "ijc": "Izon", - "ije": "Biseni", - "ijj": "Ede Ije", - "ijn": "Kalabari", - "ijs": "Southeast Ijo", - "ike": "Eastern Canadian Inuktitut", - "iki": "Iko", - "ikk": "Ika", - "ikl": "Ikulu", - "iko": "Olulumo-Ikom", - "ikp": "Ikpeshi", - "ikr": "Ikaranggal", - "ikt": "Western Canadian Inuktitut", - "ikv": "Iku-Gora-Ankwa", - "ikw": "Ikwere", - "ikx": "Ik", - "ikz": "Ikizu", - "ila": "Ile Ape", - "ilb": "Ila", - "ilg": "Garig-Ilgar", - "ili": "Ili Turki", - "ilk": "Ilongot", - "ilo": "Iloko", - "ilu": "Ili'uun", - "ilv": "Ilue", - "ima": "Mala Malasar", - "imi": "Anamgura", - "iml": "Miluk", - "imn": "Imonda", - "imo": "Imbongu", - "imr": "Imroing", - "imy": "Milyan", - "inb": "Inga", - "ind": "Indonesian", - "ing": "Degexit'an", - "inh": "Ingush", - "inj": "Jungle Inga", - "inm": "Minaean", - "inn": "Isinai", - "ino": "Inoke-Yate", - "inp": "Iñapari", - "int": "Intha", - "inz": "Ineseño", - "ior": "Inor", - "iou": "Tuma-Irumu", - "iow": "Iowa-Oto", - "ipi": "Ipili", - "ipo": "Ipiko", - "iqu": "Iquito", - "ire": "Iresim", - "irh": "Irarutu", - "iri": "Rigwe", - "irk": "Iraqw", - "irn": "Irántxe", - "iru": "Irula", - "irx": "Kamberau", - "iry": "Iraya", - "isa": "Isabi", - "isc": "Isconahua", - "isd": "Isnag", - "ish": "Esan", - "isi": "Nkem-Nkum", - "isk": "Ishkashimi", - "isl": "Icelandic", - "ism": "Masimasi", - "isn": "Isanzu", - "iso": "Isoko", - "ist": "Istriot", - "isu": "Isu (Menchum Division)", - "ita": "Italian", - "itb": "Binongan Itneg", - "itd": "Southern Tidung", - "ite": "Itene", - "iti": "Inlaod Itneg", - "itk": "Judeo-Italian", - "itl": "Itelmen", - "itm": "Itu Mbon Uzo", - "ito": "Itonama", - "itr": "Iteri", - "its": "Isekiri", - "itt": "Maeng Itneg", - "itv": "Itawit", - "itw": "Ito", - "itx": "Itik", - "ity": "Moyadan Itneg", - "itz": "Itzá", - "ium": "Iu Mien", - "ivb": "Ibatan", - "ivv": "Ivatan", - "iwk": "I-Wak", - "iwm": "Iwam", - "iwo": "Iwur", - "iws": "Sepik Iwam", - "ixc": "Ixcatec", - "ixl": "Ixil", - "iya": "Iyayu", - "iyo": "Mesaka", - "iyx": "Yaka (Congo)", - "izh": "Ingrian", - "izr": "Izere", - "izz": "Izii", - "jaa": "Jamamadí", - "jab": "Hyam", - "jac": "Popti'", - "jad": "Jahanka", - "jae": "Yabem", - "jaf": "Jara", - "jah": "Jah Hut", - "jaj": "Zazao", - "jak": "Jakun", - "jal": "Yalahatan", - "jam": "Jamaican Creole English", - "jan": "Jandai", - "jao": "Yanyuwa", - "jaq": "Yaqay", - "jas": "New Caledonian Javanese", - "jat": "Jakati", - "jau": "Yaur", - "jav": "Javanese", - "jax": "Jambi Malay", - "jay": "Yan-nhangu", - "jaz": "Jawe", - "jbi": "Badjiri", - "jbj": "Arandai", - "jbk": "Barikewa", - "jbn": "Nafusi", - "jbr": "Jofotek-Bromnya", - "jbt": "Jabutí", - "jbu": "Jukun Takum", - "jbw": "Yawijibaya", - "jct": "Krymchak", - "jda": "Jad", - "jdg": "Jadgali", - "jdt": "Judeo-Tat", - "jeb": "Jebero", - "jee": "Jerung", - "jeh": "Jeh", - "jei": "Yei", - "jek": "Jeri Kuo", - "jel": "Yelmek", - "jen": "Dza", - "jer": "Jere", - "jet": "Manem", - "jeu": "Jonkor Bourmataguil", - "jgb": "Ngbee", - "jge": "Judeo-Georgian", - "jgo": "Ngomba", - "jhi": "Jehai", - "jia": "Jina", - "jib": "Jibu", - "jic": "Tol", - "jid": "Bu (Kaduna State)", - "jie": "Jilbe", - "jig": "Jingulu", - "jih": "sTodsde", - "jii": "Jiiddu", - "jil": "Jilim", - "jim": "Jimi (Cameroon)", - "jio": "Jiamao", - "jiq": "Lavrung", - "jit": "Jita", - "jiu": "Youle Jinuo", - "jiv": "Shuar", - "jiy": "Buyuan Jinuo", - "jje": "Jejueo", - "jka": "Kaera", - "jkm": "Mobwa Karen", - "jko": "Kubo", - "jkr": "Koro (India)", - "jku": "Labir", - "jle": "Ngile", - "jma": "Dima", - "jmb": "Zumbun", - "jmc": "Machame", - "jmd": "Yamdena", - "jmi": "Jimi (Nigeria)", - "jml": "Jumli", - "jmn": "Makuri Naga", - "jmr": "Kamara", - "jms": "Mashi (Nigeria)", - "jmw": "Mouwase", - "jmx": "Western Juxtlahuaca Mixtec", - "jna": "Jangshung", - "jnd": "Jandavra", - "jng": "Yangman", - "jni": "Janji", - "jnj": "Yemsa", - "jnl": "Rawat", - "jns": "Jaunsari", - "job": "Joba", - "jod": "Wojenaka", - "jor": "Jorá", - "jow": "Jowulu", - "jpn": "Japanese", - "jpr": "Judeo-Persian", - "jqr": "Jaqaru", - "jra": "Jarai", - "jrr": "Jiru", - "jru": "Japrería", - "jua": "Júma", - "jub": "Wannu", - "juc": "Jurchen", - "jud": "Worodougou", - "juh": "Hõne", - "jui": "Ngadjuri", - "juk": "Wapan", - "jul": "Jirel", - "jum": "Jumjum", - "jun": "Juang", - "juo": "Jiba", - "jup": "Hupdë", - "jur": "Jurúna", - "jut": "Jutish", - "juu": "Ju", - "juw": "Wãpha", - "juy": "Juray", - "jvd": "Javindo", - "jvn": "Caribbean Javanese", - "jwi": "Jwira-Pepesa", - "jya": "Jiarong", - "jye": "Judeo-Yemeni Arabic", - "jyy": "Jaya", - "kaa": "Kara-Kalpak", - "kab": "Kabyle", - "kac": "Kachin", - "kad": "Adara", - "kae": "Ketangalan", - "kaf": "Katso", - "kag": "Kajaman", - "kah": "Kara (Central African Republic)", - "kai": "Karekare", - "kaj": "Jju", - "kak": "Kayapa Kallahan", - "kal": "Greenlandic", - "kam": "Kamba (Kenya)", - "kan": "Kannada", - "kao": "Xaasongaxango", - "kap": "Bezhta", - "kaq": "Capanahua", - "kas": "Kashmiri", - "kat": "Georgian", - "kaw": "Kawi", - "kax": "Kao", - "kay": "Kamayurá", - "kaz": "Kazakh", - "kba": "Kalarko", - "kbb": "Kaxuiâna", - "kbc": "Kadiwéu", - "kbd": "Kabardian", - "kbe": "Kanju", - "kbg": "Khamba", - "kbh": "Camsá", - "kbi": "Kaptiau", - "kbj": "Kari", - "kbk": "Grass Koiari", - "kbl": "Kanembu", - "kbm": "Iwal", - "kbn": "Kare (Central African Republic)", - "kbo": "Keliko", - "kbp": "Kabiyè", - "kbq": "Kamano", - "kbr": "Kafa", - "kbs": "Kande", - "kbt": "Abadi", - "kbu": "Kabutra", - "kbv": "Dera (Indonesia)", - "kbw": "Kaiep", - "kbx": "Ap Ma", - "kby": "Manga Kanuri", - "kbz": "Duhwa", - "kca": "Khanty", - "kcb": "Kawacha", - "kcc": "Lubila", - "kcd": "Ngkâlmpw Kanum", - "kcf": "Ukaan", - "kcg": "Tyap", - "kci": "Kamantan", - "kcj": "Kobiana", - "kck": "Kalanga", - "kcl": "Kela (Papua New Guinea)", - "kcm": "Gula (Central African Republic)", - "kcn": "Nubi", - "kco": "Kinalakna", - "kcp": "Kanga", - "kcq": "Kamo", - "kcr": "Katla", - "kcs": "Koenoem", - "kct": "Kaian", - "kcu": "Kami (Tanzania)", - "kcv": "Kete", - "kcw": "Kabwari", - "kcx": "Kachama-Ganjule", - "kcy": "Korandje", - "kcz": "Konongo", - "kda": "Worimi", - "kdc": "Kutu", - "kdd": "Yankunytjatjara", - "kde": "Makonde", - "kdf": "Mamusi", - "kdg": "Seba", - "kdh": "Tem", - "kdi": "Kumam", - "kdj": "Karamojong", - "kdk": "Numèè", - "kdl": "Tsikimba", - "kdm": "Kagoma", - "kdn": "Kunda", - "kdp": "Kaningdon-Nindem", - "kdq": "Koch", - "kdr": "Karaim", - "kdt": "Kuy", - "kdu": "Kadaru", - "kdw": "Koneraw", - "kdx": "Kam", - "kdy": "Keijar", - "kdz": "Kwaja", - "kea": "Kabuverdianu", - "keb": "Kélé", - "kec": "Keiga", - "ked": "Kerewe", - "kee": "Eastern Keres", - "kef": "Kpessi", - "keg": "Tese", - "keh": "Keak", - "kei": "Kei", - "kej": "Kadar", - "kek": "Kekchí", - "kel": "Kela (Democratic Republic of Congo)", - "kem": "Kemak", - "ken": "Kenyang", - "keo": "Kakwa", - "kep": "Kaikadi", - "keq": "Kamar", - "ker": "Kera", - "kes": "Kugbo", - "ket": "Ket", - "keu": "Akebu", - "kev": "Kanikkaran", - "kew": "West Kewa", - "key": "Kupia", - "kez": "Kukele", - "kfa": "Kodava", - "kfb": "Northwestern Kolami", - "kfc": "Konda-Dora", - "kfd": "Korra Koraga", - "kfe": "Kota (India)", - "kff": "Koya", - "kfg": "Kudiya", - "kfh": "Kurichiya", - "kfk": "Kinnauri", - "kfl": "Kung", - "kfm": "Khunsari", - "kfn": "Kuk", - "kfo": "Koro (Côte d'Ivoire)", - "kfp": "Korwa", - "kfq": "Korku", - "kfr": "Kutchi", - "kfs": "Bilaspuri", - "kft": "Kanjari", - "kfu": "Katkari", - "kfv": "Kurmukar", - "kfw": "Kharam Naga", - "kfx": "Kullu Pahari", - "kfy": "Kumaoni", - "kfz": "Koromfé", - "kga": "Koyaga", - "kgb": "Kawe", - "kge": "Komering", - "kgf": "Kube", - "kgg": "Kusunda", - "kgj": "Gamale Kham", - "kgk": "Kaiwá", - "kgl": "Kunggari", - "kgn": "Karingani", - "kgo": "Krongo", - "kgp": "Kaingang", - "kgq": "Kamoro", - "kgr": "Abun", - "kgs": "Kumbainggar", - "kgt": "Somyev", - "kgu": "Kobol", - "kgv": "Karas", - "kgw": "Karon Dori", - "kgx": "Kamaru", - "kgy": "Kyerung", - "kha": "Khasi", - "khb": "Lü", - "khc": "Tukang Besi North", - "khd": "Bädi Kanum", - "khe": "Korowai", - "khf": "Khuen", - "khg": "Khams Tibetan", - "khh": "Kehu", - "khj": "Kuturmi", - "khk": "Halh Mongolian", - "khl": "Lusi", - "khm": "Khmer", - "khn": "Khandesi", - "kho": "Sakan", - "khp": "Kapori", - "khq": "Koyra Chiini Songhay", - "khr": "Kharia", - "khs": "Kasua", - "kht": "Khamti", - "khu": "Nkhumbi", - "khv": "Khvarshi", - "khw": "Khowar", - "khx": "Kanu", - "khy": "Kele (Democratic Republic of Congo)", - "khz": "Keapara", - "kia": "Kim", - "kib": "Koalib", - "kic": "Kickapoo", - "kid": "Koshin", - "kie": "Kibet", - "kif": "Eastern Parbate Kham", - "kig": "Kimaghima", - "kih": "Kilmeri", - "kii": "Kitsai", - "kij": "Kilivila", - "kik": "Kikuyu", - "kil": "Kariya", - "kim": "Karagas", - "kin": "Kinyarwanda", - "kio": "Kiowa", - "kip": "Sheshi Kham", - "kiq": "Kosare", - "kir": "Kyrgyz", - "kis": "Kis", - "kit": "Agob", - "kiu": "Kirmanjki", - "kiv": "Kimbu", - "kiw": "Northeast Kiwai", - "kix": "Khiamniungan Naga", - "kiy": "Kirikiri", - "kiz": "Kisi", - "kja": "Mlap", - "kjb": "Q'anjob'al", - "kjc": "Coastal Konjo", - "kjd": "Southern Kiwai", - "kje": "Kisar", - "kjg": "Khmu", - "kjh": "Khakas", - "kji": "Zabana", - "kjj": "Khinalugh", - "kjk": "Highland Konjo", - "kjl": "Western Parbate Kham", - "kjm": "Kháng", - "kjn": "Kunjen", - "kjo": "Harijan Kinnauri", - "kjp": "Pwo Eastern Karen", - "kjq": "Western Keres", - "kjr": "Kurudu", - "kjs": "East Kewa", - "kjt": "Phrae Pwo Karen", - "kju": "Kashaya", - "kjv": "Kaikavian Literary Language", - "kjx": "Ramopa", - "kjy": "Erave", - "kjz": "Bumthangkha", - "kka": "Kakanda", - "kkb": "Kwerisa", - "kkc": "Odoodee", - "kkd": "Kinuku", - "kke": "Kakabe", - "kkf": "Kalaktang Monpa", - "kkg": "Mabaka Valley Kalinga", - "kkh": "Khün", - "kki": "Kagulu", - "kkj": "Kako", - "kkk": "Kokota", - "kkl": "Kosarek Yale", - "kkm": "Kiong", - "kko": "Karko", - "kkp": "Koko-Bera", - "kkq": "Kaeku", - "kkr": "Kir-Balar", - "kks": "Giiwo", - "kkt": "Koi", - "kkv": "Kangean", - "kkw": "Teke-Kukuya", - "kkx": "Kohin", - "kky": "Guugu Yimidhirr", - "kkz": "Kaska", - "kla": "Klamath-Modoc", - "klb": "Kiliwa", - "klc": "Kolbila", - "kld": "Gamilaraay", - "kle": "Kulung (Nepal)", - "klf": "Kendeje", - "klg": "Tagakaulo", - "klh": "Weliki", - "kli": "Kalumpang", - "klj": "Khalaj", - "klk": "Kono (Nigeria)", - "kll": "Kagan Kalagan", - "klm": "Migum", - "kln": "Kalenjin", - "klo": "Kapya", - "klp": "Kamasa", - "klq": "Rumu", - "klr": "Khaling", - "kls": "Kalasha", - "klt": "Nukna", - "klu": "Klao", - "klv": "Maskelynes", - "klw": "Tado", - "klx": "Koluwawa", - "kly": "Kalao", - "klz": "Kabola", - "kma": "Konni", - "kmb": "Kimbundu", - "kmc": "Southern Dong", - "kmd": "Majukayang Kalinga", - "kme": "Bakole", - "kmf": "Kare (Papua New Guinea)", - "kmg": "Kâte", - "kmh": "Kalam", - "kmi": "Kami (Nigeria)", - "kmj": "Kumarbhag Paharia", - "kmk": "Limos Kalinga", - "kml": "Tanudan Kalinga", - "kmm": "Kom (India)", - "kmn": "Awtuw", - "kmo": "Kwoma", - "kmp": "Gimme", - "kmq": "Kwama", - "kmr": "Northern Kurdish", - "kms": "Kamasau", - "kmt": "Kemtuik", - "kmu": "Kanite", - "kmv": "Karipúna Creole French", - "kmw": "Komo (Democratic Republic of Congo)", - "kmx": "Waboda", - "kmy": "Koma", - "kmz": "Khorasani Turkish", - "kna": "Dera (Nigeria)", - "knb": "Lubuagan Kalinga", - "knc": "Central Kanuri", - "knd": "Konda", - "kne": "Kankanaey", - "knf": "Mankanya", - "kng": "Koongo", - "kni": "Kanufi", - "knj": "Western Kanjobal", - "knk": "Kuranko", - "knl": "Keninjal", - "knm": "Kanamarí", - "knn": "Konkani", - "kno": "Kono (Sierra Leone)", - "knp": "Kwanja", - "knq": "Kintaq", - "knr": "Kaningra", - "kns": "Kensiu", - "knt": "Panoan Katukína", - "knu": "Kono (Guinea)", - "knv": "Tabo", - "knw": "Kung-Ekoka", - "knx": "Salako", - "kny": "Kanyok", - "knz": "Kalamsé", - "koa": "Konomala", - "koc": "Kpati", - "kod": "Kodi", - "koe": "Kacipo-Bale Suri", - "kof": "Kubi", - "kog": "Kogi", - "koh": "Koyo", - "koi": "Komi-Permyak", - "kol": "Kol (Papua New Guinea)", - "koo": "Konzo", - "kop": "Waube", - "koq": "Kota (Gabon)", - "kor": "Korean", - "kos": "Kosraean", - "kot": "Lagwan", - "kou": "Koke", - "kov": "Kudu-Camo", - "kow": "Kugama", - "koy": "Koyukon", - "koz": "Korak", - "kpa": "Kutto", - "kpb": "Mullu Kurumba", - "kpc": "Curripaco", - "kpd": "Koba", - "kpf": "Komba", - "kpg": "Kapingamarangi", - "kph": "Kplang", - "kpi": "Kofei", - "kpj": "Karajá", - "kpk": "Kpan", - "kpl": "Kpala", - "kpm": "Koho", - "kpn": "Kepkiriwát", - "kpo": "Ikposo", - "kpq": "Korupun-Sela", - "kpr": "Korafe-Yegha", - "kps": "Tehit", - "kpt": "Karata", - "kpu": "Kafoa", - "kpv": "Komi-Zyrian", - "kpw": "Kobon", - "kpx": "Mountain Koiali", - "kpy": "Koryak", - "kpz": "Kupsabiny", - "kqa": "Mum", - "kqb": "Kovai", - "kqc": "Doromu-Koki", - "kqd": "Koy Sanjaq Surat", - "kqe": "Kalagan", - "kqf": "Kakabai", - "kqg": "Khe", - "kqi": "Koitabu", - "kqj": "Koromira", - "kqk": "Kotafon Gbe", - "kql": "Kyenele", - "kqm": "Khisa", - "kqn": "Kaonde", - "kqo": "Eastern Krahn", - "kqp": "Kimré", - "kqq": "Krenak", - "kqr": "Kimaragang", - "kqs": "Northern Kissi", - "kqt": "Klias River Kadazan", - "kqu": "Seroa", - "kqv": "Okolod", - "kqw": "Kandas", - "kqx": "Mser", - "kqy": "Koorete", - "kqz": "Korana", - "kra": "Kumhali", - "krb": "Karkin", - "krc": "Karachay-Balkar", - "krd": "Kairui-Midiki", - "kre": "Panará", - "krf": "Koro (Vanuatu)", - "krh": "Kurama", - "kri": "Krio", - "krj": "Kinaray-A", - "krk": "Kerek", - "krl": "Karelian", - "krn": "Sapo", - "krp": "Korop", - "krr": "Krung", - "krs": "Gbaya (Sudan)", - "krt": "Tumari Kanuri", - "kru": "Kurukh", - "krv": "Kavet", - "krw": "Western Krahn", - "krx": "Karon", - "kry": "Kryts", - "krz": "Sota Kanum", - "ksb": "Shambala", - "ksc": "Southern Kalinga", - "ksd": "Kuanua", - "kse": "Kuni", - "ksf": "Bafia", - "ksg": "Kusaghe", - "ksh": "Kölsch", - "ksi": "Krisa", - "ksj": "Uare", - "ksk": "Kansa", - "ksl": "Kumalu", - "ksm": "Kumba", - "ksn": "Kasiguranin", - "ksp": "Kaba", - "ksq": "Kwaami", - "ksr": "Borong", - "kss": "Southern Kisi", - "kst": "Winyé", - "ksu": "Khamyang", - "ksv": "Kusu", - "ksw": "S'gaw Karen", - "ksx": "Kedang", - "ksy": "Kharia Thar", - "ksz": "Kodaku", - "kta": "Katua", - "ktb": "Kambaata", - "ktc": "Kholok", - "ktd": "Kukatha", - "kte": "Nubri", - "ktf": "Kwami", - "ktg": "Kalkutung", - "kth": "Karanga", - "kti": "North Muyu", - "ktj": "Plapo Krumen", - "ktk": "Kaniet", - "ktl": "Koroshi", - "ktm": "Kurti", - "ktn": "Karitiâna", - "kto": "Kuot", - "ktp": "Kaduo", - "kts": "South Muyu", - "ktt": "Ketum", - "ktu": "Kituba (Democratic Republic of Congo)", - "ktv": "Eastern Katu", - "ktw": "Kato", - "ktx": "Kaxararí", - "kty": "Kango (Bas-Uélé District)", - "ktz": "Juǀʼhoansi", - "kua": "Kwanyama", - "kub": "Kutep", - "kuc": "Kwinsu", - "kud": "'Auhelawa", - "kue": "Kuman (Papua New Guinea)", - "kuf": "Western Katu", - "kug": "Kupa", - "kuh": "Kushi", - "kui": "Kuikúro-Kalapálo", - "kuj": "Kuria", - "kuk": "Kepo'", - "kul": "Kulere", - "kum": "Kumyk", - "kun": "Kunama", - "kuo": "Kumukio", - "kup": "Kunimaipa", - "kuq": "Karipuna", - "kus": "Kusaal", - "kut": "Kutenai", - "kuu": "Upper Kuskokwim", - "kuv": "Kur", - "kuw": "Kpagua", - "kux": "Kukatja", - "kuy": "Kuuku-Ya'u", - "kuz": "Kunza", - "kva": "Bagvalal", - "kvb": "Kubu", - "kvc": "Kove", - "kvd": "Kui (Indonesia)", - "kve": "Kalabakan", - "kvf": "Kabalai", - "kvg": "Kuni-Boazi", - "kvh": "Komodo", - "kvi": "Kwang", - "kvj": "Psikye", - "kvl": "Kayaw", - "kvm": "Kendem", - "kvn": "Border Kuna", - "kvo": "Dobel", - "kvp": "Kompane", - "kvq": "Geba Karen", - "kvr": "Kerinci", - "kvu": "Yinbaw Karen", - "kvv": "Kola", - "kvw": "Wersing", - "kvx": "Parkari Koli", - "kvy": "Yintale Karen", - "kvz": "Tsaukambo", - "kwa": "Dâw", - "kwb": "Kwa", - "kwc": "Likwala", - "kwd": "Kwaio", - "kwe": "Kwerba", - "kwf": "Kwara'ae", - "kwg": "Sara Kaba Deme", - "kwh": "Kowiai", - "kwi": "Awa-Cuaiquer", - "kwj": "Kwanga", - "kwk": "Kwakiutl", - "kwl": "Kofyar", - "kwm": "Kwambi", - "kwn": "Kwangali", - "kwo": "Kwomtari", - "kwp": "Kodia", - "kwr": "Kwer", - "kws": "Kwese", - "kwt": "Kwesten", - "kwu": "Kwakum", - "kwv": "Sara Kaba Náà", - "kww": "Kwinti", - "kwx": "Khirwar", - "kwy": "San Salvador Kongo", - "kwz": "Kwadi", - "kxa": "Kairiru", - "kxb": "Krobu", - "kxc": "Konso", - "kxd": "Brunei", - "kxf": "Manumanaw Karen", - "kxh": "Karo (Ethiopia)", - "kxi": "Keningau Murut", - "kxj": "Kulfa", - "kxk": "Zayein Karen", - "kxm": "Northern Khmer", - "kxn": "Kanowit-Tanjong Melanau", - "kxo": "Kanoé", - "kxp": "Wadiyara Koli", - "kxq": "Smärky Kanum", - "kxr": "Koro (Papua New Guinea)", - "kxs": "Kangjia", - "kxt": "Koiwat", - "kxv": "Kuvi", - "kxw": "Konai", - "kxx": "Likuba", - "kxy": "Kayong", - "kxz": "Kerewo", - "kya": "Kwaya", - "kyb": "Butbut Kalinga", - "kyc": "Kyaka", - "kyd": "Karey", - "kye": "Krache", - "kyf": "Kouya", - "kyg": "Keyagana", - "kyh": "Karok", - "kyi": "Kiput", - "kyj": "Karao", - "kyk": "Kamayo", - "kyl": "Kalapuya", - "kyn": "Northern Binukidnon", - "kyo": "Kelon", - "kyq": "Kenga", - "kyr": "Kuruáya", - "kys": "Baram Kayan", - "kyt": "Kayagar", - "kyu": "Western Kayah", - "kyw": "Kudmali", - "kyx": "Rapoisi", - "kyy": "Kambaira", - "kyz": "Kayabí", - "kza": "Western Karaboro", - "kzb": "Kaibobo", - "kzc": "Bondoukou Kulango", - "kzd": "Kadai", - "kzf": "Da'a Kaili", - "kzg": "Kikai", - "kzi": "Kelabit", - "kzk": "Kazukuru", - "kzl": "Kayeli", - "kzm": "Kais", - "kzn": "Kokola", - "kzo": "Kaningi", - "kzp": "Kaidipang", - "kzq": "Kaike", - "kzr": "Karang", - "kzs": "Sugut Dusun", - "kzu": "Kayupulau", - "kzv": "Komyandaret", - "kzx": "Kamarian", - "kzy": "Kango (Tshopo District)", - "kzz": "Kalabra", - "laa": "Southern Subanen", - "lac": "Lacandon", - "lad": "Ladino", - "lae": "Pattani", - "laf": "Lafofa", - "lag": "Langi", - "lai": "Lambya", - "laj": "Lango (Uganda)", - "lak": "Laka (Nigeria)", - "lal": "Lalia", - "lam": "Lamba", - "lan": "Laru", - "lao": "Lao", - "lap": "Laka (Chad)", - "laq": "Qabiao", - "lar": "Larteh", - "las": "Lama (Togo)", - "lat": "Latin", - "lav": "Latvian Russian", - "law": "Lauje", - "lax": "Tiwa", - "laz": "Aribwatsa", - "lbb": "Label", - "lbc": "Lakkia", - "lbe": "Lak", - "lbf": "Tinani", - "lbj": "Ladakhi", - "lbk": "Central Bontok", - "lbl": "Libon Bikol", - "lbm": "Lodhi", - "lbn": "Rmeet", - "lbo": "Laven", - "lbq": "Wampar", - "lbr": "Lohorung", - "lbt": "Lachi", - "lbu": "Labu", - "lbv": "Lavatbura-Lamusong", - "lbw": "Tolaki", - "lbx": "Lawangan", - "lby": "Lamu-Lamu", - "lbz": "Lardil", - "lcc": "Legenyem", - "lcd": "Lola", - "lce": "Sekak", - "lcf": "Lubu", - "lch": "Luchazi", - "lcl": "Lisela", - "lcm": "Tungag", - "lcp": "Western Lawa", - "lcq": "Luhu", - "lcs": "Lisabata-Nuniali", - "ldb": "Dũya", - "ldd": "Luri", - "ldg": "Lenyima", - "ldh": "Lamja-Dengsa-Tola", - "ldi": "Laari", - "ldj": "Lemoro", - "ldk": "Leelau", - "ldl": "Kaan", - "ldm": "Landoma", - "ldo": "Loo", - "ldp": "Tso", - "ldq": "Lufu", - "lea": "Lega-Shabunda", - "leb": "Lala-Bisa", - "lec": "Leco", - "led": "Lendu", - "lee": "Lyélé", - "lef": "Lelemi", - "leh": "Lenje", - "lei": "Lemio", - "lej": "Lengola", - "lek": "Leipon", - "lel": "Lele (Democratic Republic of Congo)", - "lem": "Nomaande", - "leo": "Leti (Cameroon)", - "lep": "Lepcha", - "leq": "Lembena", - "ler": "Lenkau", - "les": "Lese", - "let": "Lesing-Gelimi", - "leu": "Kara (Papua New Guinea)", - "lev": "Lamma", - "lew": "Ledo Kaili", - "lex": "Luang", - "ley": "Lemolang", - "lez": "Lezghian", - "lfa": "Lefa", - "lga": "Lungga", - "lgb": "Laghu", - "lgg": "Lugbara", - "lgh": "Laghuu", - "lgi": "Lengilu", - "lgk": "Neverver", - "lgl": "Wala", - "lgm": "Lega-Mwenga", - "lgn": "T'apo", - "lgq": "Logba", - "lgr": "Lengo", - "lgt": "Pahi", - "lgu": "Longgu", - "lgz": "Ligenza", - "lha": "Laha (Viet Nam)", - "lhh": "Laha (Indonesia)", - "lhi": "Lahu Shi", - "lhl": "Lahul Lohar", - "lhm": "Lhomi", - "lhn": "Lahanan", - "lhp": "Lhokpu", - "lhs": "Mlahsö", - "lht": "Lo-Toga", - "lhu": "Lahu", - "lia": "West-Central Limba", - "lib": "Likum", - "lic": "Hlai", - "lid": "Nyindrou", - "lie": "Likila", - "lif": "Limbu", - "lig": "Ligbi", - "lih": "Lihir", - "lij": "Ligurian", - "lik": "Lika", - "lil": "Lillooet", - "lim": "Limburgish", - "lin": "Lingala", - "lio": "Liki", - "lip": "Sekpele", - "liq": "Libido", - "lis": "Lisu", - "lit": "Lithuanian", - "liu": "Logorik", - "liv": "Liv", - "liw": "Col", - "lix": "Liabuku", - "liy": "Banda-Bambari", - "liz": "Libinza", - "lja": "Golpa", - "lje": "Rampi", - "lji": "Laiyolo", - "ljl": "Li'o", - "ljp": "Lampung Api", - "ljw": "Yirandali", - "ljx": "Yuru", - "lka": "Lakalei", - "lkb": "Lukabaras", - "lkc": "Kucong", - "lkd": "Lakondê", - "lke": "Kenyi", - "lkh": "Lakha", - "lki": "Laki", - "lkj": "Remun", - "lkl": "Laeko-Libuat", - "lkm": "Kalaamaya", - "lkn": "Vure", - "lko": "Olukhayo", - "lkr": "Päri", - "lks": "Olushisa", - "lkt": "Lakota", - "lku": "Kungkari", - "lky": "Lokoya", - "lla": "Lala-Roba", - "llb": "Lolo", - "llc": "Lele (Guinea)", - "lld": "Ladin", - "lle": "Lele (Papua New Guinea)", - "llf": "Hermit", - "llg": "Lole", - "llh": "Lamu", - "lli": "Teke-Laali", - "llk": "Lelak", - "lll": "Lilau", - "llm": "Lasalimu", - "lln": "Lele (Chad)", - "llp": "North Efate", - "llq": "Lolak", - "llu": "Lau", - "llx": "Lauan", - "lma": "East Limba", - "lmb": "Merei", - "lmc": "Limilngan", - "lmd": "Lumun", - "lme": "Pévé", - "lmf": "South Lembata", - "lmg": "Lamogai", - "lmi": "Lombi", - "lmj": "West Lembata", - "lmk": "Lamkang", - "lml": "Hano", - "lmn": "Lambadi", - "lmo": "Lombard", - "lmp": "Limbum", - "lmq": "Lamatuka", - "lmr": "Lamalera", - "lmu": "Lamenu", - "lmv": "Lomaiviti", - "lmw": "Lake Miwok", - "lmx": "Laimbue", - "lmy": "Lamboya", - "lna": "Langbashe", - "lnb": "Mbalanhu", - "lnd": "Lundayeh", - "lnh": "Lanoh", - "lni": "Daantanai'", - "lnj": "Leningitij", - "lnl": "South Central Banda", - "lnm": "Langam", - "lnn": "Lorediakarkar", - "lno": "Lango (South Sudan)", - "lns": "Lamnso'", - "lnu": "Longuda", - "lnz": "Lonzo", - "loa": "Loloda", - "lob": "Lobi", - "loc": "Inonhan", - "loe": "Saluan", - "lof": "Logol", - "log": "Logo", - "loh": "Narim", - "loi": "Loma (Côte d'Ivoire)", - "loj": "Lou", - "lok": "Loko", - "lol": "Mongo", - "lom": "Loma (Liberia)", - "lon": "Malawi Lomwe", - "loo": "Lombo", - "lop": "Lopa", - "loq": "Lobala", - "lor": "Téén", - "los": "Loniu", - "lot": "Otuho", - "lou": "Louisiana Creole", - "low": "Tampias Lobu", - "lox": "Loun", - "loy": "Loke", - "loz": "Lozi", - "lpa": "Lelepa", - "lpe": "Lepki", - "lpn": "Long Phuri Naga", - "lpo": "Lipo", - "lpx": "Lopit", - "lra": "Rara Bakati'", - "lrc": "Northern Luri", - "lre": "Laurentian", - "lrg": "Laragia", - "lri": "Olumarachi", - "lrl": "Lari", - "lrm": "Olumarama", - "lrn": "Lorang", - "lro": "Laro", - "lrr": "Southern Yamphu", - "lrt": "Larantuka Malay", - "lrv": "Larevat", - "lrz": "Lemerig", - "lsa": "Lasgerdi", - "lsd": "Lishana Deni", - "lse": "Lusengo", - "lsh": "Lish", - "lsi": "Lashi", - "lsm": "Saamia", - "lsr": "Aruop", - "lss": "Lasi", - "ltc": "Late Middle Chinese", - "lth": "Thur", - "lti": "Leti (Indonesia)", - "ltn": "Latundê", - "lto": "Tsotso", - "lts": "Tachoni", - "ltu": "Latu", - "ltz": "Luxembourgish", - "lua": "Luba-Lulua", - "lub": "Luba-Katanga", - "luc": "Aringa", - "lud": "Ludian", - "lue": "Luvale", - "luf": "Laua", - "lug": "Ganda", - "lui": "Luiseno", - "luj": "Luna", - "luk": "Lunanakha", - "lul": "Olu'bo", - "lum": "Luimbi", - "lun": "Lunda", - "luo": "Luo (Kenya and Tanzania)", - "lup": "Lumbu", - "luq": "Lucumi", - "lur": "Laura", - "lus": "Lushai", - "lut": "Lushootseed", - "luv": "Luwati", - "luw": "Luo (Cameroon)", - "luz": "Southern Luri", - "lva": "Maku'a", - "lvi": "Lavi", - "lvk": "Lavukaleve", - "lvs": "Latvian", - "lvu": "Levuka", - "lwa": "Lwalu", - "lwe": "Lewo Eleng", - "lwg": "Wanga", - "lwh": "White Lachi", - "lwl": "Eastern Lawa", - "lwm": "Laomian", - "lwo": "Luwo", - "lwt": "Lewotobi", - "lwu": "Lawu", - "lww": "Lewo", - "lxm": "Lakurumau", - "lya": "Layakha", - "lyg": "Lyngngam", - "lyn": "Luyana", - "lzh": "Literary Chinese", - "lzl": "Litzlitz", - "lzn": "Leinong Naga", - "lzz": "Laz", - "maa": "San Jerónimo Tecóatl Mazatec", - "mab": "Yutanduchi Mixtec", - "mad": "Madurese", - "mae": "Bo-Rukul", - "maf": "Mafa", - "mag": "Magahi", - "mah": "Marshallese", - "mai": "Maithili", - "maj": "Jalapa De Díaz Mazatec", - "mak": "Makasar", - "mal": "Malayalam", - "mam": "Mam", - "maq": "Chiquihuitlán Mazatec", - "mar": "Marathi", - "mas": "Masai", - "mat": "San Francisco Matlatzinca", - "mau": "Huautla Mazatec", - "mav": "Sateré-Mawé", - "maw": "Mampruli", - "max": "North Moluccan Malay", - "maz": "Central Mazahua", - "mba": "Higaonon", - "mbb": "Western Bukidnon Manobo", - "mbc": "Macushi", - "mbd": "Dibabawon Manobo", - "mbe": "Molale", - "mbf": "Baba Malay", - "mbh": "Mangseng", - "mbi": "Ilianen Manobo", - "mbj": "Nadëb", - "mbk": "Malol", - "mbl": "Maxakalí", - "mbm": "Ombamba", - "mbn": "Macaguán", - "mbo": "Mbo (Cameroon)", - "mbp": "Malayo", - "mbq": "Maisin", - "mbr": "Nukak Makú", - "mbs": "Sarangani Manobo", - "mbt": "Matigsalug Manobo", - "mbu": "Mbula-Bwazza", - "mbv": "Mbulungish", - "mbw": "Maring", - "mbx": "Mari (East Sepik Province)", - "mby": "Memoni", - "mbz": "Amoltepec Mixtec", - "mca": "Maca", - "mcb": "Machiguenga", - "mcc": "Bitur", - "mcd": "Sharanahua", - "mce": "Itundujia Mixtec", - "mcf": "Matsés", - "mcg": "Mapoyo", - "mch": "Maquiritari", - "mci": "Mese", - "mcj": "Mvanip", - "mck": "Mbunda", - "mcl": "Macaguaje", - "mcm": "Malaccan Creole Portuguese", - "mcn": "Masana", - "mco": "Coatlán Mixe", - "mcp": "Makaa", - "mcq": "Ese", - "mcr": "Menya", - "mcs": "Mambai", - "mct": "Mengisa", - "mcu": "Cameroon Mambila", - "mcv": "Minanibai", - "mcw": "Mawa (Chad)", - "mcx": "Mpiemo", - "mcy": "South Watut", - "mcz": "Mawan", - "mda": "Mada (Nigeria)", - "mdb": "Morigi", - "mdc": "Male (Papua New Guinea)", - "mdd": "Mbum", - "mde": "Maba (Chad)", - "mdf": "Moksha", - "mdg": "Massalat", - "mdh": "Maguindanaon", - "mdi": "Mamvu", - "mdj": "Mangbetu", - "mdk": "Mangbutu", - "mdm": "Mayogo", - "mdn": "Mbati", - "mdp": "Mbala", - "mdq": "Mbole", - "mdr": "Mandar", - "mds": "Maria (Papua New Guinea)", - "mdt": "Mbere", - "mdu": "Mboko", - "mdv": "Santa Lucía Monteverde Mixtec", - "mdw": "Mbosi", - "mdx": "Dizin", - "mdy": "Male (Ethiopia)", - "mdz": "Suruí Do Pará", - "mea": "Menka", - "meb": "Ikobi", - "mec": "Marra", - "med": "Melpa", - "mee": "Mengen", - "mef": "Megam", - "meh": "Southwestern Tlaxiaco Mixtec", - "mei": "Midob", - "mej": "Meyah", - "mek": "Mekeo", - "mel": "Central Melanau", - "mem": "Mangala", - "men": "Mende (Sierra Leone)", - "meo": "Kedah Malay", - "mep": "Miriwoong", - "meq": "Merey", - "mer": "Meru", - "mes": "Masmaje", - "met": "Mato", - "meu": "Motu", - "mev": "Mano", - "mew": "Maaka", - "mey": "Hassaniyya", - "mez": "Menominee", - "mfa": "Pattani Malay", - "mfb": "Bangka", - "mfc": "Mba", - "mfd": "Mendankwe-Nkwen", - "mfe": "Morisyen", - "mff": "Naki", - "mfg": "Mogofin", - "mfh": "Matal", - "mfi": "Wandala", - "mfj": "Mefele", - "mfk": "North Mofu", - "mfl": "Putai", - "mfm": "Marghi South", - "mfn": "Cross River Mbembe", - "mfo": "Mbe", - "mfp": "Makassar Malay", - "mfq": "Moba", - "mfr": "Marrithiyel", - "mft": "Mokerang", - "mfu": "Mbwela", - "mfv": "Mandjak", - "mfw": "Mulaha", - "mfx": "Melo", - "mfy": "Mayo", - "mfz": "Mabaan", - "mgb": "Mararit", - "mgc": "Morokodo", - "mgd": "Moru", - "mge": "Mango", - "mgf": "Maklew", - "mgg": "Mpumpong", - "mgh": "Makhuwa-Meetto", - "mgi": "Lijili", - "mgj": "Abureni", - "mgk": "Mawes", - "mgl": "Maleu-Kilenge", - "mgm": "Mambae", - "mgn": "Mbangi", - "mgo": "Meta'", - "mgp": "Eastern Magar", - "mgq": "Malila", - "mgr": "Mambwe-Lungu", - "mgs": "Manda (Tanzania)", - "mgt": "Mongol", - "mgu": "Mailu", - "mgv": "Matengo", - "mgw": "Matumbi", - "mgy": "Mbunga", - "mgz": "Mbugwe", - "mha": "Manda (India)", - "mhb": "Mahongwe", - "mhc": "Mocho", - "mhd": "Mbugu", - "mhe": "Mah Meri", - "mhf": "Mamaa", - "mhg": "Margu", - "mhi": "Ma'di", - "mhj": "Mogholi", - "mhk": "Mungaka", - "mhl": "Mauwake", - "mhm": "Makhuwa-Moniga", - "mhn": "Mócheno", - "mho": "Mashi (Zambia)", - "mhp": "Balinese Malay", - "mhq": "Mandan", - "mhr": "Eastern Mari", - "mhs": "Buru (Indonesia)", - "mht": "Mandahuaca", - "mhu": "Digaro-Mishmi", - "mhw": "Mbukushu", - "mhx": "Maru", - "mhy": "Ma'anyan", - "mhz": "Mor (Mor Islands)", - "mia": "Miami", - "mib": "Atatláhuca Mixtec", - "mic": "Mi'kmaq", - "mid": "Mandaic", - "mie": "Ocotepec Mixtec", - "mif": "Mofu-Gudur", - "mig": "San Miguel El Grande Mixtec", - "mih": "Chayuco Mixtec", - "mii": "Chigmecatitlán Mixtec", - "mij": "Mungbam", - "mik": "Mikasuki", - "mil": "Peñoles Mixtec", - "mim": "Alacatlatzala Mixtec", - "min": "Minangkabau", - "mio": "Pinotepa Nacional Mixtec", - "mip": "Apasco-Apoala Mixtec", - "miq": "Mískito", - "mir": "Isthmus Mixe", - "mit": "Southern Puebla Mixtec", - "miu": "Cacaloxtepec Mixtec", - "miw": "Akoye", - "mix": "Mixtepec Mixtec", - "miy": "Ayutla Mixtec", - "miz": "Coatzospan Mixtec", - "mjc": "San Juan Colorado Mixtec", - "mjd": "Northwest Maidu", - "mje": "Muskum", - "mjg": "Tu", - "mjh": "Mwera (Nyasa)", - "mji": "Kim Mun", - "mjj": "Mawak", - "mjk": "Matukar", - "mjl": "Mandeali", - "mjm": "Medebur", - "mjn": "Ma (Papua New Guinea)", - "mjo": "Malankuravan", - "mjp": "Malapandaram", - "mjq": "Malaryan", - "mjr": "Malavedan", - "mjs": "Miship", - "mjt": "Sauria Paharia", - "mju": "Manna-Dora", - "mjv": "Mannan", - "mjw": "Karbi", - "mjx": "Mahali", - "mjy": "Mahican", - "mjz": "Majhi", - "mka": "Mbre", - "mkb": "Mal Paharia", - "mkc": "Siliput", - "mkd": "Macedonian", - "mke": "Mawchi", - "mkf": "Miya", - "mkg": "Mak (China)", - "mki": "Dhatki", - "mkj": "Mokilese", - "mkk": "Byep", - "mkl": "Mokole", - "mkm": "Moklen", - "mkn": "Kupang Malay", - "mko": "Mingang Doso", - "mkp": "Moikodi", - "mkq": "Bay Miwok", - "mkr": "Malas", - "mks": "Silacayoapan Mixtec", - "mkt": "Vamale", - "mku": "Konyanka Maninka", - "mkv": "Mafea", - "mkw": "Kituba (Congo)", - "mkx": "Kinamiging Manobo", - "mky": "East Makian", - "mkz": "Makasae", - "mla": "Malo", - "mlb": "Mbule", - "mlc": "Cao Lan", - "mle": "Manambu", - "mlf": "Mal", - "mlh": "Mape", - "mli": "Malimpung", - "mlj": "Miltu", - "mlk": "Kiwilwana", - "mll": "Malua Bay", - "mlm": "Mulam", - "mln": "Malango", - "mlo": "Mlomp", - "mlp": "Bargam", - "mlq": "Western Maninkakan", - "mlr": "Vame", - "mls": "Masalit", - "mlt": "Maltese", - "mlu": "To'abaita", - "mlv": "Mwotlap", - "mlw": "Moloko", - "mlx": "Naha'ai", - "mlz": "Malaynon", - "mma": "Mama", - "mmb": "Momina", - "mmc": "Michoacán Mazahua", - "mmd": "Maonan", - "mme": "Mae", - "mmf": "Mundat", - "mmg": "North Ambrym", - "mmh": "Mehináku", - "mmi": "Musar", - "mmj": "Majhwar", - "mmk": "Mukha-Dora", - "mml": "Man Met", - "mmm": "Maii", - "mmn": "Mamanwa", - "mmo": "Mangga Buang", - "mmp": "Siawi", - "mmq": "Musak", - "mmr": "Western Xiangxi Miao", - "mmt": "Malalamai", - "mmu": "Mmaala", - "mmv": "Miriti", - "mmw": "Emae", - "mmx": "Madak", - "mmy": "Migaama", - "mmz": "Mabaale", - "mna": "Mbula", - "mnb": "Muna", - "mnc": "Manchu", - "mnd": "Mondé", - "mne": "Naba", - "mnf": "Mundani", - "mng": "Eastern Mnong", - "mnh": "Mono (Democratic Republic of Congo)", - "mni": "Manipuri", - "mnj": "Munji", - "mnk": "Mandinka", - "mnl": "Tiale", - "mnm": "Mapena", - "mnn": "Southern Mnong", - "mnp": "Min Bei Chinese", - "mnq": "Minriq", - "mnr": "Mono (USA)", - "mns": "Mansi", - "mnu": "Mer", - "mnv": "Rennell-Bellona", - "mnw": "Mon", - "mnx": "Manikion", - "mny": "Manyawa", - "mnz": "Moni", - "moa": "Mwan", - "moc": "Mocoví", - "moe": "Montagnais", - "mog": "Mongondow", - "moh": "Mohawk", - "moi": "Mboi", - "moj": "Monzombo", - "mok": "Morori", - "mom": "Mangue", - "moo": "Monom", - "mop": "Mopán Maya", - "moq": "Mor (Bomberai Peninsula)", - "mor": "Moro", - "mos": "Mossi", - "mot": "Barí", - "mou": "Mogum", - "mov": "Mohave", - "mow": "Moi (Congo)", - "mox": "Molima", - "moy": "Shekkacho", - "moz": "Mukulu", - "mpa": "Mpoto", - "mpb": "Mullukmulluk", - "mpc": "Mangarrayi", - "mpd": "Machinere", - "mpe": "Majang", - "mpg": "Marba", - "mph": "Maung", - "mpi": "Mpade", - "mpj": "Wangkajunga", - "mpk": "Mbara (Chad)", - "mpl": "Middle Watut", - "mpm": "Yosondúa Mixtec", - "mpn": "Mindiri", - "mpo": "Miu", - "mpp": "Migabac", - "mpq": "Matís", - "mpr": "Vangunu", - "mps": "Dadibi", - "mpt": "Mian", - "mpu": "Makuráp", - "mpv": "Mungkip", - "mpw": "Mapidian", - "mpx": "Misima-Panaeati", - "mpy": "Mapia", - "mpz": "Mpi", - "mqa": "Maba (Indonesia)", - "mqb": "Mbuko", - "mqc": "Mangole", - "mqe": "Matepi", - "mqf": "Momuna", - "mqg": "Kota Bangun Kutai Malay", - "mqh": "Tlazoyaltepec Mixtec", - "mqi": "Mariri", - "mqj": "Mamasa", - "mqk": "Rajah Kabunsuwan Manobo", - "mql": "Mbelime", - "mqm": "South Marquesan", - "mqn": "Moronene", - "mqo": "Modole", - "mqp": "Manipa", - "mqq": "Minokok", - "mqr": "Mander", - "mqs": "West Makian", - "mqt": "Mok", - "mqu": "Mandari", - "mqv": "Mosimo", - "mqw": "Murupi", - "mqx": "Mamuju", - "mqy": "Manggarai", - "mqz": "Pano", - "mra": "Mlabri", - "mrb": "Marino", - "mrc": "Maricopa", - "mrd": "Western Magar", - "mrf": "Elseng", - "mrg": "Mising", - "mrh": "Mara Chin", - "mri": "Māori", - "mrj": "Western Mari", - "mrk": "Hmwaveke", - "mrl": "Mortlockese", - "mrm": "Mwerlap", - "mrn": "Cheke Holo", - "mro": "Mru", - "mrp": "Morouas", - "mrq": "North Marquesan", - "mrr": "Maria (India)", - "mrs": "Maragus", - "mrt": "Marghi Central", - "mru": "Mono (Cameroon)", - "mrv": "Mangareva", - "mrw": "Maranao", - "mrx": "Maremgi", - "mry": "Mandaya", - "mrz": "Marind", - "msb": "Masbatenyo", - "msc": "Sankaran Maninka", - "mse": "Musey", - "msf": "Mekwei", - "msg": "Moraid", - "msh": "Masikoro Malagasy", - "msi": "Sabah Malay", - "msj": "Ma (Democratic Republic of Congo)", - "msk": "Mansaka", - "msl": "Poule", - "msm": "Agusan Manobo", - "msn": "Vurës", - "mso": "Mombum", - "msp": "Maritsauá", - "msq": "Caac", - "mss": "West Masela", - "msu": "Musom", - "msv": "Maslam", - "msw": "Mansoanka", - "msx": "Moresada", - "msy": "Aruamu", - "msz": "Momare", - "mta": "Cotabato Manobo", - "mtb": "Anyin Morofo", - "mtc": "Munit", - "mtd": "Mualang", - "mte": "Mono (Solomon Islands)", - "mtf": "Murik (Papua New Guinea)", - "mtg": "Una", - "mth": "Munggui", - "mti": "Maiwa (Papua New Guinea)", - "mtj": "Moskona", - "mtk": "Mbe'", - "mtl": "Montol", - "mtm": "Mator", - "mtn": "Matagalpa", - "mto": "Totontepec Mixe", - "mtp": "Wichí Lhamtés Nocten", - "mtq": "Muong", - "mtr": "Mewari", - "mts": "Yora", - "mtt": "Mota", - "mtu": "Tututepec Mixtec", - "mtv": "Asaro'o", - "mtw": "Southern Binukidnon", - "mtx": "Tidaá Mixtec", - "mty": "Nabi", - "mua": "Mundang", - "mub": "Mubi", - "muc": "Ajumbu", - "mud": "Mednyj Aleut", - "mug": "Musgu", - "muh": "Mündü", - "mui": "Musi", - "muj": "Mabire", - "muk": "Mugom", - "mum": "Maiwala", - "muo": "Nyong", - "mup": "Malvi", - "muq": "Eastern Xiangxi Miao", - "mur": "Murle", - "mus": "Creek", - "mut": "Western Muria", - "muu": "Yaaku", - "muv": "Muthuvan", - "mux": "Bo-Ung", - "muy": "Muyang", - "muz": "Mursi", - "mva": "Manam", - "mvb": "Mattole", - "mvd": "Mamboru", - "mve": "Marwari (Pakistan)", - "mvf": "Peripheral Mongolian", - "mvg": "Yucuañe Mixtec", - "mvh": "Mulgi", - "mvi": "Miyako", - "mvk": "Mekmek", - "mvl": "Mbara (Australia)", - "mvn": "Minaveha", - "mvo": "Marovo", - "mvp": "Duri", - "mvq": "Moere", - "mvr": "Marau", - "mvs": "Massep", - "mvt": "Mpotovoro", - "mvu": "Marfa", - "mvv": "Tagal Murut", - "mvw": "Machinga", - "mvx": "Meoswar", - "mvy": "Indus Kohistani", - "mvz": "Mesqan", - "mwa": "Mwatebu", - "mwb": "Juwal", - "mwc": "Are", - "mwe": "Mwera (Chimwera)", - "mwf": "Murrinh-Patha", - "mwg": "Aiklep", - "mwh": "Mouk-Aria", - "mwi": "Ninde", - "mwk": "Kita Maninkakan", - "mwl": "Mirandese", - "mwm": "Sar", - "mwn": "Nyamwanga", - "mwo": "Central Maewo", - "mwp": "Kala Lagaw Ya", - "mwq": "Mün Chin", - "mws": "Mwimbi-Muthambi", - "mwt": "Moken", - "mwu": "Mittu", - "mwv": "Mentawai", - "mww": "Hmong Daw", - "mwz": "Moingi", - "mxa": "Northwest Oaxaca Mixtec", - "mxb": "Tezoatlán Mixtec", - "mxc": "Manyika", - "mxd": "Modang", - "mxe": "Mele-Fila", - "mxf": "Malgbe", - "mxg": "Mbangala", - "mxh": "Mvuba", - "mxi": "Mozarabic", - "mxj": "Miju-Mishmi", - "mxk": "Monumbo", - "mxl": "Maxi Gbe", - "mxm": "Meramera", - "mxn": "Moi (Indonesia)", - "mxo": "Mbowe", - "mxp": "Tlahuitoltepec Mixe", - "mxq": "Juquila Mixe", - "mxr": "Murik (Malaysia)", - "mxs": "Huitepec Mixtec", - "mxt": "Jamiltepec Mixtec", - "mxu": "Mada (Cameroon)", - "mxv": "Metlatónoc Mixtec", - "mxw": "Namo", - "mxx": "Mawukakan", - "mxy": "Southeastern Nochixtlán Mixtec", - "mxz": "Central Masela", - "mya": "Burmese", - "myb": "Mbay", - "myc": "Mayeka", - "mye": "Myene", - "myf": "Bambassi", - "myg": "Manta", - "myh": "Makah", - "myj": "Mangayat", - "myk": "Mamara Senoufo", - "myl": "Moma", - "mym": "Me'en", - "myo": "Anfillo", - "myp": "Pirahã", - "myr": "Muniche", - "mys": "Mesmes", - "myu": "Mundurukú", - "myv": "Erzya", - "myw": "Muyuw", - "myx": "Masaaba", - "myy": "Macuna", - "myz": "Classical Mandaic", - "mza": "Santa María Zacatepec Mixtec", - "mzb": "Tumzabt", - "mzd": "Malimba", - "mze": "Morawa", - "mzh": "Wichí Lhamtés Güisnay", - "mzi": "Ixcatlán Mazatec", - "mzj": "Manya", - "mzk": "Nigeria Mambila", - "mzl": "Mazatlán Mixe", - "mzm": "Mumuye", - "mzn": "Mazanderani", - "mzo": "Matipuhy", - "mzp": "Movima", - "mzq": "Mori Atas", - "mzr": "Marúbo", - "mzs": "Macanese", - "mzt": "Mintil", - "mzu": "Inapang", - "mzv": "Manza", - "mzw": "Deg", - "mzz": "Maiadomu", - "naa": "Namla", - "nab": "Southern Nambikuára", - "nac": "Narak", - "nae": "Naka'ela", - "naf": "Nabak", - "nag": "Naga Pidgin", - "naj": "Nalu", - "nak": "Nakanai", - "nal": "Nalik", - "nam": "Ngan'gityemerri", - "nan": "Min Nan Chinese", - "nao": "Naaba", - "nap": "Neapolitan", - "naq": "Nama (Namibia)", - "nar": "Iguta", - "nas": "Naasioi", - "nat": "Hungworo", - "nau": "Nauru", - "nav": "Navajo", - "naw": "Nawuri", - "nax": "Nakwi", - "nay": "Ngarrindjeri", - "naz": "Coatepec Nahuatl", - "nba": "Nyemba", - "nbb": "Ndoe", - "nbc": "Chang Naga", - "nbd": "Ngbinda", - "nbe": "Konyak Naga", - "nbh": "Ngamo", - "nbi": "Mao Naga", - "nbj": "Ngarinyman", - "nbk": "Nake", - "nbm": "Ngbaka Ma'bo", - "nbn": "Kuri", - "nbo": "Nkukoli", - "nbp": "Nnam", - "nbq": "Nggem", - "nbr": "Numana", - "nbt": "Na", - "nbu": "Rongmei Naga", - "nbv": "Ngamambo", - "nbw": "Southern Ngbandi", - "nby": "Ningera", - "nca": "Iyo", - "ncb": "Central Nicobarese", - "ncc": "Ponam", - "ncd": "Nachering", - "nce": "Yale", - "ncf": "Notsi", - "ncg": "Nisga'a", - "nch": "Central Huasteca Nahuatl", - "nci": "Nahuatl", - "ncj": "Northern Puebla Nahuatl", - "nck": "Na-kara", - "ncl": "Michoacán Nahuatl", - "ncm": "Nambo", - "ncn": "Nauna", - "nco": "Sibe", - "ncq": "Northern Katang", - "ncr": "Ncane", - "nct": "Chothe Naga", - "ncu": "Chumburung", - "ncx": "Central Puebla Nahuatl", - "ncz": "Natchez", - "nda": "Ndasa", - "ndb": "Kenswei Nsei", - "ndc": "Ndau", - "ndd": "Nde-Nsele-Nta", - "nde": "North Ndebele", - "ndg": "Ndengereko", - "ndh": "Ndali", - "ndi": "Samba Leko", - "ndj": "Ndamba", - "ndk": "Ndaka", - "ndl": "Ndolo", - "ndm": "Ndam", - "ndn": "Ngundi", - "ndo": "Ndonga", - "ndp": "Ndo", - "ndq": "Ndombe", - "ndr": "Ndoola", - "nds": "Low Saxon", - "ndt": "Ndunga", - "ndu": "Dugun", - "ndv": "Ndut", - "ndw": "Ndobo", - "ndx": "Nduga", - "ndy": "Lutos", - "ndz": "Ndogo", - "nea": "Eastern Ngad'a", - "neb": "Toura (Côte d'Ivoire)", - "nec": "Nedebang", - "nee": "Nêlêmwa-Nixumwak", - "neg": "Negidal", - "neh": "Nyenkha", - "nej": "Neko", - "nek": "Neku", - "nem": "Nemi", - "nen": "Nengone", - "nep": "Nepali (macrolanguage)", - "neq": "North Central Mixe", - "ner": "Yahadian", - "nes": "Bhoti Kinnauri", - "net": "Nete", - "nev": "Nyaheun", - "new": "Newari", - "nex": "Neme", - "ney": "Neyo", - "nez": "Nez Perce", - "nfa": "Dhao", - "nfd": "Ahwai", - "nfl": "Ayiwo", - "nfr": "Nafaanra", - "nfu": "Mfumte", - "nga": "Ngbaka", - "ngb": "Northern Ngbandi", - "ngc": "Ngombe (Democratic Republic of Congo)", - "ngd": "Ngando (Central African Republic)", - "nge": "Ngemba", - "ngg": "Ngbaka Manza", - "ngh": "Nǁng", - "ngi": "Ngizim", - "ngj": "Ngie", - "ngk": "Dalabon", - "ngl": "Lomwe", - "ngn": "Ngwo", - "ngp": "Ngulu", - "ngq": "Ngurimi", - "ngr": "Engdewu", - "ngs": "Gvoko", - "ngt": "Ngeq", - "ngu": "Guerrero Nahuatl", - "ngv": "Nagumi", - "ngw": "Ngwaba", - "ngx": "Nggwahyi", - "ngy": "Tibea", - "ngz": "Ngungwel", - "nha": "Nhanda", - "nhb": "Beng", - "nhc": "Tabasco Nahuatl", - "nhd": "Chiripá", - "nhe": "Eastern Huasteca Nahuatl", - "nhf": "Nhuwala", - "nhg": "Tetelcingo Nahuatl", - "nhh": "Nahari", - "nhi": "Zacatlán-Ahuacatlán-Tepetzintla Nahuatl", - "nhk": "Isthmus-Cosoleacaque Nahuatl", - "nhm": "Morelos Nahuatl", - "nhn": "Central Nahuatl", - "nho": "Takuu", - "nhp": "Isthmus-Pajapan Nahuatl", - "nhq": "Huaxcaleca Nahuatl", - "nhr": "Naro", - "nht": "Ometepec Nahuatl", - "nhu": "Noone", - "nhv": "Temascaltepec Nahuatl", - "nhw": "Western Huasteca Nahuatl", - "nhx": "Isthmus-Mecayapan Nahuatl", - "nhy": "Northern Oaxaca Nahuatl", - "nhz": "Santa María La Alta Nahuatl", - "nia": "Nias", - "nib": "Nakame", - "nid": "Ngandi", - "nie": "Niellim", - "nif": "Nek", - "nig": "Ngalakgan", - "nih": "Nyiha (Tanzania)", - "nii": "Nii", - "nij": "Ngaju", - "nik": "Southern Nicobarese", - "nil": "Nila", - "nim": "Nilamba", - "nin": "Ninzo", - "nio": "Nganasan", - "niq": "Nandi", - "nir": "Nimboran", - "nis": "Nimi", - "nit": "Southeastern Kolami", - "niu": "Niuean", - "niv": "Gilyak", - "niw": "Nimo", - "nix": "Hema", - "niy": "Ngiti", - "niz": "Ningil", - "nja": "Nzanyi", - "njb": "Nocte Naga", - "njh": "Lotha Naga", - "nji": "Gudanji", - "njj": "Njen", - "njl": "Njalgulgule", - "njm": "Angami Naga", - "njn": "Liangmai Naga", - "njo": "Ao Naga", - "njr": "Njerep", - "njs": "Nisa", - "nju": "Ngadjunmaya", - "njx": "Kunyi", - "njy": "Njyem", - "njz": "Nyishi", - "nka": "Nkoya", - "nkb": "Khoibu Naga", - "nkc": "Nkongho", - "nkd": "Koireng", - "nke": "Duke", - "nkg": "Nekgini", - "nkh": "Khezha Naga", - "nki": "Thangal Naga", - "nkj": "Nakai", - "nkk": "Nokuku", - "nkm": "Namat", - "nkn": "Nkangala", - "nko": "Nkonya", - "nkp": "Niuatoputapu", - "nkq": "Nkami", - "nkr": "Nukuoro", - "nks": "North Asmat", - "nkt": "Nyika (Tanzania)", - "nku": "Bouna Kulango", - "nkv": "Nyika (Malawi and Zambia)", - "nkw": "Nkutu", - "nkx": "Nkoroo", - "nkz": "Nkari", - "nla": "Ngombale", - "nlc": "Nalca", - "nld": "Dutch", - "nle": "East Nyala", - "nlg": "Gela", - "nli": "Grangali", - "nlj": "Nyali", - "nlk": "Ninia Yali", - "nll": "Nihali", - "nlm": "Mankiyali", - "nlo": "Ngul", - "nlu": "Nchumbulu", - "nlv": "Orizaba Nahuatl", - "nlx": "Nahali", - "nly": "Nyamal", - "nlz": "Nalögo", - "nma": "Maram Naga", - "nmb": "V'ënen Taut", - "nmc": "Ngam", - "nmd": "Ndumu", - "nme": "Mzieme Naga", - "nmf": "Tangkhul Naga (India)", - "nmg": "Kwasio", - "nmh": "Monsang Naga", - "nmi": "Nyam", - "nmk": "Namakura", - "nml": "Ndemli", - "nmm": "Manangba", - "nmn": "ǃXóõ", - "nmo": "Moyon Naga", - "nmp": "Nimanbur", - "nmq": "Nambya", - "nmr": "Nimbari", - "nms": "Letemboi", - "nmt": "Namonuito", - "nmu": "Northeast Maidu", - "nmv": "Ngamini", - "nmw": "Rifao", - "nmx": "Nama (Papua New Guinea)", - "nmy": "Namuyi", - "nmz": "Nawdm", - "nna": "Nyangumarta", - "nnb": "Nande", - "nnc": "Nancere", - "nnd": "West Ambae", - "nne": "Ngandyera", - "nnf": "Ngaing", - "nng": "Maring Naga", - "nnh": "Ngiemboon", - "nni": "North Nuaulu", - "nnj": "Nyangatom", - "nnk": "Nankina", - "nnl": "Northern Rengma Naga", - "nnm": "Namia", - "nnn": "Ngete", - "nnp": "Wancho Naga", - "nnq": "Ngindo", - "nnr": "Narungga", - "nnt": "Nanticoke", - "nnu": "Dwang", - "nnv": "Nugunu (Australia)", - "nnw": "Southern Nuni", - "nny": "Nyangga", - "nnz": "Nda'nda'", - "noa": "Woun Meu", - "nob": "Norwegian Bokmål", - "noc": "Nuk", - "nod": "Northern Thai", - "noe": "Nimadi", - "nof": "Nomane", - "nog": "Nogai", - "noh": "Nomu", - "noi": "Noiri", - "noj": "Nonuya", - "nok": "Nooksack", - "non": "Old Norse", - "nop": "Numanggang", - "noq": "Ngongo", - "nor": "Norwegian", - "nos": "Eastern Nisu", - "not": "Nomatsiguenga", - "nou": "Ewage-Notu", - "now": "Nyambo", - "noy": "Noy", - "noz": "Nayi", - "npa": "Nar Phu", - "nph": "Phom Naga", - "npi": "Nepali", - "npl": "Southeastern Puebla Nahuatl", - "npn": "Mondropolon", - "npo": "Pochuri Naga", - "nps": "Nipsan", - "npy": "Napu", - "nqg": "Southern Nago", - "nqk": "Kura Ede Nago", - "nql": "Ngendelengo", - "nqm": "Ndom", - "nqn": "Nen", - "nqt": "Nteng", - "nra": "Ngom", - "nrb": "Nara", - "nrc": "Noric", - "nre": "Southern Rengma Naga", - "nrf": "Jèrriais", - "nrg": "Narango", - "nri": "Chokri Naga", - "nrk": "Ngarla", - "nrl": "Ngarluma", - "nrm": "Narom", - "nrt": "Northern Kalapuya", - "nru": "Narua", - "nrz": "Lala", - "nsa": "Sangtam Naga", - "nsb": "Lower Nossob", - "nsd": "Southern Nisu", - "nse": "Nsenga", - "nsf": "Northwestern Nisu", - "nsg": "Ngasa", - "nsh": "Ngoshie", - "nsk": "Naskapi", - "nsm": "Sumi Naga", - "nsn": "Nehan", - "nso": "Sepedi", - "nsq": "Northern Sierra Miwok", - "nss": "Nali", - "nst": "Tase Naga", - "nsu": "Sierra Negra Nahuatl", - "nsw": "Navut", - "nsx": "Nsongo", - "nsy": "Nasal", - "nsz": "Nisenan", - "ntd": "Northern Tidung", - "nte": "Nathembo", - "nti": "Natioro", - "ntj": "Ngaanyatjarra", - "ntk": "Ikoma-Nata-Isenye", - "ntm": "Nateni", - "nto": "Ntomba", - "ntp": "Northern Tepehuan", - "ntr": "Delo", - "ntu": "Natügu", - "ntw": "Nottoway", - "nty": "Mantsi", - "ntz": "Natanzi", - "nua": "Yuanga", - "nuc": "Nukuini", - "nud": "Ngala", - "nue": "Ngundu", - "nuf": "Nusu", - "nug": "Nungali", - "nuh": "Ndunda", - "nui": "Ngumbi", - "nuj": "Nyole", - "nuk": "Nuu-chah-nulth", - "nul": "Nusa Laut", - "num": "Niuafo'ou", - "nun": "Anong", - "nuo": "Nguôn", - "nup": "Nupe-Nupe-Tako", - "nuq": "Nukumanu", - "nur": "Nukuria", - "nus": "Nuer", - "nut": "Nung (Viet Nam)", - "nuu": "Ngbundu", - "nuv": "Northern Nuni", - "nuw": "Nguluwan", - "nux": "Mehek", - "nuy": "Nunggubuyu", - "nuz": "Tlamacazapa Nahuatl", - "nvh": "Nasarian", - "nvm": "Namiae", - "nvo": "Nyokon", - "nwa": "Nawathinehena", - "nwb": "Nyabwa", - "nwe": "Ngwe", - "nwi": "Southwest Tanna", - "nwm": "Nyamusa-Molo", - "nwo": "Nauo", - "nwr": "Nawaru", - "nxa": "Nauete", - "nxd": "Ngando (Democratic Republic of Congo)", - "nxe": "Nage", - "nxg": "Ngad'a", - "nxi": "Nindi", - "nxl": "South Nuaulu", - "nxn": "Ngawun", - "nxo": "Ndambomo", - "nxq": "Naxi", - "nxr": "Ninggerum", - "nxx": "Nafri", - "nya": "Nyanja", - "nyb": "Nyangbo", - "nyc": "Nyanga-li", - "nyd": "Olunyole", - "nye": "Nyengo", - "nyf": "Kigiryama", - "nyg": "Nyindu", - "nyh": "Nyikina", - "nyi": "Ama (Sudan)", - "nyj": "Nyanga", - "nyk": "Nyaneka", - "nyl": "Nyeu", - "nym": "Nyamwezi", - "nyn": "Nyankole", - "nyo": "Nyoro", - "nyp": "Nyang'i", - "nyq": "Nayini", - "nyr": "Nyiha (Malawi)", - "nys": "Nyungar", - "nyt": "Nyawaygi", - "nyu": "Nyungwe", - "nyv": "Nyulnyul", - "nyw": "Nyaw", - "nyx": "Nganyaywana", - "nyy": "Nyakyusa-Ngonde", - "nza": "Tigon Mbembe", - "nzb": "Njebi", - "nzd": "Nzadi", - "nzi": "Nzima", - "nzk": "Nzakara", - "nzm": "Zeme Naga", - "nzu": "Teke-Nzikou", - "nzy": "Nzakambay", - "nzz": "Nanga Dama Dogon", - "oaa": "Orok", - "oac": "Oroch", - "oar": "Old Aramaic (up to 700 BCE)", - "obi": "Obispeño", - "obl": "Oblo", - "obo": "Obo Manobo", - "obr": "Old Burmese", - "obu": "Obulom", - "oca": "Ocaina", - "och": "Old Chinese", - "oci": "Occitan (post 1500)", - "ocu": "Atzingo Matlatzinca", - "odk": "Od", - "odt": "Old Dutch", - "odu": "Odual", - "ofo": "Ofo", - "ofs": "Old Frisian", - "ofu": "Efutop", - "ogb": "Ogbia", - "ogc": "Ogbah", - "oge": "Old Georgian", - "ogg": "Ogbogolo", - "ogo": "Khana", - "ogu": "Ogbronuagum", - "oia": "Oirata", - "oin": "Inebu One", - "ojb": "Northwestern Ojibwa", - "ojc": "Central Ojibwa", - "ojg": "Eastern Ojibwa", - "ojp": "Old Japanese", - "ojs": "Severn Ojibwa", - "ojv": "Ontong Java", - "ojw": "Western Ojibwa", - "oka": "Okanagan", - "okb": "Okobo", - "okd": "Okodia", - "oke": "Okpe (Southwestern Edo)", - "okh": "Koresh-e Rostam", - "oki": "Okiek", - "okj": "Oko-Juwoi", - "okk": "Kwamtim One", - "okn": "Oki-No-Erabu", - "okr": "Kirike", - "oks": "Oko-Eni-Osayen", - "oku": "Oku", - "okv": "Orokaiva", - "okx": "Okpe (Northwestern Edo)", - "ola": "Walungge", - "old": "Mochi", - "ole": "Olekha", - "olm": "Oloma", - "olo": "Livvi", - "olr": "Olrat", - "olu": "Kuvale", - "oma": "Omaha-Ponca", - "omb": "East Ambae", - "omc": "Mochica", - "omg": "Omagua", - "omi": "Omi", - "omk": "Omok", - "oml": "Ombo", - "omo": "Utarmbung", - "omr": "Old Marathi", - "omt": "Omotik", - "omu": "Omurano", - "omw": "South Tairora", - "omx": "Old Mon", - "ona": "Ona", - "onb": "Lingao", - "one": "Oneida", - "ong": "Olo", - "oni": "Onin", - "onj": "Onjob", - "onk": "Kabore One", - "onn": "Onobasulu", - "ono": "Onondaga", - "onp": "Sartang", - "onr": "Northern One", - "ons": "Ono", - "onu": "Unua", - "onw": "Old Nubian", - "ood": "Tohono O'odham", - "oog": "Ong", - "oon": "Önge", - "oor": "Oorlams", - "oos": "Old Ossetic", - "opa": "Okpamheri", - "opk": "Kopkaka", - "opm": "Oksapmin", - "opo": "Opao", - "opt": "Opata", - "opy": "Ofayé", - "ora": "Oroha", - "orc": "Orma", - "ore": "Orejón", - "org": "Oring", - "orh": "Oroqen", - "orn": "Orang Kanaq", - "oro": "Orokolo", - "orr": "Oruma", - "ors": "Orang Seletar", - "ort": "Adivasi Oriya", - "oru": "Ormuri", - "orv": "Old Russian", - "orw": "Oro Win", - "orx": "Oro", - "ory": "Oriya", - "orz": "Ormu", - "osa": "Osage", - "osc": "Oscan", - "osi": "Osing", - "oso": "Ososo", - "osp": "Old Spanish", - "oss": "Ossetic", - "ost": "Osatu", - "osu": "Southern One", - "osx": "Old Saxon", - "otd": "Ot Danum", - "ote": "Mezquital Otomi", - "oti": "Oti", - "otl": "Tilapa Otomi", - "otm": "Eastern Highland Otomi", - "otn": "Tenango Otomi", - "otq": "Querétaro Otomi", - "otr": "Otoro", - "ots": "Estado de México Otomi", - "ott": "Temoaya Otomi", - "otu": "Otuke", - "otw": "Ottawa", - "otx": "Texcatepec Otomi", - "oty": "Old Tamil", - "otz": "Ixtenco Otomi", - "oua": "Tagargrent", - "oub": "Glio-Oubi", - "oue": "Oune", - "oui": "Old Uighur", - "oum": "Ouma", - "owi": "Owiniga", - "owl": "Old Welsh", - "oyb": "Oy", - "oyd": "Oyda", - "oym": "Wayampi", - "oyy": "Oya'oya", - "ozm": "Koonzime", - "pab": "Parecís", - "pac": "Pacoh", - "pad": "Paumarí", - "pae": "Pagibete", - "paf": "Paranawát", - "pag": "Pangasinan", - "pah": "Tenharim", - "pai": "Pe", - "pak": "Parakanã", - "pal": "Pahlavi", - "pam": "Pampanga", - "pan": "Punjabi", - "pao": "Northern Paiute", - "pap": "Papiamento", - "paq": "Parya", - "par": "Timbisha", - "pas": "Papasena", - "pau": "Palauan", - "pav": "Pakaásnovos", - "paw": "Pawnee", - "pay": "Pech", - "paz": "Pankararú", - "pbb": "Páez", - "pbc": "Patamona", - "pbe": "Mezontla Popoloca", - "pbf": "Coyotepec Popoloca", - "pbg": "Paraujano", - "pbh": "E'ñapa Woromaipu", - "pbi": "Parkwa", - "pbl": "Mak (Nigeria)", - "pbn": "Kpasam", - "pbo": "Papel", - "pbp": "Badyara", - "pbr": "Pangwa", - "pbs": "Central Pame", - "pbt": "Southern Pashto", - "pbu": "Northern Pashto", - "pbv": "Pnar", - "pby": "Pyu (Papua New Guinea)", - "pca": "Santa Inés Ahuatempan Popoloca", - "pcb": "Pear", - "pcc": "Bouyei", - "pcd": "Picard", - "pce": "Ruching Palaung", - "pcf": "Paliyan", - "pcg": "Paniya", - "pci": "Duruwa", - "pcj": "Parenga", - "pck": "Paite Chin", - "pcl": "Pardhi", - "pcm": "Nigerian Pidgin", - "pcn": "Piti", - "pcp": "Pacahuara", - "pcw": "Pyapun", - "pda": "Anam", - "pdc": "Pennsylvania German", - "pdi": "Pa Di", - "pdn": "Podena", - "pdo": "Padoe", - "pdt": "Plautdietsch", - "pdu": "Kayan", - "pea": "Peranakan Indonesian", - "peb": "Eastern Pomo", - "ped": "Mala (Papua New Guinea)", - "pee": "Taje", - "pef": "Northeastern Pomo", - "peg": "Pengo", - "peh": "Bonan", - "pei": "Chichimeca-Jonaz", - "pej": "Northern Pomo", - "pek": "Penchal", - "pel": "Pekal", - "pem": "Phende", - "peo": "Old Persian (ca. 600-400 B.C.)", - "pep": "Kunja", - "peq": "Southern Pomo", - "pes": "Persian", - "pev": "Pémono", - "pex": "Petats", - "pey": "Petjo", - "pez": "Eastern Penan", - "pfa": "Pááfang", - "pfe": "Pere", - "pfl": "Pfaelzisch", - "pga": "Sudanese Creole Arabic", - "pgg": "Pangwali", - "pgi": "Pagi", - "pgk": "Rerep", - "pgs": "Pangseng", - "pgu": "Pagu", - "pha": "Pa-Hng", - "phd": "Phudagi", - "phg": "Phuong", - "phh": "Phukha", - "phk": "Phake", - "phl": "Phalura", - "phm": "Phimbi", - "phn": "Phoenician", - "pho": "Phunoi", - "phq": "Phana'", - "phr": "Pahari-Potwari", - "pht": "Phu Thai", - "phu": "Phuan", - "phv": "Pahlavani", - "pia": "Pima Bajo", - "pib": "Yine", - "pic": "Pinji", - "pid": "Piaroa", - "pie": "Piro", - "pif": "Pingelapese", - "pih": "Pitcairn-Norfolk", - "pii": "Pini", - "pil": "Yom", - "pim": "Powhatan", - "pin": "Piame", - "pio": "Piapoco", - "pip": "Pero", - "pir": "Piratapuyo", - "pis": "Pijin", - "pit": "Pitta Pitta", - "piu": "Pintupi-Luritja", - "piv": "Vaeakau-Taumako", - "piw": "Pimbwe", - "pix": "Piu", - "piy": "Piya-Kwonci", - "piz": "Pije", - "pjt": "Pitjantjatjara", - "pkb": "Pokomo", - "pkg": "Pak-Tong", - "pkh": "Pankhu", - "pkn": "Pakanha", - "pko": "Pökoot", - "pkp": "Pukapuka", - "pkr": "Attapady Kurumba", - "pkt": "Maleng", - "pku": "Paku", - "pla": "Miani", - "plb": "Polonombauk", - "plc": "Central Palawano", - "ple": "Palu'e", - "plg": "Pilagá", - "plh": "Paulohi", - "pli": "Pali", - "plj": "Polci", - "plk": "Kohistani Shina", - "pll": "Shwe Palaung", - "pln": "Palenquero", - "plo": "Oluta Popoluca", - "plq": "Palaic", - "plr": "Palaka Senoufo", - "pls": "San Marcos Tlalcoyalco Popoloca", - "plt": "Plateau Malagasy", - "plu": "Palikúr", - "plv": "Southwest Palawano", - "plw": "Brooke's Point Palawano", - "ply": "Bolyu", - "plz": "Paluan", - "pma": "Paama", - "pmb": "Pambia", - "pmd": "Pallanganmiddang", - "pme": "Pwaamei", - "pmf": "Pamona", - "pmh": "Māhārāṣṭri Prākrit", - "pmi": "Northern Pumi", - "pmj": "Southern Pumi", - "pmm": "Pomo", - "pmn": "Pam", - "pmo": "Pom", - "pmq": "Northern Pame", - "pmr": "Paynamar", - "pms": "Piemontese", - "pmt": "Tuamotuan", - "pmw": "Plains Miwok", - "pmx": "Poumei Naga", - "pmy": "Papuan Malay", - "pmz": "Southern Pame", - "pna": "Punan Bah-Biau", - "pnb": "Western Panjabi", - "pnc": "Pannei", - "pnd": "Mpinda", - "pne": "Western Penan", - "png": "Pongu", - "pnh": "Penrhyn", - "pni": "Aoheng", - "pnj": "Pinjarup", - "pnk": "Paunaka", - "pnl": "Paleni", - "pnm": "Punan Batu 1", - "pnn": "Pinai-Hagahai", - "pno": "Panobo", - "pnp": "Pancana", - "pnq": "Pana (Burkina Faso)", - "pnr": "Panim", - "pns": "Ponosakan", - "pnt": "Pontic", - "pnu": "Jiongnai Bunu", - "pnv": "Pinigura", - "pnw": "Panytyima", - "pnx": "Phong-Kniang", - "pny": "Pinyin", - "pnz": "Pana (Central African Republic)", - "poc": "Poqomam", - "poe": "San Juan Atzingo Popoloca", - "pof": "Poke", - "pog": "Potiguára", - "poh": "Poqomchi'", - "poi": "Highland Popoluca", - "pol": "Polish", - "pom": "Southeastern Pomo", - "pon": "Pohnpeian", - "poo": "Central Pomo", - "pop": "Pwapwâ", - "poq": "Texistepec Popoluca", - "por": "Portuguese", - "pos": "Sayula Popoluca", - "pot": "Potawatomi", - "pov": "Upper Guinea Crioulo", - "pow": "San Felipe Otlaltepec Popoloca", - "pox": "Polabian", - "poy": "Pogolo", - "ppe": "Papi", - "ppi": "Paipai", - "ppk": "Uma", - "ppl": "Pipil", - "ppm": "Papuma", - "ppn": "Papapana", - "ppo": "Folopa", - "ppp": "Pelende", - "ppq": "Pei", - "pps": "San Luís Temalacayuca Popoloca", - "ppt": "Pare", - "ppu": "Papora", - "pqa": "Pa'a", - "pqm": "Malecite-Passamaquoddy", - "prc": "Parachi", - "pre": "Principense", - "prf": "Paranan", - "prg": "Prussian", - "prh": "Porohanon", - "pri": "Paicî", - "prk": "Parauk", - "prm": "Kibiri", - "prn": "Prasuni", - "pro": "Old Provençal (to 1500)", - "prq": "Ashéninka Perené", - "prr": "Puri", - "prs": "Dari", - "prt": "Phai", - "pru": "Puragi", - "prw": "Parawen", - "prx": "Purik", - "psa": "Asue Awyu", - "pse": "Central Malay", - "psh": "Southwest Pashayi", - "psi": "Southeast Pashayi", - "psm": "Pauserna", - "psn": "Panasuan", - "psq": "Pasi", - "pss": "Kaulong", - "pst": "Central Pashto", - "psu": "Sauraseni Prākrit", - "psw": "Port Sandwich", - "psy": "Piscataway", - "pta": "Pai Tavytera", - "pth": "Pataxó Hã-Ha-Hãe", - "pti": "Wangkatha", - "ptn": "Patani", - "pto": "Zo'é", - "ptp": "Patep", - "ptr": "Piamatsina", - "ptt": "Enrekang", - "ptu": "Bambam", - "ptv": "Port Vato", - "ptw": "Pentlatch", - "pty": "Pathiya", - "pua": "Western Highland Purepecha", - "pub": "Purum", - "pud": "Punan Aput", - "pue": "Puelche", - "puf": "Punan Merah", - "pug": "Phuie", - "pui": "Puinave", - "puj": "Punan Tubu", - "pum": "Puma", - "puo": "Puoc", - "pup": "Pulabu", - "puq": "Puquina", - "pur": "Puruborá", - "puu": "Punu", - "puw": "Puluwatese", - "pux": "Puare", - "puy": "Purisimeño", - "pwa": "Pawaia", - "pwb": "Panawa", - "pwg": "Gapapaiwa", - "pwi": "Patwin", - "pwm": "Molbog", - "pwn": "Paiwan", - "pwo": "Pwo Western Karen", - "pwr": "Powari", - "pww": "Pwo Northern Karen", - "pye": "Pye Krumen", - "pym": "Fyam", - "pyn": "Poyanáwa", - "pyu": "Puyuma", - "pyx": "Pyu (Myanmar)", - "pyy": "Pyen", - "pzn": "Para Naga", - "qua": "Quapaw", - "qub": "Huallaga Huánuco Quechua", - "quc": "Quiché", - "qud": "Calderón Highland Quichua", - "quf": "Lambayeque Quechua", - "qug": "Chimborazo Highland Quichua", - "quh": "South Bolivian Quechua", - "qui": "Quileute", - "quk": "Chachapoyas Quechua", - "qul": "North Bolivian Quechua", - "qum": "Sipacapense", - "qun": "Quinault", - "qup": "Southern Pastaza Quechua", - "qur": "Yanahuanca Pasco Quechua", - "qus": "Santiago del Estero Quichua", - "quv": "Sacapulteco", - "quw": "Tena Lowland Quichua", - "qux": "Yauyos Quechua", - "quy": "Ayacucho Quechua", - "quz": "Cusco Quechua", - "qva": "Ambo-Pasco Quechua", - "qvc": "Cajamarca Quechua", - "qve": "Eastern Apurímac Quechua", - "qvh": "Huamalíes-Dos de Mayo Huánuco Quechua", - "qvi": "Imbabura Highland Quichua", - "qvj": "Loja Highland Quichua", - "qvl": "Cajatambo North Lima Quechua", - "qvm": "Margos-Yarowilca-Lauricocha Quechua", - "qvn": "North Junín Quechua", - "qvo": "Napo Lowland Quechua", - "qvp": "Pacaraos Quechua", - "qvs": "San Martín Quechua", - "qvw": "Huaylla Wanca Quechua", - "qvy": "Queyu", - "qvz": "Northern Pastaza Quichua", - "qwa": "Corongo Ancash Quechua", - "qwc": "Classical Quechua", - "qwh": "Huaylas Ancash Quechua", - "qws": "Sihuas Ancash Quechua", - "qwt": "Kwalhioqua-Tlatskanai", - "qxa": "Chiquián Ancash Quechua", - "qxc": "Chincha Quechua", - "qxh": "Panao Huánuco Quechua", - "qxl": "Salasaca Highland Quichua", - "qxn": "Northern Conchucos Ancash Quechua", - "qxo": "Southern Conchucos Ancash Quechua", - "qxp": "Puno Quechua", - "qxq": "Qashqa'i", - "qxr": "Cañar Highland Quichua", - "qxs": "Southern Qiang", - "qxt": "Santa Ana de Tusi Pasco Quechua", - "qxu": "Arequipa-La Unión Quechua", - "qxw": "Jauja Wanca Quechua", - "qyp": "Quiripi", - "raa": "Dungmali", - "rab": "Camling", - "rac": "Rasawa", - "rad": "Rade", - "raf": "Western Meohang", - "rag": "Lulogooli", - "rah": "Rabha", - "rai": "Ramoaaina", - "rak": "Tulu-Bohuai", - "ral": "Ralte", - "ram": "Canela", - "ran": "Riantana", - "rao": "Rao", - "rap": "Rapanui", - "raq": "Saam", - "rar": "Rarotongan", - "ras": "Tegali", - "rat": "Razajerdi", - "rau": "Raute", - "rav": "Sampang", - "raw": "Rawang", - "rax": "Rang", - "ray": "Rapa", - "raz": "Rahambuu", - "rbb": "Rumai Palaung", - "rcf": "Réunion Creole French", - "rdb": "Rudbari", - "rea": "Rerau", - "reb": "Rembong", - "ree": "Rejang Kayan", - "reg": "Kara (Tanzania)", - "rei": "Reli", - "rej": "Rejang", - "rel": "Rendille", - "rem": "Remo", - "ren": "Rengao", - "res": "Reshe", - "ret": "Retta", - "rey": "Reyesano", - "rga": "Roria", - "rge": "Romano-Greek", - "rgk": "Rangkas", - "rgn": "Romagnol", - "rgr": "Resígaro", - "rgs": "Southern Roglai", - "rgu": "Ringgou", - "rhg": "Rohingya", - "rhp": "Yahang", - "ria": "Riang (India)", - "rif": "Tarifit", - "ril": "Riang Lang", - "rim": "Nyaturu", - "rin": "Nungu", - "rir": "Ribun", - "rit": "Ritharrngu", - "riu": "Riung", - "rjg": "Rajong", - "rji": "Raji", - "rjs": "Rajbanshi", - "rka": "Kraol", - "rkb": "Rikbaktsa", - "rkh": "Rakahanga-Manihiki", - "rki": "Rakhine", - "rkm": "Marka", - "rkt": "Rangpuri", - "rma": "Rama", - "rmb": "Rembarrnga", - "rmc": "Carpathian Romani", - "rme": "Angloromani", - "rmf": "Kalo Finnish Romani", - "rmh": "Murkim", - "rmi": "Lomavren", - "rmk": "Romkun", - "rml": "Baltic Romani", - "rmm": "Roma", - "rmn": "Balkan Romani", - "rmo": "Sinte Romani", - "rmp": "Rempi", - "rmq": "Caló", - "rmt": "Domari", - "rmw": "Welsh Romani", - "rmx": "Romam", - "rmy": "Vlax Romani", - "rmz": "Marma", - "rnd": "Ruund", - "rng": "Ronga", - "rnl": "Ranglong", - "rnn": "Roon", - "rnp": "Rongpo", - "rnr": "Nari Nari", - "rnw": "Rungwa", - "rob": "Tae'", - "roc": "Cacgia Roglai", - "rod": "Rogo", - "roe": "Ronji", - "rof": "Rombo", - "rog": "Northern Roglai", - "roh": "Romansh", - "rol": "Romblomanon", - "ron": "Romanian", - "roo": "Rotokas", - "rop": "Kriol", - "ror": "Rongga", - "rou": "Runga", - "row": "Dela-Oenale", - "rpn": "Repanbitip", - "rpt": "Rapting", - "rri": "Ririo", - "rro": "Waima", - "rth": "Ratahan", - "rtm": "Rotuman", - "rtw": "Rathawi", - "rub": "Gungu", - "ruc": "Ruuli", - "rue": "Rusyn", - "ruf": "Luguru", - "rug": "Roviana", - "ruh": "Ruga", - "ruk": "Che", - "run": "Rundi", - "ruo": "Istro Romanian", - "rup": "Macedo-Romanian", - "ruq": "Megleno Romanian", - "rus": "Russian", - "rut": "Rutul", - "ruu": "Lanas Lobu", - "rwa": "Rawo", - "rwk": "Rwa", - "rwm": "Amba (Uganda)", - "rwo": "Rawa", - "rwr": "Marwari (India)", - "rxd": "Ngardi", - "rxw": "Karuwali", - "ryn": "Northern Amami-Oshima", - "rys": "Yaeyama", - "ryu": "Central Okinawan", - "rzh": "Rāziḥī", - "saa": "Saba", - "sab": "Buglere", - "sac": "Meskwaki", - "sad": "Sandawe", - "sae": "Sabanê", - "saf": "Safaliba", - "sag": "Sango", - "sah": "Yakut", - "saj": "Sahu", - "sak": "Sake", - "sam": "Samaritan Aramaic", - "san": "Sanskrit", - "sao": "Sause", - "saq": "Samburu", - "sar": "Saraveca", - "sas": "Sasak", - "sat": "Santali", - "sau": "Saleman", - "sav": "Saafi-Saafi", - "saw": "Sawi", - "sax": "Sa", - "say": "Saya", - "saz": "Saurashtra", - "sba": "Ngambay", - "sbb": "Simbo", - "sbc": "Kele (Papua New Guinea)", - "sbd": "Southern Samo", - "sbe": "Saliba", - "sbf": "Shabo", - "sbg": "Seget", - "sbh": "Sori-Harengan", - "sbi": "Seti", - "sbj": "Surbakhal", - "sbk": "Safwa", - "sbl": "Botolan Sambal", - "sbm": "Sagala", - "sbn": "Sindhi Bhil", - "sbo": "Sabüm", - "sbp": "Sangu (Tanzania)", - "sbq": "Sileibi", - "sbr": "Sembakung Murut", - "sbs": "Subiya", - "sbt": "Kimki", - "sbu": "Stod Bhoti", - "sbw": "Simba", - "sbx": "Seberuang", - "sby": "Soli", - "sbz": "Sara Kaba", - "scb": "Chut", - "sce": "Dongxiang", - "scf": "San Miguel Creole French", - "scg": "Sanggau", - "sch": "Sakachep", - "sci": "Sri Lankan Creole Malay", - "sck": "Sadri", - "scl": "Shina", - "scn": "Sicilian", - "sco": "Scots", - "scp": "Hyolmo", - "scq": "Sa'och", - "scs": "North Slavey", - "sct": "Southern Katang", - "scu": "Shumcho", - "scv": "Sheni", - "scw": "Sha", - "sda": "Toraja-Sa'dan", - "sdb": "Shabak", - "sdc": "Sassarese Sardinian", - "sde": "Surubu", - "sdf": "Sarli", - "sdg": "Savi", - "sdh": "Southern Kurdish", - "sdj": "Suundi", - "sdk": "Sos Kundi", - "sdn": "Gallurese Sardinian", - "sdo": "Bukar-Sadung Bidayuh", - "sdp": "Sherdukpen", - "sdr": "Oraon Sadri", - "sds": "Sened", - "sdu": "Sarudu", - "sdx": "Sibu Melanau", - "sdz": "Sallands", - "sea": "Semai", - "seb": "Shempire Senoufo", - "sec": "Sechelt", - "sed": "Sedang", - "see": "Seneca", - "sef": "Cebaara Senoufo", - "seg": "Segeju", - "seh": "Sena", - "sei": "Seri", - "sej": "Sene", - "sek": "Sekani", - "sel": "Selkup", - "sen": "Nanerigé Sénoufo", - "seo": "Suarmin", - "sep": "Sìcìté Sénoufo", - "seq": "Senara Sénoufo", - "ser": "Serrano", - "ses": "Koyraboro Senni Songhai", - "set": "Sentani", - "seu": "Serui-Laut", - "sev": "Nyarafolo Senoufo", - "sew": "Sewa Bay", - "sey": "Secoya", - "sez": "Senthang Chin", - "sfe": "Eastern Subanen", - "sfm": "Small Flowery Miao", - "sfw": "Sehwi", - "sga": "Old Irish (to 900)", - "sgb": "Mag-antsi Ayta", - "sgc": "Kipsigis", - "sgd": "Surigaonon", - "sge": "Segai", - "sgh": "Shughni", - "sgi": "Suga", - "sgk": "Sangkong", - "sgm": "Singa", - "sgp": "Singpho", - "sgr": "Sangisari", - "sgt": "Brokpake", - "sgu": "Salas", - "sgw": "Sebat Bet Gurage", - "sgy": "Sanglechi", - "sgz": "Sursurunga", - "sha": "Shall-Zwall", - "shb": "Ninam", - "shc": "Sonde", - "shd": "Kundal Shahi", - "she": "Sheko", - "shg": "Shua", - "shh": "Shoshoni", - "shi": "Tachelhit", - "shj": "Shatt", - "shk": "Shilluk", - "shl": "Shendu", - "shm": "Shahrudi", - "shn": "Shan", - "sho": "Shanga", - "shp": "Shipibo-Conibo", - "shq": "Sala", - "shr": "Shi", - "shs": "Shuswap", - "sht": "Shasta", - "shu": "Chadian Arabic", - "shv": "Shehri", - "shw": "Shwai", - "shx": "She", - "shy": "Tachawit", - "shz": "Syenara Senoufo", - "sia": "Akkala Sami", - "sib": "Sebop", - "sid": "Sidamo", - "sie": "Simaa", - "sif": "Siamou", - "sig": "Paasaal", - "sih": "Zire", - "sii": "Shom Peng", - "sij": "Numbami", - "sil": "Tumulung Sisaala", - "sim": "Mende (Papua New Guinea)", - "sin": "Sinhalese", - "sip": "Sikkimese", - "siq": "Sonia", - "sir": "Siri", - "sis": "Siuslaw", - "siu": "Sinagen", - "siv": "Sumariup", - "siw": "Siwai", - "six": "Sumau", - "siy": "Sivandi", - "siz": "Siwi", - "sja": "Epena", - "sjb": "Sajau Basap", - "sjd": "Kildin Sami", - "sje": "Pite Sami", - "sjg": "Assangori", - "sjk": "Kemi Sami", - "sjl": "Sajalong", - "sjm": "Mapun", - "sjo": "Xibe", - "sjp": "Surjapuri", - "sjr": "Siar-Lak", - "sjs": "Senhaja De Srair", - "sjt": "Ter Sami", - "sju": "Ume Sami", - "sjw": "Shawnee", - "ska": "Skagit", - "skb": "Saek", - "skc": "Ma Manda", - "skd": "Southern Sierra Miwok", - "ske": "Seke (Vanuatu)", - "skf": "Sakirabiá", - "skg": "Sakalava Malagasy", - "skh": "Sikule", - "ski": "Sika", - "skj": "Seke (Nepal)", - "skm": "Kutong", - "skn": "Kolibugan Subanon", - "sko": "Seko Tengah", - "skp": "Sekapan", - "skq": "Sininkere", - "skr": "Seraiki", - "sks": "Maia", - "skt": "Sakata", - "sku": "Sakao", - "skv": "Skou", - "skw": "Skepi Creole Dutch", - "skx": "Seko Padang", - "sky": "Sikaiana", - "skz": "Sekar", - "slc": "Sáliba", - "sld": "Sissala", - "sle": "Sholaga", - "slg": "Selungai Murut", - "slh": "Southern Puget Sound Salish", - "sli": "Lower Silesian", - "slk": "Slovak", - "sll": "Salt-Yui", - "slm": "Pangutaran Sama", - "sln": "Salinan", - "slp": "Lamaholot", - "slq": "Salchuq", - "slr": "Salar", - "slt": "Sila", - "slu": "Selaru", - "slv": "Slovenian", - "slw": "Sialum", - "slx": "Salampasu", - "sly": "Selayar", - "slz": "Ma'ya", - "sma": "Southern Sami", - "smb": "Simbari", - "smc": "Som", - "smd": "Sama", - "sme": "Northern Sami", - "smf": "Auwe", - "smg": "Simbali", - "smh": "Samei", - "smj": "Lule Saami", - "smk": "Bolinao", - "sml": "Central Sama", - "smm": "Musasa", - "smn": "Inari Sami", - "smo": "Samoan", - "smp": "Samaritan", - "smq": "Samo", - "smr": "Simeulue", - "sms": "Skolt Sami", - "smt": "Simte", - "smu": "Somray", - "smv": "Samvedi", - "smw": "Sumbawa", - "smx": "Samba", - "smy": "Semnani", - "smz": "Simeku", - "sna": "Shona", - "snb": "Sebuyau", - "snc": "Sinaugoro", - "snd": "Sindhi", - "sne": "Bau Bidayuh", - "snf": "Noon", - "sng": "Sanga (Democratic Republic of Congo)", - "sni": "Sensi", - "snj": "Riverain Sango", - "snk": "Soninke", - "snl": "Sangil", - "snm": "Southern Ma'di", - "snn": "Siona", - "sno": "Snohomish", - "snp": "Siane", - "snq": "Sangu (Gabon)", - "snr": "Sihan", - "sns": "South West Bay", - "snu": "Viid", - "snv": "Sa'ban", - "snw": "Selee", - "snx": "Sam", - "sny": "Saniyo-Hiyewe", - "snz": "Kou", - "soa": "Thai Song", - "sob": "Sobei", - "soc": "So (Democratic Republic of Congo)", - "sod": "Songoora", - "soe": "Songomeno", - "sog": "Sogdian", - "soh": "Aka", - "soi": "Sonha", - "soj": "Soi", - "sok": "Sokoro", - "sol": "Solos", - "som": "Somali", - "soo": "Songo", - "sop": "Songe", - "soq": "Kanasi", - "sor": "Somrai", - "sos": "Seeku", - "sot": "Southern Sotho", - "sou": "Southern Thai", - "sov": "Sonsorol", - "sow": "Sowanda", - "sox": "Swo", - "soy": "Miyobe", - "soz": "Temi", - "spa": "Spanish", - "spb": "Sepa (Indonesia)", - "spc": "Sapé", - "spd": "Saep", - "spe": "Sepa (Papua New Guinea)", - "spg": "Sian", - "spi": "Saponi", - "spk": "Sengo", - "spl": "Selepet", - "spm": "Akukem", - "spn": "Sanapaná", - "spo": "Spokane", - "spp": "Supyire Senoufo", - "spq": "Loreto-Ucayali Spanish", - "spr": "Saparua", - "sps": "Saposa", - "spt": "Spiti Bhoti", - "spu": "Sapuan", - "spv": "Sambalpuri", - "spy": "Sabaot", - "sqa": "Shama-Sambuga", - "sqh": "Shau", - "sqm": "Suma", - "sqn": "Susquehannock", - "sqo": "Sorkhei", - "sqq": "Sou", - "sqt": "Soqotri", - "squ": "Squamish", - "sra": "Saruga", - "srb": "Sora", - "src": "Logudorese Sardinian", - "sre": "Sara", - "srf": "Nafi", - "srg": "Sulod", - "srh": "Sarikoli", - "sri": "Siriano", - "srk": "Serudung Murut", - "srl": "Isirawa", - "srm": "Saramaccan", - "srn": "Sranan Tongo", - "sro": "Campidanese Sardinian", - "srp": "Serbian", - "srq": "Sirionó", - "srr": "Serer", - "srs": "Sarsi", - "srt": "Sauri", - "sru": "Suruí", - "srv": "Southern Sorsoganon", - "srw": "Serua", - "srx": "Sirmauri", - "sry": "Sera", - "srz": "Shahmirzadi", - "ssb": "Southern Sama", - "ssc": "Suba-Simbiti", - "ssd": "Siroi", - "sse": "Bangingih Sama", - "ssf": "Thao", - "ssg": "Seimat", - "ssh": "Shihhi Arabic", - "ssi": "Sansi", - "ssj": "Sausi", - "ssk": "Sunam", - "ssl": "Western Sisaala", - "ssm": "Semnam", - "ssn": "Waata", - "sso": "Sissano", - "ssq": "So'a", - "sss": "Sô", - "sst": "Sinasina", - "ssu": "Susuami", - "ssv": "Shark Bay", - "ssw": "Swati", - "ssx": "Samberigi", - "ssy": "Saho", - "ssz": "Sengseng", - "stb": "Northern Subanen", - "ste": "Liana-Seti", - "stf": "Seta", - "stg": "Trieng", - "sti": "Bulo Stieng", - "stj": "Matya Samo", - "stk": "Arammba", - "stl": "Stellingwerfs", - "stm": "Setaman", - "stn": "Owa", - "sto": "Stoney", - "stp": "Southeastern Tepehuan", - "stq": "Saterfriesisch", - "str": "Straits Salish", - "sts": "Shumashti", - "stt": "Budeh Stieng", - "stu": "Samtao", - "stv": "Silt'e", - "stw": "Satawalese", - "sty": "Siberian Tatar", - "sua": "Sulka", - "sub": "Suku", - "suc": "Western Subanon", - "sue": "Suena", - "sug": "Suganga", - "sui": "Suki", - "suj": "Shubi", - "suk": "Sukuma", - "sun": "Sundanese", - "suo": "Bouni", - "suq": "Tirmaga-Chai Suri", - "sur": "Mwaghavul", - "sus": "Susu", - "sut": "Subtiaba", - "suv": "Puroik", - "suw": "Sumbwa", - "sux": "Sumerian", - "suy": "Suyá", - "suz": "Sunwar", - "sva": "Svan", - "svb": "Ulau-Suain", - "svc": "Vincentian Creole English", - "sve": "Serili", - "svm": "Slavomolisano", - "svs": "Savosavo", - "swb": "Maore Comorian", - "swc": "Congo Swahili", - "swe": "Swedish", - "swf": "Sere", - "swg": "Swabian", - "swh": "Swahili", - "swi": "Sui", - "swj": "Sira", - "swk": "Malawi Sena", - "swm": "Samosa", - "swn": "Sawknah", - "swo": "Shanenawa", - "swp": "Suau", - "swq": "Sharwa", - "swr": "Saweru", - "sws": "Seluwasan", - "swt": "Sawila", - "swu": "Suwawa", - "swv": "Shekhawati", - "sww": "Sowa", - "swx": "Suruahá", - "swy": "Sarua", - "sxb": "Suba", - "sxe": "Sighu", - "sxg": "Shuhi", - "sxk": "Southern Kalapuya", - "sxn": "Sangir", - "sxr": "Saaroa", - "sxs": "Sasaru", - "sxu": "Upper Saxon", - "sxw": "Saxwe Gbe", - "sya": "Siang", - "syb": "Central Subanen", - "syc": "Classical Syriac", - "syi": "Seki", - "syk": "Sukur", - "syl": "Sylheti", - "sym": "Maya Samo", - "syn": "Senaya", - "syo": "Suoy", - "sys": "Sinyar", - "syw": "Kagate", - "syx": "Samay", - "sza": "Semelai", - "szb": "Ngalum", - "szc": "Semaq Beri", - "sze": "Seze", - "szg": "Sengele", - "szl": "Silesian", - "szn": "Sula", - "szp": "Suabo", - "szv": "Isu (Fako Division)", - "szw": "Sawai", - "szy": "Sakizaya", - "taa": "Lower Tanana", - "tab": "Tabassaran", - "tac": "Lowland Tarahumara", - "tad": "Tause", - "tae": "Tariana", - "taf": "Tapirapé", - "tag": "Tagoi", - "tah": "Tahitian", - "taj": "Eastern Tamang", - "tak": "Tala", - "tal": "Tal", - "tam": "Tamil", - "tan": "Tangale", - "tao": "Yami", - "tap": "Taabwa", - "taq": "Tamasheq", - "tar": "Central Tarahumara", - "tat": "Tatar", - "tau": "Upper Tanana", - "tav": "Tatuyo", - "taw": "Tai", - "tax": "Tamki", - "tay": "Atayal", - "taz": "Tocho", - "tba": "Aikanã", - "tbc": "Takia", - "tbd": "Kaki Ae", - "tbe": "Tanimbili", - "tbf": "Mandara", - "tbg": "North Tairora", - "tbh": "Thurawal", - "tbi": "Gaam", - "tbj": "Tiang", - "tbk": "Calamian Tagbanwa", - "tbl": "Tboli", - "tbm": "Tagbu", - "tbn": "Barro Negro Tunebo", - "tbo": "Tawala", - "tbp": "Taworta", - "tbr": "Tumtum", - "tbs": "Tanguat", - "tbt": "Tembo (Kitembo)", - "tbu": "Tubar", - "tbv": "Tobo", - "tbw": "Tagbanwa", - "tbx": "Kapin", - "tby": "Tabaru", - "tbz": "Ditammari", - "tca": "Ticuna", - "tcb": "Tanacross", - "tcc": "Datooga", - "tcd": "Tafi", - "tce": "Southern Tutchone", - "tcf": "Malinaltepec Tlapanec", - "tcg": "Tamagario", - "tch": "Turks And Caicos Creole English", - "tci": "Wára", - "tck": "Tchitchege", - "tcl": "Taman (Myanmar)", - "tcm": "Tanahmerah", - "tcn": "Tichurong", - "tco": "Taungyo", - "tcp": "Tawr Chin", - "tcq": "Kaiy", - "tcs": "Yumplatok", - "tct": "T'en", - "tcu": "Southeastern Tarahumara", - "tcw": "Tecpatlán Totonac", - "tcx": "Toda", - "tcy": "Tulu", - "tcz": "Thado Chin", - "tda": "Tagdal", - "tdb": "Panchpargania", - "tdc": "Emberá-Tadó", - "tdd": "Tai Nüa", - "tde": "Tiranige Diga Dogon", - "tdf": "Talieng", - "tdg": "Western Tamang", - "tdh": "Thulung", - "tdi": "Tomadino", - "tdj": "Tajio", - "tdk": "Tambas", - "tdl": "Sur", - "tdm": "Taruma", - "tdn": "Tondano", - "tdo": "Teme", - "tdq": "Tita", - "tdr": "Todrah", - "tds": "Doutai", - "tdt": "Tetun Dili", - "tdv": "Toro", - "tdx": "Tandroy-Mahafaly Malagasy", - "tdy": "Tadyawan", - "tea": "Temiar", - "tec": "Terik", - "ted": "Tepo Krumen", - "tee": "Huehuetla Tepehua", - "tef": "Teressa", - "teg": "Teke-Tege", - "teh": "Tehuelche", - "tei": "Torricelli", - "tek": "Ibali Teke", - "tel": "Telugu", - "tem": "Timne", - "ten": "Tama (Colombia)", - "teo": "Teso", - "tep": "Tepecano", - "teq": "Temein", - "ter": "Tereno", - "tes": "Tengger", - "tet": "Tetum", - "teu": "Soo", - "tev": "Teor", - "tew": "Tewa (USA)", - "tex": "Tennet", - "tey": "Tulishi", - "tez": "Tetserret", - "tfi": "Tofin Gbe", - "tfn": "Tanaina", - "tfo": "Tefaro", - "tfr": "Teribe", - "tft": "Ternate", - "tga": "Sagalla", - "tgb": "Tobilung", - "tgc": "Tigak", - "tgd": "Ciwogai", - "tge": "Eastern Gorkha Tamang", - "tgf": "Chalikha", - "tgh": "Tobagonian Creole English", - "tgi": "Lawunuia", - "tgj": "Tagin", - "tgk": "Tajik", - "tgl": "Tagalog", - "tgn": "Tandaganon", - "tgo": "Sudest", - "tgp": "Tangoa", - "tgq": "Tring", - "tgs": "Nume", - "tgt": "Central Tagbanwa", - "tgu": "Tanggu", - "tgw": "Tagwana Senoufo", - "tgx": "Tagish", - "tgy": "Togoyo", - "tgz": "Tagalaka", - "tha": "Thai", - "thd": "Thayore", - "the": "Chitwania Tharu", - "thf": "Thangmi", - "thh": "Northern Tarahumara", - "thi": "Tai Long", - "thk": "Tharaka", - "thl": "Dangaura Tharu", - "thm": "Aheu", - "thn": "Thachanadan", - "thp": "Thompson", - "thq": "Kochila Tharu", - "thr": "Rana Tharu", - "ths": "Thakali", - "tht": "Tahltan", - "thu": "Thuri", - "thv": "Tahaggart Tamahaq", - "thy": "Tha", - "thz": "Tayart Tamajeq", - "tia": "Tidikelt Tamazight", - "tic": "Tira", - "tif": "Tifal", - "tig": "Tigre", - "tih": "Timugon Murut", - "tii": "Tiene", - "tij": "Tilung", - "tik": "Tikar", - "til": "Tillamook", - "tim": "Timbe", - "tin": "Tindi", - "tio": "Teop", - "tip": "Trimuris", - "tiq": "Tiéfo", - "tir": "Tigrinya", - "tis": "Masadiit Itneg", - "tit": "Tinigua", - "tiu": "Adasen", - "tiv": "Tiv", - "tiw": "Tiwi", - "tix": "Southern Tiwa", - "tiy": "Tiruray", - "tiz": "Tai Hongjin", - "tja": "Tajuasohn", - "tjg": "Tunjung", - "tji": "Northern Tujia", - "tjj": "Tjungundji", - "tjl": "Tai Laing", - "tjm": "Timucua", - "tjn": "Tonjon", - "tjo": "Temacine Tamazight", - "tjp": "Tjupany", - "tjs": "Southern Tujia", - "tju": "Tjurruru", - "tkb": "Buksa", - "tkd": "Tukudede", - "tke": "Takwane", - "tkg": "Tesaka Malagasy", - "tkl": "Tokelau", - "tkm": "Takelma", - "tkn": "Toku-No-Shima", - "tkp": "Tikopia", - "tkq": "Tee", - "tkr": "Tsakhur", - "tks": "Takestani", - "tkt": "Kathoriya Tharu", - "tku": "Upper Necaxa Totonac", - "tkv": "Mur Pano", - "tkw": "Teanu", - "tkx": "Tangko", - "tkz": "Takua", - "tla": "Southwestern Tepehuan", - "tlb": "Tobelo", - "tlc": "Yecuatla Totonac", - "tld": "Talaud", - "tlf": "Telefol", - "tlg": "Tofanma", - "tli": "Tlingit", - "tlj": "Talinga-Bwisi", - "tlk": "Taloki", - "tll": "Tetela", - "tlm": "Tolomako", - "tln": "Talondo'", - "tlo": "Talodi", - "tlp": "Filomena Mata-Coahuitlán Totonac", - "tlq": "Tai Loi", - "tlr": "Talise", - "tls": "Tambotalo", - "tlt": "Teluti", - "tlu": "Tulehu", - "tlv": "Taliabu", - "tlx": "Khehek", - "tly": "Talysh", - "tma": "Tama (Chad)", - "tmb": "Katbol", - "tmc": "Tumak", - "tmd": "Haruai", - "tmf": "Toba-Maskoy", - "tmg": "Ternateño", - "tmi": "Tutuba", - "tmj": "Samarokena", - "tml": "Tamnim Citak", - "tmm": "Tai Thanh", - "tmn": "Taman (Indonesia)", - "tmo": "Temoq", - "tmq": "Tumleo", - "tmr": "Jewish Babylonian Aramaic (ca. 200-1200 CE)", - "tms": "Tima", - "tmt": "Tasmate", - "tmu": "Iau", - "tmv": "Tembo (Motembo)", - "tmw": "Temuan", - "tmy": "Tami", - "tmz": "Tamanaku", - "tna": "Tacana", - "tnb": "Western Tunebo", - "tnc": "Tanimuca-Retuarã", - "tnd": "Angosturas Tunebo", - "tng": "Tobanga", - "tnh": "Maiani", - "tni": "Tandia", - "tnk": "Kwamera", - "tnl": "Lenakel", - "tnm": "Tabla", - "tnn": "North Tanna", - "tno": "Toromono", - "tnp": "Whitesands", - "tnq": "Taino", - "tnr": "Ménik", - "tns": "Tenis", - "tnt": "Tontemboan", - "tnu": "Tay Khang", - "tnv": "Tangchangya", - "tnw": "Tonsawang", - "tnx": "Tanema", - "tny": "Tongwe", - "tnz": "Ten'edn", - "tob": "Toba", - "toc": "Coyutla Totonac", - "tod": "Toma", - "tof": "Gizrra", - "tog": "Tonga (Nyasa)", - "toh": "Gitonga", - "toi": "Tonga (Zambia)", - "toj": "Tojolabal", - "tol": "Tolowa", - "tom": "Tombulu", - "ton": "Tonga (Tonga Islands)", - "too": "Xicotepec De Juárez Totonac", - "top": "Papantla Totonac", - "toq": "Toposa", - "tor": "Togbo-Vara Banda", - "tos": "Highland Totonac", - "tou": "Tho", - "tov": "Upper Taromi", - "tow": "Jemez", - "tox": "Tobian", - "toy": "Topoiyo", - "toz": "To", - "tpa": "Taupota", - "tpc": "Azoyú Tlapanec", - "tpe": "Tippera", - "tpf": "Tarpia", - "tpg": "Kula", - "tpi": "Tok Pisin", - "tpj": "Tapieté", - "tpk": "Tupinikin", - "tpl": "Tlacoapa Tlapanec", - "tpm": "Tampulma", - "tpn": "Tupinambá", - "tpo": "Tai Pao", - "tpp": "Pisaflores Tepehua", - "tpq": "Tukpa", - "tpr": "Tuparí", - "tpt": "Tlachichilco Tepehua", - "tpu": "Tampuan", - "tpv": "Tanapag", - "tpw": "Tupí", - "tpx": "Acatepec Tlapanec", - "tpy": "Trumai", - "tpz": "Tinputz", - "tqb": "Tembé", - "tql": "Lehali", - "tqm": "Turumsa", - "tqn": "Tenino", - "tqo": "Toaripi", - "tqp": "Tomoip", - "tqq": "Tunni", - "tqr": "Torona", - "tqt": "Western Totonac", - "tqu": "Touo", - "tqw": "Tonkawa", - "tra": "Tirahi", - "trb": "Terebu", - "trc": "Copala Triqui", - "trd": "Turi", - "tre": "East Tarangan", - "trf": "Trinidadian Creole English", - "trg": "Lishán Didán", - "trh": "Turaka", - "tri": "Trió", - "trj": "Toram", - "trm": "Tregami", - "trn": "Trinitario", - "tro": "Tarao Naga", - "trp": "Kok Borok", - "trq": "San Martín Itunyoso Triqui", - "trr": "Taushiro", - "trs": "Chicahuaxtla Triqui", - "trt": "Tunggare", - "tru": "Turoyo", - "trv": "Taroko", - "trw": "Torwali", - "trx": "Tringgus-Sembaan Bidayuh", - "try": "Turung", - "trz": "Torá", - "tsa": "Tsaangi", - "tsb": "Tsamai", - "tsc": "Tswa", - "tsd": "Tsakonian", - "tsg": "Tausug", - "tsh": "Tsuvan", - "tsi": "Tsimshian", - "tsj": "Tshangla", - "tsk": "Tseku", - "tsl": "Ts'ün-Lao", - "tsn": "Setswana", - "tso": "Tsonga", - "tsp": "Northern Toussian", - "tsr": "Akei", - "tst": "Tondi Songway Kiini", - "tsu": "Tsou", - "tsv": "Tsogo", - "tsw": "Tsishingini", - "tsx": "Mubami", - "tsz": "Purepecha", - "tta": "Tutelo", - "ttb": "Gaa", - "ttc": "Tektiteko", - "ttd": "Tauade", - "tte": "Bwanabwana", - "ttf": "Tuotomb", - "ttg": "Tutong", - "tth": "Upper Ta'oih", - "tti": "Tobati", - "ttj": "Tooro", - "ttk": "Totoro", - "ttl": "Totela", - "ttm": "Northern Tutchone", - "ttn": "Towei", - "tto": "Lower Ta'oih", - "ttp": "Tombelala", - "ttq": "Tawallammat Tamajaq", - "ttr": "Tera", - "tts": "Northeastern Thai", - "ttt": "Muslim Tat", - "ttu": "Torau", - "ttv": "Titan", - "ttw": "Long Wat", - "tty": "Sikaritai", - "ttz": "Tsum", - "tua": "Wiarumus", - "tub": "Tübatulabal", - "tuc": "Mutu", - "tud": "Tuxá", - "tue": "Tuyuca", - "tuf": "Central Tunebo", - "tug": "Tunia", - "tuh": "Taulil", - "tui": "Tupuri", - "tuj": "Tugutil", - "tuk": "Turkmen", - "tul": "Tula", - "tum": "Tumbuka", - "tun": "Tunica", - "tuo": "Tucano", - "tuq": "Tedaga", - "tur": "Turkish", - "tus": "Tuscarora", - "tuu": "Tututni", - "tuv": "Turkana", - "tux": "Tuxináwa", - "tuy": "Tugen", - "tuz": "Turka", - "tva": "Vaghua", - "tvd": "Tsuvadi", - "tve": "Te'un", - "tvk": "Southeast Ambrym", - "tvl": "Tuvalu", - "tvm": "Tela-Masbuar", - "tvn": "Tavoyan", - "tvo": "Tidore", - "tvs": "Taveta", - "tvt": "Tutsa Naga", - "tvu": "Tunen", - "tvw": "Sedoa", - "tvy": "Timor Pidgin", - "twa": "Twana", - "twb": "Western Tawbuid", - "twc": "Teshenawa", - "twd": "Twents", - "twe": "Tewa (Indonesia)", - "twf": "Northern Tiwa", - "twg": "Tereweng", - "twh": "Tai Dón", - "twl": "Tawara", - "twn": "Twendi", - "two": "Tswapong", - "twp": "Ere", - "twq": "Tasawaq", - "twr": "Southwestern Tarahumara", - "twt": "Turiwára", - "twu": "Termanu", - "tww": "Tuwari", - "twx": "Tewe", - "twy": "Tawoyan", - "txa": "Tombonuo", - "txb": "Tokharian B", - "txc": "Tsetsaut", - "txe": "Totoli", - "txg": "Tangut", - "txh": "Thracian", - "txi": "Ikpeng", - "txj": "Tarjumo", - "txm": "Tomini", - "txn": "West Tarangan", - "txo": "Toto", - "txq": "Tii", - "txs": "Tonsea", - "txt": "Citak", - "txu": "Kayapó", - "txx": "Tatana", - "txy": "Tanosy Malagasy", - "tya": "Tauya", - "tye": "Kyanga", - "tyh": "O'du", - "tyi": "Teke-Tsaayi", - "tyj": "Tai Yo", - "tyn": "Kombai", - "typ": "Thaypan", - "tyr": "Tai Daeng", - "tys": "Tày Sa Pa", - "tyt": "Tày Tac", - "tyu": "Kua", - "tyv": "Tuvinian", - "tyx": "Teke-Tyee", - "tyz": "Tày", - "tzh": "Tzeltal", - "tzj": "Tz'utujil", - "tzm": "Central Atlas Tamazight", - "tzn": "Tugun", - "tzo": "Tzotzil", - "tzx": "Tabriak", - "uan": "Kuan", - "uar": "Tairuma", - "uba": "Ubang", - "ubi": "Ubi", - "ubl": "Buhi'non Bikol", - "ubr": "Ubir", - "ubu": "Umbu-Ungu", - "uby": "Ubykh", - "uda": "Uda", - "ude": "Udihe", - "udg": "Muduga", - "udi": "Udi", - "udj": "Ujir", - "udl": "Wuzlam", - "udm": "Udmurt", - "udu": "Uduk", - "ues": "Kioko", - "ufi": "Ufim", - "uga": "Ugaritic", - "ugb": "Kuku-Ugbanh", - "uge": "Ughele", - "ugo": "Ugong", - "uha": "Uhami", - "uhn": "Damal", - "uig": "Uyghur", - "uis": "Uisai", - "uiv": "Iyive", - "uji": "Tanjijili", - "uka": "Kaburi", - "ukg": "Ukuriguma", - "ukh": "Ukhwejo", - "ukp": "Ukpe-Bayobiri", - "ukq": "Ukwa", - "ukr": "Ukrainian", - "uku": "Ukue", - "ukv": "Kuku", - "ukw": "Ukwuani-Aboh-Ndoni", - "uky": "Kuuk-Yak", - "ula": "Fungwa", - "ulb": "Ulukwumi", - "ulc": "Ulch", - "ule": "Lule", - "ulf": "Usku", - "uli": "Ulithian", - "ulk": "Meriam Mir", - "ull": "Ullatan", - "ulm": "Ulumanda'", - "uln": "Unserdeutsch", - "ulu": "Uma' Lung", - "ulw": "Ulwa", - "uma": "Umatilla", - "umb": "Umbundu", - "umd": "Umbindhamu", - "umg": "Umbuygamu", - "umi": "Ukit", - "umm": "Umon", - "umn": "Makyan Naga", - "umo": "Umotína", - "ump": "Umpila", - "umr": "Umbugarla", - "ums": "Pendau", - "umu": "Munsee", - "una": "North Watut", - "une": "Uneme", - "ung": "Ngarinyin", - "uni": "Uni", - "unk": "Enawené-Nawé", - "unm": "Unami", - "unn": "Kurnai", - "unr": "Mundari", - "unu": "Unubahe", - "unz": "Unde Kaili", - "upi": "Umeda", - "upv": "Uripiv-Wala-Rano-Atchin", - "ura": "Urarina", - "urb": "Urubú-Kaapor", - "urc": "Urningangg", - "urd": "Urdu", - "ure": "Uru", - "urg": "Urigina", - "urh": "Urhobo", - "uri": "Urim", - "urk": "Urak Lawoi'", - "url": "Urali", - "urm": "Urapmin", - "urn": "Uruangnirin", - "uro": "Ura (Papua New Guinea)", - "urr": "Löyöp", - "urt": "Urat", - "uru": "Urumi", - "urv": "Uruava", - "urw": "Sop", - "urx": "Urimo", - "ury": "Orya", - "urz": "Uru-Eu-Wau-Wau", - "usa": "Usarufa", - "ush": "Ushojo", - "usi": "Usui", - "usk": "Usaghade", - "usp": "Uspanteco", - "usu": "Uya", - "uta": "Otank", - "ute": "Ute-Southern Paiute", - "utp": "Amba (Solomon Islands)", - "utr": "Etulo", - "utu": "Utu", - "uum": "Urum", - "uur": "Ura (Vanuatu)", - "uuu": "U", - "uve": "West Uvean", - "uvh": "Uri", - "uvl": "Lote", - "uwa": "Kuku-Uwanh", - "uya": "Doko-Uyanga", - "uzn": "Uzbek", - "uzs": "Southern Uzbek", - "vaa": "Vaagri Booli", - "vae": "Vale", - "vaf": "Vafsi", - "vag": "Vagla", - "vah": "Varhadi-Nagpuri", - "vai": "Vai", - "vaj": "Vasekele", - "val": "Vehes", - "vam": "Vanimo", - "van": "Valman", - "vao": "Vao", - "vap": "Vaiphei", - "var": "Huarijio", - "vas": "Vasavi", - "vau": "Vanuma", - "vav": "Varli", - "vay": "Wayu", - "vbb": "Southeast Babar", - "vec": "Venetian", - "ved": "Veddah", - "vel": "Veluws", - "vem": "Vemgo-Mabas", - "ven": "Venda", - "veo": "Ventureño", - "vep": "Veps", - "ver": "Mom Jango", - "vgr": "Vaghri", - "vgt": "Vlaamse Gebarentaal", - "vic": "Virgin Islands Creole English", - "vid": "Vidunda", - "vie": "Northern Vietnamese", - "vif": "Vili", - "vig": "Viemo", - "vil": "Vilela", - "vin": "Vinza", - "vis": "Vishavan", - "vit": "Viti", - "viv": "Iduna", - "vka": "Kariyarra", - "vkj": "Kujarge", - "vkk": "Kaur", - "vkl": "Kulisusu", - "vkm": "Kamakan", - "vko": "Kodeoha", - "vkp": "Korlai Creole Portuguese", - "vkt": "Tenggarong Kutai Malay", - "vku": "Kurrama", - "vlp": "Valpei", - "vls": "Vlaams", - "vma": "Martuyhunira", - "vmb": "Barbaram", - "vmc": "Juxtlahuaca Mixtec", - "vmd": "Mudu Koraga", - "vme": "East Masela", - "vmf": "Mainfränkisch", - "vmg": "Lungalunga", - "vmh": "Maraghei", - "vmi": "Miwa", - "vmj": "Ixtayutla Mixtec", - "vmk": "Makhuwa-Shirima", - "vml": "Malgana", - "vmm": "Mitlatongo Mixtec", - "vmp": "Soyaltepec Mazatec", - "vmq": "Soyaltepec Mixtec", - "vmr": "Marenje", - "vmu": "Muluridyi", - "vmv": "Valley Maidu", - "vmw": "Makhuwa", - "vmx": "Tamazola Mixtec", - "vmy": "Ayautla Mazatec", - "vmz": "Mazatlán Mazatec", - "vnk": "Vano", - "vnm": "Vinmavis", - "vnp": "Vunapu", - "vor": "Voro", - "vot": "Votic", - "vra": "Vera'a", - "vro": "Võro", - "vrs": "Varisi", - "vrt": "Burmbar", - "vto": "Vitou", - "vum": "Vumbu", - "vun": "Vunjo", - "vut": "Vute", - "vwa": "Awa (China)", - "waa": "Walla Walla", - "wab": "Wab", - "wac": "Wasco-Wishram", - "wad": "Wondama", - "wae": "Walser", - "wag": "Wa'ema", - "wah": "Watubela", - "waj": "Waffa", - "wal": "Wolaytta", - "wam": "Wampanoag", - "wan": "Wan", - "wao": "Wappo", - "wap": "Wapishana", - "waq": "Wagiman", - "war": "Waray (Philippines)", - "was": "Washo", - "wat": "Kaninuwa", - "wau": "Waurá", - "wav": "Waka", - "waw": "Waiwai", - "wax": "Watam", - "way": "Wayana", - "waz": "Wampur", - "wba": "Warao", - "wbb": "Wabo", - "wbe": "Waritai", - "wbf": "Wara", - "wbh": "Wanda", - "wbi": "Vwanji", - "wbj": "Alagwa", - "wbk": "Waigali", - "wbl": "Wakhi", - "wbm": "Wa", - "wbp": "Warlpiri", - "wbq": "Waddar", - "wbr": "Wagdi", - "wbt": "Warnman", - "wbv": "Wajarri", - "wbw": "Woi", - "wca": "Yanomámi", - "wci": "Waci Gbe", - "wdd": "Wandji", - "wdg": "Wadaginam", - "wdj": "Wadjiginy", - "wdu": "Wadjigu", - "wea": "Wewaw", - "wec": "Wè Western", - "wed": "Wedau", - "weh": "Weh", - "wei": "Kiunum", - "wem": "Weme Gbe", - "weo": "Wemale", - "wep": "Westphalien", - "wer": "Weri", - "wes": "Cameroon Pidgin", - "wet": "Perai", - "wew": "Wejewa", - "wfg": "Zorop", - "wga": "Wagaya", - "wgb": "Wagawaga", - "wgg": "Wangkangurru", - "wgi": "Wahgi", - "wgo": "Waigeo", - "wgu": "Wirangu", - "wgy": "Warrgamay", - "wha": "Sou Upaa", - "whg": "North Wahgi", - "whk": "Wahau Kenyah", - "wib": "Southern Toussian", - "wic": "Wichita", - "wie": "Wik-Epa", - "wig": "Wik Ngathan", - "wih": "Wik-Me'anha", - "wii": "Minidien", - "wij": "Wik-Iiyanh", - "wik": "Wikalkan", - "wil": "Wilawila", - "wim": "Wik-Mungkan", - "win": "Ho-Chunk", - "wir": "Wiraféd", - "wiu": "Wiru", - "wiv": "Vitu", - "wiy": "Wiyot", - "wja": "Waja", - "wji": "Warji", - "wka": "Kw'adza", - "wkd": "Wakde", - "wkl": "Kalanadi", - "wku": "Kunduvadi", - "wkw": "Wakawaka", - "wla": "Walio", - "wlc": "Mwali Comorian", - "wle": "Wolane", - "wlg": "Kunbarlang", - "wlh": "Welaun", - "wli": "Waioli", - "wlk": "Wailaki", - "wll": "Wali (Sudan)", - "wln": "Walloon", - "wlo": "Wolio", - "wlr": "Wailapa", - "wls": "Wallisian", - "wlu": "Wuliwuli", - "wlv": "Wichí Lhamtés Vejoz", - "wlw": "Walak", - "wlx": "Wali (Ghana)", - "wly": "Waling", - "wmb": "Wambaya", - "wmc": "Wamas", - "wmd": "Mamaindé", - "wme": "Wambule", - "wmg": "Western Minyag", - "wmh": "Waima'a", - "wmi": "Wamin", - "wmm": "Maiwa (Indonesia)", - "wmn": "Waamwang", - "wmo": "Wom (Papua New Guinea)", - "wms": "Wambon", - "wmt": "Walmajarri", - "wmw": "Mwani", - "wmx": "Womo", - "wnb": "Wanambre", - "wnc": "Wantoat", - "wnd": "Wandarang", - "wne": "Waneci", - "wng": "Wanggom", - "wni": "Ndzwani Comorian", - "wnk": "Wanukaka", - "wnm": "Wanggamala", - "wno": "Wano", - "wnp": "Wanap", - "wnu": "Usan", - "wnw": "Wintu", - "wny": "Wanyi", - "woa": "Tyaraity", - "wob": "Wè Northern", - "woc": "Wogeo", - "wod": "Wolani", - "woe": "Woleaian", - "wof": "Gambian Wolof", - "wog": "Wogamusin", - "woi": "Kamang", - "wok": "Longto", - "wol": "Wolof", - "wom": "Wom (Nigeria)", - "won": "Wongo", - "woo": "Manombai", - "wor": "Woria", - "wos": "Hanga Hundi", - "wow": "Wawonii", - "wpc": "Maco", - "wrb": "Warluwara", - "wrg": "Warungu", - "wrh": "Wiradjuri", - "wri": "Wariyangga", - "wrk": "Garrwa", - "wrl": "Warlmanpa", - "wrm": "Warumungu", - "wrn": "Warnang", - "wro": "Worrorra", - "wrp": "Waropen", - "wrr": "Wardaman", - "wrs": "Waris", - "wru": "Waru", - "wrv": "Waruna", - "wrw": "Gugu Warra", - "wrx": "Wae Rana", - "wry": "Merwari", - "wrz": "Waray (Australia)", - "wsa": "Warembori", - "wsi": "Wusi", - "wsk": "Waskia", - "wsr": "Owenia", - "wss": "Wasa", - "wsv": "Wotapuri-Katarqalai", - "wtf": "Watiwa", - "wth": "Wathawurrung", - "wti": "Berta", - "wtk": "Watakataui", - "wtm": "Mewati", - "wtw": "Wotu", - "wua": "Wikngenchera", - "wub": "Wunambal", - "wud": "Wudu", - "wuh": "Wutunhua", - "wul": "Silimo", - "wum": "Wumbvu", - "wun": "Bungu", - "wur": "Wurrugu", - "wut": "Wutung", - "wuu": "Wu Chinese", - "wuv": "Wuvulu-Aua", - "wux": "Wulna", - "wuy": "Wauyai", - "wwa": "Waama", - "wwo": "Wetamut", - "wwr": "Warrwa", - "www": "Wawa", - "wxa": "Waxianghua", - "wxw": "Wardandi", - "wya": "Wyandot", - "wyb": "Wangaaybuwan-Ngiyambaa", - "wyi": "Woiwurrung", - "wym": "Wymysorys", - "wyr": "Wayoró", - "wyy": "Western Fijian", - "xaa": "Andalusian Arabic", - "xab": "Sambe", - "xac": "Kachari", - "xad": "Adai", - "xag": "Aghwan", - "xak": "Máku", - "xal": "Oirat", - "xam": "ǀXam", - "xan": "Xamtanga", - "xap": "Apalachee", - "xar": "Karami", - "xas": "Kamas", - "xat": "Katawixi", - "xau": "Kauwera", - "xav": "Xavánte", - "xaw": "Kawaiisu", - "xay": "Kayan Mahakam", - "xbc": "Bactrian", - "xbe": "Bigambal", - "xbg": "Bunganditj", - "xbi": "Kombio", - "xbn": "Kenaboi", - "xbo": "Bolgarian", - "xbp": "Bibbulman", - "xbr": "Kambera", - "xby": "Batyala", - "xce": "Celtiberian", - "xcg": "Cisalpine Gaulish", - "xch": "Chimakum", - "xcl": "Classical Armenian", - "xcm": "Comecrudo", - "xcn": "Cotoname", - "xco": "Chorasmian", - "xcr": "Carian", - "xct": "Classical Tibetan", - "xcv": "Chuvantsy", - "xcw": "Coahuilteco", - "xcy": "Cayuse", - "xda": "Darkinyung", - "xdc": "Dacian", - "xdk": "Dharuk", - "xdo": "Kwandu", - "xdy": "Malayic Dayak", - "xeb": "Eblan", - "xed": "Hdi", - "xeg": "ǁXegwi", - "xel": "Kelo", - "xem": "Kembayan", - "xer": "Xerénte", - "xes": "Kesawai", - "xet": "Xetá", - "xeu": "Keoru-Ahia", - "xfa": "Faliscan", - "xga": "Galatian", - "xgb": "Gbin", - "xgd": "Gudang", - "xgf": "Gabrielino-Fernandeño", - "xgg": "Goreng", - "xgm": "Guwinmal", - "xgu": "Unggumi", - "xgw": "Guwa", - "xhd": "Hadrami", - "xhe": "Khetrani", - "xho": "Xhosa", - "xht": "Hattic", - "xhu": "Hurrian", - "xib": "Iberian", - "xii": "Xiri", - "xir": "Xiriâna", - "xiy": "Xipaya", - "xjb": "Minjungbal", - "xka": "Kalkoti", - "xkb": "Northern Nago", - "xkc": "Kho'ini", - "xkd": "Mendalam Kayan", - "xke": "Kereho", - "xkf": "Khengkha", - "xkg": "Kagoro", - "xkj": "Kajali", - "xkk": "Kaco'", - "xkl": "Mainstream Kenyah", - "xkn": "Kayan River Kayan", - "xkp": "Kabatei", - "xkq": "Koroni", - "xkr": "Xakriabá", - "xks": "Kumbewaha", - "xkt": "Kantosi", - "xku": "Kaamba", - "xkv": "Kgalagadi", - "xkw": "Kembra", - "xkx": "Karore", - "xky": "Uma' Lasan", - "xkz": "Kurtokha", - "xla": "Kamula", - "xlc": "Lycian", - "xld": "Lydian", - "xlo": "Loup A", - "xlp": "Lepontic", - "xls": "Lusitanian", - "xlu": "Cuneiform Luwian", - "xma": "Mushungulu", - "xmb": "Mbonga", - "xmc": "Makhuwa-Marrevone", - "xmd": "Mbudum", - "xmf": "Mingrelian", - "xmg": "Mengaka", - "xmh": "Kugu-Muminh", - "xmj": "Majera", - "xmm": "Manado Malay", - "xmp": "Kuku-Mu'inh", - "xmr": "Meroitic", - "xmt": "Matbat", - "xmu": "Kamu", - "xmv": "Tankarana Malagasy", - "xmw": "Tsimihety Malagasy", - "xmx": "Maden", - "xmy": "Mayaguduna", - "xmz": "Mori Bawah", - "xna": "Ancient North Arabian", - "xnb": "Kanakanabu", - "xng": "Middle Mongolian", - "xni": "Ngarigu", - "xnj": "Ngoni (Tanzania)", - "xnm": "Ngumbarl", - "xnn": "Northern Kankanay", - "xnq": "Ngoni (Mozambique)", - "xnr": "Kangri", - "xns": "Kanashi", - "xny": "Nyiyaparli", - "xnz": "Mattoki", - "xoc": "O'chi'chi'", - "xod": "Kokoda", - "xog": "Soga", - "xoi": "Kominimung", - "xok": "Xokleng", - "xom": "Komo (Sudan)", - "xon": "Konkomba", - "xoo": "Xukurú", - "xop": "Kopar", - "xor": "Korubo", - "xow": "Kowaki", - "xpa": "Pirriya", - "xpc": "Pecheneg", - "xpe": "Liberia Kpelle", - "xpg": "Phrygian", - "xpk": "Kulina Pano", - "xpm": "Pumpokol", - "xpo": "Pochutec", - "xpq": "Mohegan-Pequot", - "xpr": "Parthian", - "xps": "Pisidian", - "xpt": "Punthamara", - "xpu": "Punic", - "xqt": "Qatabanian", - "xra": "Krahô", - "xrb": "Eastern Karaboro", - "xrd": "Gundungurra", - "xre": "Kreye", - "xri": "Krikati-Timbira", - "xrn": "Arin", - "xru": "Marriammu", - "xrw": "Karawa", - "xsa": "Sabaean", - "xsb": "Sambal", - "xsd": "Sidetic", - "xse": "Sempan", - "xsh": "Shamang", - "xsi": "Sio", - "xsl": "South Slavey", - "xsm": "Kasem", - "xsn": "Sanga (Nigeria)", - "xsp": "Silopi", - "xsq": "Makhuwa-Saka", - "xsr": "Sherpa", - "xsu": "Sanumá", - "xsy": "Saisiyat", - "xta": "Alcozauca Mixtec", - "xtb": "Chazumba Mixtec", - "xtc": "Katcha-Kadugli-Miri", - "xtd": "Diuxi-Tilantongo Mixtec", - "xte": "Ketengban", - "xtg": "Transalpine Gaulish", - "xth": "Yitha Yitha", - "xti": "Sinicahua Mixtec", - "xtj": "San Juan Teita Mixtec", - "xtl": "Tijaltepec Mixtec", - "xtm": "Magdalena Peñasco Mixtec", - "xtn": "Northern Tlaxiaco Mixtec", - "xto": "Tokharian A", - "xtp": "San Miguel Piedras Mixtec", - "xtq": "Tumshuqese", - "xts": "Sindihui Mixtec", - "xtt": "Tacahua Mixtec", - "xtu": "Cuyamecalco Mixtec", - "xtv": "Thawa", - "xtw": "Tawandê", - "xty": "Yoloxochitl Mixtec", - "xua": "Alu Kurumba", - "xub": "Betta Kurumba", - "xud": "Umiida", - "xug": "Kunigami", - "xuj": "Jennu Kurumba", - "xul": "Nunukul", - "xum": "Umbrian", - "xun": "Unggaranggu", - "xuo": "Kuo", - "xup": "Upper Umpqua", - "xur": "Urartian", - "xut": "Kuthant", - "xuu": "Kxoe", - "xve": "Venetic", - "xvi": "Kamviri", - "xwa": "Kwaza", - "xwc": "Woccon", - "xwe": "Xwela Gbe", - "xwg": "Kwegu", - "xwk": "Wangkumara", - "xwl": "Western Xwla Gbe", - "xwr": "Kwerba Mamberamo", - "xwt": "Wotjobaluk", - "xww": "Wemba Wemba", - "xxb": "Boro (Ghana)", - "xxk": "Ke'o", - "xxm": "Minkin", - "xxr": "Koropó", - "xxt": "Tambora", - "xya": "Yaygir", - "xyb": "Yandjibara", - "xyj": "Mayi-Yapi", - "xyk": "Mayi-Kulan", - "xyt": "Mayi-Thakurti", - "xyy": "Yorta Yorta", - "xzh": "Zhang-Zhung", - "yaa": "Yaminahua", - "yab": "Yuhup", - "yac": "Pass Valley Yali", - "yad": "Yagua", - "yae": "Pumé", - "yaf": "Yaka (Democratic Republic of Congo)", - "yag": "Yámana", - "yah": "Yazgulyam", - "yai": "Yagnobi", - "yaj": "Banda-Yangere", - "yak": "Yakama", - "yal": "Yalunka", - "yam": "Yamba", - "yan": "Mayangna", - "yao": "Yao", - "yap": "Yapese", - "yaq": "Yaqui", - "yar": "Yabarana", - "yas": "Nugunu (Cameroon)", - "yat": "Yambeta", - "yau": "Yuwana", - "yav": "Yangben", - "yaw": "Yawalapití", - "yay": "Agwagwune", - "yaz": "Lokaa", - "yba": "Yala", - "ybb": "Yemba", - "ybe": "West Yugur", - "ybh": "Yakha", - "ybi": "Yamphu", - "ybj": "Hasha", - "ybk": "Bokha", - "ybl": "Yukuben", - "ybm": "Yaben", - "ybn": "Yabaâna", - "ybo": "Yabong", - "ybx": "Yawiyo", - "yby": "Yaweyuha", - "ych": "Chesu", - "ycl": "Lolopo", - "ycn": "Yucuna", - "ycp": "Chepya", - "yda": "Yanda", - "ydd": "Eastern Yiddish", - "yde": "Yangum Dey", - "ydg": "Yidgha", - "ydk": "Yoidik", - "yea": "Ravula", - "yee": "Yimas", - "yei": "Yeni", - "yej": "Yevanic", - "yel": "Yela", - "yer": "Tarok", - "yes": "Nyankpa", - "yet": "Yetfa", - "yeu": "Yerukula", - "yev": "Yapunda", - "yey": "Yeyi", - "yga": "Malyangapa", - "ygl": "Yangum Gel", - "ygm": "Yagomi", - "ygp": "Gepo", - "ygr": "Yagaria", - "ygw": "Yagwoia", - "yha": "Baha Buyang", - "yhd": "Judeo-Iraqi Arabic", - "yhl": "Hlepho Phowa", - "yia": "Yinggarda", - "yif": "Ache", - "yig": "Wusa Nasu", - "yih": "Western Yiddish", - "yii": "Yidiny", - "yij": "Yindjibarndi", - "yik": "Dongshanba Lalo", - "yil": "Yindjilandji", - "yim": "Yimchungru Naga", - "yin": "Yinchia", - "yip": "Pholo", - "yiq": "Miqie", - "yir": "North Awyu", - "yis": "Yis", - "yit": "Eastern Lalu", - "yiu": "Awu", - "yiv": "Northern Nisu", - "yix": "Axi Yi", - "yiz": "Azhe", - "yka": "Yakan", - "ykg": "Northern Yukaghir", - "yki": "Yoke", - "ykk": "Yakaikeke", - "ykl": "Khlula", - "ykm": "Kap", - "ykn": "Kua-nsi", - "yko": "Yasa", - "ykr": "Yekora", - "ykt": "Kathu", - "yku": "Kuamasi", - "yky": "Yakoma", - "yla": "Yaul", - "yle": "Yele", - "ylg": "Yelogu", - "yli": "Angguruk Yali", - "yll": "Yil", - "ylm": "Limi", - "yln": "Langnian Buyang", - "ylo": "Naluo Yi", - "ylr": "Yalarnnga", - "ylu": "Aribwaung", - "yly": "Nyelâyu", - "ymb": "Yambes", - "ymc": "Southern Muji", - "ymd": "Muda", - "yme": "Yameo", - "ymh": "Mili", - "ymi": "Moji", - "ymk": "Makwe", - "yml": "Iamalele", - "ymm": "Maay", - "ymn": "Yamna", - "ymo": "Yangum Mon", - "ymp": "Yamap", - "ymq": "Qila Muji", - "ymr": "Malasar", - "ymx": "Northern Muji", - "ymz": "Muzi", - "yna": "Aluo", - "ynd": "Yandruwandha", - "yng": "Yango", - "ynk": "Naukan Yupik", - "ynl": "Yangulam", - "ynn": "Yana", - "yno": "Yong", - "ynq": "Yendang", - "yns": "Yansi", - "ynu": "Yahuna", - "yob": "Yoba", - "yog": "Yogad", - "yoi": "Yonaguni", - "yok": "Yokuts", - "yom": "Yombe", - "yon": "Yongkom", - "yor": "Yoruba", - "yot": "Yotti", - "yox": "Yoron", - "yoy": "Yoy", - "ypa": "Phala", - "ypb": "Labo Phowa", - "ypg": "Phola", - "yph": "Phupha", - "ypm": "Phuma", - "ypn": "Ani Phowa", - "ypo": "Alo Phola", - "ypp": "Phupa", - "ypz": "Phuza", - "yra": "Yerakai", - "yrb": "Yareba", - "yre": "Yaouré", - "yrk": "Nenets", - "yrl": "Nhengatu", - "yrn": "Yerong", - "yro": "Yaroamë", - "yrw": "Yarawata", - "yry": "Yarluyandi", - "ysd": "Samatao", - "ysg": "Sonaga", - "ysn": "Sani", - "yso": "Nisi (China)", - "ysr": "Sirenik Yupik", - "yss": "Yessan-Mayo", - "ysy": "Sanie", - "yta": "Talu", - "ytl": "Tanglang", - "ytp": "Thopho", - "ytw": "Yout Wam", - "yua": "Yucateco", - "yub": "Yugambal", - "yuc": "Yuchi", - "yud": "Judeo-Tripolitanian Arabic", - "yue": "Cantonese Chinese", - "yuf": "Havasupai-Walapai-Yavapai", - "yug": "Yug", - "yui": "Yurutí", - "yuj": "Karkar-Yuri", - "yuk": "Yuki", - "yul": "Yulu", - "yum": "Quechan", - "yun": "Bena (Nigeria)", - "yup": "Yukpa", - "yuq": "Yuqui", - "yur": "Yurok", - "yut": "Yopno", - "yuw": "Yau (Morobe Province)", - "yux": "Southern Yukaghir", - "yuy": "East Yugur", - "yuz": "Yuracare", - "yva": "Yawa", - "yvt": "Yavitero", - "ywa": "Kalou", - "ywg": "Yinhawangka", - "ywl": "Western Lalu", - "ywn": "Yawanawa", - "ywq": "Wuding-Luquan Yi", - "ywr": "Yawuru", - "ywt": "Xishanba Lalo", - "ywu": "Wumeng Nasu", - "yww": "Yawarawarga", - "yxg": "Yagara", - "yxl": "Yardliyawarra", - "yxm": "Yinwum", - "yxy": "Yabula Yabula", - "yyr": "Yir Yoront", - "yyu": "Yau (Sandaun Province)", - "yyz": "Ayizi", - "yzg": "E'ma Buyang", - "yzk": "Zokhuo", - "zaa": "Sierra de Juárez Zapotec", - "zab": "Western Tlacolula Valley Zapotec", - "zac": "Ocotlán Zapotec", - "zad": "Cajonos Zapotec", - "zae": "Yareni Zapotec", - "zaf": "Ayoquesco Zapotec", - "zag": "Zaghawa", - "zah": "Zangwal", - "zai": "Isthmus Zapotec", - "zaj": "Zaramo", - "zak": "Zanaki", - "zal": "Zauzou", - "zam": "Miahuatlán Zapotec", - "zao": "Ozolotepec Zapotec", - "zaq": "Aloápam Zapotec", - "zar": "Rincón Zapotec", - "zas": "Santo Domingo Albarradas Zapotec", - "zat": "Tabaa Zapotec", - "zau": "Zangskari", - "zav": "Yatzachi Zapotec", - "zaw": "Mitla Zapotec", - "zax": "Xadani Zapotec", - "zay": "Zayse-Zergulla", - "zaz": "Zari", - "zbc": "Central Berawan", - "zbe": "East Berawan", - "zbt": "Batui", - "zbu": "Bu (Bauchi State)", - "zbw": "West Berawan", - "zca": "Coatecas Altas Zapotec", - "zch": "Central Hongshuihe Zhuang", - "zdj": "Ngazidja Comorian", - "zea": "Zeeuws", - "zeg": "Zenag", - "zeh": "Eastern Hongshuihe Zhuang", - "zen": "Zenaga", - "zga": "Kinga", - "zgb": "Guibei Zhuang", - "zgm": "Minz Zhuang", - "zgn": "Guibian Zhuang", - "zgr": "Magori", - "zhb": "Zhaba", - "zhd": "Dai Zhuang", - "zhi": "Zhire", - "zhn": "Nong Zhuang", - "zhw": "Zhoa", - "zia": "Zia", - "zik": "Zimakani", - "zil": "Zialo", - "zim": "Mesme", - "zin": "Zinza", - "ziw": "Zigula", - "ziz": "Zizilivakan", - "zka": "Kaimbulawa", - "zkk": "Karankawa", - "zko": "Kott", - "zkp": "São Paulo Kaingáng", - "zkr": "Zakhring", - "zkt": "Kitan", - "zku": "Kaurna", - "zla": "Zula", - "zlj": "Liujiang Zhuang", - "zlm": "Malay", - "zln": "Lianshan Zhuang", - "zlq": "Liuqian Zhuang", - "zma": "Manda (Australia)", - "zmb": "Zimba", - "zmc": "Margany", - "zmd": "Maridan", - "zme": "Mangerr", - "zmf": "Mfinu", - "zmg": "Marti Ke", - "zmh": "Makolkol", - "zmi": "Negeri Sembilan Malay", - "zmj": "Maridjabin", - "zmk": "Mandandanyi", - "zml": "Matngala", - "zmm": "Marramaninyshi", - "zmn": "Mbangwe", - "zmo": "Molo", - "zmp": "Mpuono", - "zmq": "Mituku", - "zmr": "Maranunggu", - "zms": "Mbesa", - "zmt": "Maringarr", - "zmu": "Muruwari", - "zmv": "Mbariman-Gudhinma", - "zmw": "Mbo (Democratic Republic of Congo)", - "zmx": "Bomitaba", - "zmy": "Mariyedi", - "zmz": "Mbandja", - "zna": "Zan Gula", - "zne": "Zande", - "zng": "Mang", - "zns": "Mangas", - "zoc": "Copainalá Zoque", - "zoh": "Chimalapa Zoque", - "zom": "Zou", - "zoo": "Asunción Mixtepec Zapotec", - "zoq": "Tabasco Zoque", - "zor": "Rayón Zoque", - "zos": "Francisco León Zoque", - "zpa": "Lachiguiri Zapotec", - "zpb": "Yautepec Zapotec", - "zpc": "Choapan Zapotec", - "zpd": "Southeastern Ixtlán Zapotec", - "zpe": "Petapa Zapotec", - "zpf": "San Pedro Quiatoni Zapotec", - "zpg": "Guevea De Humboldt Zapotec", - "zph": "Totomachapan Zapotec", - "zpi": "Santa María Quiegolani Zapotec", - "zpj": "Quiavicuzas Zapotec", - "zpk": "Tlacolulita Zapotec", - "zpl": "Lachixío Zapotec", - "zpm": "Mixtepec Zapotec", - "zpn": "Santa Inés Yatzechi Zapotec", - "zpo": "Amatlán Zapotec", - "zpp": "El Alto Zapotec", - "zpq": "Zoogocho Zapotec", - "zpr": "Santiago Xanica Zapotec", - "zps": "Coatlán Zapotec", - "zpt": "San Vicente Coatlán Zapotec", - "zpu": "Yalálag Zapotec", - "zpv": "Chichicapan Zapotec", - "zpw": "Zaniza Zapotec", - "zpx": "San Baltazar Loxicha Zapotec", - "zpy": "Mazaltepec Zapotec", - "zpz": "Texmelucan Zapotec", - "zqe": "Qiubei Zhuang", - "zrn": "Zerenkel", - "zro": "Záparo", - "zrs": "Mairasi", - "zsa": "Sarasira", - "zsm": "Standard Malay", - "zsr": "Southern Rincon Zapotec", - "zsu": "Sukurum", - "zte": "Elotepec Zapotec", - "ztg": "Xanaguía Zapotec", - "ztl": "Lapaguía-Guivini Zapotec", - "ztm": "San Agustín Mixtepec Zapotec", - "ztn": "Santa Catarina Albarradas Zapotec", - "ztp": "Loxicha Zapotec", - "ztq": "Quioquitani-Quierí Zapotec", - "zts": "Tilquiapan Zapotec", - "ztt": "Tejalapan Zapotec", - "ztu": "Güilá Zapotec", - "ztx": "Zaachila Zapotec", - "zty": "Yatee Zapotec", - "zua": "Zeem", - "zuh": "Tokano", - "zul": "Zulu", - "zum": "Kumzari", - "zun": "Zuni", - "zuy": "Zumaya", - "zwa": "Zay", - "zyb": "Yongbei Zhuang", - "zyg": "Yang Zhuang", - "zyj": "Youjiang Zhuang", - "zyn": "Yongnan Zhuang", - "zyp": "Zyphe Chin", - "zzj": "Zuojiang Zhuang", - "en-us": "American English", - "en-sc": "Scottish English", - "fr-be": "Belgian French", - "fr-sw": "Swiss French", - "pt-br": "Brazilian Portuguese", - "spa-lat": "Latin American Spanish", - "vi-ctr": "Central Vietnamese", - "vi-so": "Southern Vietnamese" - }, - { - "Ghotuo": "aaa", - "Alumu-Tesu": "aab", - "Ari": "aac", - "Amal": "aad", - "Arbëreshë Albanian": "aae", - "Aranadan": "aaf", - "Ambrak": "aag", - "Abu' Arapesh": "aah", - "Arifama-Miniafia": "aai", - "Ankave": "aak", - "Afade": "aal", - "Anambé": "aan", - "Algerian Saharan Arabic": "aao", - "Pará Arára": "aap", - "Eastern Abnaki": "aaq", - "Afar": "aar", - "Aasáx": "aas", - "Arvanitika Albanian": "aat", - "Abau": "aau", - "Solong": "aaw", - "Mandobo Atas": "aax", - "Amarasi": "aaz", - "Abé": "aba", - "Bankon": "abb", - "Ambala Ayta": "abc", - "Manide": "abd", - "Western Abnaki": "abe", - "Abai Sungai": "abf", - "Abaga": "abg", - "Tajiki Arabic": "abh", - "Abidji": "abi", - "Aka-Bea": "abj", - "Abkhazian": "abk", - "Lampung Nyo": "abl", - "Abanyom": "abm", - "Abua": "abn", - "Abon": "abo", - "Abellen Ayta": "abp", - "Abaza": "abq", - "Abron": "abr", - "Ambonese Malay": "abs", - "Ambulas": "abt", - "Abure": "abu", - "Baharna Arabic": "abv", - "Pal": "abw", - "Inabaknon": "abx", - "Aneme Wake": "aby", - "Abui": "abz", - "Achagua": "aca", - "Gikyode": "acd", - "Achinese": "ace", - "Saint Lucian Creole French": "acf", - "Acoli": "ach", - "Aka-Cari": "aci", - "Aka-Kora": "ack", - "Akar-Bale": "acl", - "Mesopotamian Arabic": "acm", - "Achang": "acn", - "Eastern Acipa": "acp", - "Ta'izzi-Adeni Arabic": "acq", - "Achi": "acr", - "Acroá": "acs", - "Achterhoeks": "act", - "Achuar-Shiwiar": "acu", - "Achumawi": "acv", - "Hijazi Arabic": "acw", - "Omani Arabic": "acx", - "Cypriot Arabic": "acy", - "Acheron": "acz", - "Adangme": "ada", - "Lidzonka": "add", - "Adele": "ade", - "Dhofari Arabic": "adf", - "Andegerebinha": "adg", - "Adhola": "adh", - "Adi": "adi", - "Adioukrou": "adj", - "Galo": "adl", - "Adang": "adn", - "Abu": "ado", - "Adangbe": "adq", - "Adonara": "adr", - "Adnyamathanha": "adt", - "Amundava": "adw", - "Amdo Tibetan": "adx", - "Adyghe": "ady", - "Adzera": "adz", - "Areba": "aea", - "Tunisian Arabic": "aeb", - "Saidi Arabic": "aec", - "Northeast Pashayi": "aee", - "Haeke": "aek", - "Ambele": "ael", - "Arem": "aem", - "Aer": "aeq", - "Eastern Arrernte": "aer", - "Alsea": "aes", - "Akeu": "aeu", - "Ambakich": "aew", - "Amele": "aey", - "Aeka": "aez", - "Gulf Arabic": "afb", - "Andai": "afd", - "Putukwam": "afe", - "Chini": "afi", - "Nanubae": "afk", - "Defaka": "afn", - "Eloyi": "afo", - "Tapei": "afp", - "Afrikaans": "afr", - "Afro-Seminole Creole": "afs", - "Afitti": "aft", - "Awutu": "afu", - "Obokuitai": "afz", - "Legbo": "agb", - "Agatu": "agc", - "Agarabi": "agd", - "Angal": "age", - "Arguni": "agf", - "Angor": "agg", - "Ngelima": "agh", - "Argobba": "agj", - "Isarog Agta": "agk", - "Fembe": "agl", - "Angaataha": "agm", - "Agutaynen": "agn", - "Tainae": "ago", - "Aghem": "agq", - "Aguaruna": "agr", - "Esimbi": "ags", - "Central Cagayan Agta": "agt", - "Aguacateco": "agu", - "Remontado Dumagat": "agv", - "Kahua": "agw", - "Aghul": "agx", - "Southern Alta": "agy", - "Mt. Iriga Agta": "agz", - "Ahanta": "aha", - "Axamb": "ahb", - "Qimant": "ahg", - "Aghu": "ahh", - "Tiagbamrin Aizi": "ahi", - "Akha": "ahk", - "Igo": "ahl", - "Mobumrin Aizi": "ahm", - "Àhàn": "ahn", - "Ahom": "aho", - "Aproumu Aizi": "ahp", - "Ashe": "ahs", - "Ahtena": "aht", - "Arosi": "aia", - "Ainu (China)": "aib", - "Ainbai": "aic", - "Alngith": "aid", - "Amara": "aie", - "Agi": "aif", - "Antigua and Barbuda Creole English": "aig", - "Ai-Cham": "aih", - "Assyrian Neo-Aramaic": "aii", - "Lishanid Noshan": "aij", - "Ake": "aik", - "Aimele": "ail", - "Aimol": "aim", - "Ainu (Japan)": "ain", - "Aiton": "aio", - "Burumakok": "aip", - "Aimaq": "aiq", - "Airoran": "air", - "Arikem": "ait", - "Aari": "aiw", - "Aighon": "aix", - "Ali": "aiy", - "Aja (South Sudan)": "aja", - "Aja (Benin)": "ajg", - "Ajië": "aji", - "Andajin": "ajn", - "South Levantine Arabic": "ajp", - "Judeo-Tunisian Arabic": "ajt", - "Judeo-Moroccan Arabic": "aju", - "Ajawa": "ajw", - "Amri Karbi": "ajz", - "Akan": "aka", - "Batak Angkola": "akb", - "Mpur": "akc", - "Ukpet-Ehom": "akd", - "Akawaio": "ake", - "Akpa": "akf", - "Anakalangu": "akg", - "Angal Heneng": "akh", - "Aiome": "aki", - "Aka-Jeru": "akj", - "Akkadian": "akk", - "Aklanon": "akl", - "Aka-Bo": "akm", - "Akurio": "ako", - "Siwu": "akp", - "Ak": "akq", - "Araki": "akr", - "Akaselem": "aks", - "Akolet": "akt", - "Akum": "aku", - "Akhvakh": "akv", - "Akwa": "akw", - "Aka-Kede": "akx", - "Aka-Kol": "aky", - "Alabama": "akz", - "Alago": "ala", - "Qawasqar": "alc", - "Alladian": "ald", - "Aleut": "ale", - "Alege": "alf", - "Alawa": "alh", - "Amaimon": "ali", - "Alangan": "alj", - "Alak": "alk", - "Allar": "all", - "Amblong": "alm", - "Albanian": "aln", - "Larike-Wakasihu": "alo", - "Alune": "alp", - "Algonquin": "alq", - "Alutor": "alr", - "Tosk Albanian": "als", - "Southern Altai": "alt", - "'Are'are": "alu", - "Wanbasana": "alw", - "Amol": "alx", - "Alyawarr": "aly", - "Alur": "alz", - "Amanayé": "ama", - "Ambo": "amb", - "Amahuaca": "amc", - "Yanesha'": "ame", - "Hamer-Banna": "amf", - "Amurdak": "amg", - "Amharic": "amh", - "Amis": "ami", - "Amdang": "amj", - "Ambai": "amk", - "War-Jaintia": "aml", - "Ama (Papua New Guinea)": "amm", - "Amanab": "amn", - "Amo": "amo", - "Alamblak": "amp", - "Amahai": "amq", - "Amarakaeri": "amr", - "Southern Amami-Oshima": "ams", - "Amto": "amt", - "Guerrero Amuzgo": "amu", - "Ambelau": "amv", - "Western Neo-Aramaic": "amw", - "Anmatyerre": "amx", - "Ami": "amy", - "Atampaya": "amz", - "Andaqui": "ana", - "Andoa": "anb", - "Ngas": "anc", - "Ansus": "and", - "Xârâcùù": "ane", - "Animere": "anf", - "Old English (ca. 450-1100)": "ang", - "Nend": "anh", - "Andi": "ani", - "Anor": "anj", - "Goemai": "ank", - "Anu-Hkongso Chin": "anl", - "Anal": "anm", - "Obolo": "ann", - "Andoque": "ano", - "Angika": "anp", - "Jarawa (India)": "anq", - "Andh": "anr", - "Anserma": "ans", - "Antikarinya": "ant", - "Anuak": "anu", - "Denya": "anv", - "Anaang": "anw", - "Andra-Hus": "anx", - "Anyin": "any", - "Anem": "anz", - "Angolar": "aoa", - "Abom": "aob", - "Pemon": "aoc", - "Andarum": "aod", - "Angal Enen": "aoe", - "Bragat": "aof", - "Angoram": "aog", - "Anindilyakwa": "aoi", - "Mufian": "aoj", - "Arhö": "aok", - "Alor": "aol", - "Ömie": "aom", - "Bumbita Arapesh": "aon", - "Aore": "aor", - "Taikat": "aos", - "Atong (India)": "aot", - "A'ou": "aou", - "Atorada": "aox", - "Uab Meto": "aoz", - "Sa'a": "apb", - "North Levantine Arabic": "apc", - "Sudanese Arabic": "apd", - "Bukiyip": "ape", - "Pahanan Agta": "apf", - "Ampanang": "apg", - "Athpariya": "aph", - "Apiaká": "api", - "Jicarilla Apache": "apj", - "Kiowa Apache": "apk", - "Lipan Apache": "apl", - "Mescalero-Chiricahua Apache": "apm", - "Apinayé": "apn", - "Ambul": "apo", - "Apma": "app", - "A-Pucikwar": "apq", - "Arop-Lokep": "apr", - "Arop-Sissano": "aps", - "Apatani": "apt", - "Apurinã": "apu", - "Western Apache": "apw", - "Aputai": "apx", - "Apalaí": "apy", - "Safeyoka": "apz", - "Archi": "aqc", - "Ampari Dogon": "aqd", - "Arigidi": "aqg", - "Aninka": "aqk", - "Atohwaim": "aqm", - "Northern Alta": "aqn", - "Atakapa": "aqp", - "Arhâ": "aqr", - "Angaité": "aqt", - "Akuntsu": "aqz", - "Standard Arabic": "arb", - "Official Aramaic (700-300 BCE)": "arc", - "Arabana": "ard", - "Western Arrarnta": "are", - "Aragonese": "arg", - "Arhuaco": "arh", - "Arikara": "ari", - "Arapaso": "arj", - "Arikapú": "ark", - "Arabela": "arl", - "Mapudungun": "arn", - "Araona": "aro", - "Arapaho": "arp", - "Algerian Arabic": "arq", - "Karo (Brazil)": "arr", - "Najdi Arabic": "ars", - "Aruá (Amazonas State)": "aru", - "Arbore": "arv", - "Arawak": "arw", - "Aruá (Rodonia State)": "arx", - "Moroccan Arabic": "ary", - "Egyptian Arabic": "arz", - "Asu (Tanzania)": "asa", - "Assiniboine": "asb", - "Casuarina Coast Asmat": "asc", - "Cishingini": "asg", - "Abishira": "ash", - "Buruwai": "asi", - "Sari": "asj", - "Ashkun": "ask", - "Asilulu": "asl", - "Assamese": "asm", - "Xingú Asuriní": "asn", - "Dano": "aso", - "Asuri": "asr", - "Ipulo": "ass", - "Leonese": "ast", - "Tocantins Asurini": "asu", - "Asoa": "asv", - "Muratayak": "asx", - "Yaosakor Asmat": "asy", - "As": "asz", - "Pele-Ata": "ata", - "Zaiwa": "atb", - "Atsahuaca": "atc", - "Ata Manobo": "atd", - "Atemble": "ate", - "Ivbie North-Okpela-Arhe": "atg", - "Attié": "ati", - "Atikamekw": "atj", - "Ati": "atk", - "Mt. Iraya Agta": "atl", - "Ata": "atm", - "Ashtiani": "atn", - "Atong (Cameroon)": "ato", - "Pudtol Atta": "atp", - "Aralle-Tabulahan": "atq", - "Waimiri-Atroari": "atr", - "Gros Ventre": "ats", - "Pamplona Atta": "att", - "Reel": "atu", - "Northern Altai": "atv", - "Atsugewi": "atw", - "Arutani": "atx", - "Aneityum": "aty", - "Arta": "atz", - "Asumboa": "aua", - "Alugu": "aub", - "Waorani": "auc", - "Anuta": "aud", - "Aguna": "aug", - "Aushi": "auh", - "Anuki": "aui", - "Awjilah": "auj", - "Heyo": "auk", - "Aulua": "aul", - "Asu (Nigeria)": "aum", - "Molmo One": "aun", - "Auyokawa": "auo", - "Makayam": "aup", - "Korur": "auq", - "Aruek": "aur", - "Austral": "aut", - "Auye": "auu", - "Awyi": "auw", - "Aurá": "aux", - "Awiyaana": "auy", - "Uzbeki Arabic": "auz", - "Avaric": "ava", - "Avau": "avb", - "Alviri-Vidari": "avd", - "Avestan": "ave", - "Avikam": "avi", - "Eastern Egyptian Bedawi Arabic": "avl", - "Angkamuthi": "avm", - "Avatime": "avn", - "Aushiri": "avs", - "Au": "avt", - "Avokaya": "avu", - "Avá-Canoeiro": "avv", - "Awadhi": "awa", - "Awa (Papua New Guinea)": "awb", - "Cicipu": "awc", - "Awetí": "awe", - "Anguthimri": "awg", - "Awbono": "awh", - "Aekyom": "awi", - "Awabakal": "awk", - "Arawum": "awm", - "Awngi": "awn", - "Awak": "awo", - "Awera": "awr", - "South Awyu": "aws", - "Araweté": "awt", - "Central Awyu": "awu", - "Jair Awyu": "awv", - "Awun": "aww", - "Awara": "awx", - "Edera Awyu": "awy", - "Abipon": "axb", - "Mato Grosso Arára": "axg", - "Yaka (Central African Republic)": "axk", - "Lower Southern Aranda": "axl", - "Xârâgurè": "axx", - "Awar": "aya", - "Ayizo Gbe": "ayb", - "Southern Aymara": "ayc", - "Ayabadhu": "ayd", - "Ayere": "aye", - "Ginyanga": "ayg", - "Hadrami Arabic": "ayh", - "Leyigha": "ayi", - "Akuku": "ayk", - "Libyan Arabic": "ayl", - "Sanaani Arabic": "ayn", - "Ayoreo": "ayo", - "North Mesopotamian Arabic": "ayp", - "Ayi (Papua New Guinea)": "ayq", - "Central Aymara": "ayr", - "Magbukun Ayta": "ayt", - "Ayu": "ayu", - "Mai Brat": "ayz", - "Azha": "aza", - "South Azerbaijani": "azb", - "Eastern Durango Nahuatl": "azd", - "San Pedro Amuzgos Amuzgo": "azg", - "Azerbaijani": "azj", - "Ipalapa Amuzgo": "azm", - "Western Durango Nahuatl": "azn", - "Awing": "azo", - "Faire Atta": "azt", - "Highland Puebla Nahuatl": "azz", - "Babatana": "baa", - "Bainouk-Gunyuño": "bab", - "Badui": "bac", - "Baré": "bae", - "Nubaca": "baf", - "Tuki": "bag", - "Bahamas Creole English": "bah", - "Barakai": "baj", - "Bashkir": "bak", - "Bambara": "bam", - "Balinese": "ban", - "Waimaha": "bao", - "Bantawa": "bap", - "Bavarian": "bar", - "Basa (Cameroon)": "bas", - "Bada (Nigeria)": "bau", - "Vengo": "bav", - "Bambili-Bambui": "baw", - "Bamun": "bax", - "Batuley": "bay", - "Baatonum": "bba", - "Barai": "bbb", - "Batak Toba": "bbc", - "Bau": "bbd", - "Bangba": "bbe", - "Baibai": "bbf", - "Barama": "bbg", - "Bugan": "bbh", - "Barombi": "bbi", - "Ghomálá'": "bbj", - "Babanki": "bbk", - "Bats": "bbl", - "Babango": "bbm", - "Uneapa": "bbn", - "Northern Bobo Madaré": "bbo", - "West Central Banda": "bbp", - "Bamali": "bbq", - "Girawa": "bbr", - "Bakpinka": "bbs", - "Mburku": "bbt", - "Kulung (Nigeria)": "bbu", - "Karnai": "bbv", - "Baba": "bbw", - "Befang": "bby", - "Central Bai": "bca", - "Southern Balochi": "bcc", - "North Babar": "bcd", - "Bamenyam": "bce", - "Bamu": "bcf", - "Baga Pokur": "bcg", - "Bariai": "bch", - "Baoulé": "bci", - "Bardi": "bcj", - "Bunuba": "bck", - "Central Bikol": "bcl", - "Bannoni": "bcm", - "Bali (Nigeria)": "bcn", - "Kaluli": "bco", - "Bali (Democratic Republic of Congo)": "bcp", - "Bench": "bcq", - "Babine": "bcr", - "Kohumono": "bcs", - "Bendi": "bct", - "Awad Bing": "bcu", - "Shoo-Minda-Nye": "bcv", - "Bana": "bcw", - "Bacama": "bcy", - "Bainouk-Gunyaamolo": "bcz", - "Bayot": "bda", - "Basap": "bdb", - "Emberá-Baudó": "bdc", - "Bunama": "bdd", - "Bade": "bde", - "Biage": "bdf", - "Bonggi": "bdg", - "Baka (South Sudan)": "bdh", - "Burun": "bdi", - "Bai (South Sudan)": "bdj", - "Budukh": "bdk", - "Indonesian Bajau": "bdl", - "Buduma": "bdm", - "Baldemu": "bdn", - "Morom": "bdo", - "Bende": "bdp", - "Bahnar": "bdq", - "West Coast Bajau": "bdr", - "Burunge": "bds", - "Bokoto": "bdt", - "Oroko": "bdu", - "Bodo Parja": "bdv", - "Baham": "bdw", - "Budong-Budong": "bdx", - "Bandjalang": "bdy", - "Beaver": "bea", - "Bebele": "beb", - "Iceve-Maci": "bec", - "Bedoanas": "bed", - "Byangsi": "bee", - "Benabena": "bef", - "Belait": "beg", - "Biali": "beh", - "Bekati'": "bei", - "Beja": "bej", - "Bebeli": "bek", - "Belarusian": "bel", - "Bemba (Zambia)": "bem", - "Bengali": "ben", - "Beami": "beo", - "Besoa": "bep", - "Beembe": "beq", - "Besme": "bes", - "Guiberoua Béte": "bet", - "Blagar": "beu", - "Daloa Bété": "bev", - "Betawi": "bew", - "Jur Modo": "bex", - "Beli (Papua New Guinea)": "bey", - "Bena (Tanzania)": "bez", - "Bari": "bfa", - "Pauri Bareli": "bfb", - "Panyi Bai": "bfc", - "Bafut": "bfd", - "Tena": "bfe", - "Bofi": "bff", - "Busang Kayan": "bfg", - "Blafe": "bfh", - "Bafanji": "bfj", - "Banda-Ndélé": "bfl", - "Mmen": "bfm", - "Bunak": "bfn", - "Malba Birifor": "bfo", - "Beba": "bfp", - "Badaga": "bfq", - "Southern Bai": "bfs", - "Balti": "bft", - "Gahri": "bfu", - "Bondo": "bfw", - "Bantayanon": "bfx", - "Bagheli": "bfy", - "Mahasu Pahari": "bfz", - "Gwamhi-Wuri": "bga", - "Bobongko": "bgb", - "Haryanvi": "bgc", - "Rathwi Bareli": "bgd", - "Bauria": "bge", - "Bangandu": "bgf", - "Bugun": "bgg", - "Giangan": "bgi", - "Bangolan": "bgj", - "Buxinhua": "bgk", - "Bo (Laos)": "bgl", - "Western Balochi": "bgn", - "Baga Koga": "bgo", - "Eastern Balochi": "bgp", - "Bagri": "bgq", - "Bawm Chin": "bgr", - "Tagabawa": "bgs", - "Bughotu": "bgt", - "Mbongno": "bgu", - "Warkay-Bipim": "bgv", - "Bhatri": "bgw", - "Balkan Gagauz Turkish": "bgx", - "Benggoi": "bgy", - "Banggai": "bgz", - "Bharia": "bha", - "Bhili": "bhb", - "Biga": "bhc", - "Bhadrawahi": "bhd", - "Bhaya": "bhe", - "Odiai": "bhf", - "Binandere": "bhg", - "Bukharic": "bhh", - "Bhilali": "bhi", - "Bahing": "bhj", - "Bimin": "bhl", - "Bathari": "bhm", - "Bohtan Neo-Aramaic": "bhn", - "Bhojpuri": "bho", - "Bima": "bhp", - "Tukang Besi South": "bhq", - "Bara Malagasy": "bhr", - "Buwal": "bhs", - "Bhattiyali": "bht", - "Bhunjia": "bhu", - "Bahau": "bhv", - "Biak": "bhw", - "Bhele": "bhy", - "Bada (Indonesia)": "bhz", - "Badimaya": "bia", - "Bissa": "bib", - "Bidiyo": "bid", - "Bepour": "bie", - "Biafada": "bif", - "Biangai": "big", - "Bile": "bil", - "Bimoba": "bim", - "Edo": "bin", - "Nai": "bio", - "Bila": "bip", - "Bipi": "biq", - "Bisorio": "bir", - "Bislama": "bis", - "Berinomo": "bit", - "Biete": "biu", - "Southern Birifor": "biv", - "Kol (Cameroon)": "biw", - "Bijori": "bix", - "Birhor": "biy", - "Baloi": "biz", - "Budza": "bja", - "Banggarla": "bjb", - "Bariji": "bjc", - "Biao-Jiao Mien": "bje", - "Barzani Jewish Neo-Aramaic": "bjf", - "Bidyogo": "bjg", - "Bahinemo": "bjh", - "Burji": "bji", - "Kanauji": "bjj", - "Barok": "bjk", - "Bulu (Papua New Guinea)": "bjl", - "Bajelani": "bjm", - "Banjar": "bjn", - "Mid-Southern Banda": "bjo", - "Binumarien": "bjr", - "Bajan": "bjs", - "Balanta-Ganja": "bjt", - "Busuu": "bju", - "Bedjond": "bjv", - "Bakwé": "bjw", - "Banao Itneg": "bjx", - "Bayali": "bjy", - "Baruga": "bjz", - "Kyak": "bka", - "Baka (Cameroon)": "bkc", - "Talaandig": "bkd", - "Beeke": "bkf", - "Bakoko": "bkh", - "Baki": "bki", - "Pande": "bkj", - "Brokskat": "bkk", - "Berik": "bkl", - "Kom (Cameroon)": "bkm", - "Bukitan": "bkn", - "Kwa'": "bko", - "Boko (Democratic Republic of Congo)": "bkp", - "Bakairí": "bkq", - "Bakumpai": "bkr", - "Northern Sorsoganon": "bks", - "Boloki": "bkt", - "Buhid": "bku", - "Bekwarra": "bkv", - "Bekwel": "bkw", - "Baikeno": "bkx", - "Bokyi": "bky", - "Bungku": "bkz", - "Siksika": "bla", - "Bilua": "blb", - "Bella Coola": "blc", - "Bolango": "bld", - "Balanta-Kentohe": "ble", - "Buol": "blf", - "Kuwaa": "blh", - "Bolia": "bli", - "Bolongan": "blj", - "Pa'o Karen": "blk", - "Biloxi": "bll", - "Beli (South Sudan)": "blm", - "Southern Catanduanes Bikol": "bln", - "Anii": "blo", - "Blablanga": "blp", - "Baluan-Pam": "blq", - "Blang": "blr", - "Balaesang": "bls", - "Tai Dam": "blt", - "Kibala": "blv", - "Balangao": "blw", - "Mag-Indi Ayta": "blx", - "Notre": "bly", - "Balantak": "blz", - "Lame": "bma", - "Bembe": "bmb", - "Biem": "bmc", - "Baga Manduri": "bmd", - "Limassa": "bme", - "Bom-Kim": "bmf", - "Bamwe": "bmg", - "Kein": "bmh", - "Bagirmi": "bmi", - "Bote-Majhi": "bmj", - "Ghayavi": "bmk", - "Bomboli": "bml", - "Northern Betsimisaraka Malagasy": "bmm", - "Bina (Papua New Guinea)": "bmn", - "Bambalang": "bmo", - "Bulgebi": "bmp", - "Bomu": "bmq", - "Muinane": "bmr", - "Bilma Kanuri": "bms", - "Biao Mon": "bmt", - "Somba-Siawari": "bmu", - "Bum": "bmv", - "Bomwali": "bmw", - "Baimak": "bmx", - "Baramu": "bmz", - "Bonerate": "bna", - "Bookan": "bnb", - "Bontok": "bnc", - "Banda (Indonesia)": "bnd", - "Bintauna": "bne", - "Masiwang": "bnf", - "Benga": "bng", - "Bangi": "bni", - "Eastern Tawbuid": "bnj", - "Bierebo": "bnk", - "Boon": "bnl", - "Batanga": "bnm", - "Bunun": "bnn", - "Bantoanon": "bno", - "Bola": "bnp", - "Bantik": "bnq", - "Butmas-Tur": "bnr", - "Bundeli": "bns", - "Bentong": "bnu", - "Edwas": "bnv", - "Bisis": "bnw", - "Bangubangu": "bnx", - "Bintulu": "bny", - "Beezen": "bnz", - "Bora": "boa", - "Aweer": "bob", - "Tibetan": "bod", - "Mundabli": "boe", - "Bolon": "bof", - "Boma": "boh", - "Barbareño": "boi", - "Anjam": "boj", - "Bonjo": "bok", - "Bole": "bol", - "Berom": "bom", - "Bine": "bon", - "Tiemacèwè Bozo": "boo", - "Bonkiman": "bop", - "Bogaya": "boq", - "Borôro": "bor", - "Bosnian": "bos", - "Bongo": "bot", - "Bondei": "bou", - "Tuwuli": "bov", - "Rema": "bow", - "Buamu": "box", - "Bodo (Central African Republic)": "boy", - "Tiéyaxo Bozo": "boz", - "Daakaka": "bpa", - "Banda-Banda": "bpd", - "Bauni": "bpe", - "Bonggo": "bpg", - "Botlikh": "bph", - "Bagupi": "bpi", - "Binji": "bpj", - "Orowe": "bpk", - "Biyom": "bpm", - "Dzao Min": "bpn", - "Kaure": "bpp", - "Banda Malay": "bpq", - "Koronadal Blaan": "bpr", - "Sarangani Blaan": "bps", - "Barrow Point": "bpt", - "Bongu": "bpu", - "Bian Marind": "bpv", - "Bo (Papua New Guinea)": "bpw", - "Palya Bareli": "bpx", - "Bishnupriya": "bpy", - "Bilba": "bpz", - "Tchumbuli": "bqa", - "Bagusa": "bqb", - "Boo": "bqc", - "Bung": "bqd", - "Bago-Kusuntu": "bqg", - "Baima": "bqh", - "Bakhtiari": "bqi", - "Bandial": "bqj", - "Banda-Mbrès": "bqk", - "Bilakura": "bql", - "Wumboko": "bqm", - "Balo": "bqo", - "Busa": "bqp", - "Biritai": "bqq", - "Burusu": "bqr", - "Bosngun": "bqs", - "Bamukumbit": "bqt", - "Boguru": "bqu", - "Koro Wachi": "bqv", - "Buru (Nigeria)": "bqw", - "Baangi": "bqx", - "Bakaka": "bqz", - "Braj": "bra", - "Lave": "brb", - "Berbice Creole Dutch": "brc", - "Baraamu": "brd", - "Breton": "bre", - "Bira": "brf", - "Baure": "brg", - "Brahui": "brh", - "Mokpwe": "bri", - "Bieria": "brj", - "Birked": "brk", - "Birwa": "brl", - "Barambu": "brm", - "Boruca": "brn", - "Brokkat": "bro", - "Barapasi": "brp", - "Breri": "brq", - "Birao": "brr", - "Baras": "brs", - "Bitare": "brt", - "Eastern Bru": "bru", - "Western Bru": "brv", - "Bellari": "brw", - "Bodo (India)": "brx", - "Burui": "bry", - "Bilbil": "brz", - "Abinomn": "bsa", - "Brunei Bisaya": "bsb", - "Oniyan": "bsc", - "Wushi": "bse", - "Bauchi": "bsf", - "Bashkardi": "bsg", - "Kati": "bsh", - "Bassossi": "bsi", - "Bangwinji": "bsj", - "Burushaski": "bsk", - "Basa-Gumna": "bsl", - "Busami": "bsm", - "Barasana-Eduria": "bsn", - "Baga Sitemu": "bsp", - "Bassa": "bsq", - "Bassa-Kontagora": "bsr", - "Akoose": "bss", - "Basketo": "bst", - "Bahonsuai": "bsu", - "Baiso": "bsw", - "Yangkam": "bsx", - "Sabah Bisaya": "bsy", - "Bata": "bta", - "Bati (Cameroon)": "btc", - "Batak Dairi": "btd", - "Gamo-Ningi": "bte", - "Birgit": "btf", - "Gagnoa Bété": "btg", - "Biatah Bidayuh": "bth", - "Burate": "bti", - "Bacanese Malay": "btj", - "Batak Mandailing": "btm", - "Ratagnon": "btn", - "Rinconada Bikol": "bto", - "Budibud": "btp", - "Batek": "btq", - "Baetora": "btr", - "Batak Simalungun": "bts", - "Bete-Bendi": "btt", - "Batu": "btu", - "Bateri": "btv", - "Butuanon": "btw", - "Batak Karo": "btx", - "Bobot": "bty", - "Batak Alas-Kluet": "btz", - "Bua": "bub", - "Bushi": "buc", - "Ntcham": "bud", - "Beothuk": "bue", - "Bushoong": "buf", - "Buginese": "bug", - "Younuo Bunu": "buh", - "Bongili": "bui", - "Basa-Gurmana": "buj", - "Bugawac": "buk", - "Bulgarian": "bul", - "Bulu (Cameroon)": "bum", - "Sherbro": "bun", - "Terei": "buo", - "Busoa": "bup", - "Brem": "buq", - "Bokobaru": "bus", - "Bungain": "but", - "Budu": "buu", - "Bun": "buv", - "Bubi": "buw", - "Boghom": "bux", - "Bullom So": "buy", - "Bukwen": "buz", - "Barein": "bva", - "Bube": "bvb", - "Baelelea": "bvc", - "Baeggu": "bvd", - "Berau Malay": "bve", - "Boor": "bvf", - "Bonkeng": "bvg", - "Bure": "bvh", - "Belanda Viri": "bvi", - "Baan": "bvj", - "Bukat": "bvk", - "Bamunka": "bvm", - "Buna": "bvn", - "Bolgo": "bvo", - "Birri": "bvq", - "Burarra": "bvr", - "Bati (Indonesia)": "bvt", - "Bukit Malay": "bvu", - "Baniva": "bvv", - "Boga": "bvw", - "Dibole": "bvx", - "Baybayanon": "bvy", - "Bauzi": "bvz", - "Bwatoo": "bwa", - "Namosi-Naitasiri-Serua": "bwb", - "Bwile": "bwc", - "Bwaidoka": "bwd", - "Bwe Karen": "bwe", - "Boselewa": "bwf", - "Barwe": "bwg", - "Bishuo": "bwh", - "Baniwa": "bwi", - "Láá Láá Bwamu": "bwj", - "Bauwaki": "bwk", - "Bwela": "bwl", - "Biwat": "bwm", - "Wunai Bunu": "bwn", - "Boro (Ethiopia)": "bwo", - "Mandobo Bawah": "bwp", - "Southern Bobo Madaré": "bwq", - "Bura-Pabir": "bwr", - "Bomboma": "bws", - "Bafaw-Balong": "bwt", - "Buli (Ghana)": "bwu", - "Bwa": "bww", - "Bu-Nao Bunu": "bwx", - "Cwi Bwamu": "bwy", - "Bwisi": "bwz", - "Tairaha": "bxa", - "Belanda Bor": "bxb", - "Molengue": "bxc", - "Pela": "bxd", - "Birale": "bxe", - "Minigir": "bxf", - "Bangala": "bxg", - "Buhutu": "bxh", - "Pirlatapa": "bxi", - "Bayungu": "bxj", - "Lubukusu": "bxk", - "Jalkunan": "bxl", - "Mongolia Buriat": "bxm", - "Burduna": "bxn", - "Bebil": "bxp", - "Beele": "bxq", - "Russia Buriat": "bxr", - "Busam": "bxs", - "China Buriat": "bxu", - "Berakou": "bxv", - "Bankagooma": "bxw", - "Binahari": "bxz", - "Batak": "bya", - "Bikya": "byb", - "Ubaghara": "byc", - "Benyadu'": "byd", - "Pouye": "bye", - "Bete": "byf", - "Baygo": "byg", - "Bhujel": "byh", - "Buyu": "byi", - "Bina (Nigeria)": "byj", - "Biao": "byk", - "Bayono": "byl", - "Bidjara": "bym", - "Blin": "byn", - "Biyo": "byo", - "Bumaji": "byp", - "Basay": "byq", - "Yipma": "byr", - "Burak": "bys", - "Berti": "byt", - "Medumba": "byv", - "Belhariya": "byw", - "Qaqet": "byx", - "Banaro": "byz", - "Bandi": "bza", - "Andio": "bzb", - "Southern Betsimisaraka Malagasy": "bzc", - "Bribri": "bzd", - "Jenaama Bozo": "bze", - "Boikin": "bzf", - "Babuza": "bzg", - "Mapos Buang": "bzh", - "Bisu": "bzi", - "Belize Kriol English": "bzj", - "Nicaragua Creole English": "bzk", - "Boano (Sulawesi)": "bzl", - "Bolondo": "bzm", - "Boano (Maluku)": "bzn", - "Bozaba": "bzo", - "Kemberano": "bzp", - "Buli (Indonesia)": "bzq", - "Biri": "bzr", - "Burmeso": "bzu", - "Naami": "bzv", - "Basa (Nigeria)": "bzw", - "Kɛlɛngaxo Bozo": "bzx", - "Obanliku": "bzy", - "Evant": "bzz", - "Chortí": "caa", - "Garifuna": "cab", - "Chuj": "cac", - "Caddo": "cad", - "Lehar": "cae", - "Southern Carrier": "caf", - "Nivaclé": "cag", - "Cahuarano": "cah", - "Chané": "caj", - "Kaqchikel": "cak", - "Carolinian": "cal", - "Cemuhî": "cam", - "Chambri": "can", - "Chácobo": "cao", - "Chipaya": "cap", - "Car Nicobarese": "caq", - "Galibi Carib": "car", - "Tsimané": "cas", - "Valencian": "cat", - "Cavineña": "cav", - "Chiquitano": "cax", - "Cayuga": "cay", - "Canichana": "caz", - "Cabiyarí": "cbb", - "Carapana": "cbc", - "Carijona": "cbd", - "Chimila": "cbg", - "Chachi": "cbi", - "Ede Cabe": "cbj", - "Chavacano": "cbk", - "Bualkhaw Chin": "cbl", - "Nyahkur": "cbn", - "Izora": "cbo", - "Tsucuba": "cbq", - "Cashibo-Cacataibo": "cbr", - "Cashinahua": "cbs", - "Chayahuita": "cbt", - "Candoshi-Shapra": "cbu", - "Cacua": "cbv", - "Kinabalian": "cbw", - "Chamicuro": "ccc", - "Cafundo Creole": "ccd", - "Chopi": "cce", - "Samba Daka": "ccg", - "Atsam": "cch", - "Kasanga": "ccj", - "Cutchi-Swahili": "ccl", - "Malaccan Creole Malay": "ccm", - "Comaltepec Chinantec": "cco", - "Chakma": "ccp", - "Cacaopera": "ccr", - "Choni": "cda", - "Chenchu": "cde", - "Chiru": "cdf", - "Chambeali": "cdh", - "Chodri": "cdi", - "Churahi": "cdj", - "Chepang": "cdm", - "Chaudangsi": "cdn", - "Min Dong Chinese": "cdo", - "Cinda-Regi-Tiyal": "cdr", - "Chadong": "cdy", - "Koda": "cdz", - "Lower Chehalis": "cea", - "Cebuano": "ceb", - "Chamacoco": "ceg", - "Eastern Khumi Chin": "cek", - "Cen": "cen", - "Czech": "ces", - "Centúúm": "cet", - "Dijim-Bwilim": "cfa", - "Cara": "cfd", - "Como Karim": "cfg", - "Falam Chin": "cfm", - "Changriwa": "cga", - "Kagayanen": "cgc", - "Chiga": "cgg", - "Chocangacakha": "cgk", - "Chamorro": "cha", - "Chibcha": "chb", - "Catawba": "chc", - "Highland Oaxaca Chontal": "chd", - "Chechen": "che", - "Tabasco Chontal": "chf", - "Chagatai": "chg", - "Chinook": "chh", - "Ojitlán Chinantec": "chj", - "Chuukese": "chk", - "Cahuilla": "chl", - "Chinook jargon": "chn", - "Choctaw": "cho", - "Dene Suline": "chp", - "Quiotepec Chinantec": "chq", - "Cherokee": "chr", - "Cholón": "cht", - "Old Slavonic": "chu", - "Chuvash": "chv", - "Chuwabu": "chw", - "Chantyal": "chx", - "Cheyenne": "chy", - "Ozumacín Chinantec": "chz", - "Cia-Cia": "cia", - "Ci Gbe": "cib", - "Chickasaw": "cic", - "Chimariko": "cid", - "Cineni": "cie", - "Chinali": "cih", - "Chitkuli Kinnauri": "cik", - "Cimbrian": "cim", - "Cinta Larga": "cin", - "Chiapanec": "cip", - "Tiri": "cir", - "Chippewa": "ciw", - "Chaima": "ciy", - "Western Cham": "cja", - "Chru": "cje", - "Upper Chehalis": "cjh", - "Chamalal": "cji", - "Chokwe": "cjk", - "Eastern Cham": "cjm", - "Chenapian": "cjn", - "Ashéninka Pajonal": "cjo", - "Cabécar": "cjp", - "Shor": "cjs", - "Chuave": "cjv", - "Jinyu Chinese": "cjy", - "Kurdish": "ckb", - "Chak": "ckh", - "Cibak": "ckl", - "Anufo": "cko", - "Kajakse": "ckq", - "Kairak": "ckr", - "Tayo": "cks", - "Chukot": "ckt", - "Koasati": "cku", - "Kavalan": "ckv", - "Caka": "ckx", - "Cakfem-Mushere": "cky", - "Ron": "cla", - "Chilcotin": "clc", - "Chaldean Neo-Aramaic": "cld", - "Lealao Chinantec": "cle", - "Chilisso": "clh", - "Chakali": "cli", - "Idu-Mishmi": "clk", - "Chala": "cll", - "Clallam": "clm", - "Lowland Oaxaca Chontal": "clo", - "Lautu Chin": "clt", - "Caluyanun": "clu", - "Chulym": "clw", - "Eastern Highland Chatino": "cly", - "Maa": "cma", - "Cerma": "cme", - "Emberá-Chamí": "cmi", - "Campalagian": "cml", - "Mandarin Chinese": "cmn", - "Central Mnong": "cmo", - "Mro-Khimi Chin": "cmr", - "Messapic": "cms", - "Changthang": "cna", - "Chinbon Chin": "cnb", - "Côông": "cnc", - "Northern Qiang": "cng", - "Hakha Chin": "cnh", - "Asháninka": "cni", - "Khumi Chin": "cnk", - "Lalana Chinantec": "cnl", - "Northern Pinghua": "cnp", - "Central Asmat": "cns", - "Tepetotutla Chinantec": "cnt", - "Chenoua": "cnu", - "Ngawn Chin": "cnw", - "Cocos Islands Malay": "coa", - "Chicomuceltec": "cob", - "Cocopa": "coc", - "Cocama-Cocamilla": "cod", - "Koreguaje": "coe", - "Colorado": "cof", - "Chong": "cog", - "Chonyi-Dzihana-Kauma": "coh", - "Cochimi": "coj", - "Santa Teresa Cora": "cok", - "Columbia-Wenatchi": "col", - "Comanche": "com", - "Cofán": "con", - "Comox": "coo", - "Coptic": "cop", - "Coquille": "coq", - "Cornish": "cor", - "Corsican": "cos", - "Caquinte": "cot", - "Wamey": "cou", - "Cao Miao": "cov", - "Cowlitz": "cow", - "Nanti": "cox", - "Chochotec": "coz", - "Palantla Chinantec": "cpa", - "Ucayali-Yurúa Ashéninka": "cpb", - "Ajyíninka Apurucayali": "cpc", - "Cappadocian Greek": "cpg", - "Cherepon": "cpn", - "Kpeego": "cpo", - "Capiznon": "cps", - "Pichis Ashéninka": "cpu", - "Pu-Xian Chinese": "cpx", - "South Ucayali Ashéninka": "cpy", - "Chara": "cra", - "Island Carib": "crb", - "Lonwolwol": "crc", - "Coeur d'Alene": "crd", - "Caramanta": "crf", - "Michif": "crg", - "Crimean Turkish": "crh", - "Sãotomense": "cri", - "Southern East Cree": "crj", - "Plains Cree": "crk", - "Northern East Cree": "crl", - "Moose Cree": "crm", - "El Nayar Cora": "crn", - "Crow": "cro", - "Iyo'wujwa Chorote": "crq", - "Carolina Algonquian": "crr", - "Seselwa Creole French": "crs", - "Iyojwa'ja Chorote": "crt", - "Chaura": "crv", - "Chrau": "crw", - "Carrier": "crx", - "Cori": "cry", - "Cruzeño": "crz", - "Chiltepec Chinantec": "csa", - "Kashubian": "csb", - "Asho Chin": "csh", - "Coast Miwok": "csi", - "Jola-Kasa": "csk", - "Central Sierra Miwok": "csm", - "Sochiapan Chinantec": "cso", - "Southern Pinghua": "csp", - "Southern Ohlone": "css", - "Northern Ohlone": "cst", - "Sumtu Chin": "csv", - "Swampy Cree": "csw", - "Siyin Chin": "csy", - "Coos": "csz", - "Tataltepec Chatino": "cta", - "Tedim Chin": "ctd", - "Tepinapa Chinantec": "cte", - "Chittagonian": "ctg", - "Tlacoatzintepec Chinantec": "ctl", - "Chitimacha": "ctm", - "Chhintange": "ctn", - "Emberá-Catío": "cto", - "Western Highland Chatino": "ctp", - "Northern Catanduanes Bikol": "cts", - "Wayanad Chetti": "ctt", - "Chol": "ctu", - "Zacatepec Chatino": "ctz", - "Cua": "cua", - "Cubeo": "cub", - "Usila Chinantec": "cuc", - "Gichuka": "cuh", - "Cuiba": "cui", - "Mashco Piro": "cuj", - "San Blas Kuna": "cuk", - "Kulina": "cul", - "Cumanagoto": "cuo", - "Cupeño": "cup", - "Cun": "cuq", - "Chhulung": "cur", - "Teutila Cuicatec": "cut", - "Tai Ya": "cuu", - "Cuvok": "cuv", - "Chukwa": "cuw", - "Tepeuxila Cuicatec": "cux", - "Cuitlatec": "cuy", - "Chug": "cvg", - "Valle Nacional Chinantec": "cvn", - "Kabwa": "cwa", - "Maindo": "cwb", - "Woods Cree": "cwd", - "Kwere": "cwe", - "Chewong": "cwg", - "Kuwaataay": "cwt", - "Nopala Chatino": "cya", - "Cayubaba": "cyb", - "Welsh": "cym", - "Cuyonon": "cyo", - "Huizhou Chinese": "czh", - "Zenzontepec Chatino": "czn", - "Min Zhong Chinese": "czo", - "Zotung Chin": "czt", - "Dangaléat": "daa", - "Dambi": "dac", - "Marik": "dad", - "Duupa": "dae", - "Dagbani": "dag", - "Gwahatike": "dah", - "Day": "dai", - "Dar Fur Daju": "daj", - "Dakota": "dak", - "Dahalo": "dal", - "Damakawa": "dam", - "Danish": "dan", - "Daai Chin": "dao", - "Dandami Maria": "daq", - "Dargwa": "dar", - "Daho-Doo": "das", - "Dar Sila Daju": "dau", - "Taita": "dav", - "Davawenyo": "daw", - "Dayi": "dax", - "Dao": "daz", - "Bangime": "dba", - "Deno": "dbb", - "Dadiya": "dbd", - "Dabe": "dbe", - "Edopi": "dbf", - "Dogul Dom Dogon": "dbg", - "Doka": "dbi", - "Ida'an": "dbj", - "Dyirbal": "dbl", - "Duguri": "dbm", - "Duriankere": "dbn", - "Dulbu": "dbo", - "Duwai": "dbp", - "Daba": "dbq", - "Dabarre": "dbr", - "Ben Tey Dogon": "dbt", - "Bondum Dom Dogon": "dbu", - "Bankan Tey Dogon": "dbw", - "Dibiyaso": "dby", - "Deccan": "dcc", - "Negerhollands": "dcr", - "Dongotono": "ddd", - "Doondo": "dde", - "Fataluku": "ddg", - "West Goodenough": "ddi", - "Jaru": "ddj", - "Dendi (Benin)": "ddn", - "Dido": "ddo", - "Dhudhuroa": "ddr", - "Donno So Dogon": "dds", - "Dawera-Daweloor": "ddw", - "Dagik": "dec", - "Dedua": "ded", - "Dewoin": "dee", - "Dezfuli": "def", - "Degema": "deg", - "Dehwari": "deh", - "Demisa": "dei", - "Dem": "dem", - "Dendi (Central African Republic)": "deq", - "Deori": "der", - "Desano": "des", - "German": "deu", - "Domung": "dev", - "Dengese": "dez", - "Southern Dagaare": "dga", - "Bunoge Dogon": "dgb", - "Casiguran Dumagat Agta": "dgc", - "Dagaari Dioula": "dgd", - "Degenan": "dge", - "Doga": "dgg", - "Dghwede": "dgh", - "Northern Dagara": "dgi", - "Dagba": "dgk", - "Dongolawi": "dgl", - "Dagoman": "dgn", - "Dogri": "dgo", - "Tłı̨chǫ": "dgr", - "Dogoso": "dgs", - "Daungwurrung": "dgw", - "Doghoro": "dgx", - "Daga": "dgz", - "Dhundari": "dhd", - "Djangu": "dhg", - "Dhimal": "dhi", - "Dhalandji": "dhl", - "Zemba": "dhm", - "Dhanki": "dhn", - "Dhodia": "dho", - "Dhargari": "dhr", - "Dhaiso": "dhs", - "Dhurga": "dhu", - "Drehu": "dhv", - "Dhanwar (Nepal)": "dhw", - "Dia": "dia", - "South Central Dinka": "dib", - "Lakota Dida": "dic", - "Didinga": "did", - "Diyari": "dif", - "Digo": "dig", - "Kumiai": "dih", - "Dimbong": "dii", - "Dai": "dij", - "Southwestern Dinka": "dik", - "Dilling": "dil", - "Dime": "dim", - "Dibo": "dio", - "Northeastern Dinka": "dip", - "Dimli": "diq", - "Dirim": "dir", - "Dimasa": "dis", - "Diriku": "diu", - "Maldivian": "div", - "Northwestern Dinka": "diw", - "Dixon Reef": "dix", - "Diuwe": "diy", - "Ding": "diz", - "Djinba": "djb", - "Dar Daju Daju": "djc", - "Ngaliwurru": "djd", - "Zarma": "dje", - "Djangun": "djf", - "Djinang": "dji", - "Djeebbana": "djj", - "Nenge": "djk", - "Jamsay Dogon": "djm", - "Jawoyn": "djn", - "Jangkang": "djo", - "Djambarrpuyngu": "djr", - "Kapriman": "dju", - "Djawi": "djw", - "Dakpakha": "dka", - "Dakka": "dkk", - "Kuijau": "dkr", - "Southeastern Dinka": "dks", - "Mazagway": "dkx", - "Dolgan": "dlg", - "Dahalik": "dlk", - "Dalmatian": "dlm", - "Darlong": "dln", - "Duma": "dma", - "Mombo Dogon": "dmb", - "Gavak": "dmc", - "Madhi Madhi": "dmd", - "Dugwor": "dme", - "Upper Kinabatangan": "dmg", - "Domaaki": "dmk", - "Dameli": "dml", - "Dama": "dmm", - "Kemedzung": "dmo", - "East Damar": "dmr", - "Dampelas": "dms", - "Tebi": "dmu", - "Dumpas": "dmv", - "Dema": "dmx", - "Sowari": "dmy", - "Upper Grand Valley Dani": "dna", - "Daonda": "dnd", - "Ndendeule": "dne", - "Dungan": "dng", - "Lower Grand Valley Dani": "dni", - "Dan": "dnj", - "Dengka": "dnk", - "Dzùùngoo": "dnn", - "Northern Lendu": "dno", - "Danaru": "dnr", - "Mid Grand Valley Dani": "dnt", - "Danau": "dnu", - "Western Dani": "dnw", - "Dení": "dny", - "Dom": "doa", - "Dobu": "dob", - "Northern Dong": "doc", - "Doe": "doe", - "Domu": "dof", - "Dong": "doh", - "Dondo": "dok", - "Doso": "dol", - "Toura (Papua New Guinea)": "don", - "Dongo": "doo", - "Lukpa": "dop", - "Dori'o": "dor", - "Dogosé": "dos", - "Dass": "dot", - "Dombe": "dov", - "Doyayo": "dow", - "Bussa": "dox", - "Dompo": "doy", - "Dorze": "doz", - "Papar": "dpp", - "Dair": "drb", - "Minderico": "drc", - "Darmiya": "drd", - "Dolpo": "dre", - "Rungus": "drg", - "C'Lela": "dri", - "Paakantyi": "drl", - "West Damar": "drn", - "Daro-Matu Melanau": "dro", - "Dura": "drq", - "Gedeo": "drs", - "Drents": "drt", - "Rukai": "dru", - "Darai": "dry", - "Lower Sorbian": "dsb", - "Daasanach": "dsh", - "Disa": "dsi", - "Dusner": "dsn", - "Tadaksahak": "dsq", - "Daur": "dta", - "Labuk-Kinabatangan Kadazan": "dtb", - "Ditidaht": "dtd", - "Adithinngithigh": "dth", - "Ana Tinga Dogon": "dti", - "Tene Kan Dogon": "dtk", - "Tomo Kan Dogon": "dtm", - "Daatsʼíin": "dtn", - "Tommo So Dogon": "dto", - "Kadazan Dusun": "dtp", - "Lotud": "dtr", - "Toro So Dogon": "dts", - "Toro Tegu Dogon": "dtt", - "Tebul Ure Dogon": "dtu", - "Dotyali": "dty", - "Duala": "dua", - "Dubli": "dub", - "Duna": "duc", - "Umiray Dumaget Agta": "due", - "Dumbea": "duf", - "Duruma": "dug", - "Dungra Bhil": "duh", - "Dumun": "dui", - "Uyajitaya": "duk", - "Alabat Island Agta": "dul", - "Middle Dutch (ca. 1050-1350)": "dum", - "Dusun Deyah": "dun", - "Dupaninan Agta": "duo", - "Duano": "dup", - "Dusun Malang": "duq", - "Dii": "dur", - "Dumi": "dus", - "Drung": "duu", - "Duvle": "duv", - "Dusun Witu": "duw", - "Duungooma": "dux", - "Dicamay Agta": "duy", - "Duli-Gey": "duz", - "Duau": "dva", - "Diri": "dwa", - "Dawro": "dwr", - "Dawawa": "dww", - "Dewas Rai": "dwz", - "Dyan": "dya", - "Dyaberdyaber": "dyb", - "Dyugun": "dyd", - "Djimini Senoufo": "dyi", - "Yanda Dom Dogon": "dym", - "Dyangadi": "dyn", - "Jola-Fonyi": "dyo", - "Dyula": "dyu", - "Dyaabugay": "dyy", - "Tunzu": "dza", - "Djiwarli": "dze", - "Dazaga": "dzg", - "Dzalakha": "dzl", - "Dzando": "dzn", - "Dzongkha": "dzo", - "Ebughu": "ebg", - "Teke-Ebo": "ebo", - "Ebrié": "ebr", - "Kiembu": "ebu", - "E": "eee", - "Efai": "efa", - "Efe": "efe", - "Efik": "efi", - "Ega": "ega", - "Emilian": "egl", - "Eggon": "ego", - "Egyptian (Ancient)": "egy", - "Ehueun": "ehu", - "Eipomek": "eip", - "Eitiep": "eit", - "Askopan": "eiv", - "Ejamat": "eja", - "Ekajuk": "eka", - "Ekit": "eke", - "Ekari": "ekg", - "Eki": "eki", - "Estonian": "ekk", - "Kol (Bangladesh)": "ekl", - "Elip": "ekm", - "Koti": "eko", - "Ekpeye": "ekp", - "Yace": "ekr", - "Eastern Kayah": "eky", - "Elepi": "ele", - "El Hugeirat": "elh", - "Nding": "eli", - "Elkei": "elk", - "Greek": "ell", - "Eleme": "elm", - "El Molo": "elo", - "Elu": "elu", - "Elamite": "elx", - "Emai-Iuleha-Ora": "ema", - "Embaloh": "emb", - "Emerillon": "eme", - "Eastern Meohang": "emg", - "Mussau-Emira": "emi", - "Eastern Maninkakan": "emk", - "Eman": "emn", - "Northern Emberá": "emp", - "Eastern Minyag": "emq", - "Pacific Gulf Yupik": "ems", - "Eastern Muria": "emu", - "Emplawas": "emw", - "Epigraphic Mayan": "emy", - "Mbessa": "emz", - "Apali": "ena", - "Markweeta": "enb", - "En": "enc", - "Ende": "end", - "Forest Enets": "enf", - "English": "eng", - "Tundra Enets": "enh", - "Enlhet": "enl", - "Middle English (1100-1500)": "enm", - "Engenni": "enn", - "Enggano": "eno", - "Enga": "enq", - "Emumu": "enr", - "Enu": "enu", - "Enwan (Edu State)": "env", - "Enwan (Akwa Ibom State)": "enw", - "Enxet": "enx", - "Beti (Côte d'Ivoire)": "eot", - "Epie": "epi", - "Eravallan": "era", - "Sie": "erg", - "Eruwa": "erh", - "Ogea": "eri", - "South Efate": "erk", - "Horpa": "ero", - "Erre": "err", - "Ersu": "ers", - "Eritai": "ert", - "Erokwanas": "erw", - "Ese Ejja": "ese", - "Eshtehardi": "esh", - "North Alaskan Inupiatun": "esi", - "Northwest Alaska Inupiatun": "esk", - "Esselen": "esq", - "Central Siberian Yupik": "ess", - "Central Yupik": "esu", - "Etebi": "etb", - "Eton (Vanuatu)": "etn", - "Eton (Cameroon)": "eto", - "Edolo": "etr", - "Yekhee": "ets", - "Etruscan": "ett", - "Ejagham": "etu", - "Eten": "etx", - "Semimi": "etz", - "Basque": "eus", - "Even": "eve", - "Uvbie": "evh", - "Evenki": "evn", - "Ewe": "ewe", - "Ewondo": "ewo", - "Extremaduran": "ext", - "Eyak": "eya", - "Keiyo": "eyo", - "Uzekwe": "eze", - "Fasu": "faa", - "Fa d'Ambu": "fab", - "Wagi": "fad", - "Fagani": "faf", - "Finongan": "fag", - "Baissa Fali": "fah", - "Faiwol": "fai", - "Faita": "faj", - "Fang (Cameroon)": "fak", - "South Fali": "fal", - "Fam": "fam", - "Fang (Equatorial Guinea)": "fan", - "Faroese": "fao", - "Paloor": "fap", - "Fataleka": "far", - "Fayu": "fau", - "Fala": "fax", - "Southwestern Fars": "fay", - "Feroge": "fer", - "Maasina Fulfulde": "ffm", - "Fongoro": "fgr", - "Nobiin": "fia", - "Fyer": "fie", - "Faifi": "fif", - "Fijian": "fij", - "Pilipino": "fil", - "Finnish": "fin", - "Fipa": "fip", - "Firan": "fir", - "Tornedalen Finnish": "fit", - "Fiwaga": "fiw", - "Kirya-Konzəl": "fkk", - "Kven Finnish": "fkv", - "Kalispel-Pend d'Oreille": "fla", - "Foau": "flh", - "Fali": "fli", - "North Fali": "fll", - "Flinders Island": "fln", - "Fuliiru": "flr", - "Fe'fe'": "fmp", - "Far Western Muria": "fmu", - "Fanbak": "fnb", - "Fania": "fni", - "Foodo": "fod", - "Foi": "foi", - "Fon": "fon", - "Fore": "for", - "Siraya": "fos", - "Fernando Po Creole English": "fpe", - "Fas": "fqs", - "French": "fra", - "Cajun French": "frc", - "Fordata": "frd", - "Frankish": "frk", - "Old French (842-ca. 1400)": "fro", - "Francoprovençal": "frp", - "Forak": "frq", - "Northern Frisian": "frr", - "Eastern Frisian": "frs", - "Fortsenal": "frt", - "Western Frisian": "fry", - "suomenruotsalainen viittomakieli": "fss", - "Adamawa Fulfulde": "fub", - "Pulaar": "fuc", - "East Futuna": "fud", - "Borgu Fulfulde": "fue", - "Pular": "fuf", - "Western Niger Fulfulde": "fuh", - "Bagirmi Fulfulde": "fui", - "Ko": "fuj", - "Fulniô": "fun", - "Central-Eastern Niger Fulfulde": "fuq", - "Friulian": "fur", - "Futuna-Aniwa": "fut", - "Furu": "fuu", - "Nigerian Fulfulde": "fuv", - "Fuyug": "fuy", - "Fur": "fvr", - "Fwâi": "fwa", - "Fwe": "fwe", - "Ga": "gaa", - "Gabri": "gab", - "Mixed Great Andamanese": "gac", - "Gaddang": "gad", - "Guarequena": "gae", - "Gende": "gaf", - "Gagauz": "gag", - "Alekano": "gah", - "Borei": "gai", - "Gadsup": "gaj", - "Gamkonora": "gak", - "Galolen": "gal", - "Kandawo": "gam", - "Gan Chinese": "gan", - "Gants": "gao", - "Gal": "gap", - "Gata'": "gaq", - "Galeya": "gar", - "Adiwasi Garasia": "gas", - "Kenati": "gat", - "Mudhili Gadaba": "gau", - "Nobonob": "gaw", - "Borana-Arsi-Guji Oromo": "gax", - "Gayo": "gay", - "Oromo": "gaz", - "Kaytetye": "gbb", - "Karajarri": "gbd", - "Niksek": "gbe", - "Gaikundi": "gbf", - "Gbanziri": "gbg", - "Defi Gbe": "gbh", - "Galela": "gbi", - "Bodo Gadaba": "gbj", - "Gaddi": "gbk", - "Gamit": "gbl", - "Garhwali": "gbm", - "Mo'da": "gbn", - "Northern Grebo": "gbo", - "Gbaya-Bossangoa": "gbp", - "Gbaya-Bozoum": "gbq", - "Gbagyi": "gbr", - "Gbesi Gbe": "gbs", - "Gagadu": "gbu", - "Gbanu": "gbv", - "Gabi-Gabi": "gbw", - "Eastern Xwla Gbe": "gbx", - "Gbari": "gby", - "Zoroastrian Dari": "gbz", - "Mali": "gcc", - "Ganggalida": "gcd", - "Galice": "gce", - "Guadeloupean Creole French": "gcf", - "Grenadian Creole English": "gcl", - "Gaina": "gcn", - "Guianese Creole French": "gcr", - "Colonia Tovar German": "gct", - "Gade Lohar": "gda", - "Pottangi Ollar Gadaba": "gdb", - "Gugu Badhun": "gdc", - "Gedaged": "gdd", - "Gude": "gde", - "Guduf-Gava": "gdf", - "Ga'dang": "gdg", - "Gajirrabeng": "gdh", - "Gundi": "gdi", - "Gurdjar": "gdj", - "Gadang": "gdk", - "Dirasha": "gdl", - "Laal": "gdm", - "Umanakaina": "gdn", - "Ghodoberi": "gdo", - "Mehri": "gdq", - "Wipi": "gdr", - "Gudu": "gdu", - "Godwari": "gdx", - "Geruma": "gea", - "Kire": "geb", - "Gboloo Grebo": "gec", - "Gade": "ged", - "Hutterite German": "geh", - "Gebe": "gei", - "Gen": "gej", - "Ywom": "gek", - "ut-Ma'in": "gel", - "Geme": "geq", - "Geser-Gorom": "ges", - "Eviya": "gev", - "Gera": "gew", - "Garre": "gex", - "Enya": "gey", - "Geez": "gez", - "Patpatar": "gfk", - "Gafat": "gft", - "Gao": "gga", - "Gbii": "ggb", - "Gugadj": "ggd", - "Gurr-goni": "gge", - "Gurgula": "ggg", - "Kungarakany": "ggk", - "Ganglau": "ggl", - "Gitua": "ggt", - "Gban": "ggu", - "Gogodala": "ggw", - "Ghadamès": "gha", - "Hiberno-Scottish Gaelic": "ghc", - "Southern Ghale": "ghe", - "Northern Ghale": "ghh", - "Geko Karen": "ghk", - "Ghulfan": "ghl", - "Ghanongga": "ghn", - "Ghomara": "gho", - "Ghera": "ghr", - "Guhu-Samane": "ghs", - "Kutang Ghale": "ght", - "Kija": "gia", - "Gidar": "gid", - "Guébie": "gie", - "Goaria": "gig", - "Githabul": "gih", - "Girirra": "gii", - "Gilbertese": "gil", - "Gimi (Eastern Highlands)": "gim", - "Hinukh": "gin", - "Gimi (West New Britain)": "gip", - "Green Gelao": "giq", - "Red Gelao": "gir", - "North Giziga": "gis", - "Gitxsan": "git", - "Mulao": "giu", - "White Gelao": "giw", - "Gilima": "gix", - "South Giziga": "giz", - "Kachi Koli": "gjk", - "Gunditjmara": "gjm", - "Gonja": "gjn", - "Gujari": "gju", - "Guya": "gka", - "Magɨ (Madang Province)": "gkd", - "Ndai": "gke", - "Gokana": "gkn", - "Kok-Nar": "gko", - "Guinea Kpelle": "gkp", - "ǂUngkue": "gku", - "Scottish Gaelic": "gla", - "Belning": "glb", - "Bon Gula": "glc", - "Nanai": "gld", - "Irish": "gle", - "Galician": "glg", - "Northwest Pashayi": "glh", - "Gula Iro": "glj", - "Gilaki": "glk", - "Garlali": "gll", - "Galambu": "glo", - "Glaro-Twabo": "glr", - "Gula (Chad)": "glu", - "Manx": "glv", - "Glavda": "glw", - "Gule": "gly", - "Gambera": "gma", - "Gula'alaa": "gmb", - "Mághdì": "gmd", - "Magɨyi": "gmg", - "Middle High German (ca. 1050-1500)": "gmh", - "Middle Low German": "gml", - "Gbaya-Mbodomo": "gmm", - "Gimnime": "gmn", - "Gumalu": "gmu", - "Gamo": "gmv", - "Magoma": "gmx", - "Mycenaean Greek": "gmy", - "Kaansa": "gna", - "Gangte": "gnb", - "Guanche": "gnc", - "Zulgo-Gemzek": "gnd", - "Ganang": "gne", - "Ngangam": "gng", - "Lere": "gnh", - "Gooniyandi": "gni", - "Ngen": "gnj", - "ǁGana": "gnk", - "Gangulu": "gnl", - "Ginuman": "gnm", - "Gumatj": "gnn", - "Northern Gondi": "gno", - "Gana": "gnq", - "Gureng Gureng": "gnr", - "Guntai": "gnt", - "Gnau": "gnu", - "Western Bolivian Guaraní": "gnw", - "Ganzi": "gnz", - "Guro": "goa", - "Playero": "gob", - "Gorakor": "goc", - "Godié": "god", - "Gongduk": "goe", - "Gofa": "gof", - "Gogo": "gog", - "Old High German (ca. 750-1050)": "goh", - "Gobasi": "goi", - "Gola": "gol", - "Goan Konkani": "gom", - "Gone Dau": "goo", - "Yeretuar": "gop", - "Gorap": "goq", - "Gorontalo": "gor", - "Gronings": "gos", - "Gothic": "got", - "Gavar": "gou", - "Gorowa": "gow", - "Gobu": "gox", - "Goundo": "goy", - "Gozarkhani": "goz", - "Gupa-Abawa": "gpa", - "Ghanaian Pidgin English": "gpe", - "Taiap": "gpn", - "Ga'anda": "gqa", - "Guiqiong": "gqi", - "Guana (Brazil)": "gqn", - "Gor": "gqr", - "Qau": "gqu", - "Rajput Garasia": "gra", - "Ancient Greek": "grc", - "Guruntum-Mbaaru": "grd", - "Madi": "grg", - "Gbiri-Niragu": "grh", - "Ghari": "gri", - "Southern Grebo": "grj", - "Kota Marudu Talantang": "grm", - "Groma": "gro", - "Gorovu": "grq", - "Taznatit": "grr", - "Gresi": "grs", - "Garo": "grt", - "Kistane": "gru", - "Central Grebo": "grv", - "Gweda": "grw", - "Guriaso": "grx", - "Barclayville Grebo": "gry", - "Guramalum": "grz", - "Gusilay": "gsl", - "Nema": "gsn", - "Southwest Gbaya": "gso", - "Wasembo": "gsp", - "Swiss German": "gsw", - "Guató": "gta", - "Shiki": "gua", - "Guajajára": "gub", - "Wayuu": "guc", - "Yocoboué Dida": "gud", - "Gurindji": "gue", - "Gupapuyngu": "guf", - "Paraguayan Guaraní": "gug", - "Guahibo": "guh", - "Eastern Bolivian Guaraní": "gui", - "Gujarati": "guj", - "Gumuz": "guk", - "Sea Island Creole English": "gul", - "Guambiano": "gum", - "Mbyá Guaraní": "gun", - "Guayabero": "guo", - "Gunwinggu": "gup", - "Aché": "guq", - "Farefare": "gur", - "Maléku Jaíka": "gut", - "Yanomamö": "guu", - "Gun": "guw", - "Gourmanchéma": "gux", - "Gusii": "guz", - "Guana (Paraguay)": "gva", - "Guanano": "gvc", - "Duwet": "gve", - "Golin": "gvf", - "Guajá": "gvj", - "Gulay": "gvl", - "Gurmana": "gvm", - "Kuku-Yalanji": "gvn", - "Gavião Do Jiparaná": "gvo", - "Pará Gavião": "gvp", - "Gurung": "gvr", - "Gumawana": "gvs", - "Guyani": "gvy", - "Mbato": "gwa", - "Gwa": "gwb", - "Kalami": "gwc", - "Gawwada": "gwd", - "Gweno": "gwe", - "Gowro": "gwf", - "Moo": "gwg", - "Gwichʼin": "gwi", - "ǀGwi": "gwj", - "Awngthim": "gwm", - "Gwandara": "gwn", - "Gwere": "gwr", - "Gawar-Bati": "gwt", - "Guwamu": "gwu", - "Kwini": "gww", - "Gua": "gwx", - "Wè Southern": "gxx", - "Northwest Gbaya": "gya", - "Garus": "gyb", - "Kayardild": "gyd", - "Gyem": "gye", - "Gungabula": "gyf", - "Gbayi": "gyg", - "Gyele": "gyi", - "Gayil": "gyl", - "Ngäbere": "gym", - "Guyanese Creole English": "gyn", - "Gyalsumdo": "gyo", - "Guarayu": "gyr", - "Gunya": "gyy", - "Gyaazi": "gyz", - "Ganza": "gza", - "Gazi": "gzi", - "Gane": "gzn", - "Han": "haa", - "Gurani": "hac", - "Hatam": "had", - "Eastern Oromo": "hae", - "Hanga": "hag", - "Hahon": "hah", - "Hajong": "haj", - "Hakka Chinese": "hak", - "Halang": "hal", - "Hewa": "ham", - "Hangaza": "han", - "Hakö": "hao", - "Hupla": "hap", - "Ha": "haq", - "Harari": "har", - "Haisla": "has", - "Haitian Creole": "hat", - "Hausa": "hau", - "Havu": "hav", - "Hawaiian": "haw", - "Southern Haida": "hax", - "Haya": "hay", - "Hazaragi": "haz", - "Hamba": "hba", - "Huba": "hbb", - "Heiban": "hbn", - "Ancient Hebrew": "hbo", - "Serbo-Croatian": "hbs", - "Habu": "hbu", - "Andaman Creole Hindi": "hca", - "Huichol": "hch", - "Northern Haida": "hdn", - "Hadiyya": "hdy", - "Northern Qiandong Miao": "hea", - "Hebrew": "heb", - "Herdé": "hed", - "Helong": "heg", - "Hehe": "heh", - "Heiltsuk": "hei", - "Hemba": "hem", - "Herero": "her", - "Haiǁom": "hgm", - "Haigwai": "hgw", - "Hoia Hoia": "hhi", - "Kerak": "hhr", - "Hoyahoya": "hhy", - "Lamang": "hia", - "Hibito": "hib", - "Hidatsa": "hid", - "Fiji Hindi": "hif", - "Kamwe": "hig", - "Pamosu": "hih", - "Hinduri": "hii", - "Hijuk": "hij", - "Seit-Kaitetu": "hik", - "Hiligaynon": "hil", - "Hindi": "hin", - "Tsoa": "hio", - "Hittite": "hit", - "Hiw": "hiw", - "Hixkaryána": "hix", - "Haji": "hji", - "Kahe": "hka", - "Hunde": "hke", - "Poguli": "hkh", - "Hunjara-Kaina Ke": "hkk", - "Halia": "hla", - "Halbi": "hlb", - "Halang Doan": "hld", - "Hlersu": "hle", - "Matu Chin": "hlt", - "Hieroglyphic Luwian": "hlu", - "Southern Mashan Miao": "hma", - "Humburi Senni Songhay": "hmb", - "Central Huishui Miao": "hmc", - "Large Flowery Miao": "hmd", - "Eastern Huishui Miao": "hme", - "Hmong Don": "hmf", - "Southwestern Guiyang Hmong": "hmg", - "Southwestern Huishui Miao": "hmh", - "Northern Huishui Miao": "hmi", - "Gejia": "hmj", - "Luopohe Miao": "hml", - "Central Mashan Miao": "hmm", - "Northern Mashan Miao": "hmp", - "Eastern Qiandong Miao": "hmq", - "Hmar": "hmr", - "Southern Qiandong Miao": "hms", - "Hamtai": "hmt", - "Hamap": "hmu", - "Hmong Dô": "hmv", - "Western Mashan Miao": "hmw", - "Southern Guiyang Miao": "hmy", - "Sinicized Miao": "hmz", - "Mina (Cameroon)": "hna", - "Southern Hindko": "hnd", - "Chhattisgarhi": "hne", - "Hungu": "hng", - "ǁAni": "hnh", - "Hani": "hni", - "Mong Njua": "hnj", - "Hanunoo": "hnn", - "Northern Hindko": "hno", - "Caribbean Hindustani": "hns", - "Hung": "hnu", - "Hoava": "hoa", - "Mari (Madang Province)": "hob", - "Ho": "hoc", - "Holma": "hod", - "Horom": "hoe", - "Hobyót": "hoh", - "Holikachuk": "hoi", - "Haroti": "hoj", - "Holu": "hol", - "Homa": "hom", - "Holoholo": "hoo", - "Hopi": "hop", - "Horo": "hor", - "Malê": "hot", - "Hovongan": "hov", - "Honi": "how", - "Holiya": "hoy", - "Hozo": "hoz", - "Hpon": "hpo", - "Hrangkhol": "hra", - "Niwer Mil": "hrc", - "Hre": "hre", - "Haruku": "hrk", - "Horned Miao": "hrm", - "Haroi": "hro", - "Nhirrpi": "hrp", - "Hértevin": "hrt", - "Hruso": "hru", - "Croatian": "hrv", - "Hunsrik": "hrx", - "Harzani": "hrz", - "Upper Sorbian": "hsb", - "Xiang Chinese": "hsn", - "Harsusi": "hss", - "Hoti": "hti", - "Minica Huitoto": "hto", - "Hadza": "hts", - "Hitu": "htu", - "Huambisa": "hub", - "ǂHua": "huc", - "Huaulu": "hud", - "San Francisco Del Mar Huave": "hue", - "Humene": "huf", - "Huachipaeri": "hug", - "Huilliche": "huh", - "Huli": "hui", - "Northern Guiyang Miao": "huj", - "Hulung": "huk", - "Hula": "hul", - "Hungana": "hum", - "Hungarian": "hun", - "Hu": "huo", - "Hupa": "hup", - "Tsat": "huq", - "Halkomelem": "hur", - "Huastec": "hus", - "Humla": "hut", - "Murui Huitoto": "huu", - "San Mateo Del Mar Huave": "huv", - "Hukumina": "huw", - "Nüpode Huitoto": "hux", - "Hulaulá": "huy", - "Hunzib": "huz", - "San Dionisio Del Mar Huave": "hve", - "Haveke": "hvk", - "Sabu": "hvn", - "Santa María Del Mar Huave": "hvv", - "Wané": "hwa", - "Hawai'i Pidgin": "hwc", - "Hwana": "hwo", - "Hya": "hya", - "Armenian": "hye", - "Western Armenian": "hyw", - "Iaai": "iai", - "Iatmul": "ian", - "Purari": "iar", - "Iban": "iba", - "Ibibio": "ibb", - "Iwaidja": "ibd", - "Akpes": "ibe", - "Ibanag": "ibg", - "Bih": "ibh", - "Ibaloi": "ibl", - "Agoi": "ibm", - "Ibino": "ibn", - "Igbo": "ibo", - "Ibuoro": "ibr", - "Ibu": "ibu", - "Ibani": "iby", - "Ede Ica": "ica", - "Etkywan": "ich", - "Islander Creole English": "icr", - "Luidakho-Luisukha-Lutirichi": "ida", - "Indo-Portuguese": "idb", - "Idon": "idc", - "Ede Idaca": "idd", - "Idere": "ide", - "Idi": "idi", - "Indri": "idr", - "Idaté": "idt", - "Idoma": "idu", - "Amganad Ifugao": "ifa", - "Batad Ifugao": "ifb", - "Ifè": "ife", - "Ifo": "iff", - "Tuwali Ifugao": "ifk", - "Teke-Fuumu": "ifm", - "Mayoyao Ifugao": "ifu", - "Keley-I Kallahan": "ify", - "Ebira": "igb", - "Igede": "ige", - "Igana": "igg", - "Igala": "igl", - "Kanggape": "igm", - "Ignaciano": "ign", - "Isebe": "igo", - "Igwe": "igw", - "Iha": "ihp", - "Bidhawal": "ihw", - "Sichuan Yi": "iii", - "Thiin": "iin", - "Izon": "ijc", - "Biseni": "ije", - "Ede Ije": "ijj", - "Kalabari": "ijn", - "Southeast Ijo": "ijs", - "Eastern Canadian Inuktitut": "ike", - "Iko": "iki", - "Ika": "ikk", - "Ikulu": "ikl", - "Olulumo-Ikom": "iko", - "Ikpeshi": "ikp", - "Ikaranggal": "ikr", - "Western Canadian Inuktitut": "ikt", - "Iku-Gora-Ankwa": "ikv", - "Ikwere": "ikw", - "Ik": "ikx", - "Ikizu": "ikz", - "Ile Ape": "ila", - "Ila": "ilb", - "Garig-Ilgar": "ilg", - "Ili Turki": "ili", - "Ilongot": "ilk", - "Iloko": "ilo", - "Ili'uun": "ilu", - "Ilue": "ilv", - "Mala Malasar": "ima", - "Anamgura": "imi", - "Miluk": "iml", - "Imonda": "imn", - "Imbongu": "imo", - "Imroing": "imr", - "Milyan": "imy", - "Inga": "inb", - "Indonesian": "ind", - "Degexit'an": "ing", - "Ingush": "inh", - "Jungle Inga": "inj", - "Minaean": "inm", - "Isinai": "inn", - "Inoke-Yate": "ino", - "Iñapari": "inp", - "Intha": "int", - "Ineseño": "inz", - "Inor": "ior", - "Tuma-Irumu": "iou", - "Iowa-Oto": "iow", - "Ipili": "ipi", - "Ipiko": "ipo", - "Iquito": "iqu", - "Iresim": "ire", - "Irarutu": "irh", - "Rigwe": "iri", - "Iraqw": "irk", - "Irántxe": "irn", - "Irula": "iru", - "Kamberau": "irx", - "Iraya": "iry", - "Isabi": "isa", - "Isconahua": "isc", - "Isnag": "isd", - "Esan": "ish", - "Nkem-Nkum": "isi", - "Ishkashimi": "isk", - "Icelandic": "isl", - "Masimasi": "ism", - "Isanzu": "isn", - "Isoko": "iso", - "Istriot": "ist", - "Isu (Menchum Division)": "isu", - "Italian": "ita", - "Binongan Itneg": "itb", - "Southern Tidung": "itd", - "Itene": "ite", - "Inlaod Itneg": "iti", - "Judeo-Italian": "itk", - "Itelmen": "itl", - "Itu Mbon Uzo": "itm", - "Itonama": "ito", - "Iteri": "itr", - "Isekiri": "its", - "Maeng Itneg": "itt", - "Itawit": "itv", - "Ito": "itw", - "Itik": "itx", - "Moyadan Itneg": "ity", - "Itzá": "itz", - "Iu Mien": "ium", - "Ibatan": "ivb", - "Ivatan": "ivv", - "I-Wak": "iwk", - "Iwam": "iwm", - "Iwur": "iwo", - "Sepik Iwam": "iws", - "Ixcatec": "ixc", - "Ixil": "ixl", - "Iyayu": "iya", - "Mesaka": "iyo", - "Yaka (Congo)": "iyx", - "Ingrian": "izh", - "Izere": "izr", - "Izii": "izz", - "Jamamadí": "jaa", - "Hyam": "jab", - "Popti'": "jac", - "Jahanka": "jad", - "Yabem": "jae", - "Jara": "jaf", - "Jah Hut": "jah", - "Zazao": "jaj", - "Jakun": "jak", - "Yalahatan": "jal", - "Jamaican Creole English": "jam", - "Jandai": "jan", - "Yanyuwa": "jao", - "Yaqay": "jaq", - "New Caledonian Javanese": "jas", - "Jakati": "jat", - "Yaur": "jau", - "Javanese": "jav", - "Jambi Malay": "jax", - "Yan-nhangu": "jay", - "Jawe": "jaz", - "Badjiri": "jbi", - "Arandai": "jbj", - "Barikewa": "jbk", - "Nafusi": "jbn", - "Jofotek-Bromnya": "jbr", - "Jabutí": "jbt", - "Jukun Takum": "jbu", - "Yawijibaya": "jbw", - "Krymchak": "jct", - "Jad": "jda", - "Jadgali": "jdg", - "Judeo-Tat": "jdt", - "Jebero": "jeb", - "Jerung": "jee", - "Jeh": "jeh", - "Yei": "jei", - "Jeri Kuo": "jek", - "Yelmek": "jel", - "Dza": "jen", - "Jere": "jer", - "Manem": "jet", - "Jonkor Bourmataguil": "jeu", - "Ngbee": "jgb", - "Judeo-Georgian": "jge", - "Ngomba": "jgo", - "Jehai": "jhi", - "Jina": "jia", - "Jibu": "jib", - "Tol": "jic", - "Bu (Kaduna State)": "jid", - "Jilbe": "jie", - "Jingulu": "jig", - "sTodsde": "jih", - "Jiiddu": "jii", - "Jilim": "jil", - "Jimi (Cameroon)": "jim", - "Jiamao": "jio", - "Lavrung": "jiq", - "Jita": "jit", - "Youle Jinuo": "jiu", - "Shuar": "jiv", - "Buyuan Jinuo": "jiy", - "Jejueo": "jje", - "Kaera": "jka", - "Mobwa Karen": "jkm", - "Kubo": "jko", - "Koro (India)": "jkr", - "Labir": "jku", - "Ngile": "jle", - "Dima": "jma", - "Zumbun": "jmb", - "Machame": "jmc", - "Yamdena": "jmd", - "Jimi (Nigeria)": "jmi", - "Jumli": "jml", - "Makuri Naga": "jmn", - "Kamara": "jmr", - "Mashi (Nigeria)": "jms", - "Mouwase": "jmw", - "Western Juxtlahuaca Mixtec": "jmx", - "Jangshung": "jna", - "Jandavra": "jnd", - "Yangman": "jng", - "Janji": "jni", - "Yemsa": "jnj", - "Rawat": "jnl", - "Jaunsari": "jns", - "Joba": "job", - "Wojenaka": "jod", - "Jorá": "jor", - "Jowulu": "jow", - "Japanese": "jpn", - "Judeo-Persian": "jpr", - "Jaqaru": "jqr", - "Jarai": "jra", - "Jiru": "jrr", - "Japrería": "jru", - "Júma": "jua", - "Wannu": "jub", - "Jurchen": "juc", - "Worodougou": "jud", - "Hõne": "juh", - "Ngadjuri": "jui", - "Wapan": "juk", - "Jirel": "jul", - "Jumjum": "jum", - "Juang": "jun", - "Jiba": "juo", - "Hupdë": "jup", - "Jurúna": "jur", - "Jutish": "jut", - "Ju": "juu", - "Wãpha": "juw", - "Juray": "juy", - "Javindo": "jvd", - "Caribbean Javanese": "jvn", - "Jwira-Pepesa": "jwi", - "Jiarong": "jya", - "Judeo-Yemeni Arabic": "jye", - "Jaya": "jyy", - "Kara-Kalpak": "kaa", - "Kabyle": "kab", - "Kachin": "kac", - "Adara": "kad", - "Ketangalan": "kae", - "Katso": "kaf", - "Kajaman": "kag", - "Kara (Central African Republic)": "kah", - "Karekare": "kai", - "Jju": "kaj", - "Kayapa Kallahan": "kak", - "Greenlandic": "kal", - "Kamba (Kenya)": "kam", - "Kannada": "kan", - "Xaasongaxango": "kao", - "Bezhta": "kap", - "Capanahua": "kaq", - "Kashmiri": "kas", - "Georgian": "kat", - "Kawi": "kaw", - "Kao": "kax", - "Kamayurá": "kay", - "Kazakh": "kaz", - "Kalarko": "kba", - "Kaxuiâna": "kbb", - "Kadiwéu": "kbc", - "Kabardian": "kbd", - "Kanju": "kbe", - "Khamba": "kbg", - "Camsá": "kbh", - "Kaptiau": "kbi", - "Kari": "kbj", - "Grass Koiari": "kbk", - "Kanembu": "kbl", - "Iwal": "kbm", - "Kare (Central African Republic)": "kbn", - "Keliko": "kbo", - "Kabiyè": "kbp", - "Kamano": "kbq", - "Kafa": "kbr", - "Kande": "kbs", - "Abadi": "kbt", - "Kabutra": "kbu", - "Dera (Indonesia)": "kbv", - "Kaiep": "kbw", - "Ap Ma": "kbx", - "Manga Kanuri": "kby", - "Duhwa": "kbz", - "Khanty": "kca", - "Kawacha": "kcb", - "Lubila": "kcc", - "Ngkâlmpw Kanum": "kcd", - "Ukaan": "kcf", - "Tyap": "kcg", - "Kamantan": "kci", - "Kobiana": "kcj", - "Kalanga": "kck", - "Kela (Papua New Guinea)": "kcl", - "Gula (Central African Republic)": "kcm", - "Nubi": "kcn", - "Kinalakna": "kco", - "Kanga": "kcp", - "Kamo": "kcq", - "Katla": "kcr", - "Koenoem": "kcs", - "Kaian": "kct", - "Kami (Tanzania)": "kcu", - "Kete": "kcv", - "Kabwari": "kcw", - "Kachama-Ganjule": "kcx", - "Korandje": "kcy", - "Konongo": "kcz", - "Worimi": "kda", - "Kutu": "kdc", - "Yankunytjatjara": "kdd", - "Makonde": "kde", - "Mamusi": "kdf", - "Seba": "kdg", - "Tem": "kdh", - "Kumam": "kdi", - "Karamojong": "kdj", - "Numèè": "kdk", - "Tsikimba": "kdl", - "Kagoma": "kdm", - "Kunda": "kdn", - "Kaningdon-Nindem": "kdp", - "Koch": "kdq", - "Karaim": "kdr", - "Kuy": "kdt", - "Kadaru": "kdu", - "Koneraw": "kdw", - "Kam": "kdx", - "Keijar": "kdy", - "Kwaja": "kdz", - "Kabuverdianu": "kea", - "Kélé": "keb", - "Keiga": "kec", - "Kerewe": "ked", - "Eastern Keres": "kee", - "Kpessi": "kef", - "Tese": "keg", - "Keak": "keh", - "Kei": "kei", - "Kadar": "kej", - "Kekchí": "kek", - "Kela (Democratic Republic of Congo)": "kel", - "Kemak": "kem", - "Kenyang": "ken", - "Kakwa": "keo", - "Kaikadi": "kep", - "Kamar": "keq", - "Kera": "ker", - "Kugbo": "kes", - "Ket": "ket", - "Akebu": "keu", - "Kanikkaran": "kev", - "West Kewa": "kew", - "Kupia": "key", - "Kukele": "kez", - "Kodava": "kfa", - "Northwestern Kolami": "kfb", - "Konda-Dora": "kfc", - "Korra Koraga": "kfd", - "Kota (India)": "kfe", - "Koya": "kff", - "Kudiya": "kfg", - "Kurichiya": "kfh", - "Kinnauri": "kfk", - "Kung": "kfl", - "Khunsari": "kfm", - "Kuk": "kfn", - "Koro (Côte d'Ivoire)": "kfo", - "Korwa": "kfp", - "Korku": "kfq", - "Kutchi": "kfr", - "Bilaspuri": "kfs", - "Kanjari": "kft", - "Katkari": "kfu", - "Kurmukar": "kfv", - "Kharam Naga": "kfw", - "Kullu Pahari": "kfx", - "Kumaoni": "kfy", - "Koromfé": "kfz", - "Koyaga": "kga", - "Kawe": "kgb", - "Komering": "kge", - "Kube": "kgf", - "Kusunda": "kgg", - "Gamale Kham": "kgj", - "Kaiwá": "kgk", - "Kunggari": "kgl", - "Karingani": "kgn", - "Krongo": "kgo", - "Kaingang": "kgp", - "Kamoro": "kgq", - "Abun": "kgr", - "Kumbainggar": "kgs", - "Somyev": "kgt", - "Kobol": "kgu", - "Karas": "kgv", - "Karon Dori": "kgw", - "Kamaru": "kgx", - "Kyerung": "kgy", - "Khasi": "kha", - "Lü": "khb", - "Tukang Besi North": "khc", - "Bädi Kanum": "khd", - "Korowai": "khe", - "Khuen": "khf", - "Khams Tibetan": "khg", - "Kehu": "khh", - "Kuturmi": "khj", - "Halh Mongolian": "khk", - "Lusi": "khl", - "Khmer": "khm", - "Khandesi": "khn", - "Sakan": "kho", - "Kapori": "khp", - "Koyra Chiini Songhay": "khq", - "Kharia": "khr", - "Kasua": "khs", - "Khamti": "kht", - "Nkhumbi": "khu", - "Khvarshi": "khv", - "Khowar": "khw", - "Kanu": "khx", - "Kele (Democratic Republic of Congo)": "khy", - "Keapara": "khz", - "Kim": "kia", - "Koalib": "kib", - "Kickapoo": "kic", - "Koshin": "kid", - "Kibet": "kie", - "Eastern Parbate Kham": "kif", - "Kimaghima": "kig", - "Kilmeri": "kih", - "Kitsai": "kii", - "Kilivila": "kij", - "Kikuyu": "kik", - "Kariya": "kil", - "Karagas": "kim", - "Kinyarwanda": "kin", - "Kiowa": "kio", - "Sheshi Kham": "kip", - "Kosare": "kiq", - "Kyrgyz": "kir", - "Kis": "kis", - "Agob": "kit", - "Kirmanjki": "kiu", - "Kimbu": "kiv", - "Northeast Kiwai": "kiw", - "Khiamniungan Naga": "kix", - "Kirikiri": "kiy", - "Kisi": "kiz", - "Mlap": "kja", - "Q'anjob'al": "kjb", - "Coastal Konjo": "kjc", - "Southern Kiwai": "kjd", - "Kisar": "kje", - "Khmu": "kjg", - "Khakas": "kjh", - "Zabana": "kji", - "Khinalugh": "kjj", - "Highland Konjo": "kjk", - "Western Parbate Kham": "kjl", - "Kháng": "kjm", - "Kunjen": "kjn", - "Harijan Kinnauri": "kjo", - "Pwo Eastern Karen": "kjp", - "Western Keres": "kjq", - "Kurudu": "kjr", - "East Kewa": "kjs", - "Phrae Pwo Karen": "kjt", - "Kashaya": "kju", - "Kaikavian Literary Language": "kjv", - "Ramopa": "kjx", - "Erave": "kjy", - "Bumthangkha": "kjz", - "Kakanda": "kka", - "Kwerisa": "kkb", - "Odoodee": "kkc", - "Kinuku": "kkd", - "Kakabe": "kke", - "Kalaktang Monpa": "kkf", - "Mabaka Valley Kalinga": "kkg", - "Khün": "kkh", - "Kagulu": "kki", - "Kako": "kkj", - "Kokota": "kkk", - "Kosarek Yale": "kkl", - "Kiong": "kkm", - "Karko": "kko", - "Koko-Bera": "kkp", - "Kaeku": "kkq", - "Kir-Balar": "kkr", - "Giiwo": "kks", - "Koi": "kkt", - "Kangean": "kkv", - "Teke-Kukuya": "kkw", - "Kohin": "kkx", - "Guugu Yimidhirr": "kky", - "Kaska": "kkz", - "Klamath-Modoc": "kla", - "Kiliwa": "klb", - "Kolbila": "klc", - "Gamilaraay": "kld", - "Kulung (Nepal)": "kle", - "Kendeje": "klf", - "Tagakaulo": "klg", - "Weliki": "klh", - "Kalumpang": "kli", - "Khalaj": "klj", - "Kono (Nigeria)": "klk", - "Kagan Kalagan": "kll", - "Migum": "klm", - "Kalenjin": "kln", - "Kapya": "klo", - "Kamasa": "klp", - "Rumu": "klq", - "Khaling": "klr", - "Kalasha": "kls", - "Nukna": "klt", - "Klao": "klu", - "Maskelynes": "klv", - "Tado": "klw", - "Koluwawa": "klx", - "Kalao": "kly", - "Kabola": "klz", - "Konni": "kma", - "Kimbundu": "kmb", - "Southern Dong": "kmc", - "Majukayang Kalinga": "kmd", - "Bakole": "kme", - "Kare (Papua New Guinea)": "kmf", - "Kâte": "kmg", - "Kalam": "kmh", - "Kami (Nigeria)": "kmi", - "Kumarbhag Paharia": "kmj", - "Limos Kalinga": "kmk", - "Tanudan Kalinga": "kml", - "Kom (India)": "kmm", - "Awtuw": "kmn", - "Kwoma": "kmo", - "Gimme": "kmp", - "Kwama": "kmq", - "Northern Kurdish": "kmr", - "Kamasau": "kms", - "Kemtuik": "kmt", - "Kanite": "kmu", - "Karipúna Creole French": "kmv", - "Komo (Democratic Republic of Congo)": "kmw", - "Waboda": "kmx", - "Koma": "kmy", - "Khorasani Turkish": "kmz", - "Dera (Nigeria)": "kna", - "Lubuagan Kalinga": "knb", - "Central Kanuri": "knc", - "Konda": "knd", - "Kankanaey": "kne", - "Mankanya": "knf", - "Koongo": "kng", - "Kanufi": "kni", - "Western Kanjobal": "knj", - "Kuranko": "knk", - "Keninjal": "knl", - "Kanamarí": "knm", - "Konkani": "knn", - "Kono (Sierra Leone)": "kno", - "Kwanja": "knp", - "Kintaq": "knq", - "Kaningra": "knr", - "Kensiu": "kns", - "Panoan Katukína": "knt", - "Kono (Guinea)": "knu", - "Tabo": "knv", - "Kung-Ekoka": "knw", - "Salako": "knx", - "Kanyok": "kny", - "Kalamsé": "knz", - "Konomala": "koa", - "Kpati": "koc", - "Kodi": "kod", - "Kacipo-Bale Suri": "koe", - "Kubi": "kof", - "Kogi": "kog", - "Koyo": "koh", - "Komi-Permyak": "koi", - "Kol (Papua New Guinea)": "kol", - "Konzo": "koo", - "Waube": "kop", - "Kota (Gabon)": "koq", - "Korean": "kor", - "Kosraean": "kos", - "Lagwan": "kot", - "Koke": "kou", - "Kudu-Camo": "kov", - "Kugama": "kow", - "Koyukon": "koy", - "Korak": "koz", - "Kutto": "kpa", - "Mullu Kurumba": "kpb", - "Curripaco": "kpc", - "Koba": "kpd", - "Komba": "kpf", - "Kapingamarangi": "kpg", - "Kplang": "kph", - "Kofei": "kpi", - "Karajá": "kpj", - "Kpan": "kpk", - "Kpala": "kpl", - "Koho": "kpm", - "Kepkiriwát": "kpn", - "Ikposo": "kpo", - "Korupun-Sela": "kpq", - "Korafe-Yegha": "kpr", - "Tehit": "kps", - "Karata": "kpt", - "Kafoa": "kpu", - "Komi-Zyrian": "kpv", - "Kobon": "kpw", - "Mountain Koiali": "kpx", - "Koryak": "kpy", - "Kupsabiny": "kpz", - "Mum": "kqa", - "Kovai": "kqb", - "Doromu-Koki": "kqc", - "Koy Sanjaq Surat": "kqd", - "Kalagan": "kqe", - "Kakabai": "kqf", - "Khe": "kqg", - "Koitabu": "kqi", - "Koromira": "kqj", - "Kotafon Gbe": "kqk", - "Kyenele": "kql", - "Khisa": "kqm", - "Kaonde": "kqn", - "Eastern Krahn": "kqo", - "Kimré": "kqp", - "Krenak": "kqq", - "Kimaragang": "kqr", - "Northern Kissi": "kqs", - "Klias River Kadazan": "kqt", - "Seroa": "kqu", - "Okolod": "kqv", - "Kandas": "kqw", - "Mser": "kqx", - "Koorete": "kqy", - "Korana": "kqz", - "Kumhali": "kra", - "Karkin": "krb", - "Karachay-Balkar": "krc", - "Kairui-Midiki": "krd", - "Panará": "kre", - "Koro (Vanuatu)": "krf", - "Kurama": "krh", - "Krio": "kri", - "Kinaray-A": "krj", - "Kerek": "krk", - "Karelian": "krl", - "Sapo": "krn", - "Korop": "krp", - "Krung": "krr", - "Gbaya (Sudan)": "krs", - "Tumari Kanuri": "krt", - "Kurukh": "kru", - "Kavet": "krv", - "Western Krahn": "krw", - "Karon": "krx", - "Kryts": "kry", - "Sota Kanum": "krz", - "Shambala": "ksb", - "Southern Kalinga": "ksc", - "Kuanua": "ksd", - "Kuni": "kse", - "Bafia": "ksf", - "Kusaghe": "ksg", - "Kölsch": "ksh", - "Krisa": "ksi", - "Uare": "ksj", - "Kansa": "ksk", - "Kumalu": "ksl", - "Kumba": "ksm", - "Kasiguranin": "ksn", - "Kaba": "ksp", - "Kwaami": "ksq", - "Borong": "ksr", - "Southern Kisi": "kss", - "Winyé": "kst", - "Khamyang": "ksu", - "Kusu": "ksv", - "S'gaw Karen": "ksw", - "Kedang": "ksx", - "Kharia Thar": "ksy", - "Kodaku": "ksz", - "Katua": "kta", - "Kambaata": "ktb", - "Kholok": "ktc", - "Kukatha": "ktd", - "Nubri": "kte", - "Kwami": "ktf", - "Kalkutung": "ktg", - "Karanga": "kth", - "North Muyu": "kti", - "Plapo Krumen": "ktj", - "Kaniet": "ktk", - "Koroshi": "ktl", - "Kurti": "ktm", - "Karitiâna": "ktn", - "Kuot": "kto", - "Kaduo": "ktp", - "South Muyu": "kts", - "Ketum": "ktt", - "Kituba (Democratic Republic of Congo)": "ktu", - "Eastern Katu": "ktv", - "Kato": "ktw", - "Kaxararí": "ktx", - "Kango (Bas-Uélé District)": "kty", - "Juǀʼhoansi": "ktz", - "Kwanyama": "kua", - "Kutep": "kub", - "Kwinsu": "kuc", - "'Auhelawa": "kud", - "Kuman (Papua New Guinea)": "kue", - "Western Katu": "kuf", - "Kupa": "kug", - "Kushi": "kuh", - "Kuikúro-Kalapálo": "kui", - "Kuria": "kuj", - "Kepo'": "kuk", - "Kulere": "kul", - "Kumyk": "kum", - "Kunama": "kun", - "Kumukio": "kuo", - "Kunimaipa": "kup", - "Karipuna": "kuq", - "Kusaal": "kus", - "Kutenai": "kut", - "Upper Kuskokwim": "kuu", - "Kur": "kuv", - "Kpagua": "kuw", - "Kukatja": "kux", - "Kuuku-Ya'u": "kuy", - "Kunza": "kuz", - "Bagvalal": "kva", - "Kubu": "kvb", - "Kove": "kvc", - "Kui (Indonesia)": "kvd", - "Kalabakan": "kve", - "Kabalai": "kvf", - "Kuni-Boazi": "kvg", - "Komodo": "kvh", - "Kwang": "kvi", - "Psikye": "kvj", - "Kayaw": "kvl", - "Kendem": "kvm", - "Border Kuna": "kvn", - "Dobel": "kvo", - "Kompane": "kvp", - "Geba Karen": "kvq", - "Kerinci": "kvr", - "Yinbaw Karen": "kvu", - "Kola": "kvv", - "Wersing": "kvw", - "Parkari Koli": "kvx", - "Yintale Karen": "kvy", - "Tsaukambo": "kvz", - "Dâw": "kwa", - "Kwa": "kwb", - "Likwala": "kwc", - "Kwaio": "kwd", - "Kwerba": "kwe", - "Kwara'ae": "kwf", - "Sara Kaba Deme": "kwg", - "Kowiai": "kwh", - "Awa-Cuaiquer": "kwi", - "Kwanga": "kwj", - "Kwakiutl": "kwk", - "Kofyar": "kwl", - "Kwambi": "kwm", - "Kwangali": "kwn", - "Kwomtari": "kwo", - "Kodia": "kwp", - "Kwer": "kwr", - "Kwese": "kws", - "Kwesten": "kwt", - "Kwakum": "kwu", - "Sara Kaba Náà": "kwv", - "Kwinti": "kww", - "Khirwar": "kwx", - "San Salvador Kongo": "kwy", - "Kwadi": "kwz", - "Kairiru": "kxa", - "Krobu": "kxb", - "Konso": "kxc", - "Brunei": "kxd", - "Manumanaw Karen": "kxf", - "Karo (Ethiopia)": "kxh", - "Keningau Murut": "kxi", - "Kulfa": "kxj", - "Zayein Karen": "kxk", - "Northern Khmer": "kxm", - "Kanowit-Tanjong Melanau": "kxn", - "Kanoé": "kxo", - "Wadiyara Koli": "kxp", - "Smärky Kanum": "kxq", - "Koro (Papua New Guinea)": "kxr", - "Kangjia": "kxs", - "Koiwat": "kxt", - "Kuvi": "kxv", - "Konai": "kxw", - "Likuba": "kxx", - "Kayong": "kxy", - "Kerewo": "kxz", - "Kwaya": "kya", - "Butbut Kalinga": "kyb", - "Kyaka": "kyc", - "Karey": "kyd", - "Krache": "kye", - "Kouya": "kyf", - "Keyagana": "kyg", - "Karok": "kyh", - "Kiput": "kyi", - "Karao": "kyj", - "Kamayo": "kyk", - "Kalapuya": "kyl", - "Northern Binukidnon": "kyn", - "Kelon": "kyo", - "Kenga": "kyq", - "Kuruáya": "kyr", - "Baram Kayan": "kys", - "Kayagar": "kyt", - "Western Kayah": "kyu", - "Kudmali": "kyw", - "Rapoisi": "kyx", - "Kambaira": "kyy", - "Kayabí": "kyz", - "Western Karaboro": "kza", - "Kaibobo": "kzb", - "Bondoukou Kulango": "kzc", - "Kadai": "kzd", - "Da'a Kaili": "kzf", - "Kikai": "kzg", - "Kelabit": "kzi", - "Kazukuru": "kzk", - "Kayeli": "kzl", - "Kais": "kzm", - "Kokola": "kzn", - "Kaningi": "kzo", - "Kaidipang": "kzp", - "Kaike": "kzq", - "Karang": "kzr", - "Sugut Dusun": "kzs", - "Kayupulau": "kzu", - "Komyandaret": "kzv", - "Kamarian": "kzx", - "Kango (Tshopo District)": "kzy", - "Kalabra": "kzz", - "Southern Subanen": "laa", - "Lacandon": "lac", - "Ladino": "lad", - "Pattani": "lae", - "Lafofa": "laf", - "Langi": "lag", - "Lambya": "lai", - "Lango (Uganda)": "laj", - "Laka (Nigeria)": "lak", - "Lalia": "lal", - "Lamba": "lam", - "Laru": "lan", - "Lao": "lao", - "Laka (Chad)": "lap", - "Qabiao": "laq", - "Larteh": "lar", - "Lama (Togo)": "las", - "Latin": "lat", - "Latvian Russian": "lav", - "Lauje": "law", - "Tiwa": "lax", - "Aribwatsa": "laz", - "Label": "lbb", - "Lakkia": "lbc", - "Lak": "lbe", - "Tinani": "lbf", - "Ladakhi": "lbj", - "Central Bontok": "lbk", - "Libon Bikol": "lbl", - "Lodhi": "lbm", - "Rmeet": "lbn", - "Laven": "lbo", - "Wampar": "lbq", - "Lohorung": "lbr", - "Lachi": "lbt", - "Labu": "lbu", - "Lavatbura-Lamusong": "lbv", - "Tolaki": "lbw", - "Lawangan": "lbx", - "Lamu-Lamu": "lby", - "Lardil": "lbz", - "Legenyem": "lcc", - "Lola": "lcd", - "Sekak": "lce", - "Lubu": "lcf", - "Luchazi": "lch", - "Lisela": "lcl", - "Tungag": "lcm", - "Western Lawa": "lcp", - "Luhu": "lcq", - "Lisabata-Nuniali": "lcs", - "Dũya": "ldb", - "Luri": "ldd", - "Lenyima": "ldg", - "Lamja-Dengsa-Tola": "ldh", - "Laari": "ldi", - "Lemoro": "ldj", - "Leelau": "ldk", - "Kaan": "ldl", - "Landoma": "ldm", - "Loo": "ldo", - "Tso": "ldp", - "Lufu": "ldq", - "Lega-Shabunda": "lea", - "Lala-Bisa": "leb", - "Leco": "lec", - "Lendu": "led", - "Lyélé": "lee", - "Lelemi": "lef", - "Lenje": "leh", - "Lemio": "lei", - "Lengola": "lej", - "Leipon": "lek", - "Lele (Democratic Republic of Congo)": "lel", - "Nomaande": "lem", - "Leti (Cameroon)": "leo", - "Lepcha": "lep", - "Lembena": "leq", - "Lenkau": "ler", - "Lese": "les", - "Lesing-Gelimi": "let", - "Kara (Papua New Guinea)": "leu", - "Lamma": "lev", - "Ledo Kaili": "lew", - "Luang": "lex", - "Lemolang": "ley", - "Lezghian": "lez", - "Lefa": "lfa", - "Lungga": "lga", - "Laghu": "lgb", - "Lugbara": "lgg", - "Laghuu": "lgh", - "Lengilu": "lgi", - "Neverver": "lgk", - "Wala": "lgl", - "Lega-Mwenga": "lgm", - "T'apo": "lgn", - "Logba": "lgq", - "Lengo": "lgr", - "Pahi": "lgt", - "Longgu": "lgu", - "Ligenza": "lgz", - "Laha (Viet Nam)": "lha", - "Laha (Indonesia)": "lhh", - "Lahu Shi": "lhi", - "Lahul Lohar": "lhl", - "Lhomi": "lhm", - "Lahanan": "lhn", - "Lhokpu": "lhp", - "Mlahsö": "lhs", - "Lo-Toga": "lht", - "Lahu": "lhu", - "West-Central Limba": "lia", - "Likum": "lib", - "Hlai": "lic", - "Nyindrou": "lid", - "Likila": "lie", - "Limbu": "lif", - "Ligbi": "lig", - "Lihir": "lih", - "Ligurian": "lij", - "Lika": "lik", - "Lillooet": "lil", - "Limburgish": "lim", - "Lingala": "lin", - "Liki": "lio", - "Sekpele": "lip", - "Libido": "liq", - "Lisu": "lis", - "Lithuanian": "lit", - "Logorik": "liu", - "Liv": "liv", - "Col": "liw", - "Liabuku": "lix", - "Banda-Bambari": "liy", - "Libinza": "liz", - "Golpa": "lja", - "Rampi": "lje", - "Laiyolo": "lji", - "Li'o": "ljl", - "Lampung Api": "ljp", - "Yirandali": "ljw", - "Yuru": "ljx", - "Lakalei": "lka", - "Lukabaras": "lkb", - "Kucong": "lkc", - "Lakondê": "lkd", - "Kenyi": "lke", - "Lakha": "lkh", - "Laki": "lki", - "Remun": "lkj", - "Laeko-Libuat": "lkl", - "Kalaamaya": "lkm", - "Vure": "lkn", - "Olukhayo": "lko", - "Päri": "lkr", - "Olushisa": "lks", - "Lakota": "lkt", - "Kungkari": "lku", - "Lokoya": "lky", - "Lala-Roba": "lla", - "Lolo": "llb", - "Lele (Guinea)": "llc", - "Ladin": "lld", - "Lele (Papua New Guinea)": "lle", - "Hermit": "llf", - "Lole": "llg", - "Lamu": "llh", - "Teke-Laali": "lli", - "Lelak": "llk", - "Lilau": "lll", - "Lasalimu": "llm", - "Lele (Chad)": "lln", - "North Efate": "llp", - "Lolak": "llq", - "Lau": "llu", - "Lauan": "llx", - "East Limba": "lma", - "Merei": "lmb", - "Limilngan": "lmc", - "Lumun": "lmd", - "Pévé": "lme", - "South Lembata": "lmf", - "Lamogai": "lmg", - "Lombi": "lmi", - "West Lembata": "lmj", - "Lamkang": "lmk", - "Hano": "lml", - "Lambadi": "lmn", - "Lombard": "lmo", - "Limbum": "lmp", - "Lamatuka": "lmq", - "Lamalera": "lmr", - "Lamenu": "lmu", - "Lomaiviti": "lmv", - "Lake Miwok": "lmw", - "Laimbue": "lmx", - "Lamboya": "lmy", - "Langbashe": "lna", - "Mbalanhu": "lnb", - "Lundayeh": "lnd", - "Lanoh": "lnh", - "Daantanai'": "lni", - "Leningitij": "lnj", - "South Central Banda": "lnl", - "Langam": "lnm", - "Lorediakarkar": "lnn", - "Lango (South Sudan)": "lno", - "Lamnso'": "lns", - "Longuda": "lnu", - "Lonzo": "lnz", - "Loloda": "loa", - "Lobi": "lob", - "Inonhan": "loc", - "Saluan": "loe", - "Logol": "lof", - "Logo": "log", - "Narim": "loh", - "Loma (Côte d'Ivoire)": "loi", - "Lou": "loj", - "Loko": "lok", - "Mongo": "lol", - "Loma (Liberia)": "lom", - "Malawi Lomwe": "lon", - "Lombo": "loo", - "Lopa": "lop", - "Lobala": "loq", - "Téén": "lor", - "Loniu": "los", - "Otuho": "lot", - "Louisiana Creole": "lou", - "Tampias Lobu": "low", - "Loun": "lox", - "Loke": "loy", - "Lozi": "loz", - "Lelepa": "lpa", - "Lepki": "lpe", - "Long Phuri Naga": "lpn", - "Lipo": "lpo", - "Lopit": "lpx", - "Rara Bakati'": "lra", - "Northern Luri": "lrc", - "Laurentian": "lre", - "Laragia": "lrg", - "Olumarachi": "lri", - "Lari": "lrl", - "Olumarama": "lrm", - "Lorang": "lrn", - "Laro": "lro", - "Southern Yamphu": "lrr", - "Larantuka Malay": "lrt", - "Larevat": "lrv", - "Lemerig": "lrz", - "Lasgerdi": "lsa", - "Lishana Deni": "lsd", - "Lusengo": "lse", - "Lish": "lsh", - "Lashi": "lsi", - "Saamia": "lsm", - "Aruop": "lsr", - "Lasi": "lss", - "Late Middle Chinese": "ltc", - "Thur": "lth", - "Leti (Indonesia)": "lti", - "Latundê": "ltn", - "Tsotso": "lto", - "Tachoni": "lts", - "Latu": "ltu", - "Luxembourgish": "ltz", - "Luba-Lulua": "lua", - "Luba-Katanga": "lub", - "Aringa": "luc", - "Ludian": "lud", - "Luvale": "lue", - "Laua": "luf", - "Ganda": "lug", - "Luiseno": "lui", - "Luna": "luj", - "Lunanakha": "luk", - "Olu'bo": "lul", - "Luimbi": "lum", - "Lunda": "lun", - "Luo (Kenya and Tanzania)": "luo", - "Lumbu": "lup", - "Lucumi": "luq", - "Laura": "lur", - "Lushai": "lus", - "Lushootseed": "lut", - "Luwati": "luv", - "Luo (Cameroon)": "luw", - "Southern Luri": "luz", - "Maku'a": "lva", - "Lavi": "lvi", - "Lavukaleve": "lvk", - "Latvian": "lvs", - "Levuka": "lvu", - "Lwalu": "lwa", - "Lewo Eleng": "lwe", - "Wanga": "lwg", - "White Lachi": "lwh", - "Eastern Lawa": "lwl", - "Laomian": "lwm", - "Luwo": "lwo", - "Lewotobi": "lwt", - "Lawu": "lwu", - "Lewo": "lww", - "Lakurumau": "lxm", - "Layakha": "lya", - "Lyngngam": "lyg", - "Luyana": "lyn", - "Literary Chinese": "lzh", - "Litzlitz": "lzl", - "Leinong Naga": "lzn", - "Laz": "lzz", - "San Jerónimo Tecóatl Mazatec": "maa", - "Yutanduchi Mixtec": "mab", - "Madurese": "mad", - "Bo-Rukul": "mae", - "Mafa": "maf", - "Magahi": "mag", - "Marshallese": "mah", - "Maithili": "mai", - "Jalapa De Díaz Mazatec": "maj", - "Makasar": "mak", - "Malayalam": "mal", - "Mam": "mam", - "Chiquihuitlán Mazatec": "maq", - "Marathi": "mar", - "Masai": "mas", - "San Francisco Matlatzinca": "mat", - "Huautla Mazatec": "mau", - "Sateré-Mawé": "mav", - "Mampruli": "maw", - "North Moluccan Malay": "max", - "Central Mazahua": "maz", - "Higaonon": "mba", - "Western Bukidnon Manobo": "mbb", - "Macushi": "mbc", - "Dibabawon Manobo": "mbd", - "Molale": "mbe", - "Baba Malay": "mbf", - "Mangseng": "mbh", - "Ilianen Manobo": "mbi", - "Nadëb": "mbj", - "Malol": "mbk", - "Maxakalí": "mbl", - "Ombamba": "mbm", - "Macaguán": "mbn", - "Mbo (Cameroon)": "mbo", - "Malayo": "mbp", - "Maisin": "mbq", - "Nukak Makú": "mbr", - "Sarangani Manobo": "mbs", - "Matigsalug Manobo": "mbt", - "Mbula-Bwazza": "mbu", - "Mbulungish": "mbv", - "Maring": "mbw", - "Mari (East Sepik Province)": "mbx", - "Memoni": "mby", - "Amoltepec Mixtec": "mbz", - "Maca": "mca", - "Machiguenga": "mcb", - "Bitur": "mcc", - "Sharanahua": "mcd", - "Itundujia Mixtec": "mce", - "Matsés": "mcf", - "Mapoyo": "mcg", - "Maquiritari": "mch", - "Mese": "mci", - "Mvanip": "mcj", - "Mbunda": "mck", - "Macaguaje": "mcl", - "Malaccan Creole Portuguese": "mcm", - "Masana": "mcn", - "Coatlán Mixe": "mco", - "Makaa": "mcp", - "Ese": "mcq", - "Menya": "mcr", - "Mambai": "mcs", - "Mengisa": "mct", - "Cameroon Mambila": "mcu", - "Minanibai": "mcv", - "Mawa (Chad)": "mcw", - "Mpiemo": "mcx", - "South Watut": "mcy", - "Mawan": "mcz", - "Mada (Nigeria)": "mda", - "Morigi": "mdb", - "Male (Papua New Guinea)": "mdc", - "Mbum": "mdd", - "Maba (Chad)": "mde", - "Moksha": "mdf", - "Massalat": "mdg", - "Maguindanaon": "mdh", - "Mamvu": "mdi", - "Mangbetu": "mdj", - "Mangbutu": "mdk", - "Mayogo": "mdm", - "Mbati": "mdn", - "Mbala": "mdp", - "Mbole": "mdq", - "Mandar": "mdr", - "Maria (Papua New Guinea)": "mds", - "Mbere": "mdt", - "Mboko": "mdu", - "Santa Lucía Monteverde Mixtec": "mdv", - "Mbosi": "mdw", - "Dizin": "mdx", - "Male (Ethiopia)": "mdy", - "Suruí Do Pará": "mdz", - "Menka": "mea", - "Ikobi": "meb", - "Marra": "mec", - "Melpa": "med", - "Mengen": "mee", - "Megam": "mef", - "Southwestern Tlaxiaco Mixtec": "meh", - "Midob": "mei", - "Meyah": "mej", - "Mekeo": "mek", - "Central Melanau": "mel", - "Mangala": "mem", - "Mende (Sierra Leone)": "men", - "Kedah Malay": "meo", - "Miriwoong": "mep", - "Merey": "meq", - "Meru": "mer", - "Masmaje": "mes", - "Mato": "met", - "Motu": "meu", - "Mano": "mev", - "Maaka": "mew", - "Hassaniyya": "mey", - "Menominee": "mez", - "Pattani Malay": "mfa", - "Bangka": "mfb", - "Mba": "mfc", - "Mendankwe-Nkwen": "mfd", - "Morisyen": "mfe", - "Naki": "mff", - "Mogofin": "mfg", - "Matal": "mfh", - "Wandala": "mfi", - "Mefele": "mfj", - "North Mofu": "mfk", - "Putai": "mfl", - "Marghi South": "mfm", - "Cross River Mbembe": "mfn", - "Mbe": "mfo", - "Makassar Malay": "mfp", - "Moba": "mfq", - "Marrithiyel": "mfr", - "Mokerang": "mft", - "Mbwela": "mfu", - "Mandjak": "mfv", - "Mulaha": "mfw", - "Melo": "mfx", - "Mayo": "mfy", - "Mabaan": "mfz", - "Mararit": "mgb", - "Morokodo": "mgc", - "Moru": "mgd", - "Mango": "mge", - "Maklew": "mgf", - "Mpumpong": "mgg", - "Makhuwa-Meetto": "mgh", - "Lijili": "mgi", - "Abureni": "mgj", - "Mawes": "mgk", - "Maleu-Kilenge": "mgl", - "Mambae": "mgm", - "Mbangi": "mgn", - "Meta'": "mgo", - "Eastern Magar": "mgp", - "Malila": "mgq", - "Mambwe-Lungu": "mgr", - "Manda (Tanzania)": "mgs", - "Mongol": "mgt", - "Mailu": "mgu", - "Matengo": "mgv", - "Matumbi": "mgw", - "Mbunga": "mgy", - "Mbugwe": "mgz", - "Manda (India)": "mha", - "Mahongwe": "mhb", - "Mocho": "mhc", - "Mbugu": "mhd", - "Mah Meri": "mhe", - "Mamaa": "mhf", - "Margu": "mhg", - "Ma'di": "mhi", - "Mogholi": "mhj", - "Mungaka": "mhk", - "Mauwake": "mhl", - "Makhuwa-Moniga": "mhm", - "Mócheno": "mhn", - "Mashi (Zambia)": "mho", - "Balinese Malay": "mhp", - "Mandan": "mhq", - "Eastern Mari": "mhr", - "Buru (Indonesia)": "mhs", - "Mandahuaca": "mht", - "Digaro-Mishmi": "mhu", - "Mbukushu": "mhw", - "Maru": "mhx", - "Ma'anyan": "mhy", - "Mor (Mor Islands)": "mhz", - "Miami": "mia", - "Atatláhuca Mixtec": "mib", - "Mi'kmaq": "mic", - "Mandaic": "mid", - "Ocotepec Mixtec": "mie", - "Mofu-Gudur": "mif", - "San Miguel El Grande Mixtec": "mig", - "Chayuco Mixtec": "mih", - "Chigmecatitlán Mixtec": "mii", - "Mungbam": "mij", - "Mikasuki": "mik", - "Peñoles Mixtec": "mil", - "Alacatlatzala Mixtec": "mim", - "Minangkabau": "min", - "Pinotepa Nacional Mixtec": "mio", - "Apasco-Apoala Mixtec": "mip", - "Mískito": "miq", - "Isthmus Mixe": "mir", - "Southern Puebla Mixtec": "mit", - "Cacaloxtepec Mixtec": "miu", - "Akoye": "miw", - "Mixtepec Mixtec": "mix", - "Ayutla Mixtec": "miy", - "Coatzospan Mixtec": "miz", - "San Juan Colorado Mixtec": "mjc", - "Northwest Maidu": "mjd", - "Muskum": "mje", - "Tu": "mjg", - "Mwera (Nyasa)": "mjh", - "Kim Mun": "mji", - "Mawak": "mjj", - "Matukar": "mjk", - "Mandeali": "mjl", - "Medebur": "mjm", - "Ma (Papua New Guinea)": "mjn", - "Malankuravan": "mjo", - "Malapandaram": "mjp", - "Malaryan": "mjq", - "Malavedan": "mjr", - "Miship": "mjs", - "Sauria Paharia": "mjt", - "Manna-Dora": "mju", - "Mannan": "mjv", - "Karbi": "mjw", - "Mahali": "mjx", - "Mahican": "mjy", - "Majhi": "mjz", - "Mbre": "mka", - "Mal Paharia": "mkb", - "Siliput": "mkc", - "Macedonian": "mkd", - "Mawchi": "mke", - "Miya": "mkf", - "Mak (China)": "mkg", - "Dhatki": "mki", - "Mokilese": "mkj", - "Byep": "mkk", - "Mokole": "mkl", - "Moklen": "mkm", - "Kupang Malay": "mkn", - "Mingang Doso": "mko", - "Moikodi": "mkp", - "Bay Miwok": "mkq", - "Malas": "mkr", - "Silacayoapan Mixtec": "mks", - "Vamale": "mkt", - "Konyanka Maninka": "mku", - "Mafea": "mkv", - "Kituba (Congo)": "mkw", - "Kinamiging Manobo": "mkx", - "East Makian": "mky", - "Makasae": "mkz", - "Malo": "mla", - "Mbule": "mlb", - "Cao Lan": "mlc", - "Manambu": "mle", - "Mal": "mlf", - "Mape": "mlh", - "Malimpung": "mli", - "Miltu": "mlj", - "Kiwilwana": "mlk", - "Malua Bay": "mll", - "Mulam": "mlm", - "Malango": "mln", - "Mlomp": "mlo", - "Bargam": "mlp", - "Western Maninkakan": "mlq", - "Vame": "mlr", - "Masalit": "mls", - "Maltese": "mlt", - "To'abaita": "mlu", - "Mwotlap": "mlv", - "Moloko": "mlw", - "Naha'ai": "mlx", - "Malaynon": "mlz", - "Mama": "mma", - "Momina": "mmb", - "Michoacán Mazahua": "mmc", - "Maonan": "mmd", - "Mae": "mme", - "Mundat": "mmf", - "North Ambrym": "mmg", - "Mehináku": "mmh", - "Musar": "mmi", - "Majhwar": "mmj", - "Mukha-Dora": "mmk", - "Man Met": "mml", - "Maii": "mmm", - "Mamanwa": "mmn", - "Mangga Buang": "mmo", - "Siawi": "mmp", - "Musak": "mmq", - "Western Xiangxi Miao": "mmr", - "Malalamai": "mmt", - "Mmaala": "mmu", - "Miriti": "mmv", - "Emae": "mmw", - "Madak": "mmx", - "Migaama": "mmy", - "Mabaale": "mmz", - "Mbula": "mna", - "Muna": "mnb", - "Manchu": "mnc", - "Mondé": "mnd", - "Naba": "mne", - "Mundani": "mnf", - "Eastern Mnong": "mng", - "Mono (Democratic Republic of Congo)": "mnh", - "Manipuri": "mni", - "Munji": "mnj", - "Mandinka": "mnk", - "Tiale": "mnl", - "Mapena": "mnm", - "Southern Mnong": "mnn", - "Min Bei Chinese": "mnp", - "Minriq": "mnq", - "Mono (USA)": "mnr", - "Mansi": "mns", - "Mer": "mnu", - "Rennell-Bellona": "mnv", - "Mon": "mnw", - "Manikion": "mnx", - "Manyawa": "mny", - "Moni": "mnz", - "Mwan": "moa", - "Mocoví": "moc", - "Montagnais": "moe", - "Mongondow": "mog", - "Mohawk": "moh", - "Mboi": "moi", - "Monzombo": "moj", - "Morori": "mok", - "Mangue": "mom", - "Monom": "moo", - "Mopán Maya": "mop", - "Mor (Bomberai Peninsula)": "moq", - "Moro": "mor", - "Mossi": "mos", - "Barí": "mot", - "Mogum": "mou", - "Mohave": "mov", - "Moi (Congo)": "mow", - "Molima": "mox", - "Shekkacho": "moy", - "Mukulu": "moz", - "Mpoto": "mpa", - "Mullukmulluk": "mpb", - "Mangarrayi": "mpc", - "Machinere": "mpd", - "Majang": "mpe", - "Marba": "mpg", - "Maung": "mph", - "Mpade": "mpi", - "Wangkajunga": "mpj", - "Mbara (Chad)": "mpk", - "Middle Watut": "mpl", - "Yosondúa Mixtec": "mpm", - "Mindiri": "mpn", - "Miu": "mpo", - "Migabac": "mpp", - "Matís": "mpq", - "Vangunu": "mpr", - "Dadibi": "mps", - "Mian": "mpt", - "Makuráp": "mpu", - "Mungkip": "mpv", - "Mapidian": "mpw", - "Misima-Panaeati": "mpx", - "Mapia": "mpy", - "Mpi": "mpz", - "Maba (Indonesia)": "mqa", - "Mbuko": "mqb", - "Mangole": "mqc", - "Matepi": "mqe", - "Momuna": "mqf", - "Kota Bangun Kutai Malay": "mqg", - "Tlazoyaltepec Mixtec": "mqh", - "Mariri": "mqi", - "Mamasa": "mqj", - "Rajah Kabunsuwan Manobo": "mqk", - "Mbelime": "mql", - "South Marquesan": "mqm", - "Moronene": "mqn", - "Modole": "mqo", - "Manipa": "mqp", - "Minokok": "mqq", - "Mander": "mqr", - "West Makian": "mqs", - "Mok": "mqt", - "Mandari": "mqu", - "Mosimo": "mqv", - "Murupi": "mqw", - "Mamuju": "mqx", - "Manggarai": "mqy", - "Pano": "mqz", - "Mlabri": "mra", - "Marino": "mrb", - "Maricopa": "mrc", - "Western Magar": "mrd", - "Elseng": "mrf", - "Mising": "mrg", - "Mara Chin": "mrh", - "Māori": "mri", - "Western Mari": "mrj", - "Hmwaveke": "mrk", - "Mortlockese": "mrl", - "Mwerlap": "mrm", - "Cheke Holo": "mrn", - "Mru": "mro", - "Morouas": "mrp", - "North Marquesan": "mrq", - "Maria (India)": "mrr", - "Maragus": "mrs", - "Marghi Central": "mrt", - "Mono (Cameroon)": "mru", - "Mangareva": "mrv", - "Maranao": "mrw", - "Maremgi": "mrx", - "Mandaya": "mry", - "Marind": "mrz", - "Masbatenyo": "msb", - "Sankaran Maninka": "msc", - "Musey": "mse", - "Mekwei": "msf", - "Moraid": "msg", - "Masikoro Malagasy": "msh", - "Sabah Malay": "msi", - "Ma (Democratic Republic of Congo)": "msj", - "Mansaka": "msk", - "Poule": "msl", - "Agusan Manobo": "msm", - "Vurës": "msn", - "Mombum": "mso", - "Maritsauá": "msp", - "Caac": "msq", - "West Masela": "mss", - "Musom": "msu", - "Maslam": "msv", - "Mansoanka": "msw", - "Moresada": "msx", - "Aruamu": "msy", - "Momare": "msz", - "Cotabato Manobo": "mta", - "Anyin Morofo": "mtb", - "Munit": "mtc", - "Mualang": "mtd", - "Mono (Solomon Islands)": "mte", - "Murik (Papua New Guinea)": "mtf", - "Una": "mtg", - "Munggui": "mth", - "Maiwa (Papua New Guinea)": "mti", - "Moskona": "mtj", - "Mbe'": "mtk", - "Montol": "mtl", - "Mator": "mtm", - "Matagalpa": "mtn", - "Totontepec Mixe": "mto", - "Wichí Lhamtés Nocten": "mtp", - "Muong": "mtq", - "Mewari": "mtr", - "Yora": "mts", - "Mota": "mtt", - "Tututepec Mixtec": "mtu", - "Asaro'o": "mtv", - "Southern Binukidnon": "mtw", - "Tidaá Mixtec": "mtx", - "Nabi": "mty", - "Mundang": "mua", - "Mubi": "mub", - "Ajumbu": "muc", - "Mednyj Aleut": "mud", - "Musgu": "mug", - "Mündü": "muh", - "Musi": "mui", - "Mabire": "muj", - "Mugom": "muk", - "Maiwala": "mum", - "Nyong": "muo", - "Malvi": "mup", - "Eastern Xiangxi Miao": "muq", - "Murle": "mur", - "Creek": "mus", - "Western Muria": "mut", - "Yaaku": "muu", - "Muthuvan": "muv", - "Bo-Ung": "mux", - "Muyang": "muy", - "Mursi": "muz", - "Manam": "mva", - "Mattole": "mvb", - "Mamboru": "mvd", - "Marwari (Pakistan)": "mve", - "Peripheral Mongolian": "mvf", - "Yucuañe Mixtec": "mvg", - "Mulgi": "mvh", - "Miyako": "mvi", - "Mekmek": "mvk", - "Mbara (Australia)": "mvl", - "Minaveha": "mvn", - "Marovo": "mvo", - "Duri": "mvp", - "Moere": "mvq", - "Marau": "mvr", - "Massep": "mvs", - "Mpotovoro": "mvt", - "Marfa": "mvu", - "Tagal Murut": "mvv", - "Machinga": "mvw", - "Meoswar": "mvx", - "Indus Kohistani": "mvy", - "Mesqan": "mvz", - "Mwatebu": "mwa", - "Juwal": "mwb", - "Are": "mwc", - "Mwera (Chimwera)": "mwe", - "Murrinh-Patha": "mwf", - "Aiklep": "mwg", - "Mouk-Aria": "mwh", - "Ninde": "mwi", - "Kita Maninkakan": "mwk", - "Mirandese": "mwl", - "Sar": "mwm", - "Nyamwanga": "mwn", - "Central Maewo": "mwo", - "Kala Lagaw Ya": "mwp", - "Mün Chin": "mwq", - "Mwimbi-Muthambi": "mws", - "Moken": "mwt", - "Mittu": "mwu", - "Mentawai": "mwv", - "Hmong Daw": "mww", - "Moingi": "mwz", - "Northwest Oaxaca Mixtec": "mxa", - "Tezoatlán Mixtec": "mxb", - "Manyika": "mxc", - "Modang": "mxd", - "Mele-Fila": "mxe", - "Malgbe": "mxf", - "Mbangala": "mxg", - "Mvuba": "mxh", - "Mozarabic": "mxi", - "Miju-Mishmi": "mxj", - "Monumbo": "mxk", - "Maxi Gbe": "mxl", - "Meramera": "mxm", - "Moi (Indonesia)": "mxn", - "Mbowe": "mxo", - "Tlahuitoltepec Mixe": "mxp", - "Juquila Mixe": "mxq", - "Murik (Malaysia)": "mxr", - "Huitepec Mixtec": "mxs", - "Jamiltepec Mixtec": "mxt", - "Mada (Cameroon)": "mxu", - "Metlatónoc Mixtec": "mxv", - "Namo": "mxw", - "Mawukakan": "mxx", - "Southeastern Nochixtlán Mixtec": "mxy", - "Central Masela": "mxz", - "Burmese": "mya", - "Mbay": "myb", - "Mayeka": "myc", - "Myene": "mye", - "Bambassi": "myf", - "Manta": "myg", - "Makah": "myh", - "Mangayat": "myj", - "Mamara Senoufo": "myk", - "Moma": "myl", - "Me'en": "mym", - "Anfillo": "myo", - "Pirahã": "myp", - "Muniche": "myr", - "Mesmes": "mys", - "Mundurukú": "myu", - "Erzya": "myv", - "Muyuw": "myw", - "Masaaba": "myx", - "Macuna": "myy", - "Classical Mandaic": "myz", - "Santa María Zacatepec Mixtec": "mza", - "Tumzabt": "mzb", - "Malimba": "mzd", - "Morawa": "mze", - "Wichí Lhamtés Güisnay": "mzh", - "Ixcatlán Mazatec": "mzi", - "Manya": "mzj", - "Nigeria Mambila": "mzk", - "Mazatlán Mixe": "mzl", - "Mumuye": "mzm", - "Mazanderani": "mzn", - "Matipuhy": "mzo", - "Movima": "mzp", - "Mori Atas": "mzq", - "Marúbo": "mzr", - "Macanese": "mzs", - "Mintil": "mzt", - "Inapang": "mzu", - "Manza": "mzv", - "Deg": "mzw", - "Maiadomu": "mzz", - "Namla": "naa", - "Southern Nambikuára": "nab", - "Narak": "nac", - "Naka'ela": "nae", - "Nabak": "naf", - "Naga Pidgin": "nag", - "Nalu": "naj", - "Nakanai": "nak", - "Nalik": "nal", - "Ngan'gityemerri": "nam", - "Min Nan Chinese": "nan", - "Naaba": "nao", - "Neapolitan": "nap", - "Nama (Namibia)": "naq", - "Iguta": "nar", - "Naasioi": "nas", - "Hungworo": "nat", - "Nauru": "nau", - "Navajo": "nav", - "Nawuri": "naw", - "Nakwi": "nax", - "Ngarrindjeri": "nay", - "Coatepec Nahuatl": "naz", - "Nyemba": "nba", - "Ndoe": "nbb", - "Chang Naga": "nbc", - "Ngbinda": "nbd", - "Konyak Naga": "nbe", - "Ngamo": "nbh", - "Mao Naga": "nbi", - "Ngarinyman": "nbj", - "Nake": "nbk", - "Ngbaka Ma'bo": "nbm", - "Kuri": "nbn", - "Nkukoli": "nbo", - "Nnam": "nbp", - "Nggem": "nbq", - "Numana": "nbr", - "Na": "nbt", - "Rongmei Naga": "nbu", - "Ngamambo": "nbv", - "Southern Ngbandi": "nbw", - "Ningera": "nby", - "Iyo": "nca", - "Central Nicobarese": "ncb", - "Ponam": "ncc", - "Nachering": "ncd", - "Yale": "nce", - "Notsi": "ncf", - "Nisga'a": "ncg", - "Central Huasteca Nahuatl": "nch", - "Nahuatl": "nci", - "Northern Puebla Nahuatl": "ncj", - "Na-kara": "nck", - "Michoacán Nahuatl": "ncl", - "Nambo": "ncm", - "Nauna": "ncn", - "Sibe": "nco", - "Northern Katang": "ncq", - "Ncane": "ncr", - "Chothe Naga": "nct", - "Chumburung": "ncu", - "Central Puebla Nahuatl": "ncx", - "Natchez": "ncz", - "Ndasa": "nda", - "Kenswei Nsei": "ndb", - "Ndau": "ndc", - "Nde-Nsele-Nta": "ndd", - "North Ndebele": "nde", - "Ndengereko": "ndg", - "Ndali": "ndh", - "Samba Leko": "ndi", - "Ndamba": "ndj", - "Ndaka": "ndk", - "Ndolo": "ndl", - "Ndam": "ndm", - "Ngundi": "ndn", - "Ndonga": "ndo", - "Ndo": "ndp", - "Ndombe": "ndq", - "Ndoola": "ndr", - "Low Saxon": "nds", - "Ndunga": "ndt", - "Dugun": "ndu", - "Ndut": "ndv", - "Ndobo": "ndw", - "Nduga": "ndx", - "Lutos": "ndy", - "Ndogo": "ndz", - "Eastern Ngad'a": "nea", - "Toura (Côte d'Ivoire)": "neb", - "Nedebang": "nec", - "Nêlêmwa-Nixumwak": "nee", - "Negidal": "neg", - "Nyenkha": "neh", - "Neko": "nej", - "Neku": "nek", - "Nemi": "nem", - "Nengone": "nen", - "Nepali (macrolanguage)": "nep", - "North Central Mixe": "neq", - "Yahadian": "ner", - "Bhoti Kinnauri": "nes", - "Nete": "net", - "Nyaheun": "nev", - "Newari": "new", - "Neme": "nex", - "Neyo": "ney", - "Nez Perce": "nez", - "Dhao": "nfa", - "Ahwai": "nfd", - "Ayiwo": "nfl", - "Nafaanra": "nfr", - "Mfumte": "nfu", - "Ngbaka": "nga", - "Northern Ngbandi": "ngb", - "Ngombe (Democratic Republic of Congo)": "ngc", - "Ngando (Central African Republic)": "ngd", - "Ngemba": "nge", - "Ngbaka Manza": "ngg", - "Nǁng": "ngh", - "Ngizim": "ngi", - "Ngie": "ngj", - "Dalabon": "ngk", - "Lomwe": "ngl", - "Ngwo": "ngn", - "Ngulu": "ngp", - "Ngurimi": "ngq", - "Engdewu": "ngr", - "Gvoko": "ngs", - "Ngeq": "ngt", - "Guerrero Nahuatl": "ngu", - "Nagumi": "ngv", - "Ngwaba": "ngw", - "Nggwahyi": "ngx", - "Tibea": "ngy", - "Ngungwel": "ngz", - "Nhanda": "nha", - "Beng": "nhb", - "Tabasco Nahuatl": "nhc", - "Chiripá": "nhd", - "Eastern Huasteca Nahuatl": "nhe", - "Nhuwala": "nhf", - "Tetelcingo Nahuatl": "nhg", - "Nahari": "nhh", - "Zacatlán-Ahuacatlán-Tepetzintla Nahuatl": "nhi", - "Isthmus-Cosoleacaque Nahuatl": "nhk", - "Morelos Nahuatl": "nhm", - "Central Nahuatl": "nhn", - "Takuu": "nho", - "Isthmus-Pajapan Nahuatl": "nhp", - "Huaxcaleca Nahuatl": "nhq", - "Naro": "nhr", - "Ometepec Nahuatl": "nht", - "Noone": "nhu", - "Temascaltepec Nahuatl": "nhv", - "Western Huasteca Nahuatl": "nhw", - "Isthmus-Mecayapan Nahuatl": "nhx", - "Northern Oaxaca Nahuatl": "nhy", - "Santa María La Alta Nahuatl": "nhz", - "Nias": "nia", - "Nakame": "nib", - "Ngandi": "nid", - "Niellim": "nie", - "Nek": "nif", - "Ngalakgan": "nig", - "Nyiha (Tanzania)": "nih", - "Nii": "nii", - "Ngaju": "nij", - "Southern Nicobarese": "nik", - "Nila": "nil", - "Nilamba": "nim", - "Ninzo": "nin", - "Nganasan": "nio", - "Nandi": "niq", - "Nimboran": "nir", - "Nimi": "nis", - "Southeastern Kolami": "nit", - "Niuean": "niu", - "Gilyak": "niv", - "Nimo": "niw", - "Hema": "nix", - "Ngiti": "niy", - "Ningil": "niz", - "Nzanyi": "nja", - "Nocte Naga": "njb", - "Lotha Naga": "njh", - "Gudanji": "nji", - "Njen": "njj", - "Njalgulgule": "njl", - "Angami Naga": "njm", - "Liangmai Naga": "njn", - "Ao Naga": "njo", - "Njerep": "njr", - "Nisa": "njs", - "Ngadjunmaya": "nju", - "Kunyi": "njx", - "Njyem": "njy", - "Nyishi": "njz", - "Nkoya": "nka", - "Khoibu Naga": "nkb", - "Nkongho": "nkc", - "Koireng": "nkd", - "Duke": "nke", - "Nekgini": "nkg", - "Khezha Naga": "nkh", - "Thangal Naga": "nki", - "Nakai": "nkj", - "Nokuku": "nkk", - "Namat": "nkm", - "Nkangala": "nkn", - "Nkonya": "nko", - "Niuatoputapu": "nkp", - "Nkami": "nkq", - "Nukuoro": "nkr", - "North Asmat": "nks", - "Nyika (Tanzania)": "nkt", - "Bouna Kulango": "nku", - "Nyika (Malawi and Zambia)": "nkv", - "Nkutu": "nkw", - "Nkoroo": "nkx", - "Nkari": "nkz", - "Ngombale": "nla", - "Nalca": "nlc", - "Dutch": "nld", - "East Nyala": "nle", - "Gela": "nlg", - "Grangali": "nli", - "Nyali": "nlj", - "Ninia Yali": "nlk", - "Nihali": "nll", - "Mankiyali": "nlm", - "Ngul": "nlo", - "Nchumbulu": "nlu", - "Orizaba Nahuatl": "nlv", - "Nahali": "nlx", - "Nyamal": "nly", - "Nalögo": "nlz", - "Maram Naga": "nma", - "V'ënen Taut": "nmb", - "Ngam": "nmc", - "Ndumu": "nmd", - "Mzieme Naga": "nme", - "Tangkhul Naga (India)": "nmf", - "Kwasio": "nmg", - "Monsang Naga": "nmh", - "Nyam": "nmi", - "Namakura": "nmk", - "Ndemli": "nml", - "Manangba": "nmm", - "ǃXóõ": "nmn", - "Moyon Naga": "nmo", - "Nimanbur": "nmp", - "Nambya": "nmq", - "Nimbari": "nmr", - "Letemboi": "nms", - "Namonuito": "nmt", - "Northeast Maidu": "nmu", - "Ngamini": "nmv", - "Rifao": "nmw", - "Nama (Papua New Guinea)": "nmx", - "Namuyi": "nmy", - "Nawdm": "nmz", - "Nyangumarta": "nna", - "Nande": "nnb", - "Nancere": "nnc", - "West Ambae": "nnd", - "Ngandyera": "nne", - "Ngaing": "nnf", - "Maring Naga": "nng", - "Ngiemboon": "nnh", - "North Nuaulu": "nni", - "Nyangatom": "nnj", - "Nankina": "nnk", - "Northern Rengma Naga": "nnl", - "Namia": "nnm", - "Ngete": "nnn", - "Wancho Naga": "nnp", - "Ngindo": "nnq", - "Narungga": "nnr", - "Nanticoke": "nnt", - "Dwang": "nnu", - "Nugunu (Australia)": "nnv", - "Southern Nuni": "nnw", - "Nyangga": "nny", - "Nda'nda'": "nnz", - "Woun Meu": "noa", - "Norwegian Bokmål": "nob", - "Nuk": "noc", - "Northern Thai": "nod", - "Nimadi": "noe", - "Nomane": "nof", - "Nogai": "nog", - "Nomu": "noh", - "Noiri": "noi", - "Nonuya": "noj", - "Nooksack": "nok", - "Old Norse": "non", - "Numanggang": "nop", - "Ngongo": "noq", - "Norwegian": "nor", - "Eastern Nisu": "nos", - "Nomatsiguenga": "not", - "Ewage-Notu": "nou", - "Nyambo": "now", - "Noy": "noy", - "Nayi": "noz", - "Nar Phu": "npa", - "Phom Naga": "nph", - "Nepali": "npi", - "Southeastern Puebla Nahuatl": "npl", - "Mondropolon": "npn", - "Pochuri Naga": "npo", - "Nipsan": "nps", - "Napu": "npy", - "Southern Nago": "nqg", - "Kura Ede Nago": "nqk", - "Ngendelengo": "nql", - "Ndom": "nqm", - "Nen": "nqn", - "Nteng": "nqt", - "Ngom": "nra", - "Nara": "nrb", - "Noric": "nrc", - "Southern Rengma Naga": "nre", - "Jèrriais": "nrf", - "Narango": "nrg", - "Chokri Naga": "nri", - "Ngarla": "nrk", - "Ngarluma": "nrl", - "Narom": "nrm", - "Northern Kalapuya": "nrt", - "Narua": "nru", - "Lala": "nrz", - "Sangtam Naga": "nsa", - "Lower Nossob": "nsb", - "Southern Nisu": "nsd", - "Nsenga": "nse", - "Northwestern Nisu": "nsf", - "Ngasa": "nsg", - "Ngoshie": "nsh", - "Naskapi": "nsk", - "Sumi Naga": "nsm", - "Nehan": "nsn", - "Sepedi": "nso", - "Northern Sierra Miwok": "nsq", - "Nali": "nss", - "Tase Naga": "nst", - "Sierra Negra Nahuatl": "nsu", - "Navut": "nsw", - "Nsongo": "nsx", - "Nasal": "nsy", - "Nisenan": "nsz", - "Northern Tidung": "ntd", - "Nathembo": "nte", - "Natioro": "nti", - "Ngaanyatjarra": "ntj", - "Ikoma-Nata-Isenye": "ntk", - "Nateni": "ntm", - "Ntomba": "nto", - "Northern Tepehuan": "ntp", - "Delo": "ntr", - "Natügu": "ntu", - "Nottoway": "ntw", - "Mantsi": "nty", - "Natanzi": "ntz", - "Yuanga": "nua", - "Nukuini": "nuc", - "Ngala": "nud", - "Ngundu": "nue", - "Nusu": "nuf", - "Nungali": "nug", - "Ndunda": "nuh", - "Ngumbi": "nui", - "Nyole": "nuj", - "Nuu-chah-nulth": "nuk", - "Nusa Laut": "nul", - "Niuafo'ou": "num", - "Anong": "nun", - "Nguôn": "nuo", - "Nupe-Nupe-Tako": "nup", - "Nukumanu": "nuq", - "Nukuria": "nur", - "Nuer": "nus", - "Nung (Viet Nam)": "nut", - "Ngbundu": "nuu", - "Northern Nuni": "nuv", - "Nguluwan": "nuw", - "Mehek": "nux", - "Nunggubuyu": "nuy", - "Tlamacazapa Nahuatl": "nuz", - "Nasarian": "nvh", - "Namiae": "nvm", - "Nyokon": "nvo", - "Nawathinehena": "nwa", - "Nyabwa": "nwb", - "Ngwe": "nwe", - "Southwest Tanna": "nwi", - "Nyamusa-Molo": "nwm", - "Nauo": "nwo", - "Nawaru": "nwr", - "Nauete": "nxa", - "Ngando (Democratic Republic of Congo)": "nxd", - "Nage": "nxe", - "Ngad'a": "nxg", - "Nindi": "nxi", - "South Nuaulu": "nxl", - "Ngawun": "nxn", - "Ndambomo": "nxo", - "Naxi": "nxq", - "Ninggerum": "nxr", - "Nafri": "nxx", - "Nyanja": "nya", - "Nyangbo": "nyb", - "Nyanga-li": "nyc", - "Olunyole": "nyd", - "Nyengo": "nye", - "Kigiryama": "nyf", - "Nyindu": "nyg", - "Nyikina": "nyh", - "Ama (Sudan)": "nyi", - "Nyanga": "nyj", - "Nyaneka": "nyk", - "Nyeu": "nyl", - "Nyamwezi": "nym", - "Nyankole": "nyn", - "Nyoro": "nyo", - "Nyang'i": "nyp", - "Nayini": "nyq", - "Nyiha (Malawi)": "nyr", - "Nyungar": "nys", - "Nyawaygi": "nyt", - "Nyungwe": "nyu", - "Nyulnyul": "nyv", - "Nyaw": "nyw", - "Nganyaywana": "nyx", - "Nyakyusa-Ngonde": "nyy", - "Tigon Mbembe": "nza", - "Njebi": "nzb", - "Nzadi": "nzd", - "Nzima": "nzi", - "Nzakara": "nzk", - "Zeme Naga": "nzm", - "Teke-Nzikou": "nzu", - "Nzakambay": "nzy", - "Nanga Dama Dogon": "nzz", - "Orok": "oaa", - "Oroch": "oac", - "Old Aramaic (up to 700 BCE)": "oar", - "Obispeño": "obi", - "Oblo": "obl", - "Obo Manobo": "obo", - "Old Burmese": "obr", - "Obulom": "obu", - "Ocaina": "oca", - "Old Chinese": "och", - "Occitan (post 1500)": "oci", - "Atzingo Matlatzinca": "ocu", - "Od": "odk", - "Old Dutch": "odt", - "Odual": "odu", - "Ofo": "ofo", - "Old Frisian": "ofs", - "Efutop": "ofu", - "Ogbia": "ogb", - "Ogbah": "ogc", - "Old Georgian": "oge", - "Ogbogolo": "ogg", - "Khana": "ogo", - "Ogbronuagum": "ogu", - "Oirata": "oia", - "Inebu One": "oin", - "Northwestern Ojibwa": "ojb", - "Central Ojibwa": "ojc", - "Eastern Ojibwa": "ojg", - "Old Japanese": "ojp", - "Severn Ojibwa": "ojs", - "Ontong Java": "ojv", - "Western Ojibwa": "ojw", - "Okanagan": "oka", - "Okobo": "okb", - "Okodia": "okd", - "Okpe (Southwestern Edo)": "oke", - "Koresh-e Rostam": "okh", - "Okiek": "oki", - "Oko-Juwoi": "okj", - "Kwamtim One": "okk", - "Oki-No-Erabu": "okn", - "Kirike": "okr", - "Oko-Eni-Osayen": "oks", - "Oku": "oku", - "Orokaiva": "okv", - "Okpe (Northwestern Edo)": "okx", - "Walungge": "ola", - "Mochi": "old", - "Olekha": "ole", - "Oloma": "olm", - "Livvi": "olo", - "Olrat": "olr", - "Kuvale": "olu", - "Omaha-Ponca": "oma", - "East Ambae": "omb", - "Mochica": "omc", - "Omagua": "omg", - "Omi": "omi", - "Omok": "omk", - "Ombo": "oml", - "Utarmbung": "omo", - "Old Marathi": "omr", - "Omotik": "omt", - "Omurano": "omu", - "South Tairora": "omw", - "Old Mon": "omx", - "Ona": "ona", - "Lingao": "onb", - "Oneida": "one", - "Olo": "ong", - "Onin": "oni", - "Onjob": "onj", - "Kabore One": "onk", - "Onobasulu": "onn", - "Onondaga": "ono", - "Sartang": "onp", - "Northern One": "onr", - "Ono": "ons", - "Unua": "onu", - "Old Nubian": "onw", - "Tohono O'odham": "ood", - "Ong": "oog", - "Önge": "oon", - "Oorlams": "oor", - "Old Ossetic": "oos", - "Okpamheri": "opa", - "Kopkaka": "opk", - "Oksapmin": "opm", - "Opao": "opo", - "Opata": "opt", - "Ofayé": "opy", - "Oroha": "ora", - "Orma": "orc", - "Orejón": "ore", - "Oring": "org", - "Oroqen": "orh", - "Orang Kanaq": "orn", - "Orokolo": "oro", - "Oruma": "orr", - "Orang Seletar": "ors", - "Adivasi Oriya": "ort", - "Ormuri": "oru", - "Old Russian": "orv", - "Oro Win": "orw", - "Oro": "orx", - "Oriya": "ory", - "Ormu": "orz", - "Osage": "osa", - "Oscan": "osc", - "Osing": "osi", - "Ososo": "oso", - "Old Spanish": "osp", - "Ossetic": "oss", - "Osatu": "ost", - "Southern One": "osu", - "Old Saxon": "osx", - "Ot Danum": "otd", - "Mezquital Otomi": "ote", - "Oti": "oti", - "Tilapa Otomi": "otl", - "Eastern Highland Otomi": "otm", - "Tenango Otomi": "otn", - "Querétaro Otomi": "otq", - "Otoro": "otr", - "Estado de México Otomi": "ots", - "Temoaya Otomi": "ott", - "Otuke": "otu", - "Ottawa": "otw", - "Texcatepec Otomi": "otx", - "Old Tamil": "oty", - "Ixtenco Otomi": "otz", - "Tagargrent": "oua", - "Glio-Oubi": "oub", - "Oune": "oue", - "Old Uighur": "oui", - "Ouma": "oum", - "Owiniga": "owi", - "Old Welsh": "owl", - "Oy": "oyb", - "Oyda": "oyd", - "Wayampi": "oym", - "Oya'oya": "oyy", - "Koonzime": "ozm", - "Parecís": "pab", - "Pacoh": "pac", - "Paumarí": "pad", - "Pagibete": "pae", - "Paranawát": "paf", - "Pangasinan": "pag", - "Tenharim": "pah", - "Pe": "pai", - "Parakanã": "pak", - "Pahlavi": "pal", - "Pampanga": "pam", - "Punjabi": "pan", - "Northern Paiute": "pao", - "Papiamento": "pap", - "Parya": "paq", - "Timbisha": "par", - "Papasena": "pas", - "Palauan": "pau", - "Pakaásnovos": "pav", - "Pawnee": "paw", - "Pech": "pay", - "Pankararú": "paz", - "Páez": "pbb", - "Patamona": "pbc", - "Mezontla Popoloca": "pbe", - "Coyotepec Popoloca": "pbf", - "Paraujano": "pbg", - "E'ñapa Woromaipu": "pbh", - "Parkwa": "pbi", - "Mak (Nigeria)": "pbl", - "Kpasam": "pbn", - "Papel": "pbo", - "Badyara": "pbp", - "Pangwa": "pbr", - "Central Pame": "pbs", - "Southern Pashto": "pbt", - "Northern Pashto": "pbu", - "Pnar": "pbv", - "Pyu (Papua New Guinea)": "pby", - "Santa Inés Ahuatempan Popoloca": "pca", - "Pear": "pcb", - "Bouyei": "pcc", - "Picard": "pcd", - "Ruching Palaung": "pce", - "Paliyan": "pcf", - "Paniya": "pcg", - "Duruwa": "pci", - "Parenga": "pcj", - "Paite Chin": "pck", - "Pardhi": "pcl", - "Nigerian Pidgin": "pcm", - "Piti": "pcn", - "Pacahuara": "pcp", - "Pyapun": "pcw", - "Anam": "pda", - "Pennsylvania German": "pdc", - "Pa Di": "pdi", - "Podena": "pdn", - "Padoe": "pdo", - "Plautdietsch": "pdt", - "Kayan": "pdu", - "Peranakan Indonesian": "pea", - "Eastern Pomo": "peb", - "Mala (Papua New Guinea)": "ped", - "Taje": "pee", - "Northeastern Pomo": "pef", - "Pengo": "peg", - "Bonan": "peh", - "Chichimeca-Jonaz": "pei", - "Northern Pomo": "pej", - "Penchal": "pek", - "Pekal": "pel", - "Phende": "pem", - "Old Persian (ca. 600-400 B.C.)": "peo", - "Kunja": "pep", - "Southern Pomo": "peq", - "Persian": "pes", - "Pémono": "pev", - "Petats": "pex", - "Petjo": "pey", - "Eastern Penan": "pez", - "Pááfang": "pfa", - "Pere": "pfe", - "Pfaelzisch": "pfl", - "Sudanese Creole Arabic": "pga", - "Pangwali": "pgg", - "Pagi": "pgi", - "Rerep": "pgk", - "Pangseng": "pgs", - "Pagu": "pgu", - "Pa-Hng": "pha", - "Phudagi": "phd", - "Phuong": "phg", - "Phukha": "phh", - "Phake": "phk", - "Phalura": "phl", - "Phimbi": "phm", - "Phoenician": "phn", - "Phunoi": "pho", - "Phana'": "phq", - "Pahari-Potwari": "phr", - "Phu Thai": "pht", - "Phuan": "phu", - "Pahlavani": "phv", - "Pima Bajo": "pia", - "Yine": "pib", - "Pinji": "pic", - "Piaroa": "pid", - "Piro": "pie", - "Pingelapese": "pif", - "Pitcairn-Norfolk": "pih", - "Pini": "pii", - "Yom": "pil", - "Powhatan": "pim", - "Piame": "pin", - "Piapoco": "pio", - "Pero": "pip", - "Piratapuyo": "pir", - "Pijin": "pis", - "Pitta Pitta": "pit", - "Pintupi-Luritja": "piu", - "Vaeakau-Taumako": "piv", - "Pimbwe": "piw", - "Piu": "pix", - "Piya-Kwonci": "piy", - "Pije": "piz", - "Pitjantjatjara": "pjt", - "Pokomo": "pkb", - "Pak-Tong": "pkg", - "Pankhu": "pkh", - "Pakanha": "pkn", - "Pökoot": "pko", - "Pukapuka": "pkp", - "Attapady Kurumba": "pkr", - "Maleng": "pkt", - "Paku": "pku", - "Miani": "pla", - "Polonombauk": "plb", - "Central Palawano": "plc", - "Palu'e": "ple", - "Pilagá": "plg", - "Paulohi": "plh", - "Pali": "pli", - "Polci": "plj", - "Kohistani Shina": "plk", - "Shwe Palaung": "pll", - "Palenquero": "pln", - "Oluta Popoluca": "plo", - "Palaic": "plq", - "Palaka Senoufo": "plr", - "San Marcos Tlalcoyalco Popoloca": "pls", - "Plateau Malagasy": "plt", - "Palikúr": "plu", - "Southwest Palawano": "plv", - "Brooke's Point Palawano": "plw", - "Bolyu": "ply", - "Paluan": "plz", - "Paama": "pma", - "Pambia": "pmb", - "Pallanganmiddang": "pmd", - "Pwaamei": "pme", - "Pamona": "pmf", - "Māhārāṣṭri Prākrit": "pmh", - "Northern Pumi": "pmi", - "Southern Pumi": "pmj", - "Pomo": "pmm", - "Pam": "pmn", - "Pom": "pmo", - "Northern Pame": "pmq", - "Paynamar": "pmr", - "Piemontese": "pms", - "Tuamotuan": "pmt", - "Plains Miwok": "pmw", - "Poumei Naga": "pmx", - "Papuan Malay": "pmy", - "Southern Pame": "pmz", - "Punan Bah-Biau": "pna", - "Western Panjabi": "pnb", - "Pannei": "pnc", - "Mpinda": "pnd", - "Western Penan": "pne", - "Pongu": "png", - "Penrhyn": "pnh", - "Aoheng": "pni", - "Pinjarup": "pnj", - "Paunaka": "pnk", - "Paleni": "pnl", - "Punan Batu 1": "pnm", - "Pinai-Hagahai": "pnn", - "Panobo": "pno", - "Pancana": "pnp", - "Pana (Burkina Faso)": "pnq", - "Panim": "pnr", - "Ponosakan": "pns", - "Pontic": "pnt", - "Jiongnai Bunu": "pnu", - "Pinigura": "pnv", - "Panytyima": "pnw", - "Phong-Kniang": "pnx", - "Pinyin": "pny", - "Pana (Central African Republic)": "pnz", - "Poqomam": "poc", - "San Juan Atzingo Popoloca": "poe", - "Poke": "pof", - "Potiguára": "pog", - "Poqomchi'": "poh", - "Highland Popoluca": "poi", - "Polish": "pol", - "Southeastern Pomo": "pom", - "Pohnpeian": "pon", - "Central Pomo": "poo", - "Pwapwâ": "pop", - "Texistepec Popoluca": "poq", - "Portuguese": "por", - "Sayula Popoluca": "pos", - "Potawatomi": "pot", - "Upper Guinea Crioulo": "pov", - "San Felipe Otlaltepec Popoloca": "pow", - "Polabian": "pox", - "Pogolo": "poy", - "Papi": "ppe", - "Paipai": "ppi", - "Uma": "ppk", - "Pipil": "ppl", - "Papuma": "ppm", - "Papapana": "ppn", - "Folopa": "ppo", - "Pelende": "ppp", - "Pei": "ppq", - "San Luís Temalacayuca Popoloca": "pps", - "Pare": "ppt", - "Papora": "ppu", - "Pa'a": "pqa", - "Malecite-Passamaquoddy": "pqm", - "Parachi": "prc", - "Principense": "pre", - "Paranan": "prf", - "Prussian": "prg", - "Porohanon": "prh", - "Paicî": "pri", - "Parauk": "prk", - "Kibiri": "prm", - "Prasuni": "prn", - "Old Provençal (to 1500)": "pro", - "Ashéninka Perené": "prq", - "Puri": "prr", - "Dari": "prs", - "Phai": "prt", - "Puragi": "pru", - "Parawen": "prw", - "Purik": "prx", - "Asue Awyu": "psa", - "Central Malay": "pse", - "Southwest Pashayi": "psh", - "Southeast Pashayi": "psi", - "Pauserna": "psm", - "Panasuan": "psn", - "Pasi": "psq", - "Kaulong": "pss", - "Central Pashto": "pst", - "Sauraseni Prākrit": "psu", - "Port Sandwich": "psw", - "Piscataway": "psy", - "Pai Tavytera": "pta", - "Pataxó Hã-Ha-Hãe": "pth", - "Wangkatha": "pti", - "Patani": "ptn", - "Zo'é": "pto", - "Patep": "ptp", - "Piamatsina": "ptr", - "Enrekang": "ptt", - "Bambam": "ptu", - "Port Vato": "ptv", - "Pentlatch": "ptw", - "Pathiya": "pty", - "Western Highland Purepecha": "pua", - "Purum": "pub", - "Punan Aput": "pud", - "Puelche": "pue", - "Punan Merah": "puf", - "Phuie": "pug", - "Puinave": "pui", - "Punan Tubu": "puj", - "Puma": "pum", - "Puoc": "puo", - "Pulabu": "pup", - "Puquina": "puq", - "Puruborá": "pur", - "Punu": "puu", - "Puluwatese": "puw", - "Puare": "pux", - "Purisimeño": "puy", - "Pawaia": "pwa", - "Panawa": "pwb", - "Gapapaiwa": "pwg", - "Patwin": "pwi", - "Molbog": "pwm", - "Paiwan": "pwn", - "Pwo Western Karen": "pwo", - "Powari": "pwr", - "Pwo Northern Karen": "pww", - "Pye Krumen": "pye", - "Fyam": "pym", - "Poyanáwa": "pyn", - "Puyuma": "pyu", - "Pyu (Myanmar)": "pyx", - "Pyen": "pyy", - "Para Naga": "pzn", - "Quapaw": "qua", - "Huallaga Huánuco Quechua": "qub", - "Quiché": "quc", - "Calderón Highland Quichua": "qud", - "Lambayeque Quechua": "quf", - "Chimborazo Highland Quichua": "qug", - "South Bolivian Quechua": "quh", - "Quileute": "qui", - "Chachapoyas Quechua": "quk", - "North Bolivian Quechua": "qul", - "Sipacapense": "qum", - "Quinault": "qun", - "Southern Pastaza Quechua": "qup", - "Yanahuanca Pasco Quechua": "qur", - "Santiago del Estero Quichua": "qus", - "Sacapulteco": "quv", - "Tena Lowland Quichua": "quw", - "Yauyos Quechua": "qux", - "Ayacucho Quechua": "quy", - "Cusco Quechua": "quz", - "Ambo-Pasco Quechua": "qva", - "Cajamarca Quechua": "qvc", - "Eastern Apurímac Quechua": "qve", - "Huamalíes-Dos de Mayo Huánuco Quechua": "qvh", - "Imbabura Highland Quichua": "qvi", - "Loja Highland Quichua": "qvj", - "Cajatambo North Lima Quechua": "qvl", - "Margos-Yarowilca-Lauricocha Quechua": "qvm", - "North Junín Quechua": "qvn", - "Napo Lowland Quechua": "qvo", - "Pacaraos Quechua": "qvp", - "San Martín Quechua": "qvs", - "Huaylla Wanca Quechua": "qvw", - "Queyu": "qvy", - "Northern Pastaza Quichua": "qvz", - "Corongo Ancash Quechua": "qwa", - "Classical Quechua": "qwc", - "Huaylas Ancash Quechua": "qwh", - "Sihuas Ancash Quechua": "qws", - "Kwalhioqua-Tlatskanai": "qwt", - "Chiquián Ancash Quechua": "qxa", - "Chincha Quechua": "qxc", - "Panao Huánuco Quechua": "qxh", - "Salasaca Highland Quichua": "qxl", - "Northern Conchucos Ancash Quechua": "qxn", - "Southern Conchucos Ancash Quechua": "qxo", - "Puno Quechua": "qxp", - "Qashqa'i": "qxq", - "Cañar Highland Quichua": "qxr", - "Southern Qiang": "qxs", - "Santa Ana de Tusi Pasco Quechua": "qxt", - "Arequipa-La Unión Quechua": "qxu", - "Jauja Wanca Quechua": "qxw", - "Quiripi": "qyp", - "Dungmali": "raa", - "Camling": "rab", - "Rasawa": "rac", - "Rade": "rad", - "Western Meohang": "raf", - "Lulogooli": "rag", - "Rabha": "rah", - "Ramoaaina": "rai", - "Tulu-Bohuai": "rak", - "Ralte": "ral", - "Canela": "ram", - "Riantana": "ran", - "Rao": "rao", - "Rapanui": "rap", - "Saam": "raq", - "Rarotongan": "rar", - "Tegali": "ras", - "Razajerdi": "rat", - "Raute": "rau", - "Sampang": "rav", - "Rawang": "raw", - "Rang": "rax", - "Rapa": "ray", - "Rahambuu": "raz", - "Rumai Palaung": "rbb", - "Réunion Creole French": "rcf", - "Rudbari": "rdb", - "Rerau": "rea", - "Rembong": "reb", - "Rejang Kayan": "ree", - "Kara (Tanzania)": "reg", - "Reli": "rei", - "Rejang": "rej", - "Rendille": "rel", - "Remo": "rem", - "Rengao": "ren", - "Reshe": "res", - "Retta": "ret", - "Reyesano": "rey", - "Roria": "rga", - "Romano-Greek": "rge", - "Rangkas": "rgk", - "Romagnol": "rgn", - "Resígaro": "rgr", - "Southern Roglai": "rgs", - "Ringgou": "rgu", - "Rohingya": "rhg", - "Yahang": "rhp", - "Riang (India)": "ria", - "Tarifit": "rif", - "Riang Lang": "ril", - "Nyaturu": "rim", - "Nungu": "rin", - "Ribun": "rir", - "Ritharrngu": "rit", - "Riung": "riu", - "Rajong": "rjg", - "Raji": "rji", - "Rajbanshi": "rjs", - "Kraol": "rka", - "Rikbaktsa": "rkb", - "Rakahanga-Manihiki": "rkh", - "Rakhine": "rki", - "Marka": "rkm", - "Rangpuri": "rkt", - "Rama": "rma", - "Rembarrnga": "rmb", - "Carpathian Romani": "rmc", - "Angloromani": "rme", - "Kalo Finnish Romani": "rmf", - "Murkim": "rmh", - "Lomavren": "rmi", - "Romkun": "rmk", - "Baltic Romani": "rml", - "Roma": "rmm", - "Balkan Romani": "rmn", - "Sinte Romani": "rmo", - "Rempi": "rmp", - "Caló": "rmq", - "Domari": "rmt", - "Welsh Romani": "rmw", - "Romam": "rmx", - "Vlax Romani": "rmy", - "Marma": "rmz", - "Ruund": "rnd", - "Ronga": "rng", - "Ranglong": "rnl", - "Roon": "rnn", - "Rongpo": "rnp", - "Nari Nari": "rnr", - "Rungwa": "rnw", - "Tae'": "rob", - "Cacgia Roglai": "roc", - "Rogo": "rod", - "Ronji": "roe", - "Rombo": "rof", - "Northern Roglai": "rog", - "Romansh": "roh", - "Romblomanon": "rol", - "Romanian": "ron", - "Rotokas": "roo", - "Kriol": "rop", - "Rongga": "ror", - "Runga": "rou", - "Dela-Oenale": "row", - "Repanbitip": "rpn", - "Rapting": "rpt", - "Ririo": "rri", - "Waima": "rro", - "Ratahan": "rth", - "Rotuman": "rtm", - "Rathawi": "rtw", - "Gungu": "rub", - "Ruuli": "ruc", - "Rusyn": "rue", - "Luguru": "ruf", - "Roviana": "rug", - "Ruga": "ruh", - "Che": "ruk", - "Rundi": "run", - "Istro Romanian": "ruo", - "Macedo-Romanian": "rup", - "Megleno Romanian": "ruq", - "Russian": "rus", - "Rutul": "rut", - "Lanas Lobu": "ruu", - "Rawo": "rwa", - "Rwa": "rwk", - "Amba (Uganda)": "rwm", - "Rawa": "rwo", - "Marwari (India)": "rwr", - "Ngardi": "rxd", - "Karuwali": "rxw", - "Northern Amami-Oshima": "ryn", - "Yaeyama": "rys", - "Central Okinawan": "ryu", - "Rāziḥī": "rzh", - "Saba": "saa", - "Buglere": "sab", - "Meskwaki": "sac", - "Sandawe": "sad", - "Sabanê": "sae", - "Safaliba": "saf", - "Sango": "sag", - "Yakut": "sah", - "Sahu": "saj", - "Sake": "sak", - "Samaritan Aramaic": "sam", - "Sanskrit": "san", - "Sause": "sao", - "Samburu": "saq", - "Saraveca": "sar", - "Sasak": "sas", - "Santali": "sat", - "Saleman": "sau", - "Saafi-Saafi": "sav", - "Sawi": "saw", - "Sa": "sax", - "Saya": "say", - "Saurashtra": "saz", - "Ngambay": "sba", - "Simbo": "sbb", - "Kele (Papua New Guinea)": "sbc", - "Southern Samo": "sbd", - "Saliba": "sbe", - "Shabo": "sbf", - "Seget": "sbg", - "Sori-Harengan": "sbh", - "Seti": "sbi", - "Surbakhal": "sbj", - "Safwa": "sbk", - "Botolan Sambal": "sbl", - "Sagala": "sbm", - "Sindhi Bhil": "sbn", - "Sabüm": "sbo", - "Sangu (Tanzania)": "sbp", - "Sileibi": "sbq", - "Sembakung Murut": "sbr", - "Subiya": "sbs", - "Kimki": "sbt", - "Stod Bhoti": "sbu", - "Simba": "sbw", - "Seberuang": "sbx", - "Soli": "sby", - "Sara Kaba": "sbz", - "Chut": "scb", - "Dongxiang": "sce", - "San Miguel Creole French": "scf", - "Sanggau": "scg", - "Sakachep": "sch", - "Sri Lankan Creole Malay": "sci", - "Sadri": "sck", - "Shina": "scl", - "Sicilian": "scn", - "Scots": "sco", - "Hyolmo": "scp", - "Sa'och": "scq", - "North Slavey": "scs", - "Southern Katang": "sct", - "Shumcho": "scu", - "Sheni": "scv", - "Sha": "scw", - "Toraja-Sa'dan": "sda", - "Shabak": "sdb", - "Sassarese Sardinian": "sdc", - "Surubu": "sde", - "Sarli": "sdf", - "Savi": "sdg", - "Southern Kurdish": "sdh", - "Suundi": "sdj", - "Sos Kundi": "sdk", - "Gallurese Sardinian": "sdn", - "Bukar-Sadung Bidayuh": "sdo", - "Sherdukpen": "sdp", - "Oraon Sadri": "sdr", - "Sened": "sds", - "Sarudu": "sdu", - "Sibu Melanau": "sdx", - "Sallands": "sdz", - "Semai": "sea", - "Shempire Senoufo": "seb", - "Sechelt": "sec", - "Sedang": "sed", - "Seneca": "see", - "Cebaara Senoufo": "sef", - "Segeju": "seg", - "Sena": "seh", - "Seri": "sei", - "Sene": "sej", - "Sekani": "sek", - "Selkup": "sel", - "Nanerigé Sénoufo": "sen", - "Suarmin": "seo", - "Sìcìté Sénoufo": "sep", - "Senara Sénoufo": "seq", - "Serrano": "ser", - "Koyraboro Senni Songhai": "ses", - "Sentani": "set", - "Serui-Laut": "seu", - "Nyarafolo Senoufo": "sev", - "Sewa Bay": "sew", - "Secoya": "sey", - "Senthang Chin": "sez", - "Eastern Subanen": "sfe", - "Small Flowery Miao": "sfm", - "Sehwi": "sfw", - "Old Irish (to 900)": "sga", - "Mag-antsi Ayta": "sgb", - "Kipsigis": "sgc", - "Surigaonon": "sgd", - "Segai": "sge", - "Shughni": "sgh", - "Suga": "sgi", - "Sangkong": "sgk", - "Singa": "sgm", - "Singpho": "sgp", - "Sangisari": "sgr", - "Brokpake": "sgt", - "Salas": "sgu", - "Sebat Bet Gurage": "sgw", - "Sanglechi": "sgy", - "Sursurunga": "sgz", - "Shall-Zwall": "sha", - "Ninam": "shb", - "Sonde": "shc", - "Kundal Shahi": "shd", - "Sheko": "she", - "Shua": "shg", - "Shoshoni": "shh", - "Tachelhit": "shi", - "Shatt": "shj", - "Shilluk": "shk", - "Shendu": "shl", - "Shahrudi": "shm", - "Shan": "shn", - "Shanga": "sho", - "Shipibo-Conibo": "shp", - "Sala": "shq", - "Shi": "shr", - "Shuswap": "shs", - "Shasta": "sht", - "Chadian Arabic": "shu", - "Shehri": "shv", - "Shwai": "shw", - "She": "shx", - "Tachawit": "shy", - "Syenara Senoufo": "shz", - "Akkala Sami": "sia", - "Sebop": "sib", - "Sidamo": "sid", - "Simaa": "sie", - "Siamou": "sif", - "Paasaal": "sig", - "Zire": "sih", - "Shom Peng": "sii", - "Numbami": "sij", - "Tumulung Sisaala": "sil", - "Mende (Papua New Guinea)": "sim", - "Sinhalese": "sin", - "Sikkimese": "sip", - "Sonia": "siq", - "Siri": "sir", - "Siuslaw": "sis", - "Sinagen": "siu", - "Sumariup": "siv", - "Siwai": "siw", - "Sumau": "six", - "Sivandi": "siy", - "Siwi": "siz", - "Epena": "sja", - "Sajau Basap": "sjb", - "Kildin Sami": "sjd", - "Pite Sami": "sje", - "Assangori": "sjg", - "Kemi Sami": "sjk", - "Sajalong": "sjl", - "Mapun": "sjm", - "Xibe": "sjo", - "Surjapuri": "sjp", - "Siar-Lak": "sjr", - "Senhaja De Srair": "sjs", - "Ter Sami": "sjt", - "Ume Sami": "sju", - "Shawnee": "sjw", - "Skagit": "ska", - "Saek": "skb", - "Ma Manda": "skc", - "Southern Sierra Miwok": "skd", - "Seke (Vanuatu)": "ske", - "Sakirabiá": "skf", - "Sakalava Malagasy": "skg", - "Sikule": "skh", - "Sika": "ski", - "Seke (Nepal)": "skj", - "Kutong": "skm", - "Kolibugan Subanon": "skn", - "Seko Tengah": "sko", - "Sekapan": "skp", - "Sininkere": "skq", - "Seraiki": "skr", - "Maia": "sks", - "Sakata": "skt", - "Sakao": "sku", - "Skou": "skv", - "Skepi Creole Dutch": "skw", - "Seko Padang": "skx", - "Sikaiana": "sky", - "Sekar": "skz", - "Sáliba": "slc", - "Sissala": "sld", - "Sholaga": "sle", - "Selungai Murut": "slg", - "Southern Puget Sound Salish": "slh", - "Lower Silesian": "sli", - "Slovak": "slk", - "Salt-Yui": "sll", - "Pangutaran Sama": "slm", - "Salinan": "sln", - "Lamaholot": "slp", - "Salchuq": "slq", - "Salar": "slr", - "Sila": "slt", - "Selaru": "slu", - "Slovenian": "slv", - "Sialum": "slw", - "Salampasu": "slx", - "Selayar": "sly", - "Ma'ya": "slz", - "Southern Sami": "sma", - "Simbari": "smb", - "Som": "smc", - "Sama": "smd", - "Northern Sami": "sme", - "Auwe": "smf", - "Simbali": "smg", - "Samei": "smh", - "Lule Saami": "smj", - "Bolinao": "smk", - "Central Sama": "sml", - "Musasa": "smm", - "Inari Sami": "smn", - "Samoan": "smo", - "Samaritan": "smp", - "Samo": "smq", - "Simeulue": "smr", - "Skolt Sami": "sms", - "Simte": "smt", - "Somray": "smu", - "Samvedi": "smv", - "Sumbawa": "smw", - "Samba": "smx", - "Semnani": "smy", - "Simeku": "smz", - "Shona": "sna", - "Sebuyau": "snb", - "Sinaugoro": "snc", - "Sindhi": "snd", - "Bau Bidayuh": "sne", - "Noon": "snf", - "Sanga (Democratic Republic of Congo)": "sng", - "Sensi": "sni", - "Riverain Sango": "snj", - "Soninke": "snk", - "Sangil": "snl", - "Southern Ma'di": "snm", - "Siona": "snn", - "Snohomish": "sno", - "Siane": "snp", - "Sangu (Gabon)": "snq", - "Sihan": "snr", - "South West Bay": "sns", - "Viid": "snu", - "Sa'ban": "snv", - "Selee": "snw", - "Sam": "snx", - "Saniyo-Hiyewe": "sny", - "Kou": "snz", - "Thai Song": "soa", - "Sobei": "sob", - "So (Democratic Republic of Congo)": "soc", - "Songoora": "sod", - "Songomeno": "soe", - "Sogdian": "sog", - "Aka": "soh", - "Sonha": "soi", - "Soi": "soj", - "Sokoro": "sok", - "Solos": "sol", - "Somali": "som", - "Songo": "soo", - "Songe": "sop", - "Kanasi": "soq", - "Somrai": "sor", - "Seeku": "sos", - "Southern Sotho": "sot", - "Southern Thai": "sou", - "Sonsorol": "sov", - "Sowanda": "sow", - "Swo": "sox", - "Miyobe": "soy", - "Temi": "soz", - "Spanish": "spa", - "Sepa (Indonesia)": "spb", - "Sapé": "spc", - "Saep": "spd", - "Sepa (Papua New Guinea)": "spe", - "Sian": "spg", - "Saponi": "spi", - "Sengo": "spk", - "Selepet": "spl", - "Akukem": "spm", - "Sanapaná": "spn", - "Spokane": "spo", - "Supyire Senoufo": "spp", - "Loreto-Ucayali Spanish": "spq", - "Saparua": "spr", - "Saposa": "sps", - "Spiti Bhoti": "spt", - "Sapuan": "spu", - "Sambalpuri": "spv", - "Sabaot": "spy", - "Shama-Sambuga": "sqa", - "Shau": "sqh", - "Suma": "sqm", - "Susquehannock": "sqn", - "Sorkhei": "sqo", - "Sou": "sqq", - "Soqotri": "sqt", - "Squamish": "squ", - "Saruga": "sra", - "Sora": "srb", - "Logudorese Sardinian": "src", - "Sara": "sre", - "Nafi": "srf", - "Sulod": "srg", - "Sarikoli": "srh", - "Siriano": "sri", - "Serudung Murut": "srk", - "Isirawa": "srl", - "Saramaccan": "srm", - "Sranan Tongo": "srn", - "Campidanese Sardinian": "sro", - "Serbian": "srp", - "Sirionó": "srq", - "Serer": "srr", - "Sarsi": "srs", - "Sauri": "srt", - "Suruí": "sru", - "Southern Sorsoganon": "srv", - "Serua": "srw", - "Sirmauri": "srx", - "Sera": "sry", - "Shahmirzadi": "srz", - "Southern Sama": "ssb", - "Suba-Simbiti": "ssc", - "Siroi": "ssd", - "Bangingih Sama": "sse", - "Thao": "ssf", - "Seimat": "ssg", - "Shihhi Arabic": "ssh", - "Sansi": "ssi", - "Sausi": "ssj", - "Sunam": "ssk", - "Western Sisaala": "ssl", - "Semnam": "ssm", - "Waata": "ssn", - "Sissano": "sso", - "So'a": "ssq", - "Sô": "sss", - "Sinasina": "sst", - "Susuami": "ssu", - "Shark Bay": "ssv", - "Swati": "ssw", - "Samberigi": "ssx", - "Saho": "ssy", - "Sengseng": "ssz", - "Northern Subanen": "stb", - "Liana-Seti": "ste", - "Seta": "stf", - "Trieng": "stg", - "Bulo Stieng": "sti", - "Matya Samo": "stj", - "Arammba": "stk", - "Stellingwerfs": "stl", - "Setaman": "stm", - "Owa": "stn", - "Stoney": "sto", - "Southeastern Tepehuan": "stp", - "Saterfriesisch": "stq", - "Straits Salish": "str", - "Shumashti": "sts", - "Budeh Stieng": "stt", - "Samtao": "stu", - "Silt'e": "stv", - "Satawalese": "stw", - "Siberian Tatar": "sty", - "Sulka": "sua", - "Suku": "sub", - "Western Subanon": "suc", - "Suena": "sue", - "Suganga": "sug", - "Suki": "sui", - "Shubi": "suj", - "Sukuma": "suk", - "Sundanese": "sun", - "Bouni": "suo", - "Tirmaga-Chai Suri": "suq", - "Mwaghavul": "sur", - "Susu": "sus", - "Subtiaba": "sut", - "Puroik": "suv", - "Sumbwa": "suw", - "Sumerian": "sux", - "Suyá": "suy", - "Sunwar": "suz", - "Svan": "sva", - "Ulau-Suain": "svb", - "Vincentian Creole English": "svc", - "Serili": "sve", - "Slavomolisano": "svm", - "Savosavo": "svs", - "Maore Comorian": "swb", - "Congo Swahili": "swc", - "Swedish": "swe", - "Sere": "swf", - "Swabian": "swg", - "Swahili": "swh", - "Sui": "swi", - "Sira": "swj", - "Malawi Sena": "swk", - "Samosa": "swm", - "Sawknah": "swn", - "Shanenawa": "swo", - "Suau": "swp", - "Sharwa": "swq", - "Saweru": "swr", - "Seluwasan": "sws", - "Sawila": "swt", - "Suwawa": "swu", - "Shekhawati": "swv", - "Sowa": "sww", - "Suruahá": "swx", - "Sarua": "swy", - "Suba": "sxb", - "Sighu": "sxe", - "Shuhi": "sxg", - "Southern Kalapuya": "sxk", - "Sangir": "sxn", - "Saaroa": "sxr", - "Sasaru": "sxs", - "Upper Saxon": "sxu", - "Saxwe Gbe": "sxw", - "Siang": "sya", - "Central Subanen": "syb", - "Classical Syriac": "syc", - "Seki": "syi", - "Sukur": "syk", - "Sylheti": "syl", - "Maya Samo": "sym", - "Senaya": "syn", - "Suoy": "syo", - "Sinyar": "sys", - "Kagate": "syw", - "Samay": "syx", - "Semelai": "sza", - "Ngalum": "szb", - "Semaq Beri": "szc", - "Seze": "sze", - "Sengele": "szg", - "Silesian": "szl", - "Sula": "szn", - "Suabo": "szp", - "Isu (Fako Division)": "szv", - "Sawai": "szw", - "Sakizaya": "szy", - "Lower Tanana": "taa", - "Tabassaran": "tab", - "Lowland Tarahumara": "tac", - "Tause": "tad", - "Tariana": "tae", - "Tapirapé": "taf", - "Tagoi": "tag", - "Tahitian": "tah", - "Eastern Tamang": "taj", - "Tala": "tak", - "Tal": "tal", - "Tamil": "tam", - "Tangale": "tan", - "Yami": "tao", - "Taabwa": "tap", - "Tamasheq": "taq", - "Central Tarahumara": "tar", - "Tatar": "tat", - "Upper Tanana": "tau", - "Tatuyo": "tav", - "Tai": "taw", - "Tamki": "tax", - "Atayal": "tay", - "Tocho": "taz", - "Aikanã": "tba", - "Takia": "tbc", - "Kaki Ae": "tbd", - "Tanimbili": "tbe", - "Mandara": "tbf", - "North Tairora": "tbg", - "Thurawal": "tbh", - "Gaam": "tbi", - "Tiang": "tbj", - "Calamian Tagbanwa": "tbk", - "Tboli": "tbl", - "Tagbu": "tbm", - "Barro Negro Tunebo": "tbn", - "Tawala": "tbo", - "Taworta": "tbp", - "Tumtum": "tbr", - "Tanguat": "tbs", - "Tembo (Kitembo)": "tbt", - "Tubar": "tbu", - "Tobo": "tbv", - "Tagbanwa": "tbw", - "Kapin": "tbx", - "Tabaru": "tby", - "Ditammari": "tbz", - "Ticuna": "tca", - "Tanacross": "tcb", - "Datooga": "tcc", - "Tafi": "tcd", - "Southern Tutchone": "tce", - "Malinaltepec Tlapanec": "tcf", - "Tamagario": "tcg", - "Turks And Caicos Creole English": "tch", - "Wára": "tci", - "Tchitchege": "tck", - "Taman (Myanmar)": "tcl", - "Tanahmerah": "tcm", - "Tichurong": "tcn", - "Taungyo": "tco", - "Tawr Chin": "tcp", - "Kaiy": "tcq", - "Yumplatok": "tcs", - "T'en": "tct", - "Southeastern Tarahumara": "tcu", - "Tecpatlán Totonac": "tcw", - "Toda": "tcx", - "Tulu": "tcy", - "Thado Chin": "tcz", - "Tagdal": "tda", - "Panchpargania": "tdb", - "Emberá-Tadó": "tdc", - "Tai Nüa": "tdd", - "Tiranige Diga Dogon": "tde", - "Talieng": "tdf", - "Western Tamang": "tdg", - "Thulung": "tdh", - "Tomadino": "tdi", - "Tajio": "tdj", - "Tambas": "tdk", - "Sur": "tdl", - "Taruma": "tdm", - "Tondano": "tdn", - "Teme": "tdo", - "Tita": "tdq", - "Todrah": "tdr", - "Doutai": "tds", - "Tetun Dili": "tdt", - "Toro": "tdv", - "Tandroy-Mahafaly Malagasy": "tdx", - "Tadyawan": "tdy", - "Temiar": "tea", - "Terik": "tec", - "Tepo Krumen": "ted", - "Huehuetla Tepehua": "tee", - "Teressa": "tef", - "Teke-Tege": "teg", - "Tehuelche": "teh", - "Torricelli": "tei", - "Ibali Teke": "tek", - "Telugu": "tel", - "Timne": "tem", - "Tama (Colombia)": "ten", - "Teso": "teo", - "Tepecano": "tep", - "Temein": "teq", - "Tereno": "ter", - "Tengger": "tes", - "Tetum": "tet", - "Soo": "teu", - "Teor": "tev", - "Tewa (USA)": "tew", - "Tennet": "tex", - "Tulishi": "tey", - "Tetserret": "tez", - "Tofin Gbe": "tfi", - "Tanaina": "tfn", - "Tefaro": "tfo", - "Teribe": "tfr", - "Ternate": "tft", - "Sagalla": "tga", - "Tobilung": "tgb", - "Tigak": "tgc", - "Ciwogai": "tgd", - "Eastern Gorkha Tamang": "tge", - "Chalikha": "tgf", - "Tobagonian Creole English": "tgh", - "Lawunuia": "tgi", - "Tagin": "tgj", - "Tajik": "tgk", - "Tagalog": "tgl", - "Tandaganon": "tgn", - "Sudest": "tgo", - "Tangoa": "tgp", - "Tring": "tgq", - "Nume": "tgs", - "Central Tagbanwa": "tgt", - "Tanggu": "tgu", - "Tagwana Senoufo": "tgw", - "Tagish": "tgx", - "Togoyo": "tgy", - "Tagalaka": "tgz", - "Thai": "tha", - "Thayore": "thd", - "Chitwania Tharu": "the", - "Thangmi": "thf", - "Northern Tarahumara": "thh", - "Tai Long": "thi", - "Tharaka": "thk", - "Dangaura Tharu": "thl", - "Aheu": "thm", - "Thachanadan": "thn", - "Thompson": "thp", - "Kochila Tharu": "thq", - "Rana Tharu": "thr", - "Thakali": "ths", - "Tahltan": "tht", - "Thuri": "thu", - "Tahaggart Tamahaq": "thv", - "Tha": "thy", - "Tayart Tamajeq": "thz", - "Tidikelt Tamazight": "tia", - "Tira": "tic", - "Tifal": "tif", - "Tigre": "tig", - "Timugon Murut": "tih", - "Tiene": "tii", - "Tilung": "tij", - "Tikar": "tik", - "Tillamook": "til", - "Timbe": "tim", - "Tindi": "tin", - "Teop": "tio", - "Trimuris": "tip", - "Tiéfo": "tiq", - "Tigrinya": "tir", - "Masadiit Itneg": "tis", - "Tinigua": "tit", - "Adasen": "tiu", - "Tiv": "tiv", - "Tiwi": "tiw", - "Southern Tiwa": "tix", - "Tiruray": "tiy", - "Tai Hongjin": "tiz", - "Tajuasohn": "tja", - "Tunjung": "tjg", - "Northern Tujia": "tji", - "Tjungundji": "tjj", - "Tai Laing": "tjl", - "Timucua": "tjm", - "Tonjon": "tjn", - "Temacine Tamazight": "tjo", - "Tjupany": "tjp", - "Southern Tujia": "tjs", - "Tjurruru": "tju", - "Buksa": "tkb", - "Tukudede": "tkd", - "Takwane": "tke", - "Tesaka Malagasy": "tkg", - "Tokelau": "tkl", - "Takelma": "tkm", - "Toku-No-Shima": "tkn", - "Tikopia": "tkp", - "Tee": "tkq", - "Tsakhur": "tkr", - "Takestani": "tks", - "Kathoriya Tharu": "tkt", - "Upper Necaxa Totonac": "tku", - "Mur Pano": "tkv", - "Teanu": "tkw", - "Tangko": "tkx", - "Takua": "tkz", - "Southwestern Tepehuan": "tla", - "Tobelo": "tlb", - "Yecuatla Totonac": "tlc", - "Talaud": "tld", - "Telefol": "tlf", - "Tofanma": "tlg", - "Tlingit": "tli", - "Talinga-Bwisi": "tlj", - "Taloki": "tlk", - "Tetela": "tll", - "Tolomako": "tlm", - "Talondo'": "tln", - "Talodi": "tlo", - "Filomena Mata-Coahuitlán Totonac": "tlp", - "Tai Loi": "tlq", - "Talise": "tlr", - "Tambotalo": "tls", - "Teluti": "tlt", - "Tulehu": "tlu", - "Taliabu": "tlv", - "Khehek": "tlx", - "Talysh": "tly", - "Tama (Chad)": "tma", - "Katbol": "tmb", - "Tumak": "tmc", - "Haruai": "tmd", - "Toba-Maskoy": "tmf", - "Ternateño": "tmg", - "Tutuba": "tmi", - "Samarokena": "tmj", - "Tamnim Citak": "tml", - "Tai Thanh": "tmm", - "Taman (Indonesia)": "tmn", - "Temoq": "tmo", - "Tumleo": "tmq", - "Jewish Babylonian Aramaic (ca. 200-1200 CE)": "tmr", - "Tima": "tms", - "Tasmate": "tmt", - "Iau": "tmu", - "Tembo (Motembo)": "tmv", - "Temuan": "tmw", - "Tami": "tmy", - "Tamanaku": "tmz", - "Tacana": "tna", - "Western Tunebo": "tnb", - "Tanimuca-Retuarã": "tnc", - "Angosturas Tunebo": "tnd", - "Tobanga": "tng", - "Maiani": "tnh", - "Tandia": "tni", - "Kwamera": "tnk", - "Lenakel": "tnl", - "Tabla": "tnm", - "North Tanna": "tnn", - "Toromono": "tno", - "Whitesands": "tnp", - "Taino": "tnq", - "Ménik": "tnr", - "Tenis": "tns", - "Tontemboan": "tnt", - "Tay Khang": "tnu", - "Tangchangya": "tnv", - "Tonsawang": "tnw", - "Tanema": "tnx", - "Tongwe": "tny", - "Ten'edn": "tnz", - "Toba": "tob", - "Coyutla Totonac": "toc", - "Toma": "tod", - "Gizrra": "tof", - "Tonga (Nyasa)": "tog", - "Gitonga": "toh", - "Tonga (Zambia)": "toi", - "Tojolabal": "toj", - "Tolowa": "tol", - "Tombulu": "tom", - "Tonga (Tonga Islands)": "ton", - "Xicotepec De Juárez Totonac": "too", - "Papantla Totonac": "top", - "Toposa": "toq", - "Togbo-Vara Banda": "tor", - "Highland Totonac": "tos", - "Tho": "tou", - "Upper Taromi": "tov", - "Jemez": "tow", - "Tobian": "tox", - "Topoiyo": "toy", - "To": "toz", - "Taupota": "tpa", - "Azoyú Tlapanec": "tpc", - "Tippera": "tpe", - "Tarpia": "tpf", - "Kula": "tpg", - "Tok Pisin": "tpi", - "Tapieté": "tpj", - "Tupinikin": "tpk", - "Tlacoapa Tlapanec": "tpl", - "Tampulma": "tpm", - "Tupinambá": "tpn", - "Tai Pao": "tpo", - "Pisaflores Tepehua": "tpp", - "Tukpa": "tpq", - "Tuparí": "tpr", - "Tlachichilco Tepehua": "tpt", - "Tampuan": "tpu", - "Tanapag": "tpv", - "Tupí": "tpw", - "Acatepec Tlapanec": "tpx", - "Trumai": "tpy", - "Tinputz": "tpz", - "Tembé": "tqb", - "Lehali": "tql", - "Turumsa": "tqm", - "Tenino": "tqn", - "Toaripi": "tqo", - "Tomoip": "tqp", - "Tunni": "tqq", - "Torona": "tqr", - "Western Totonac": "tqt", - "Touo": "tqu", - "Tonkawa": "tqw", - "Tirahi": "tra", - "Terebu": "trb", - "Copala Triqui": "trc", - "Turi": "trd", - "East Tarangan": "tre", - "Trinidadian Creole English": "trf", - "Lishán Didán": "trg", - "Turaka": "trh", - "Trió": "tri", - "Toram": "trj", - "Tregami": "trm", - "Trinitario": "trn", - "Tarao Naga": "tro", - "Kok Borok": "trp", - "San Martín Itunyoso Triqui": "trq", - "Taushiro": "trr", - "Chicahuaxtla Triqui": "trs", - "Tunggare": "trt", - "Turoyo": "tru", - "Taroko": "trv", - "Torwali": "trw", - "Tringgus-Sembaan Bidayuh": "trx", - "Turung": "try", - "Torá": "trz", - "Tsaangi": "tsa", - "Tsamai": "tsb", - "Tswa": "tsc", - "Tsakonian": "tsd", - "Tausug": "tsg", - "Tsuvan": "tsh", - "Tsimshian": "tsi", - "Tshangla": "tsj", - "Tseku": "tsk", - "Ts'ün-Lao": "tsl", - "Setswana": "tsn", - "Tsonga": "tso", - "Northern Toussian": "tsp", - "Akei": "tsr", - "Tondi Songway Kiini": "tst", - "Tsou": "tsu", - "Tsogo": "tsv", - "Tsishingini": "tsw", - "Mubami": "tsx", - "Purepecha": "tsz", - "Tutelo": "tta", - "Gaa": "ttb", - "Tektiteko": "ttc", - "Tauade": "ttd", - "Bwanabwana": "tte", - "Tuotomb": "ttf", - "Tutong": "ttg", - "Upper Ta'oih": "tth", - "Tobati": "tti", - "Tooro": "ttj", - "Totoro": "ttk", - "Totela": "ttl", - "Northern Tutchone": "ttm", - "Towei": "ttn", - "Lower Ta'oih": "tto", - "Tombelala": "ttp", - "Tawallammat Tamajaq": "ttq", - "Tera": "ttr", - "Northeastern Thai": "tts", - "Muslim Tat": "ttt", - "Torau": "ttu", - "Titan": "ttv", - "Long Wat": "ttw", - "Sikaritai": "tty", - "Tsum": "ttz", - "Wiarumus": "tua", - "Tübatulabal": "tub", - "Mutu": "tuc", - "Tuxá": "tud", - "Tuyuca": "tue", - "Central Tunebo": "tuf", - "Tunia": "tug", - "Taulil": "tuh", - "Tupuri": "tui", - "Tugutil": "tuj", - "Turkmen": "tuk", - "Tula": "tul", - "Tumbuka": "tum", - "Tunica": "tun", - "Tucano": "tuo", - "Tedaga": "tuq", - "Turkish": "tur", - "Tuscarora": "tus", - "Tututni": "tuu", - "Turkana": "tuv", - "Tuxináwa": "tux", - "Tugen": "tuy", - "Turka": "tuz", - "Vaghua": "tva", - "Tsuvadi": "tvd", - "Te'un": "tve", - "Southeast Ambrym": "tvk", - "Tuvalu": "tvl", - "Tela-Masbuar": "tvm", - "Tavoyan": "tvn", - "Tidore": "tvo", - "Taveta": "tvs", - "Tutsa Naga": "tvt", - "Tunen": "tvu", - "Sedoa": "tvw", - "Timor Pidgin": "tvy", - "Twana": "twa", - "Western Tawbuid": "twb", - "Teshenawa": "twc", - "Twents": "twd", - "Tewa (Indonesia)": "twe", - "Northern Tiwa": "twf", - "Tereweng": "twg", - "Tai Dón": "twh", - "Tawara": "twl", - "Twendi": "twn", - "Tswapong": "two", - "Ere": "twp", - "Tasawaq": "twq", - "Southwestern Tarahumara": "twr", - "Turiwára": "twt", - "Termanu": "twu", - "Tuwari": "tww", - "Tewe": "twx", - "Tawoyan": "twy", - "Tombonuo": "txa", - "Tokharian B": "txb", - "Tsetsaut": "txc", - "Totoli": "txe", - "Tangut": "txg", - "Thracian": "txh", - "Ikpeng": "txi", - "Tarjumo": "txj", - "Tomini": "txm", - "West Tarangan": "txn", - "Toto": "txo", - "Tii": "txq", - "Tonsea": "txs", - "Citak": "txt", - "Kayapó": "txu", - "Tatana": "txx", - "Tanosy Malagasy": "txy", - "Tauya": "tya", - "Kyanga": "tye", - "O'du": "tyh", - "Teke-Tsaayi": "tyi", - "Tai Yo": "tyj", - "Kombai": "tyn", - "Thaypan": "typ", - "Tai Daeng": "tyr", - "Tày Sa Pa": "tys", - "Tày Tac": "tyt", - "Kua": "tyu", - "Tuvinian": "tyv", - "Teke-Tyee": "tyx", - "Tày": "tyz", - "Tzeltal": "tzh", - "Tz'utujil": "tzj", - "Central Atlas Tamazight": "tzm", - "Tugun": "tzn", - "Tzotzil": "tzo", - "Tabriak": "tzx", - "Kuan": "uan", - "Tairuma": "uar", - "Ubang": "uba", - "Ubi": "ubi", - "Buhi'non Bikol": "ubl", - "Ubir": "ubr", - "Umbu-Ungu": "ubu", - "Ubykh": "uby", - "Uda": "uda", - "Udihe": "ude", - "Muduga": "udg", - "Udi": "udi", - "Ujir": "udj", - "Wuzlam": "udl", - "Udmurt": "udm", - "Uduk": "udu", - "Kioko": "ues", - "Ufim": "ufi", - "Ugaritic": "uga", - "Kuku-Ugbanh": "ugb", - "Ughele": "uge", - "Ugong": "ugo", - "Uhami": "uha", - "Damal": "uhn", - "Uyghur": "uig", - "Uisai": "uis", - "Iyive": "uiv", - "Tanjijili": "uji", - "Kaburi": "uka", - "Ukuriguma": "ukg", - "Ukhwejo": "ukh", - "Ukpe-Bayobiri": "ukp", - "Ukwa": "ukq", - "Ukrainian": "ukr", - "Ukue": "uku", - "Kuku": "ukv", - "Ukwuani-Aboh-Ndoni": "ukw", - "Kuuk-Yak": "uky", - "Fungwa": "ula", - "Ulukwumi": "ulb", - "Ulch": "ulc", - "Lule": "ule", - "Usku": "ulf", - "Ulithian": "uli", - "Meriam Mir": "ulk", - "Ullatan": "ull", - "Ulumanda'": "ulm", - "Unserdeutsch": "uln", - "Uma' Lung": "ulu", - "Ulwa": "ulw", - "Umatilla": "uma", - "Umbundu": "umb", - "Umbindhamu": "umd", - "Umbuygamu": "umg", - "Ukit": "umi", - "Umon": "umm", - "Makyan Naga": "umn", - "Umotína": "umo", - "Umpila": "ump", - "Umbugarla": "umr", - "Pendau": "ums", - "Munsee": "umu", - "North Watut": "una", - "Uneme": "une", - "Ngarinyin": "ung", - "Uni": "uni", - "Enawené-Nawé": "unk", - "Unami": "unm", - "Kurnai": "unn", - "Mundari": "unr", - "Unubahe": "unu", - "Unde Kaili": "unz", - "Umeda": "upi", - "Uripiv-Wala-Rano-Atchin": "upv", - "Urarina": "ura", - "Urubú-Kaapor": "urb", - "Urningangg": "urc", - "Urdu": "urd", - "Uru": "ure", - "Urigina": "urg", - "Urhobo": "urh", - "Urim": "uri", - "Urak Lawoi'": "urk", - "Urali": "url", - "Urapmin": "urm", - "Uruangnirin": "urn", - "Ura (Papua New Guinea)": "uro", - "Löyöp": "urr", - "Urat": "urt", - "Urumi": "uru", - "Uruava": "urv", - "Sop": "urw", - "Urimo": "urx", - "Orya": "ury", - "Uru-Eu-Wau-Wau": "urz", - "Usarufa": "usa", - "Ushojo": "ush", - "Usui": "usi", - "Usaghade": "usk", - "Uspanteco": "usp", - "Uya": "usu", - "Otank": "uta", - "Ute-Southern Paiute": "ute", - "Amba (Solomon Islands)": "utp", - "Etulo": "utr", - "Utu": "utu", - "Urum": "uum", - "Ura (Vanuatu)": "uur", - "U": "uuu", - "West Uvean": "uve", - "Uri": "uvh", - "Lote": "uvl", - "Kuku-Uwanh": "uwa", - "Doko-Uyanga": "uya", - "Uzbek": "uzn", - "Southern Uzbek": "uzs", - "Vaagri Booli": "vaa", - "Vale": "vae", - "Vafsi": "vaf", - "Vagla": "vag", - "Varhadi-Nagpuri": "vah", - "Vai": "vai", - "Vasekele": "vaj", - "Vehes": "val", - "Vanimo": "vam", - "Valman": "van", - "Vao": "vao", - "Vaiphei": "vap", - "Huarijio": "var", - "Vasavi": "vas", - "Vanuma": "vau", - "Varli": "vav", - "Wayu": "vay", - "Southeast Babar": "vbb", - "Venetian": "vec", - "Veddah": "ved", - "Veluws": "vel", - "Vemgo-Mabas": "vem", - "Venda": "ven", - "Ventureño": "veo", - "Veps": "vep", - "Mom Jango": "ver", - "Vaghri": "vgr", - "Vlaamse Gebarentaal": "vgt", - "Virgin Islands Creole English": "vic", - "Vidunda": "vid", - "Northern Vietnamese": "vie", - "Vili": "vif", - "Viemo": "vig", - "Vilela": "vil", - "Vinza": "vin", - "Vishavan": "vis", - "Viti": "vit", - "Iduna": "viv", - "Kariyarra": "vka", - "Kujarge": "vkj", - "Kaur": "vkk", - "Kulisusu": "vkl", - "Kamakan": "vkm", - "Kodeoha": "vko", - "Korlai Creole Portuguese": "vkp", - "Tenggarong Kutai Malay": "vkt", - "Kurrama": "vku", - "Valpei": "vlp", - "Vlaams": "vls", - "Martuyhunira": "vma", - "Barbaram": "vmb", - "Juxtlahuaca Mixtec": "vmc", - "Mudu Koraga": "vmd", - "East Masela": "vme", - "Mainfränkisch": "vmf", - "Lungalunga": "vmg", - "Maraghei": "vmh", - "Miwa": "vmi", - "Ixtayutla Mixtec": "vmj", - "Makhuwa-Shirima": "vmk", - "Malgana": "vml", - "Mitlatongo Mixtec": "vmm", - "Soyaltepec Mazatec": "vmp", - "Soyaltepec Mixtec": "vmq", - "Marenje": "vmr", - "Muluridyi": "vmu", - "Valley Maidu": "vmv", - "Makhuwa": "vmw", - "Tamazola Mixtec": "vmx", - "Ayautla Mazatec": "vmy", - "Mazatlán Mazatec": "vmz", - "Vano": "vnk", - "Vinmavis": "vnm", - "Vunapu": "vnp", - "Voro": "vor", - "Votic": "vot", - "Vera'a": "vra", - "Võro": "vro", - "Varisi": "vrs", - "Burmbar": "vrt", - "Vitou": "vto", - "Vumbu": "vum", - "Vunjo": "vun", - "Vute": "vut", - "Awa (China)": "vwa", - "Walla Walla": "waa", - "Wab": "wab", - "Wasco-Wishram": "wac", - "Wondama": "wad", - "Walser": "wae", - "Wa'ema": "wag", - "Watubela": "wah", - "Waffa": "waj", - "Wolaytta": "wal", - "Wampanoag": "wam", - "Wan": "wan", - "Wappo": "wao", - "Wapishana": "wap", - "Wagiman": "waq", - "Waray (Philippines)": "war", - "Washo": "was", - "Kaninuwa": "wat", - "Waurá": "wau", - "Waka": "wav", - "Waiwai": "waw", - "Watam": "wax", - "Wayana": "way", - "Wampur": "waz", - "Warao": "wba", - "Wabo": "wbb", - "Waritai": "wbe", - "Wara": "wbf", - "Wanda": "wbh", - "Vwanji": "wbi", - "Alagwa": "wbj", - "Waigali": "wbk", - "Wakhi": "wbl", - "Wa": "wbm", - "Warlpiri": "wbp", - "Waddar": "wbq", - "Wagdi": "wbr", - "Warnman": "wbt", - "Wajarri": "wbv", - "Woi": "wbw", - "Yanomámi": "wca", - "Waci Gbe": "wci", - "Wandji": "wdd", - "Wadaginam": "wdg", - "Wadjiginy": "wdj", - "Wadjigu": "wdu", - "Wewaw": "wea", - "Wè Western": "wec", - "Wedau": "wed", - "Weh": "weh", - "Kiunum": "wei", - "Weme Gbe": "wem", - "Wemale": "weo", - "Westphalien": "wep", - "Weri": "wer", - "Cameroon Pidgin": "wes", - "Perai": "wet", - "Wejewa": "wew", - "Zorop": "wfg", - "Wagaya": "wga", - "Wagawaga": "wgb", - "Wangkangurru": "wgg", - "Wahgi": "wgi", - "Waigeo": "wgo", - "Wirangu": "wgu", - "Warrgamay": "wgy", - "Sou Upaa": "wha", - "North Wahgi": "whg", - "Wahau Kenyah": "whk", - "Southern Toussian": "wib", - "Wichita": "wic", - "Wik-Epa": "wie", - "Wik Ngathan": "wig", - "Wik-Me'anha": "wih", - "Minidien": "wii", - "Wik-Iiyanh": "wij", - "Wikalkan": "wik", - "Wilawila": "wil", - "Wik-Mungkan": "wim", - "Ho-Chunk": "win", - "Wiraféd": "wir", - "Wiru": "wiu", - "Vitu": "wiv", - "Wiyot": "wiy", - "Waja": "wja", - "Warji": "wji", - "Kw'adza": "wka", - "Wakde": "wkd", - "Kalanadi": "wkl", - "Kunduvadi": "wku", - "Wakawaka": "wkw", - "Walio": "wla", - "Mwali Comorian": "wlc", - "Wolane": "wle", - "Kunbarlang": "wlg", - "Welaun": "wlh", - "Waioli": "wli", - "Wailaki": "wlk", - "Wali (Sudan)": "wll", - "Walloon": "wln", - "Wolio": "wlo", - "Wailapa": "wlr", - "Wallisian": "wls", - "Wuliwuli": "wlu", - "Wichí Lhamtés Vejoz": "wlv", - "Walak": "wlw", - "Wali (Ghana)": "wlx", - "Waling": "wly", - "Wambaya": "wmb", - "Wamas": "wmc", - "Mamaindé": "wmd", - "Wambule": "wme", - "Western Minyag": "wmg", - "Waima'a": "wmh", - "Wamin": "wmi", - "Maiwa (Indonesia)": "wmm", - "Waamwang": "wmn", - "Wom (Papua New Guinea)": "wmo", - "Wambon": "wms", - "Walmajarri": "wmt", - "Mwani": "wmw", - "Womo": "wmx", - "Wanambre": "wnb", - "Wantoat": "wnc", - "Wandarang": "wnd", - "Waneci": "wne", - "Wanggom": "wng", - "Ndzwani Comorian": "wni", - "Wanukaka": "wnk", - "Wanggamala": "wnm", - "Wano": "wno", - "Wanap": "wnp", - "Usan": "wnu", - "Wintu": "wnw", - "Wanyi": "wny", - "Tyaraity": "woa", - "Wè Northern": "wob", - "Wogeo": "woc", - "Wolani": "wod", - "Woleaian": "woe", - "Gambian Wolof": "wof", - "Wogamusin": "wog", - "Kamang": "woi", - "Longto": "wok", - "Wolof": "wol", - "Wom (Nigeria)": "wom", - "Wongo": "won", - "Manombai": "woo", - "Woria": "wor", - "Hanga Hundi": "wos", - "Wawonii": "wow", - "Maco": "wpc", - "Warluwara": "wrb", - "Warungu": "wrg", - "Wiradjuri": "wrh", - "Wariyangga": "wri", - "Garrwa": "wrk", - "Warlmanpa": "wrl", - "Warumungu": "wrm", - "Warnang": "wrn", - "Worrorra": "wro", - "Waropen": "wrp", - "Wardaman": "wrr", - "Waris": "wrs", - "Waru": "wru", - "Waruna": "wrv", - "Gugu Warra": "wrw", - "Wae Rana": "wrx", - "Merwari": "wry", - "Waray (Australia)": "wrz", - "Warembori": "wsa", - "Wusi": "wsi", - "Waskia": "wsk", - "Owenia": "wsr", - "Wasa": "wss", - "Wotapuri-Katarqalai": "wsv", - "Watiwa": "wtf", - "Wathawurrung": "wth", - "Berta": "wti", - "Watakataui": "wtk", - "Mewati": "wtm", - "Wotu": "wtw", - "Wikngenchera": "wua", - "Wunambal": "wub", - "Wudu": "wud", - "Wutunhua": "wuh", - "Silimo": "wul", - "Wumbvu": "wum", - "Bungu": "wun", - "Wurrugu": "wur", - "Wutung": "wut", - "Wu Chinese": "wuu", - "Wuvulu-Aua": "wuv", - "Wulna": "wux", - "Wauyai": "wuy", - "Waama": "wwa", - "Wetamut": "wwo", - "Warrwa": "wwr", - "Wawa": "www", - "Waxianghua": "wxa", - "Wardandi": "wxw", - "Wyandot": "wya", - "Wangaaybuwan-Ngiyambaa": "wyb", - "Woiwurrung": "wyi", - "Wymysorys": "wym", - "Wayoró": "wyr", - "Western Fijian": "wyy", - "Andalusian Arabic": "xaa", - "Sambe": "xab", - "Kachari": "xac", - "Adai": "xad", - "Aghwan": "xag", - "Máku": "xak", - "Oirat": "xal", - "ǀXam": "xam", - "Xamtanga": "xan", - "Apalachee": "xap", - "Karami": "xar", - "Kamas": "xas", - "Katawixi": "xat", - "Kauwera": "xau", - "Xavánte": "xav", - "Kawaiisu": "xaw", - "Kayan Mahakam": "xay", - "Bactrian": "xbc", - "Bigambal": "xbe", - "Bunganditj": "xbg", - "Kombio": "xbi", - "Kenaboi": "xbn", - "Bolgarian": "xbo", - "Bibbulman": "xbp", - "Kambera": "xbr", - "Batyala": "xby", - "Celtiberian": "xce", - "Cisalpine Gaulish": "xcg", - "Chimakum": "xch", - "Classical Armenian": "xcl", - "Comecrudo": "xcm", - "Cotoname": "xcn", - "Chorasmian": "xco", - "Carian": "xcr", - "Classical Tibetan": "xct", - "Chuvantsy": "xcv", - "Coahuilteco": "xcw", - "Cayuse": "xcy", - "Darkinyung": "xda", - "Dacian": "xdc", - "Dharuk": "xdk", - "Kwandu": "xdo", - "Malayic Dayak": "xdy", - "Eblan": "xeb", - "Hdi": "xed", - "ǁXegwi": "xeg", - "Kelo": "xel", - "Kembayan": "xem", - "Xerénte": "xer", - "Kesawai": "xes", - "Xetá": "xet", - "Keoru-Ahia": "xeu", - "Faliscan": "xfa", - "Galatian": "xga", - "Gbin": "xgb", - "Gudang": "xgd", - "Gabrielino-Fernandeño": "xgf", - "Goreng": "xgg", - "Guwinmal": "xgm", - "Unggumi": "xgu", - "Guwa": "xgw", - "Hadrami": "xhd", - "Khetrani": "xhe", - "Xhosa": "xho", - "Hattic": "xht", - "Hurrian": "xhu", - "Iberian": "xib", - "Xiri": "xii", - "Xiriâna": "xir", - "Xipaya": "xiy", - "Minjungbal": "xjb", - "Kalkoti": "xka", - "Northern Nago": "xkb", - "Kho'ini": "xkc", - "Mendalam Kayan": "xkd", - "Kereho": "xke", - "Khengkha": "xkf", - "Kagoro": "xkg", - "Kajali": "xkj", - "Kaco'": "xkk", - "Mainstream Kenyah": "xkl", - "Kayan River Kayan": "xkn", - "Kabatei": "xkp", - "Koroni": "xkq", - "Xakriabá": "xkr", - "Kumbewaha": "xks", - "Kantosi": "xkt", - "Kaamba": "xku", - "Kgalagadi": "xkv", - "Kembra": "xkw", - "Karore": "xkx", - "Uma' Lasan": "xky", - "Kurtokha": "xkz", - "Kamula": "xla", - "Lycian": "xlc", - "Lydian": "xld", - "Loup A": "xlo", - "Lepontic": "xlp", - "Lusitanian": "xls", - "Cuneiform Luwian": "xlu", - "Mushungulu": "xma", - "Mbonga": "xmb", - "Makhuwa-Marrevone": "xmc", - "Mbudum": "xmd", - "Mingrelian": "xmf", - "Mengaka": "xmg", - "Kugu-Muminh": "xmh", - "Majera": "xmj", - "Manado Malay": "xmm", - "Kuku-Mu'inh": "xmp", - "Meroitic": "xmr", - "Matbat": "xmt", - "Kamu": "xmu", - "Tankarana Malagasy": "xmv", - "Tsimihety Malagasy": "xmw", - "Maden": "xmx", - "Mayaguduna": "xmy", - "Mori Bawah": "xmz", - "Ancient North Arabian": "xna", - "Kanakanabu": "xnb", - "Middle Mongolian": "xng", - "Ngarigu": "xni", - "Ngoni (Tanzania)": "xnj", - "Ngumbarl": "xnm", - "Northern Kankanay": "xnn", - "Ngoni (Mozambique)": "xnq", - "Kangri": "xnr", - "Kanashi": "xns", - "Nyiyaparli": "xny", - "Mattoki": "xnz", - "O'chi'chi'": "xoc", - "Kokoda": "xod", - "Soga": "xog", - "Kominimung": "xoi", - "Xokleng": "xok", - "Komo (Sudan)": "xom", - "Konkomba": "xon", - "Xukurú": "xoo", - "Kopar": "xop", - "Korubo": "xor", - "Kowaki": "xow", - "Pirriya": "xpa", - "Pecheneg": "xpc", - "Liberia Kpelle": "xpe", - "Phrygian": "xpg", - "Kulina Pano": "xpk", - "Pumpokol": "xpm", - "Pochutec": "xpo", - "Mohegan-Pequot": "xpq", - "Parthian": "xpr", - "Pisidian": "xps", - "Punthamara": "xpt", - "Punic": "xpu", - "Qatabanian": "xqt", - "Krahô": "xra", - "Eastern Karaboro": "xrb", - "Gundungurra": "xrd", - "Kreye": "xre", - "Krikati-Timbira": "xri", - "Arin": "xrn", - "Marriammu": "xru", - "Karawa": "xrw", - "Sabaean": "xsa", - "Sambal": "xsb", - "Sidetic": "xsd", - "Sempan": "xse", - "Shamang": "xsh", - "Sio": "xsi", - "South Slavey": "xsl", - "Kasem": "xsm", - "Sanga (Nigeria)": "xsn", - "Silopi": "xsp", - "Makhuwa-Saka": "xsq", - "Sherpa": "xsr", - "Sanumá": "xsu", - "Saisiyat": "xsy", - "Alcozauca Mixtec": "xta", - "Chazumba Mixtec": "xtb", - "Katcha-Kadugli-Miri": "xtc", - "Diuxi-Tilantongo Mixtec": "xtd", - "Ketengban": "xte", - "Transalpine Gaulish": "xtg", - "Yitha Yitha": "xth", - "Sinicahua Mixtec": "xti", - "San Juan Teita Mixtec": "xtj", - "Tijaltepec Mixtec": "xtl", - "Magdalena Peñasco Mixtec": "xtm", - "Northern Tlaxiaco Mixtec": "xtn", - "Tokharian A": "xto", - "San Miguel Piedras Mixtec": "xtp", - "Tumshuqese": "xtq", - "Sindihui Mixtec": "xts", - "Tacahua Mixtec": "xtt", - "Cuyamecalco Mixtec": "xtu", - "Thawa": "xtv", - "Tawandê": "xtw", - "Yoloxochitl Mixtec": "xty", - "Alu Kurumba": "xua", - "Betta Kurumba": "xub", - "Umiida": "xud", - "Kunigami": "xug", - "Jennu Kurumba": "xuj", - "Nunukul": "xul", - "Umbrian": "xum", - "Unggaranggu": "xun", - "Kuo": "xuo", - "Upper Umpqua": "xup", - "Urartian": "xur", - "Kuthant": "xut", - "Kxoe": "xuu", - "Venetic": "xve", - "Kamviri": "xvi", - "Kwaza": "xwa", - "Woccon": "xwc", - "Xwela Gbe": "xwe", - "Kwegu": "xwg", - "Wangkumara": "xwk", - "Western Xwla Gbe": "xwl", - "Kwerba Mamberamo": "xwr", - "Wotjobaluk": "xwt", - "Wemba Wemba": "xww", - "Boro (Ghana)": "xxb", - "Ke'o": "xxk", - "Minkin": "xxm", - "Koropó": "xxr", - "Tambora": "xxt", - "Yaygir": "xya", - "Yandjibara": "xyb", - "Mayi-Yapi": "xyj", - "Mayi-Kulan": "xyk", - "Mayi-Thakurti": "xyt", - "Yorta Yorta": "xyy", - "Zhang-Zhung": "xzh", - "Yaminahua": "yaa", - "Yuhup": "yab", - "Pass Valley Yali": "yac", - "Yagua": "yad", - "Pumé": "yae", - "Yaka (Democratic Republic of Congo)": "yaf", - "Yámana": "yag", - "Yazgulyam": "yah", - "Yagnobi": "yai", - "Banda-Yangere": "yaj", - "Yakama": "yak", - "Yalunka": "yal", - "Yamba": "yam", - "Mayangna": "yan", - "Yao": "yao", - "Yapese": "yap", - "Yaqui": "yaq", - "Yabarana": "yar", - "Nugunu (Cameroon)": "yas", - "Yambeta": "yat", - "Yuwana": "yau", - "Yangben": "yav", - "Yawalapití": "yaw", - "Agwagwune": "yay", - "Lokaa": "yaz", - "Yala": "yba", - "Yemba": "ybb", - "West Yugur": "ybe", - "Yakha": "ybh", - "Yamphu": "ybi", - "Hasha": "ybj", - "Bokha": "ybk", - "Yukuben": "ybl", - "Yaben": "ybm", - "Yabaâna": "ybn", - "Yabong": "ybo", - "Yawiyo": "ybx", - "Yaweyuha": "yby", - "Chesu": "ych", - "Lolopo": "ycl", - "Yucuna": "ycn", - "Chepya": "ycp", - "Yanda": "yda", - "Eastern Yiddish": "ydd", - "Yangum Dey": "yde", - "Yidgha": "ydg", - "Yoidik": "ydk", - "Ravula": "yea", - "Yimas": "yee", - "Yeni": "yei", - "Yevanic": "yej", - "Yela": "yel", - "Tarok": "yer", - "Nyankpa": "yes", - "Yetfa": "yet", - "Yerukula": "yeu", - "Yapunda": "yev", - "Yeyi": "yey", - "Malyangapa": "yga", - "Yangum Gel": "ygl", - "Yagomi": "ygm", - "Gepo": "ygp", - "Yagaria": "ygr", - "Yagwoia": "ygw", - "Baha Buyang": "yha", - "Judeo-Iraqi Arabic": "yhd", - "Hlepho Phowa": "yhl", - "Yinggarda": "yia", - "Ache": "yif", - "Wusa Nasu": "yig", - "Western Yiddish": "yih", - "Yidiny": "yii", - "Yindjibarndi": "yij", - "Dongshanba Lalo": "yik", - "Yindjilandji": "yil", - "Yimchungru Naga": "yim", - "Yinchia": "yin", - "Pholo": "yip", - "Miqie": "yiq", - "North Awyu": "yir", - "Yis": "yis", - "Eastern Lalu": "yit", - "Awu": "yiu", - "Northern Nisu": "yiv", - "Axi Yi": "yix", - "Azhe": "yiz", - "Yakan": "yka", - "Northern Yukaghir": "ykg", - "Yoke": "yki", - "Yakaikeke": "ykk", - "Khlula": "ykl", - "Kap": "ykm", - "Kua-nsi": "ykn", - "Yasa": "yko", - "Yekora": "ykr", - "Kathu": "ykt", - "Kuamasi": "yku", - "Yakoma": "yky", - "Yaul": "yla", - "Yele": "yle", - "Yelogu": "ylg", - "Angguruk Yali": "yli", - "Yil": "yll", - "Limi": "ylm", - "Langnian Buyang": "yln", - "Naluo Yi": "ylo", - "Yalarnnga": "ylr", - "Aribwaung": "ylu", - "Nyelâyu": "yly", - "Yambes": "ymb", - "Southern Muji": "ymc", - "Muda": "ymd", - "Yameo": "yme", - "Mili": "ymh", - "Moji": "ymi", - "Makwe": "ymk", - "Iamalele": "yml", - "Maay": "ymm", - "Yamna": "ymn", - "Yangum Mon": "ymo", - "Yamap": "ymp", - "Qila Muji": "ymq", - "Malasar": "ymr", - "Northern Muji": "ymx", - "Muzi": "ymz", - "Aluo": "yna", - "Yandruwandha": "ynd", - "Yango": "yng", - "Naukan Yupik": "ynk", - "Yangulam": "ynl", - "Yana": "ynn", - "Yong": "yno", - "Yendang": "ynq", - "Yansi": "yns", - "Yahuna": "ynu", - "Yoba": "yob", - "Yogad": "yog", - "Yonaguni": "yoi", - "Yokuts": "yok", - "Yombe": "yom", - "Yongkom": "yon", - "Yoruba": "yor", - "Yotti": "yot", - "Yoron": "yox", - "Yoy": "yoy", - "Phala": "ypa", - "Labo Phowa": "ypb", - "Phola": "ypg", - "Phupha": "yph", - "Phuma": "ypm", - "Ani Phowa": "ypn", - "Alo Phola": "ypo", - "Phupa": "ypp", - "Phuza": "ypz", - "Yerakai": "yra", - "Yareba": "yrb", - "Yaouré": "yre", - "Nenets": "yrk", - "Nhengatu": "yrl", - "Yerong": "yrn", - "Yaroamë": "yro", - "Yarawata": "yrw", - "Yarluyandi": "yry", - "Samatao": "ysd", - "Sonaga": "ysg", - "Sani": "ysn", - "Nisi (China)": "yso", - "Sirenik Yupik": "ysr", - "Yessan-Mayo": "yss", - "Sanie": "ysy", - "Talu": "yta", - "Tanglang": "ytl", - "Thopho": "ytp", - "Yout Wam": "ytw", - "Yucateco": "yua", - "Yugambal": "yub", - "Yuchi": "yuc", - "Judeo-Tripolitanian Arabic": "yud", - "Cantonese Chinese": "yue", - "Havasupai-Walapai-Yavapai": "yuf", - "Yug": "yug", - "Yurutí": "yui", - "Karkar-Yuri": "yuj", - "Yuki": "yuk", - "Yulu": "yul", - "Quechan": "yum", - "Bena (Nigeria)": "yun", - "Yukpa": "yup", - "Yuqui": "yuq", - "Yurok": "yur", - "Yopno": "yut", - "Yau (Morobe Province)": "yuw", - "Southern Yukaghir": "yux", - "East Yugur": "yuy", - "Yuracare": "yuz", - "Yawa": "yva", - "Yavitero": "yvt", - "Kalou": "ywa", - "Yinhawangka": "ywg", - "Western Lalu": "ywl", - "Yawanawa": "ywn", - "Wuding-Luquan Yi": "ywq", - "Yawuru": "ywr", - "Xishanba Lalo": "ywt", - "Wumeng Nasu": "ywu", - "Yawarawarga": "yww", - "Yagara": "yxg", - "Yardliyawarra": "yxl", - "Yinwum": "yxm", - "Yabula Yabula": "yxy", - "Yir Yoront": "yyr", - "Yau (Sandaun Province)": "yyu", - "Ayizi": "yyz", - "E'ma Buyang": "yzg", - "Zokhuo": "yzk", - "Sierra de Juárez Zapotec": "zaa", - "Western Tlacolula Valley Zapotec": "zab", - "Ocotlán Zapotec": "zac", - "Cajonos Zapotec": "zad", - "Yareni Zapotec": "zae", - "Ayoquesco Zapotec": "zaf", - "Zaghawa": "zag", - "Zangwal": "zah", - "Isthmus Zapotec": "zai", - "Zaramo": "zaj", - "Zanaki": "zak", - "Zauzou": "zal", - "Miahuatlán Zapotec": "zam", - "Ozolotepec Zapotec": "zao", - "Aloápam Zapotec": "zaq", - "Rincón Zapotec": "zar", - "Santo Domingo Albarradas Zapotec": "zas", - "Tabaa Zapotec": "zat", - "Zangskari": "zau", - "Yatzachi Zapotec": "zav", - "Mitla Zapotec": "zaw", - "Xadani Zapotec": "zax", - "Zayse-Zergulla": "zay", - "Zari": "zaz", - "Central Berawan": "zbc", - "East Berawan": "zbe", - "Batui": "zbt", - "Bu (Bauchi State)": "zbu", - "West Berawan": "zbw", - "Coatecas Altas Zapotec": "zca", - "Central Hongshuihe Zhuang": "zch", - "Ngazidja Comorian": "zdj", - "Zeeuws": "zea", - "Zenag": "zeg", - "Eastern Hongshuihe Zhuang": "zeh", - "Zenaga": "zen", - "Kinga": "zga", - "Guibei Zhuang": "zgb", - "Minz Zhuang": "zgm", - "Guibian Zhuang": "zgn", - "Magori": "zgr", - "Zhaba": "zhb", - "Dai Zhuang": "zhd", - "Zhire": "zhi", - "Nong Zhuang": "zhn", - "Zhoa": "zhw", - "Zia": "zia", - "Zimakani": "zik", - "Zialo": "zil", - "Mesme": "zim", - "Zinza": "zin", - "Zigula": "ziw", - "Zizilivakan": "ziz", - "Kaimbulawa": "zka", - "Karankawa": "zkk", - "Kott": "zko", - "São Paulo Kaingáng": "zkp", - "Zakhring": "zkr", - "Kitan": "zkt", - "Kaurna": "zku", - "Zula": "zla", - "Liujiang Zhuang": "zlj", - "Malay": "zlm", - "Lianshan Zhuang": "zln", - "Liuqian Zhuang": "zlq", - "Manda (Australia)": "zma", - "Zimba": "zmb", - "Margany": "zmc", - "Maridan": "zmd", - "Mangerr": "zme", - "Mfinu": "zmf", - "Marti Ke": "zmg", - "Makolkol": "zmh", - "Negeri Sembilan Malay": "zmi", - "Maridjabin": "zmj", - "Mandandanyi": "zmk", - "Matngala": "zml", - "Marramaninyshi": "zmm", - "Mbangwe": "zmn", - "Molo": "zmo", - "Mpuono": "zmp", - "Mituku": "zmq", - "Maranunggu": "zmr", - "Mbesa": "zms", - "Maringarr": "zmt", - "Muruwari": "zmu", - "Mbariman-Gudhinma": "zmv", - "Mbo (Democratic Republic of Congo)": "zmw", - "Bomitaba": "zmx", - "Mariyedi": "zmy", - "Mbandja": "zmz", - "Zan Gula": "zna", - "Zande": "zne", - "Mang": "zng", - "Mangas": "zns", - "Copainalá Zoque": "zoc", - "Chimalapa Zoque": "zoh", - "Zou": "zom", - "Asunción Mixtepec Zapotec": "zoo", - "Tabasco Zoque": "zoq", - "Rayón Zoque": "zor", - "Francisco León Zoque": "zos", - "Lachiguiri Zapotec": "zpa", - "Yautepec Zapotec": "zpb", - "Choapan Zapotec": "zpc", - "Southeastern Ixtlán Zapotec": "zpd", - "Petapa Zapotec": "zpe", - "San Pedro Quiatoni Zapotec": "zpf", - "Guevea De Humboldt Zapotec": "zpg", - "Totomachapan Zapotec": "zph", - "Santa María Quiegolani Zapotec": "zpi", - "Quiavicuzas Zapotec": "zpj", - "Tlacolulita Zapotec": "zpk", - "Lachixío Zapotec": "zpl", - "Mixtepec Zapotec": "zpm", - "Santa Inés Yatzechi Zapotec": "zpn", - "Amatlán Zapotec": "zpo", - "El Alto Zapotec": "zpp", - "Zoogocho Zapotec": "zpq", - "Santiago Xanica Zapotec": "zpr", - "Coatlán Zapotec": "zps", - "San Vicente Coatlán Zapotec": "zpt", - "Yalálag Zapotec": "zpu", - "Chichicapan Zapotec": "zpv", - "Zaniza Zapotec": "zpw", - "San Baltazar Loxicha Zapotec": "zpx", - "Mazaltepec Zapotec": "zpy", - "Texmelucan Zapotec": "zpz", - "Qiubei Zhuang": "zqe", - "Zerenkel": "zrn", - "Záparo": "zro", - "Mairasi": "zrs", - "Sarasira": "zsa", - "Standard Malay": "zsm", - "Southern Rincon Zapotec": "zsr", - "Sukurum": "zsu", - "Elotepec Zapotec": "zte", - "Xanaguía Zapotec": "ztg", - "Lapaguía-Guivini Zapotec": "ztl", - "San Agustín Mixtepec Zapotec": "ztm", - "Santa Catarina Albarradas Zapotec": "ztn", - "Loxicha Zapotec": "ztp", - "Quioquitani-Quierí Zapotec": "ztq", - "Tilquiapan Zapotec": "zts", - "Tejalapan Zapotec": "ztt", - "Güilá Zapotec": "ztu", - "Zaachila Zapotec": "ztx", - "Yatee Zapotec": "zty", - "Zeem": "zua", - "Tokano": "zuh", - "Zulu": "zul", - "Kumzari": "zum", - "Zuni": "zun", - "Zumaya": "zuy", - "Zay": "zwa", - "Yongbei Zhuang": "zyb", - "Yang Zhuang": "zyg", - "Youjiang Zhuang": "zyj", - "Yongnan Zhuang": "zyn", - "Zyphe Chin": "zyp", - "Zuojiang Zhuang": "zzj", - "American English": "en-us", - "Scottish English": "en-sc", - "Belgian French": "fr-be", - "Swiss French": "fr-sw", - "Brazilian Portuguese": "pt-br", - "Latin American Spanish": "spa-lat", - "Central Vietnamese": "vi-ctr", - "Southern Vietnamese": "vi-so" - }, - { - "afr": "af", - "aln": "sq", - "amh": "am", - "arg": "an", - "hye": "hy", - "hyw": "hyw", - "asm": "as", - "azj": "az", - "bak": "ba", - "chv": "cu", - "bel": "be", - "ben": "bn", - "mni": "bpy", - "bos": "bs", - "bul": "bg", - "mya": "my", - "cat": "ca", - "chr": "chr", - "yue": "yue", - "hak": "hak", - "haw": "haw", - "cmn": "cmn", - "hrv": "hr", - "ces": "cs", - "dan": "da", - "nld": "nl", - "eng": "en", - "en-us": "en-us", - "en-sc": "en-gb-scotland", - "ekk": "et", - "pes": "fa-latn", - "fin": "fi", - "fr-be": "fr-be", - "fra": "fr", - "fr-sw": "fr-ch", - "gle": "ga", - "gla": "gd", - "kat": "ka", - "deu": "de", - "grc": "grc", - "ell": "el", - "kal": "kl", - "guj": "gu", - "hat": "ht", - "heb": "he", - "hin": "hi", - "hun": "hu", - "isl": "is", - "ind": "id", - "ita": "it", - "jpn": "ja", - "kan": "kn", - "knn": "kok", - "ckb": "ku", - "kaz": "kk", - "kir": "ky", - "lat": "la", - "ltz": "lb", - "lvs": "lv", - "lit": "lt", - "mri": "mi", - "mkd": "mk", - "zlm": "ms", - "mal": "ml", - "mlt": "mt", - "mar": "mr", - "nci": "nci", - "npi": "ne", - "nob": "nb", - "nog": "nog", - "ory": "or", - "gaz": "om", - "pap": "pap", - "pol": "pl", - "pt-br": "pt-br", - "por": "pt", - "pan": "pa", - "ron": "ro", - "rus": "ru", - "lav": "ru-lv", - "ukr": "uk", - "srp": "sr", - "tsn": "tn", - "snd": "sd", - "cuu": "shn", - "sin": "si", - "slk": "sk", - "slv": "sl", - "smj": "smj", - "spa": "es", - "spa-lat": "es-419", - "swh": "sw", - "swe": "sv", - "tam": "ta", - "tha": "th", - "tuk": "tk", - "tat": "tt", - "tel": "te", - "tur": "tr", - "uig": "ug", - "urd": "ur", - "uzn": "uz", - "vi-ctr": "vi-vn-x-central", - "vie": "vi", - "vi-so": "vi-vn-x-south", - "cym": "cy" - }, - { - "aaa": 1, - "aab": 2, - "aac": 3, - "aad": 4, - "aae": 5, - "aaf": 6, - "aag": 7, - "aah": 8, - "aai": 9, - "aak": 10, - "aal": 11, - "aan": 12, - "aao": 13, - "aap": 14, - "aaq": 15, - "aar": 16, - "aas": 17, - "aat": 18, - "aau": 19, - "aaw": 20, - "aax": 21, - "aaz": 22, - "aba": 23, - "abb": 24, - "abc": 25, - "abd": 26, - "abe": 27, - "abf": 28, - "abg": 29, - "abh": 30, - "abi": 31, - "abj": 32, - "abk": 33, - "abl": 34, - "abm": 35, - "abn": 36, - "abo": 37, - "abp": 38, - "abq": 39, - "abr": 40, - "abs": 41, - "abt": 42, - "abu": 43, - "abv": 44, - "abw": 45, - "abx": 46, - "aby": 47, - "abz": 48, - "aca": 49, - "acd": 50, - "ace": 51, - "acf": 52, - "ach": 53, - "aci": 54, - "ack": 55, - "acl": 56, - "acm": 57, - "acn": 58, - "acp": 59, - "acq": 60, - "acr": 61, - "acs": 62, - "act": 63, - "acu": 64, - "acv": 65, - "acw": 66, - "acx": 67, - "acy": 68, - "acz": 69, - "ada": 70, - "add": 71, - "ade": 72, - "adf": 73, - "adg": 74, - "adh": 75, - "adi": 76, - "adj": 77, - "adl": 78, - "adn": 79, - "ado": 80, - "adq": 81, - "adr": 82, - "adt": 83, - "adw": 84, - "adx": 85, - "ady": 86, - "adz": 87, - "aea": 88, - "aeb": 89, - "aec": 90, - "aee": 91, - "aek": 92, - "ael": 93, - "aem": 94, - "aeq": 95, - "aer": 96, - "aes": 97, - "aeu": 98, - "aew": 99, - "aey": 100, - "aez": 101, - "afb": 102, - "afd": 103, - "afe": 104, - "afi": 105, - "afk": 106, - "afn": 107, - "afo": 108, - "afp": 109, - "afr": 110, - "afs": 111, - "aft": 112, - "afu": 113, - "afz": 114, - "agb": 115, - "agc": 116, - "agd": 117, - "age": 118, - "agf": 119, - "agg": 120, - "agh": 121, - "agj": 122, - "agk": 123, - "agl": 124, - "agm": 125, - "agn": 126, - "ago": 127, - "agq": 128, - "agr": 129, - "ags": 130, - "agt": 131, - "agu": 132, - "agv": 133, - "agw": 134, - "agx": 135, - "agy": 136, - "agz": 137, - "aha": 138, - "ahb": 139, - "ahg": 140, - "ahh": 141, - "ahi": 142, - "ahk": 143, - "ahl": 144, - "ahm": 145, - "ahn": 146, - "aho": 147, - "ahp": 148, - "ahs": 149, - "aht": 150, - "aia": 151, - "aib": 152, - "aic": 153, - "aid": 154, - "aie": 155, - "aif": 156, - "aig": 157, - "aih": 158, - "aii": 159, - "aij": 160, - "aik": 161, - "ail": 162, - "aim": 163, - "ain": 164, - "aio": 165, - "aip": 166, - "aiq": 167, - "air": 168, - "ait": 169, - "aiw": 170, - "aix": 171, - "aiy": 172, - "aja": 173, - "ajg": 174, - "aji": 175, - "ajn": 176, - "ajp": 177, - "ajt": 178, - "aju": 179, - "ajw": 180, - "ajz": 181, - "aka": 182, - "akb": 183, - "akc": 184, - "akd": 185, - "ake": 186, - "akf": 187, - "akg": 188, - "akh": 189, - "aki": 190, - "akj": 191, - "akk": 192, - "akl": 193, - "akm": 194, - "ako": 195, - "akp": 196, - "akq": 197, - "akr": 198, - "aks": 199, - "akt": 200, - "aku": 201, - "akv": 202, - "akw": 203, - "akx": 204, - "aky": 205, - "akz": 206, - "ala": 207, - "alc": 208, - "ald": 209, - "ale": 210, - "alf": 211, - "alh": 212, - "ali": 213, - "alj": 214, - "alk": 215, - "all": 216, - "alm": 217, - "aln": 218, - "alo": 219, - "alp": 220, - "alq": 221, - "alr": 222, - "als": 223, - "alt": 224, - "alu": 225, - "alw": 226, - "alx": 227, - "aly": 228, - "alz": 229, - "ama": 230, - "amb": 231, - "amc": 232, - "ame": 233, - "amf": 234, - "amg": 235, - "amh": 236, - "ami": 237, - "amj": 238, - "amk": 239, - "aml": 240, - "amm": 241, - "amn": 242, - "amo": 243, - "amp": 244, - "amq": 245, - "amr": 246, - "ams": 247, - "amt": 248, - "amu": 249, - "amv": 250, - "amw": 251, - "amx": 252, - "amy": 253, - "amz": 254, - "ana": 255, - "anb": 256, - "anc": 257, - "and": 258, - "ane": 259, - "anf": 260, - "ang": 261, - "anh": 262, - "ani": 263, - "anj": 264, - "ank": 265, - "anl": 266, - "anm": 267, - "ann": 268, - "ano": 269, - "anp": 270, - "anq": 271, - "anr": 272, - "ans": 273, - "ant": 274, - "anu": 275, - "anv": 276, - "anw": 277, - "anx": 278, - "any": 279, - "anz": 280, - "aoa": 281, - "aob": 282, - "aoc": 283, - "aod": 284, - "aoe": 285, - "aof": 286, - "aog": 287, - "aoi": 288, - "aoj": 289, - "aok": 290, - "aol": 291, - "aom": 292, - "aon": 293, - "aor": 294, - "aos": 295, - "aot": 296, - "aou": 297, - "aox": 298, - "aoz": 299, - "apb": 300, - "apc": 301, - "apd": 302, - "ape": 303, - "apf": 304, - "apg": 305, - "aph": 306, - "api": 307, - "apj": 308, - "apk": 309, - "apl": 310, - "apm": 311, - "apn": 312, - "apo": 313, - "app": 314, - "apq": 315, - "apr": 316, - "aps": 317, - "apt": 318, - "apu": 319, - "apw": 320, - "apx": 321, - "apy": 322, - "apz": 323, - "aqc": 324, - "aqd": 325, - "aqg": 326, - "aqk": 327, - "aqm": 328, - "aqn": 329, - "aqp": 330, - "aqr": 331, - "aqt": 332, - "aqz": 333, - "arb": 334, - "arc": 335, - "ard": 336, - "are": 337, - "arg": 338, - "arh": 339, - "ari": 340, - "arj": 341, - "ark": 342, - "arl": 343, - "arn": 344, - "aro": 345, - "arp": 346, - "arq": 347, - "arr": 348, - "ars": 349, - "aru": 350, - "arv": 351, - "arw": 352, - "arx": 353, - "ary": 354, - "arz": 355, - "asa": 356, - "asb": 357, - "asc": 358, - "asg": 359, - "ash": 360, - "asi": 361, - "asj": 362, - "ask": 363, - "asl": 364, - "asm": 365, - "asn": 366, - "aso": 367, - "asr": 368, - "ass": 369, - "ast": 370, - "asu": 371, - "asv": 372, - "asx": 373, - "asy": 374, - "asz": 375, - "ata": 376, - "atb": 377, - "atc": 378, - "atd": 379, - "ate": 380, - "atg": 381, - "ati": 382, - "atj": 383, - "atk": 384, - "atl": 385, - "atm": 386, - "atn": 387, - "ato": 388, - "atp": 389, - "atq": 390, - "atr": 391, - "ats": 392, - "att": 393, - "atu": 394, - "atv": 395, - "atw": 396, - "atx": 397, - "aty": 398, - "atz": 399, - "aua": 400, - "aub": 401, - "auc": 402, - "aud": 403, - "aug": 404, - "auh": 405, - "aui": 406, - "auj": 407, - "auk": 408, - "aul": 409, - "aum": 410, - "aun": 411, - "auo": 412, - "aup": 413, - "auq": 414, - "aur": 415, - "aut": 416, - "auu": 417, - "auw": 418, - "aux": 419, - "auy": 420, - "auz": 421, - "ava": 422, - "avb": 423, - "avd": 424, - "ave": 425, - "avi": 426, - "avl": 427, - "avm": 428, - "avn": 429, - "avs": 430, - "avt": 431, - "avu": 432, - "avv": 433, - "awa": 434, - "awb": 435, - "awc": 436, - "awe": 437, - "awg": 438, - "awh": 439, - "awi": 440, - "awk": 441, - "awm": 442, - "awn": 443, - "awo": 444, - "awr": 445, - "aws": 446, - "awt": 447, - "awu": 448, - "awv": 449, - "aww": 450, - "awx": 451, - "awy": 452, - "axb": 453, - "axg": 454, - "axk": 455, - "axl": 456, - "axx": 457, - "aya": 458, - "ayb": 459, - "ayc": 460, - "ayd": 461, - "aye": 462, - "ayg": 463, - "ayh": 464, - "ayi": 465, - "ayk": 466, - "ayl": 467, - "ayn": 468, - "ayo": 469, - "ayp": 470, - "ayq": 471, - "ayr": 472, - "ayt": 473, - "ayu": 474, - "ayz": 475, - "aza": 476, - "azb": 477, - "azd": 478, - "azg": 479, - "azj": 480, - "azm": 481, - "azn": 482, - "azo": 483, - "azt": 484, - "azz": 485, - "baa": 486, - "bab": 487, - "bac": 488, - "bae": 489, - "baf": 490, - "bag": 491, - "bah": 492, - "baj": 493, - "bak": 494, - "bam": 495, - "ban": 496, - "bao": 497, - "bap": 498, - "bar": 499, - "bas": 500, - "bau": 501, - "bav": 502, - "baw": 503, - "bax": 504, - "bay": 505, - "bba": 506, - "bbb": 507, - "bbc": 508, - "bbd": 509, - "bbe": 510, - "bbf": 511, - "bbg": 512, - "bbh": 513, - "bbi": 514, - "bbj": 515, - "bbk": 516, - "bbl": 517, - "bbm": 518, - "bbn": 519, - "bbo": 520, - "bbp": 521, - "bbq": 522, - "bbr": 523, - "bbs": 524, - "bbt": 525, - "bbu": 526, - "bbv": 527, - "bbw": 528, - "bby": 529, - "bca": 530, - "bcc": 531, - "bcd": 532, - "bce": 533, - "bcf": 534, - "bcg": 535, - "bch": 536, - "bci": 537, - "bcj": 538, - "bck": 539, - "bcl": 540, - "bcm": 541, - "bcn": 542, - "bco": 543, - "bcp": 544, - "bcq": 545, - "bcr": 546, - "bcs": 547, - "bct": 548, - "bcu": 549, - "bcv": 550, - "bcw": 551, - "bcy": 552, - "bcz": 553, - "bda": 554, - "bdb": 555, - "bdc": 556, - "bdd": 557, - "bde": 558, - "bdf": 559, - "bdg": 560, - "bdh": 561, - "bdi": 562, - "bdj": 563, - "bdk": 564, - "bdl": 565, - "bdm": 566, - "bdn": 567, - "bdo": 568, - "bdp": 569, - "bdq": 570, - "bdr": 571, - "bds": 572, - "bdt": 573, - "bdu": 574, - "bdv": 575, - "bdw": 576, - "bdx": 577, - "bdy": 578, - "bea": 579, - "beb": 580, - "bec": 581, - "bed": 582, - "bee": 583, - "bef": 584, - "beg": 585, - "beh": 586, - "bei": 587, - "bej": 588, - "bek": 589, - "bel": 590, - "bem": 591, - "ben": 592, - "beo": 593, - "bep": 594, - "beq": 595, - "bes": 596, - "bet": 597, - "beu": 598, - "bev": 599, - "bew": 600, - "bex": 601, - "bey": 602, - "bez": 603, - "bfa": 604, - "bfb": 605, - "bfc": 606, - "bfd": 607, - "bfe": 608, - "bff": 609, - "bfg": 610, - "bfh": 611, - "bfj": 612, - "bfl": 613, - "bfm": 614, - "bfn": 615, - "bfo": 616, - "bfp": 617, - "bfq": 618, - "bfs": 619, - "bft": 620, - "bfu": 621, - "bfw": 622, - "bfx": 623, - "bfy": 624, - "bfz": 625, - "bga": 626, - "bgb": 627, - "bgc": 628, - "bgd": 629, - "bge": 630, - "bgf": 631, - "bgg": 632, - "bgi": 633, - "bgj": 634, - "bgk": 635, - "bgl": 636, - "bgn": 637, - "bgo": 638, - "bgp": 639, - "bgq": 640, - "bgr": 641, - "bgs": 642, - "bgt": 643, - "bgu": 644, - "bgv": 645, - "bgw": 646, - "bgx": 647, - "bgy": 648, - "bgz": 649, - "bha": 650, - "bhb": 651, - "bhc": 652, - "bhd": 653, - "bhe": 654, - "bhf": 655, - "bhg": 656, - "bhh": 657, - "bhi": 658, - "bhj": 659, - "bhl": 660, - "bhm": 661, - "bhn": 662, - "bho": 663, - "bhp": 664, - "bhq": 665, - "bhr": 666, - "bhs": 667, - "bht": 668, - "bhu": 669, - "bhv": 670, - "bhw": 671, - "bhy": 672, - "bhz": 673, - "bia": 674, - "bib": 675, - "bid": 676, - "bie": 677, - "bif": 678, - "big": 679, - "bil": 680, - "bim": 681, - "bin": 682, - "bio": 683, - "bip": 684, - "biq": 685, - "bir": 686, - "bis": 687, - "bit": 688, - "biu": 689, - "biv": 690, - "biw": 691, - "bix": 692, - "biy": 693, - "biz": 694, - "bja": 695, - "bjb": 696, - "bjc": 697, - "bje": 698, - "bjf": 699, - "bjg": 700, - "bjh": 701, - "bji": 702, - "bjj": 703, - "bjk": 704, - "bjl": 705, - "bjm": 706, - "bjn": 707, - "bjo": 708, - "bjr": 709, - "bjs": 710, - "bjt": 711, - "bju": 712, - "bjv": 713, - "bjw": 714, - "bjx": 715, - "bjy": 716, - "bjz": 717, - "bka": 718, - "bkc": 719, - "bkd": 720, - "bkf": 721, - "bkh": 722, - "bki": 723, - "bkj": 724, - "bkk": 725, - "bkl": 726, - "bkm": 727, - "bkn": 728, - "bko": 729, - "bkp": 730, - "bkq": 731, - "bkr": 732, - "bks": 733, - "bkt": 734, - "bku": 735, - "bkv": 736, - "bkw": 737, - "bkx": 738, - "bky": 739, - "bkz": 740, - "bla": 741, - "blb": 742, - "blc": 743, - "bld": 744, - "ble": 745, - "blf": 746, - "blh": 747, - "bli": 748, - "blj": 749, - "blk": 750, - "bll": 751, - "blm": 752, - "bln": 753, - "blo": 754, - "blp": 755, - "blq": 756, - "blr": 757, - "bls": 758, - "blt": 759, - "blv": 760, - "blw": 761, - "blx": 762, - "bly": 763, - "blz": 764, - "bma": 765, - "bmb": 766, - "bmc": 767, - "bmd": 768, - "bme": 769, - "bmf": 770, - "bmg": 771, - "bmh": 772, - "bmi": 773, - "bmj": 774, - "bmk": 775, - "bml": 776, - "bmm": 777, - "bmn": 778, - "bmo": 779, - "bmp": 780, - "bmq": 781, - "bmr": 782, - "bms": 783, - "bmt": 784, - "bmu": 785, - "bmv": 786, - "bmw": 787, - "bmx": 788, - "bmz": 789, - "bna": 790, - "bnb": 791, - "bnc": 792, - "bnd": 793, - "bne": 794, - "bnf": 795, - "bng": 796, - "bni": 797, - "bnj": 798, - "bnk": 799, - "bnl": 800, - "bnm": 801, - "bnn": 802, - "bno": 803, - "bnp": 804, - "bnq": 805, - "bnr": 806, - "bns": 807, - "bnu": 808, - "bnv": 809, - "bnw": 810, - "bnx": 811, - "bny": 812, - "bnz": 813, - "boa": 814, - "bob": 815, - "bod": 816, - "boe": 817, - "bof": 818, - "boh": 819, - "boi": 820, - "boj": 821, - "bok": 822, - "bol": 823, - "bom": 824, - "bon": 825, - "boo": 826, - "bop": 827, - "boq": 828, - "bor": 829, - "bos": 830, - "bot": 831, - "bou": 832, - "bov": 833, - "bow": 834, - "box": 835, - "boy": 836, - "boz": 837, - "bpa": 838, - "bpd": 839, - "bpe": 840, - "bpg": 841, - "bph": 842, - "bpi": 843, - "bpj": 844, - "bpk": 845, - "bpm": 846, - "bpn": 847, - "bpp": 848, - "bpq": 849, - "bpr": 850, - "bps": 851, - "bpt": 852, - "bpu": 853, - "bpv": 854, - "bpw": 855, - "bpx": 856, - "bpy": 857, - "bpz": 858, - "bqa": 859, - "bqb": 860, - "bqc": 861, - "bqd": 862, - "bqg": 863, - "bqh": 864, - "bqi": 865, - "bqj": 866, - "bqk": 867, - "bql": 868, - "bqm": 869, - "bqo": 870, - "bqp": 871, - "bqq": 872, - "bqr": 873, - "bqs": 874, - "bqt": 875, - "bqu": 876, - "bqv": 877, - "bqw": 878, - "bqx": 879, - "bqz": 880, - "bra": 881, - "brb": 882, - "brc": 883, - "brd": 884, - "bre": 885, - "brf": 886, - "brg": 887, - "brh": 888, - "bri": 889, - "brj": 890, - "brk": 891, - "brl": 892, - "brm": 893, - "brn": 894, - "bro": 895, - "brp": 896, - "brq": 897, - "brr": 898, - "brs": 899, - "brt": 900, - "bru": 901, - "brv": 902, - "brw": 903, - "brx": 904, - "bry": 905, - "brz": 906, - "bsa": 907, - "bsb": 908, - "bsc": 909, - "bse": 910, - "bsf": 911, - "bsg": 912, - "bsh": 913, - "bsi": 914, - "bsj": 915, - "bsk": 916, - "bsl": 917, - "bsm": 918, - "bsn": 919, - "bsp": 920, - "bsq": 921, - "bsr": 922, - "bss": 923, - "bst": 924, - "bsu": 925, - "bsw": 926, - "bsx": 927, - "bsy": 928, - "bta": 929, - "btc": 930, - "btd": 931, - "bte": 932, - "btf": 933, - "btg": 934, - "bth": 935, - "bti": 936, - "btj": 937, - "btm": 938, - "btn": 939, - "bto": 940, - "btp": 941, - "btq": 942, - "btr": 943, - "bts": 944, - "btt": 945, - "btu": 946, - "btv": 947, - "btw": 948, - "btx": 949, - "bty": 950, - "btz": 951, - "bub": 952, - "buc": 953, - "bud": 954, - "bue": 955, - "buf": 956, - "bug": 957, - "buh": 958, - "bui": 959, - "buj": 960, - "buk": 961, - "bul": 962, - "bum": 963, - "bun": 964, - "buo": 965, - "bup": 966, - "buq": 967, - "bus": 968, - "but": 969, - "buu": 970, - "buv": 971, - "buw": 972, - "bux": 973, - "buy": 974, - "buz": 975, - "bva": 976, - "bvb": 977, - "bvc": 978, - "bvd": 979, - "bve": 980, - "bvf": 981, - "bvg": 982, - "bvh": 983, - "bvi": 984, - "bvj": 985, - "bvk": 986, - "bvm": 987, - "bvn": 988, - "bvo": 989, - "bvq": 990, - "bvr": 991, - "bvt": 992, - "bvu": 993, - "bvv": 994, - "bvw": 995, - "bvx": 996, - "bvy": 997, - "bvz": 998, - "bwa": 999, - "bwb": 1000, - "bwc": 1001, - "bwd": 1002, - "bwe": 1003, - "bwf": 1004, - "bwg": 1005, - "bwh": 1006, - "bwi": 1007, - "bwj": 1008, - "bwk": 1009, - "bwl": 1010, - "bwm": 1011, - "bwn": 1012, - "bwo": 1013, - "bwp": 1014, - "bwq": 1015, - "bwr": 1016, - "bws": 1017, - "bwt": 1018, - "bwu": 1019, - "bww": 1020, - "bwx": 1021, - "bwy": 1022, - "bwz": 1023, - "bxa": 1024, - "bxb": 1025, - "bxc": 1026, - "bxd": 1027, - "bxe": 1028, - "bxf": 1029, - "bxg": 1030, - "bxh": 1031, - "bxi": 1032, - "bxj": 1033, - "bxk": 1034, - "bxl": 1035, - "bxm": 1036, - "bxn": 1037, - "bxp": 1038, - "bxq": 1039, - "bxr": 1040, - "bxs": 1041, - "bxu": 1042, - "bxv": 1043, - "bxw": 1044, - "bxz": 1045, - "bya": 1046, - "byb": 1047, - "byc": 1048, - "byd": 1049, - "bye": 1050, - "byf": 1051, - "byg": 1052, - "byh": 1053, - "byi": 1054, - "byj": 1055, - "byk": 1056, - "byl": 1057, - "bym": 1058, - "byn": 1059, - "byo": 1060, - "byp": 1061, - "byq": 1062, - "byr": 1063, - "bys": 1064, - "byt": 1065, - "byv": 1066, - "byw": 1067, - "byx": 1068, - "byz": 1069, - "bza": 1070, - "bzb": 1071, - "bzc": 1072, - "bzd": 1073, - "bze": 1074, - "bzf": 1075, - "bzg": 1076, - "bzh": 1077, - "bzi": 1078, - "bzj": 1079, - "bzk": 1080, - "bzl": 1081, - "bzm": 1082, - "bzn": 1083, - "bzo": 1084, - "bzp": 1085, - "bzq": 1086, - "bzr": 1087, - "bzu": 1088, - "bzv": 1089, - "bzw": 1090, - "bzx": 1091, - "bzy": 1092, - "bzz": 1093, - "caa": 1094, - "cab": 1095, - "cac": 1096, - "cad": 1097, - "cae": 1098, - "caf": 1099, - "cag": 1100, - "cah": 1101, - "caj": 1102, - "cak": 1103, - "cal": 1104, - "cam": 1105, - "can": 1106, - "cao": 1107, - "cap": 1108, - "caq": 1109, - "car": 1110, - "cas": 1111, - "cat": 1112, - "cav": 1113, - "cax": 1114, - "cay": 1115, - "caz": 1116, - "cbb": 1117, - "cbc": 1118, - "cbd": 1119, - "cbg": 1120, - "cbi": 1121, - "cbj": 1122, - "cbk": 1123, - "cbl": 1124, - "cbn": 1125, - "cbo": 1126, - "cbq": 1127, - "cbr": 1128, - "cbs": 1129, - "cbt": 1130, - "cbu": 1131, - "cbv": 1132, - "cbw": 1133, - "ccc": 1134, - "ccd": 1135, - "cce": 1136, - "ccg": 1137, - "cch": 1138, - "ccj": 1139, - "ccl": 1140, - "ccm": 1141, - "cco": 1142, - "ccp": 1143, - "ccr": 1144, - "cda": 1145, - "cde": 1146, - "cdf": 1147, - "cdh": 1148, - "cdi": 1149, - "cdj": 1150, - "cdm": 1151, - "cdn": 1152, - "cdo": 1153, - "cdr": 1154, - "cdy": 1155, - "cdz": 1156, - "cea": 1157, - "ceb": 1158, - "ceg": 1159, - "cek": 1160, - "cen": 1161, - "ces": 1162, - "cet": 1163, - "cfa": 1164, - "cfd": 1165, - "cfg": 1166, - "cfm": 1167, - "cga": 1168, - "cgc": 1169, - "cgg": 1170, - "cgk": 1171, - "cha": 1172, - "chb": 1173, - "chc": 1174, - "chd": 1175, - "che": 1176, - "chf": 1177, - "chg": 1178, - "chh": 1179, - "chj": 1180, - "chk": 1181, - "chl": 1182, - "chn": 1183, - "cho": 1184, - "chp": 1185, - "chq": 1186, - "chr": 1187, - "cht": 1188, - "chu": 1189, - "chv": 1190, - "chw": 1191, - "chx": 1192, - "chy": 1193, - "chz": 1194, - "cia": 1195, - "cib": 1196, - "cic": 1197, - "cid": 1198, - "cie": 1199, - "cih": 1200, - "cik": 1201, - "cim": 1202, - "cin": 1203, - "cip": 1204, - "cir": 1205, - "ciw": 1206, - "ciy": 1207, - "cja": 1208, - "cje": 1209, - "cjh": 1210, - "cji": 1211, - "cjk": 1212, - "cjm": 1213, - "cjn": 1214, - "cjo": 1215, - "cjp": 1216, - "cjs": 1217, - "cjv": 1218, - "cjy": 1219, - "ckb": 1220, - "ckh": 1221, - "ckl": 1222, - "cko": 1223, - "ckq": 1224, - "ckr": 1225, - "cks": 1226, - "ckt": 1227, - "cku": 1228, - "ckv": 1229, - "ckx": 1230, - "cky": 1231, - "cla": 1232, - "clc": 1233, - "cld": 1234, - "cle": 1235, - "clh": 1236, - "cli": 1237, - "clk": 1238, - "cll": 1239, - "clm": 1240, - "clo": 1241, - "clt": 1242, - "clu": 1243, - "clw": 1244, - "cly": 1245, - "cma": 1246, - "cme": 1247, - "cmi": 1248, - "cml": 1249, - "cmn": 1250, - "cmo": 1251, - "cmr": 1252, - "cms": 1253, - "cna": 1254, - "cnb": 1255, - "cnc": 1256, - "cng": 1257, - "cnh": 1258, - "cni": 1259, - "cnk": 1260, - "cnl": 1261, - "cnp": 1262, - "cns": 1263, - "cnt": 1264, - "cnu": 1265, - "cnw": 1266, - "coa": 1267, - "cob": 1268, - "coc": 1269, - "cod": 1270, - "coe": 1271, - "cof": 1272, - "cog": 1273, - "coh": 1274, - "coj": 1275, - "cok": 1276, - "col": 1277, - "com": 1278, - "con": 1279, - "coo": 1280, - "cop": 1281, - "coq": 1282, - "cor": 1283, - "cos": 1284, - "cot": 1285, - "cou": 1286, - "cov": 1287, - "cow": 1288, - "cox": 1289, - "coz": 1290, - "cpa": 1291, - "cpb": 1292, - "cpc": 1293, - "cpg": 1294, - "cpn": 1295, - "cpo": 1296, - "cps": 1297, - "cpu": 1298, - "cpx": 1299, - "cpy": 1300, - "cra": 1301, - "crb": 1302, - "crc": 1303, - "crd": 1304, - "crf": 1305, - "crg": 1306, - "crh": 1307, - "cri": 1308, - "crj": 1309, - "crk": 1310, - "crl": 1311, - "crm": 1312, - "crn": 1313, - "cro": 1314, - "crq": 1315, - "crr": 1316, - "crs": 1317, - "crt": 1318, - "crv": 1319, - "crw": 1320, - "crx": 1321, - "cry": 1322, - "crz": 1323, - "csa": 1324, - "csb": 1325, - "csh": 1326, - "csi": 1327, - "csk": 1328, - "csm": 1329, - "cso": 1330, - "csp": 1331, - "css": 1332, - "cst": 1333, - "csv": 1334, - "csw": 1335, - "csy": 1336, - "csz": 1337, - "cta": 1338, - "ctd": 1339, - "cte": 1340, - "ctg": 1341, - "ctl": 1342, - "ctm": 1343, - "ctn": 1344, - "cto": 1345, - "ctp": 1346, - "cts": 1347, - "ctt": 1348, - "ctu": 1349, - "ctz": 1350, - "cua": 1351, - "cub": 1352, - "cuc": 1353, - "cuh": 1354, - "cui": 1355, - "cuj": 1356, - "cuk": 1357, - "cul": 1358, - "cuo": 1359, - "cup": 1360, - "cuq": 1361, - "cur": 1362, - "cut": 1363, - "cuu": 1364, - "cuv": 1365, - "cuw": 1366, - "cux": 1367, - "cuy": 1368, - "cvg": 1369, - "cvn": 1370, - "cwa": 1371, - "cwb": 1372, - "cwd": 1373, - "cwe": 1374, - "cwg": 1375, - "cwt": 1376, - "cya": 1377, - "cyb": 1378, - "cym": 1379, - "cyo": 1380, - "czh": 1381, - "czn": 1382, - "czo": 1383, - "czt": 1384, - "daa": 1385, - "dac": 1386, - "dad": 1387, - "dae": 1388, - "dag": 1389, - "dah": 1390, - "dai": 1391, - "daj": 1392, - "dak": 1393, - "dal": 1394, - "dam": 1395, - "dan": 1396, - "dao": 1397, - "daq": 1398, - "dar": 1399, - "das": 1400, - "dau": 1401, - "dav": 1402, - "daw": 1403, - "dax": 1404, - "daz": 1405, - "dba": 1406, - "dbb": 1407, - "dbd": 1408, - "dbe": 1409, - "dbf": 1410, - "dbg": 1411, - "dbi": 1412, - "dbj": 1413, - "dbl": 1414, - "dbm": 1415, - "dbn": 1416, - "dbo": 1417, - "dbp": 1418, - "dbq": 1419, - "dbr": 1420, - "dbt": 1421, - "dbu": 1422, - "dbw": 1423, - "dby": 1424, - "dcc": 1425, - "dcr": 1426, - "ddd": 1427, - "dde": 1428, - "ddg": 1429, - "ddi": 1430, - "ddj": 1431, - "ddn": 1432, - "ddo": 1433, - "ddr": 1434, - "dds": 1435, - "ddw": 1436, - "dec": 1437, - "ded": 1438, - "dee": 1439, - "def": 1440, - "deg": 1441, - "deh": 1442, - "dei": 1443, - "dem": 1444, - "deq": 1445, - "der": 1446, - "des": 1447, - "deu": 1448, - "dev": 1449, - "dez": 1450, - "dga": 1451, - "dgb": 1452, - "dgc": 1453, - "dgd": 1454, - "dge": 1455, - "dgg": 1456, - "dgh": 1457, - "dgi": 1458, - "dgk": 1459, - "dgl": 1460, - "dgn": 1461, - "dgo": 1462, - "dgr": 1463, - "dgs": 1464, - "dgw": 1465, - "dgx": 1466, - "dgz": 1467, - "dhd": 1468, - "dhg": 1469, - "dhi": 1470, - "dhl": 1471, - "dhm": 1472, - "dhn": 1473, - "dho": 1474, - "dhr": 1475, - "dhs": 1476, - "dhu": 1477, - "dhv": 1478, - "dhw": 1479, - "dia": 1480, - "dib": 1481, - "dic": 1482, - "did": 1483, - "dif": 1484, - "dig": 1485, - "dih": 1486, - "dii": 1487, - "dij": 1488, - "dik": 1489, - "dil": 1490, - "dim": 1491, - "dio": 1492, - "dip": 1493, - "diq": 1494, - "dir": 1495, - "dis": 1496, - "diu": 1497, - "div": 1498, - "diw": 1499, - "dix": 1500, - "diy": 1501, - "diz": 1502, - "djb": 1503, - "djc": 1504, - "djd": 1505, - "dje": 1506, - "djf": 1507, - "dji": 1508, - "djj": 1509, - "djk": 1510, - "djm": 1511, - "djn": 1512, - "djo": 1513, - "djr": 1514, - "dju": 1515, - "djw": 1516, - "dka": 1517, - "dkk": 1518, - "dkr": 1519, - "dks": 1520, - "dkx": 1521, - "dlg": 1522, - "dlk": 1523, - "dlm": 1524, - "dln": 1525, - "dma": 1526, - "dmb": 1527, - "dmc": 1528, - "dmd": 1529, - "dme": 1530, - "dmg": 1531, - "dmk": 1532, - "dml": 1533, - "dmm": 1534, - "dmo": 1535, - "dmr": 1536, - "dms": 1537, - "dmu": 1538, - "dmv": 1539, - "dmx": 1540, - "dmy": 1541, - "dna": 1542, - "dnd": 1543, - "dne": 1544, - "dng": 1545, - "dni": 1546, - "dnj": 1547, - "dnk": 1548, - "dnn": 1549, - "dno": 1550, - "dnr": 1551, - "dnt": 1552, - "dnu": 1553, - "dnw": 1554, - "dny": 1555, - "doa": 1556, - "dob": 1557, - "doc": 1558, - "doe": 1559, - "dof": 1560, - "doh": 1561, - "dok": 1562, - "dol": 1563, - "don": 1564, - "doo": 1565, - "dop": 1566, - "dor": 1567, - "dos": 1568, - "dot": 1569, - "dov": 1570, - "dow": 1571, - "dox": 1572, - "doy": 1573, - "doz": 1574, - "dpp": 1575, - "drb": 1576, - "drc": 1577, - "drd": 1578, - "dre": 1579, - "drg": 1580, - "dri": 1581, - "drl": 1582, - "drn": 1583, - "dro": 1584, - "drq": 1585, - "drs": 1586, - "drt": 1587, - "dru": 1588, - "dry": 1589, - "dsb": 1590, - "dsh": 1591, - "dsi": 1592, - "dsn": 1593, - "dsq": 1594, - "dta": 1595, - "dtb": 1596, - "dtd": 1597, - "dth": 1598, - "dti": 1599, - "dtk": 1600, - "dtm": 1601, - "dtn": 1602, - "dto": 1603, - "dtp": 1604, - "dtr": 1605, - "dts": 1606, - "dtt": 1607, - "dtu": 1608, - "dty": 1609, - "dua": 1610, - "dub": 1611, - "duc": 1612, - "due": 1613, - "duf": 1614, - "dug": 1615, - "duh": 1616, - "dui": 1617, - "duk": 1618, - "dul": 1619, - "dum": 1620, - "dun": 1621, - "duo": 1622, - "dup": 1623, - "duq": 1624, - "dur": 1625, - "dus": 1626, - "duu": 1627, - "duv": 1628, - "duw": 1629, - "dux": 1630, - "duy": 1631, - "duz": 1632, - "dva": 1633, - "dwa": 1634, - "dwr": 1635, - "dww": 1636, - "dwz": 1637, - "dya": 1638, - "dyb": 1639, - "dyd": 1640, - "dyi": 1641, - "dym": 1642, - "dyn": 1643, - "dyo": 1644, - "dyu": 1645, - "dyy": 1646, - "dza": 1647, - "dze": 1648, - "dzg": 1649, - "dzl": 1650, - "dzn": 1651, - "dzo": 1652, - "ebg": 1653, - "ebo": 1654, - "ebr": 1655, - "ebu": 1656, - "eee": 1657, - "efa": 1658, - "efe": 1659, - "efi": 1660, - "ega": 1661, - "egl": 1662, - "ego": 1663, - "egy": 1664, - "ehu": 1665, - "eip": 1666, - "eit": 1667, - "eiv": 1668, - "eja": 1669, - "eka": 1670, - "eke": 1671, - "ekg": 1672, - "eki": 1673, - "ekk": 1674, - "ekl": 1675, - "ekm": 1676, - "eko": 1677, - "ekp": 1678, - "ekr": 1679, - "eky": 1680, - "ele": 1681, - "elh": 1682, - "eli": 1683, - "elk": 1684, - "ell": 1685, - "elm": 1686, - "elo": 1687, - "elu": 1688, - "elx": 1689, - "ema": 1690, - "emb": 1691, - "eme": 1692, - "emg": 1693, - "emi": 1694, - "emk": 1695, - "emn": 1696, - "emp": 1697, - "emq": 1698, - "ems": 1699, - "emu": 1700, - "emw": 1701, - "emy": 1702, - "emz": 1703, - "ena": 1704, - "enb": 1705, - "enc": 1706, - "end": 1707, - "enf": 1708, - "eng": 1709, - "enh": 1710, - "enl": 1711, - "enm": 1712, - "enn": 1713, - "eno": 1714, - "enq": 1715, - "enr": 1716, - "enu": 1717, - "env": 1718, - "enw": 1719, - "enx": 1720, - "eot": 1721, - "epi": 1722, - "era": 1723, - "erg": 1724, - "erh": 1725, - "eri": 1726, - "erk": 1727, - "ero": 1728, - "err": 1729, - "ers": 1730, - "ert": 1731, - "erw": 1732, - "ese": 1733, - "esh": 1734, - "esi": 1735, - "esk": 1736, - "esq": 1737, - "ess": 1738, - "esu": 1739, - "etb": 1740, - "etn": 1741, - "eto": 1742, - "etr": 1743, - "ets": 1744, - "ett": 1745, - "etu": 1746, - "etx": 1747, - "etz": 1748, - "eus": 1749, - "eve": 1750, - "evh": 1751, - "evn": 1752, - "ewe": 1753, - "ewo": 1754, - "ext": 1755, - "eya": 1756, - "eyo": 1757, - "eze": 1758, - "faa": 1759, - "fab": 1760, - "fad": 1761, - "faf": 1762, - "fag": 1763, - "fah": 1764, - "fai": 1765, - "faj": 1766, - "fak": 1767, - "fal": 1768, - "fam": 1769, - "fan": 1770, - "fao": 1771, - "fap": 1772, - "far": 1773, - "fau": 1774, - "fax": 1775, - "fay": 1776, - "fer": 1777, - "ffm": 1778, - "fgr": 1779, - "fia": 1780, - "fie": 1781, - "fif": 1782, - "fij": 1783, - "fil": 1784, - "fin": 1785, - "fip": 1786, - "fir": 1787, - "fit": 1788, - "fiw": 1789, - "fkk": 1790, - "fkv": 1791, - "fla": 1792, - "flh": 1793, - "fli": 1794, - "fll": 1795, - "fln": 1796, - "flr": 1797, - "fmp": 1798, - "fmu": 1799, - "fnb": 1800, - "fni": 1801, - "fod": 1802, - "foi": 1803, - "fon": 1804, - "for": 1805, - "fos": 1806, - "fpe": 1807, - "fqs": 1808, - "fra": 1809, - "frc": 1810, - "frd": 1811, - "frk": 1812, - "fro": 1813, - "frp": 1814, - "frq": 1815, - "frr": 1816, - "frs": 1817, - "frt": 1818, - "fry": 1819, - "fss": 1820, - "fub": 1821, - "fuc": 1822, - "fud": 1823, - "fue": 1824, - "fuf": 1825, - "fuh": 1826, - "fui": 1827, - "fuj": 1828, - "fun": 1829, - "fuq": 1830, - "fur": 1831, - "fut": 1832, - "fuu": 1833, - "fuv": 1834, - "fuy": 1835, - "fvr": 1836, - "fwa": 1837, - "fwe": 1838, - "gaa": 1839, - "gab": 1840, - "gac": 1841, - "gad": 1842, - "gae": 1843, - "gaf": 1844, - "gag": 1845, - "gah": 1846, - "gai": 1847, - "gaj": 1848, - "gak": 1849, - "gal": 1850, - "gam": 1851, - "gan": 1852, - "gao": 1853, - "gap": 1854, - "gaq": 1855, - "gar": 1856, - "gas": 1857, - "gat": 1858, - "gau": 1859, - "gaw": 1860, - "gax": 1861, - "gay": 1862, - "gaz": 1863, - "gbb": 1864, - "gbd": 1865, - "gbe": 1866, - "gbf": 1867, - "gbg": 1868, - "gbh": 1869, - "gbi": 1870, - "gbj": 1871, - "gbk": 1872, - "gbl": 1873, - "gbm": 1874, - "gbn": 1875, - "gbo": 1876, - "gbp": 1877, - "gbq": 1878, - "gbr": 1879, - "gbs": 1880, - "gbu": 1881, - "gbv": 1882, - "gbw": 1883, - "gbx": 1884, - "gby": 1885, - "gbz": 1886, - "gcc": 1887, - "gcd": 1888, - "gce": 1889, - "gcf": 1890, - "gcl": 1891, - "gcn": 1892, - "gcr": 1893, - "gct": 1894, - "gda": 1895, - "gdb": 1896, - "gdc": 1897, - "gdd": 1898, - "gde": 1899, - "gdf": 1900, - "gdg": 1901, - "gdh": 1902, - "gdi": 1903, - "gdj": 1904, - "gdk": 1905, - "gdl": 1906, - "gdm": 1907, - "gdn": 1908, - "gdo": 1909, - "gdq": 1910, - "gdr": 1911, - "gdu": 1912, - "gdx": 1913, - "gea": 1914, - "geb": 1915, - "gec": 1916, - "ged": 1917, - "geh": 1918, - "gei": 1919, - "gej": 1920, - "gek": 1921, - "gel": 1922, - "geq": 1923, - "ges": 1924, - "gev": 1925, - "gew": 1926, - "gex": 1927, - "gey": 1928, - "gez": 1929, - "gfk": 1930, - "gft": 1931, - "gga": 1932, - "ggb": 1933, - "ggd": 1934, - "gge": 1935, - "ggg": 1936, - "ggk": 1937, - "ggl": 1938, - "ggt": 1939, - "ggu": 1940, - "ggw": 1941, - "gha": 1942, - "ghc": 1943, - "ghe": 1944, - "ghh": 1945, - "ghk": 1946, - "ghl": 1947, - "ghn": 1948, - "gho": 1949, - "ghr": 1950, - "ghs": 1951, - "ght": 1952, - "gia": 1953, - "gid": 1954, - "gie": 1955, - "gig": 1956, - "gih": 1957, - "gii": 1958, - "gil": 1959, - "gim": 1960, - "gin": 1961, - "gip": 1962, - "giq": 1963, - "gir": 1964, - "gis": 1965, - "git": 1966, - "giu": 1967, - "giw": 1968, - "gix": 1969, - "giz": 1970, - "gjk": 1971, - "gjm": 1972, - "gjn": 1973, - "gju": 1974, - "gka": 1975, - "gkd": 1976, - "gke": 1977, - "gkn": 1978, - "gko": 1979, - "gkp": 1980, - "gku": 1981, - "gla": 1982, - "glb": 1983, - "glc": 1984, - "gld": 1985, - "gle": 1986, - "glg": 1987, - "glh": 1988, - "glj": 1989, - "glk": 1990, - "gll": 1991, - "glo": 1992, - "glr": 1993, - "glu": 1994, - "glv": 1995, - "glw": 1996, - "gly": 1997, - "gma": 1998, - "gmb": 1999, - "gmd": 2000, - "gmg": 2001, - "gmh": 2002, - "gml": 2003, - "gmm": 2004, - "gmn": 2005, - "gmu": 2006, - "gmv": 2007, - "gmx": 2008, - "gmy": 2009, - "gna": 2010, - "gnb": 2011, - "gnc": 2012, - "gnd": 2013, - "gne": 2014, - "gng": 2015, - "gnh": 2016, - "gni": 2017, - "gnj": 2018, - "gnk": 2019, - "gnl": 2020, - "gnm": 2021, - "gnn": 2022, - "gno": 2023, - "gnq": 2024, - "gnr": 2025, - "gnt": 2026, - "gnu": 2027, - "gnw": 2028, - "gnz": 2029, - "goa": 2030, - "gob": 2031, - "goc": 2032, - "god": 2033, - "goe": 2034, - "gof": 2035, - "gog": 2036, - "goh": 2037, - "goi": 2038, - "gol": 2039, - "gom": 2040, - "goo": 2041, - "gop": 2042, - "goq": 2043, - "gor": 2044, - "gos": 2045, - "got": 2046, - "gou": 2047, - "gow": 2048, - "gox": 2049, - "goy": 2050, - "goz": 2051, - "gpa": 2052, - "gpe": 2053, - "gpn": 2054, - "gqa": 2055, - "gqi": 2056, - "gqn": 2057, - "gqr": 2058, - "gqu": 2059, - "gra": 2060, - "grc": 2061, - "grd": 2062, - "grg": 2063, - "grh": 2064, - "gri": 2065, - "grj": 2066, - "grm": 2067, - "gro": 2068, - "grq": 2069, - "grr": 2070, - "grs": 2071, - "grt": 2072, - "gru": 2073, - "grv": 2074, - "grw": 2075, - "grx": 2076, - "gry": 2077, - "grz": 2078, - "gsl": 2079, - "gsn": 2080, - "gso": 2081, - "gsp": 2082, - "gsw": 2083, - "gta": 2084, - "gua": 2085, - "gub": 2086, - "guc": 2087, - "gud": 2088, - "gue": 2089, - "guf": 2090, - "gug": 2091, - "guh": 2092, - "gui": 2093, - "guj": 2094, - "guk": 2095, - "gul": 2096, - "gum": 2097, - "gun": 2098, - "guo": 2099, - "gup": 2100, - "guq": 2101, - "gur": 2102, - "gut": 2103, - "guu": 2104, - "guw": 2105, - "gux": 2106, - "guz": 2107, - "gva": 2108, - "gvc": 2109, - "gve": 2110, - "gvf": 2111, - "gvj": 2112, - "gvl": 2113, - "gvm": 2114, - "gvn": 2115, - "gvo": 2116, - "gvp": 2117, - "gvr": 2118, - "gvs": 2119, - "gvy": 2120, - "gwa": 2121, - "gwb": 2122, - "gwc": 2123, - "gwd": 2124, - "gwe": 2125, - "gwf": 2126, - "gwg": 2127, - "gwi": 2128, - "gwj": 2129, - "gwm": 2130, - "gwn": 2131, - "gwr": 2132, - "gwt": 2133, - "gwu": 2134, - "gww": 2135, - "gwx": 2136, - "gxx": 2137, - "gya": 2138, - "gyb": 2139, - "gyd": 2140, - "gye": 2141, - "gyf": 2142, - "gyg": 2143, - "gyi": 2144, - "gyl": 2145, - "gym": 2146, - "gyn": 2147, - "gyo": 2148, - "gyr": 2149, - "gyy": 2150, - "gyz": 2151, - "gza": 2152, - "gzi": 2153, - "gzn": 2154, - "haa": 2155, - "hac": 2156, - "had": 2157, - "hae": 2158, - "hag": 2159, - "hah": 2160, - "haj": 2161, - "hak": 2162, - "hal": 2163, - "ham": 2164, - "han": 2165, - "hao": 2166, - "hap": 2167, - "haq": 2168, - "har": 2169, - "has": 2170, - "hat": 2171, - "hau": 2172, - "hav": 2173, - "haw": 2174, - "hax": 2175, - "hay": 2176, - "haz": 2177, - "hba": 2178, - "hbb": 2179, - "hbn": 2180, - "hbo": 2181, - "hbs": 2182, - "hbu": 2183, - "hca": 2184, - "hch": 2185, - "hdn": 2186, - "hdy": 2187, - "hea": 2188, - "heb": 2189, - "hed": 2190, - "heg": 2191, - "heh": 2192, - "hei": 2193, - "hem": 2194, - "her": 2195, - "hgm": 2196, - "hgw": 2197, - "hhi": 2198, - "hhr": 2199, - "hhy": 2200, - "hia": 2201, - "hib": 2202, - "hid": 2203, - "hif": 2204, - "hig": 2205, - "hih": 2206, - "hii": 2207, - "hij": 2208, - "hik": 2209, - "hil": 2210, - "hin": 2211, - "hio": 2212, - "hit": 2213, - "hiw": 2214, - "hix": 2215, - "hji": 2216, - "hka": 2217, - "hke": 2218, - "hkh": 2219, - "hkk": 2220, - "hla": 2221, - "hlb": 2222, - "hld": 2223, - "hle": 2224, - "hlt": 2225, - "hlu": 2226, - "hma": 2227, - "hmb": 2228, - "hmc": 2229, - "hmd": 2230, - "hme": 2231, - "hmf": 2232, - "hmg": 2233, - "hmh": 2234, - "hmi": 2235, - "hmj": 2236, - "hml": 2237, - "hmm": 2238, - "hmp": 2239, - "hmq": 2240, - "hmr": 2241, - "hms": 2242, - "hmt": 2243, - "hmu": 2244, - "hmv": 2245, - "hmw": 2246, - "hmy": 2247, - "hmz": 2248, - "hna": 2249, - "hnd": 2250, - "hne": 2251, - "hng": 2252, - "hnh": 2253, - "hni": 2254, - "hnj": 2255, - "hnn": 2256, - "hno": 2257, - "hns": 2258, - "hnu": 2259, - "hoa": 2260, - "hob": 2261, - "hoc": 2262, - "hod": 2263, - "hoe": 2264, - "hoh": 2265, - "hoi": 2266, - "hoj": 2267, - "hol": 2268, - "hom": 2269, - "hoo": 2270, - "hop": 2271, - "hor": 2272, - "hot": 2273, - "hov": 2274, - "how": 2275, - "hoy": 2276, - "hoz": 2277, - "hpo": 2278, - "hra": 2279, - "hrc": 2280, - "hre": 2281, - "hrk": 2282, - "hrm": 2283, - "hro": 2284, - "hrp": 2285, - "hrt": 2286, - "hru": 2287, - "hrv": 2288, - "hrx": 2289, - "hrz": 2290, - "hsb": 2291, - "hsn": 2292, - "hss": 2293, - "hti": 2294, - "hto": 2295, - "hts": 2296, - "htu": 2297, - "hub": 2298, - "huc": 2299, - "hud": 2300, - "hue": 2301, - "huf": 2302, - "hug": 2303, - "huh": 2304, - "hui": 2305, - "huj": 2306, - "huk": 2307, - "hul": 2308, - "hum": 2309, - "hun": 2310, - "huo": 2311, - "hup": 2312, - "huq": 2313, - "hur": 2314, - "hus": 2315, - "hut": 2316, - "huu": 2317, - "huv": 2318, - "huw": 2319, - "hux": 2320, - "huy": 2321, - "huz": 2322, - "hve": 2323, - "hvk": 2324, - "hvn": 2325, - "hvv": 2326, - "hwa": 2327, - "hwc": 2328, - "hwo": 2329, - "hya": 2330, - "hye": 2331, - "hyw": 2332, - "iai": 2333, - "ian": 2334, - "iar": 2335, - "iba": 2336, - "ibb": 2337, - "ibd": 2338, - "ibe": 2339, - "ibg": 2340, - "ibh": 2341, - "ibl": 2342, - "ibm": 2343, - "ibn": 2344, - "ibo": 2345, - "ibr": 2346, - "ibu": 2347, - "iby": 2348, - "ica": 2349, - "ich": 2350, - "icr": 2351, - "ida": 2352, - "idb": 2353, - "idc": 2354, - "idd": 2355, - "ide": 2356, - "idi": 2357, - "idr": 2358, - "idt": 2359, - "idu": 2360, - "ifa": 2361, - "ifb": 2362, - "ife": 2363, - "iff": 2364, - "ifk": 2365, - "ifm": 2366, - "ifu": 2367, - "ify": 2368, - "igb": 2369, - "ige": 2370, - "igg": 2371, - "igl": 2372, - "igm": 2373, - "ign": 2374, - "igo": 2375, - "igw": 2376, - "ihp": 2377, - "ihw": 2378, - "iii": 2379, - "iin": 2380, - "ijc": 2381, - "ije": 2382, - "ijj": 2383, - "ijn": 2384, - "ijs": 2385, - "ike": 2386, - "iki": 2387, - "ikk": 2388, - "ikl": 2389, - "iko": 2390, - "ikp": 2391, - "ikr": 2392, - "ikt": 2393, - "ikv": 2394, - "ikw": 2395, - "ikx": 2396, - "ikz": 2397, - "ila": 2398, - "ilb": 2399, - "ilg": 2400, - "ili": 2401, - "ilk": 2402, - "ilo": 2403, - "ilu": 2404, - "ilv": 2405, - "ima": 2406, - "imi": 2407, - "iml": 2408, - "imn": 2409, - "imo": 2410, - "imr": 2411, - "imy": 2412, - "inb": 2413, - "ind": 2414, - "ing": 2415, - "inh": 2416, - "inj": 2417, - "inm": 2418, - "inn": 2419, - "ino": 2420, - "inp": 2421, - "int": 2422, - "inz": 2423, - "ior": 2424, - "iou": 2425, - "iow": 2426, - "ipi": 2427, - "ipo": 2428, - "iqu": 2429, - "ire": 2430, - "irh": 2431, - "iri": 2432, - "irk": 2433, - "irn": 2434, - "iru": 2435, - "irx": 2436, - "iry": 2437, - "isa": 2438, - "isc": 2439, - "isd": 2440, - "ish": 2441, - "isi": 2442, - "isk": 2443, - "isl": 2444, - "ism": 2445, - "isn": 2446, - "iso": 2447, - "ist": 2448, - "isu": 2449, - "ita": 2450, - "itb": 2451, - "itd": 2452, - "ite": 2453, - "iti": 2454, - "itk": 2455, - "itl": 2456, - "itm": 2457, - "ito": 2458, - "itr": 2459, - "its": 2460, - "itt": 2461, - "itv": 2462, - "itw": 2463, - "itx": 2464, - "ity": 2465, - "itz": 2466, - "ium": 2467, - "ivb": 2468, - "ivv": 2469, - "iwk": 2470, - "iwm": 2471, - "iwo": 2472, - "iws": 2473, - "ixc": 2474, - "ixl": 2475, - "iya": 2476, - "iyo": 2477, - "iyx": 2478, - "izh": 2479, - "izr": 2480, - "izz": 2481, - "jaa": 2482, - "jab": 2483, - "jac": 2484, - "jad": 2485, - "jae": 2486, - "jaf": 2487, - "jah": 2488, - "jaj": 2489, - "jak": 2490, - "jal": 2491, - "jam": 2492, - "jan": 2493, - "jao": 2494, - "jaq": 2495, - "jas": 2496, - "jat": 2497, - "jau": 2498, - "jav": 2499, - "jax": 2500, - "jay": 2501, - "jaz": 2502, - "jbi": 2503, - "jbj": 2504, - "jbk": 2505, - "jbn": 2506, - "jbr": 2507, - "jbt": 2508, - "jbu": 2509, - "jbw": 2510, - "jct": 2511, - "jda": 2512, - "jdg": 2513, - "jdt": 2514, - "jeb": 2515, - "jee": 2516, - "jeh": 2517, - "jei": 2518, - "jek": 2519, - "jel": 2520, - "jen": 2521, - "jer": 2522, - "jet": 2523, - "jeu": 2524, - "jgb": 2525, - "jge": 2526, - "jgo": 2527, - "jhi": 2528, - "jia": 2529, - "jib": 2530, - "jic": 2531, - "jid": 2532, - "jie": 2533, - "jig": 2534, - "jih": 2535, - "jii": 2536, - "jil": 2537, - "jim": 2538, - "jio": 2539, - "jiq": 2540, - "jit": 2541, - "jiu": 2542, - "jiv": 2543, - "jiy": 2544, - "jje": 2545, - "jka": 2546, - "jkm": 2547, - "jko": 2548, - "jkr": 2549, - "jku": 2550, - "jle": 2551, - "jma": 2552, - "jmb": 2553, - "jmc": 2554, - "jmd": 2555, - "jmi": 2556, - "jml": 2557, - "jmn": 2558, - "jmr": 2559, - "jms": 2560, - "jmw": 2561, - "jmx": 2562, - "jna": 2563, - "jnd": 2564, - "jng": 2565, - "jni": 2566, - "jnj": 2567, - "jnl": 2568, - "jns": 2569, - "job": 2570, - "jod": 2571, - "jor": 2572, - "jow": 2573, - "jpn": 2574, - "jpr": 2575, - "jqr": 2576, - "jra": 2577, - "jrr": 2578, - "jru": 2579, - "jua": 2580, - "jub": 2581, - "juc": 2582, - "jud": 2583, - "juh": 2584, - "jui": 2585, - "juk": 2586, - "jul": 2587, - "jum": 2588, - "jun": 2589, - "juo": 2590, - "jup": 2591, - "jur": 2592, - "jut": 2593, - "juu": 2594, - "juw": 2595, - "juy": 2596, - "jvd": 2597, - "jvn": 2598, - "jwi": 2599, - "jya": 2600, - "jye": 2601, - "jyy": 2602, - "kaa": 2603, - "kab": 2604, - "kac": 2605, - "kad": 2606, - "kae": 2607, - "kaf": 2608, - "kag": 2609, - "kah": 2610, - "kai": 2611, - "kaj": 2612, - "kak": 2613, - "kal": 2614, - "kam": 2615, - "kan": 2616, - "kao": 2617, - "kap": 2618, - "kaq": 2619, - "kas": 2620, - "kat": 2621, - "kaw": 2622, - "kax": 2623, - "kay": 2624, - "kaz": 2625, - "kba": 2626, - "kbb": 2627, - "kbc": 2628, - "kbd": 2629, - "kbe": 2630, - "kbg": 2631, - "kbh": 2632, - "kbi": 2633, - "kbj": 2634, - "kbk": 2635, - "kbl": 2636, - "kbm": 2637, - "kbn": 2638, - "kbo": 2639, - "kbp": 2640, - "kbq": 2641, - "kbr": 2642, - "kbs": 2643, - "kbt": 2644, - "kbu": 2645, - "kbv": 2646, - "kbw": 2647, - "kbx": 2648, - "kby": 2649, - "kbz": 2650, - "kca": 2651, - "kcb": 2652, - "kcc": 2653, - "kcd": 2654, - "kcf": 2655, - "kcg": 2656, - "kci": 2657, - "kcj": 2658, - "kck": 2659, - "kcl": 2660, - "kcm": 2661, - "kcn": 2662, - "kco": 2663, - "kcp": 2664, - "kcq": 2665, - "kcr": 2666, - "kcs": 2667, - "kct": 2668, - "kcu": 2669, - "kcv": 2670, - "kcw": 2671, - "kcx": 2672, - "kcy": 2673, - "kcz": 2674, - "kda": 2675, - "kdc": 2676, - "kdd": 2677, - "kde": 2678, - "kdf": 2679, - "kdg": 2680, - "kdh": 2681, - "kdi": 2682, - "kdj": 2683, - "kdk": 2684, - "kdl": 2685, - "kdm": 2686, - "kdn": 2687, - "kdp": 2688, - "kdq": 2689, - "kdr": 2690, - "kdt": 2691, - "kdu": 2692, - "kdw": 2693, - "kdx": 2694, - "kdy": 2695, - "kdz": 2696, - "kea": 2697, - "keb": 2698, - "kec": 2699, - "ked": 2700, - "kee": 2701, - "kef": 2702, - "keg": 2703, - "keh": 2704, - "kei": 2705, - "kej": 2706, - "kek": 2707, - "kel": 2708, - "kem": 2709, - "ken": 2710, - "keo": 2711, - "kep": 2712, - "keq": 2713, - "ker": 2714, - "kes": 2715, - "ket": 2716, - "keu": 2717, - "kev": 2718, - "kew": 2719, - "key": 2720, - "kez": 2721, - "kfa": 2722, - "kfb": 2723, - "kfc": 2724, - "kfd": 2725, - "kfe": 2726, - "kff": 2727, - "kfg": 2728, - "kfh": 2729, - "kfk": 2730, - "kfl": 2731, - "kfm": 2732, - "kfn": 2733, - "kfo": 2734, - "kfp": 2735, - "kfq": 2736, - "kfr": 2737, - "kfs": 2738, - "kft": 2739, - "kfu": 2740, - "kfv": 2741, - "kfw": 2742, - "kfx": 2743, - "kfy": 2744, - "kfz": 2745, - "kga": 2746, - "kgb": 2747, - "kge": 2748, - "kgf": 2749, - "kgg": 2750, - "kgj": 2751, - "kgk": 2752, - "kgl": 2753, - "kgn": 2754, - "kgo": 2755, - "kgp": 2756, - "kgq": 2757, - "kgr": 2758, - "kgs": 2759, - "kgt": 2760, - "kgu": 2761, - "kgv": 2762, - "kgw": 2763, - "kgx": 2764, - "kgy": 2765, - "kha": 2766, - "khb": 2767, - "khc": 2768, - "khd": 2769, - "khe": 2770, - "khf": 2771, - "khg": 2772, - "khh": 2773, - "khj": 2774, - "khk": 2775, - "khl": 2776, - "khm": 2777, - "khn": 2778, - "kho": 2779, - "khp": 2780, - "khq": 2781, - "khr": 2782, - "khs": 2783, - "kht": 2784, - "khu": 2785, - "khv": 2786, - "khw": 2787, - "khx": 2788, - "khy": 2789, - "khz": 2790, - "kia": 2791, - "kib": 2792, - "kic": 2793, - "kid": 2794, - "kie": 2795, - "kif": 2796, - "kig": 2797, - "kih": 2798, - "kii": 2799, - "kij": 2800, - "kik": 2801, - "kil": 2802, - "kim": 2803, - "kin": 2804, - "kio": 2805, - "kip": 2806, - "kiq": 2807, - "kir": 2808, - "kis": 2809, - "kit": 2810, - "kiu": 2811, - "kiv": 2812, - "kiw": 2813, - "kix": 2814, - "kiy": 2815, - "kiz": 2816, - "kja": 2817, - "kjb": 2818, - "kjc": 2819, - "kjd": 2820, - "kje": 2821, - "kjg": 2822, - "kjh": 2823, - "kji": 2824, - "kjj": 2825, - "kjk": 2826, - "kjl": 2827, - "kjm": 2828, - "kjn": 2829, - "kjo": 2830, - "kjp": 2831, - "kjq": 2832, - "kjr": 2833, - "kjs": 2834, - "kjt": 2835, - "kju": 2836, - "kjv": 2837, - "kjx": 2838, - "kjy": 2839, - "kjz": 2840, - "kka": 2841, - "kkb": 2842, - "kkc": 2843, - "kkd": 2844, - "kke": 2845, - "kkf": 2846, - "kkg": 2847, - "kkh": 2848, - "kki": 2849, - "kkj": 2850, - "kkk": 2851, - "kkl": 2852, - "kkm": 2853, - "kko": 2854, - "kkp": 2855, - "kkq": 2856, - "kkr": 2857, - "kks": 2858, - "kkt": 2859, - "kkv": 2860, - "kkw": 2861, - "kkx": 2862, - "kky": 2863, - "kkz": 2864, - "kla": 2865, - "klb": 2866, - "klc": 2867, - "kld": 2868, - "kle": 2869, - "klf": 2870, - "klg": 2871, - "klh": 2872, - "kli": 2873, - "klj": 2874, - "klk": 2875, - "kll": 2876, - "klm": 2877, - "kln": 2878, - "klo": 2879, - "klp": 2880, - "klq": 2881, - "klr": 2882, - "kls": 2883, - "klt": 2884, - "klu": 2885, - "klv": 2886, - "klw": 2887, - "klx": 2888, - "kly": 2889, - "klz": 2890, - "kma": 2891, - "kmb": 2892, - "kmc": 2893, - "kmd": 2894, - "kme": 2895, - "kmf": 2896, - "kmg": 2897, - "kmh": 2898, - "kmi": 2899, - "kmj": 2900, - "kmk": 2901, - "kml": 2902, - "kmm": 2903, - "kmn": 2904, - "kmo": 2905, - "kmp": 2906, - "kmq": 2907, - "kmr": 2908, - "kms": 2909, - "kmt": 2910, - "kmu": 2911, - "kmv": 2912, - "kmw": 2913, - "kmx": 2914, - "kmy": 2915, - "kmz": 2916, - "kna": 2917, - "knb": 2918, - "knc": 2919, - "knd": 2920, - "kne": 2921, - "knf": 2922, - "kng": 2923, - "kni": 2924, - "knj": 2925, - "knk": 2926, - "knl": 2927, - "knm": 2928, - "knn": 2929, - "kno": 2930, - "knp": 2931, - "knq": 2932, - "knr": 2933, - "kns": 2934, - "knt": 2935, - "knu": 2936, - "knv": 2937, - "knw": 2938, - "knx": 2939, - "kny": 2940, - "knz": 2941, - "koa": 2942, - "koc": 2943, - "kod": 2944, - "koe": 2945, - "kof": 2946, - "kog": 2947, - "koh": 2948, - "koi": 2949, - "kol": 2950, - "koo": 2951, - "kop": 2952, - "koq": 2953, - "kor": 2954, - "kos": 2955, - "kot": 2956, - "kou": 2957, - "kov": 2958, - "kow": 2959, - "koy": 2960, - "koz": 2961, - "kpa": 2962, - "kpb": 2963, - "kpc": 2964, - "kpd": 2965, - "kpf": 2966, - "kpg": 2967, - "kph": 2968, - "kpi": 2969, - "kpj": 2970, - "kpk": 2971, - "kpl": 2972, - "kpm": 2973, - "kpn": 2974, - "kpo": 2975, - "kpq": 2976, - "kpr": 2977, - "kps": 2978, - "kpt": 2979, - "kpu": 2980, - "kpv": 2981, - "kpw": 2982, - "kpx": 2983, - "kpy": 2984, - "kpz": 2985, - "kqa": 2986, - "kqb": 2987, - "kqc": 2988, - "kqd": 2989, - "kqe": 2990, - "kqf": 2991, - "kqg": 2992, - "kqi": 2993, - "kqj": 2994, - "kqk": 2995, - "kql": 2996, - "kqm": 2997, - "kqn": 2998, - "kqo": 2999, - "kqp": 3000, - "kqq": 3001, - "kqr": 3002, - "kqs": 3003, - "kqt": 3004, - "kqu": 3005, - "kqv": 3006, - "kqw": 3007, - "kqx": 3008, - "kqy": 3009, - "kqz": 3010, - "kra": 3011, - "krb": 3012, - "krc": 3013, - "krd": 3014, - "kre": 3015, - "krf": 3016, - "krh": 3017, - "kri": 3018, - "krj": 3019, - "krk": 3020, - "krl": 3021, - "krn": 3022, - "krp": 3023, - "krr": 3024, - "krs": 3025, - "krt": 3026, - "kru": 3027, - "krv": 3028, - "krw": 3029, - "krx": 3030, - "kry": 3031, - "krz": 3032, - "ksb": 3033, - "ksc": 3034, - "ksd": 3035, - "kse": 3036, - "ksf": 3037, - "ksg": 3038, - "ksh": 3039, - "ksi": 3040, - "ksj": 3041, - "ksk": 3042, - "ksl": 3043, - "ksm": 3044, - "ksn": 3045, - "ksp": 3046, - "ksq": 3047, - "ksr": 3048, - "kss": 3049, - "kst": 3050, - "ksu": 3051, - "ksv": 3052, - "ksw": 3053, - "ksx": 3054, - "ksy": 3055, - "ksz": 3056, - "kta": 3057, - "ktb": 3058, - "ktc": 3059, - "ktd": 3060, - "kte": 3061, - "ktf": 3062, - "ktg": 3063, - "kth": 3064, - "kti": 3065, - "ktj": 3066, - "ktk": 3067, - "ktl": 3068, - "ktm": 3069, - "ktn": 3070, - "kto": 3071, - "ktp": 3072, - "kts": 3073, - "ktt": 3074, - "ktu": 3075, - "ktv": 3076, - "ktw": 3077, - "ktx": 3078, - "kty": 3079, - "ktz": 3080, - "kua": 3081, - "kub": 3082, - "kuc": 3083, - "kud": 3084, - "kue": 3085, - "kuf": 3086, - "kug": 3087, - "kuh": 3088, - "kui": 3089, - "kuj": 3090, - "kuk": 3091, - "kul": 3092, - "kum": 3093, - "kun": 3094, - "kuo": 3095, - "kup": 3096, - "kuq": 3097, - "kus": 3098, - "kut": 3099, - "kuu": 3100, - "kuv": 3101, - "kuw": 3102, - "kux": 3103, - "kuy": 3104, - "kuz": 3105, - "kva": 3106, - "kvb": 3107, - "kvc": 3108, - "kvd": 3109, - "kve": 3110, - "kvf": 3111, - "kvg": 3112, - "kvh": 3113, - "kvi": 3114, - "kvj": 3115, - "kvl": 3116, - "kvm": 3117, - "kvn": 3118, - "kvo": 3119, - "kvp": 3120, - "kvq": 3121, - "kvr": 3122, - "kvu": 3123, - "kvv": 3124, - "kvw": 3125, - "kvx": 3126, - "kvy": 3127, - "kvz": 3128, - "kwa": 3129, - "kwb": 3130, - "kwc": 3131, - "kwd": 3132, - "kwe": 3133, - "kwf": 3134, - "kwg": 3135, - "kwh": 3136, - "kwi": 3137, - "kwj": 3138, - "kwk": 3139, - "kwl": 3140, - "kwm": 3141, - "kwn": 3142, - "kwo": 3143, - "kwp": 3144, - "kwr": 3145, - "kws": 3146, - "kwt": 3147, - "kwu": 3148, - "kwv": 3149, - "kww": 3150, - "kwx": 3151, - "kwy": 3152, - "kwz": 3153, - "kxa": 3154, - "kxb": 3155, - "kxc": 3156, - "kxd": 3157, - "kxf": 3158, - "kxh": 3159, - "kxi": 3160, - "kxj": 3161, - "kxk": 3162, - "kxm": 3163, - "kxn": 3164, - "kxo": 3165, - "kxp": 3166, - "kxq": 3167, - "kxr": 3168, - "kxs": 3169, - "kxt": 3170, - "kxv": 3171, - "kxw": 3172, - "kxx": 3173, - "kxy": 3174, - "kxz": 3175, - "kya": 3176, - "kyb": 3177, - "kyc": 3178, - "kyd": 3179, - "kye": 3180, - "kyf": 3181, - "kyg": 3182, - "kyh": 3183, - "kyi": 3184, - "kyj": 3185, - "kyk": 3186, - "kyl": 3187, - "kyn": 3188, - "kyo": 3189, - "kyq": 3190, - "kyr": 3191, - "kys": 3192, - "kyt": 3193, - "kyu": 3194, - "kyw": 3195, - "kyx": 3196, - "kyy": 3197, - "kyz": 3198, - "kza": 3199, - "kzb": 3200, - "kzc": 3201, - "kzd": 3202, - "kzf": 3203, - "kzg": 3204, - "kzi": 3205, - "kzk": 3206, - "kzl": 3207, - "kzm": 3208, - "kzn": 3209, - "kzo": 3210, - "kzp": 3211, - "kzq": 3212, - "kzr": 3213, - "kzs": 3214, - "kzu": 3215, - "kzv": 3216, - "kzx": 3217, - "kzy": 3218, - "kzz": 3219, - "laa": 3220, - "lac": 3221, - "lad": 3222, - "lae": 3223, - "laf": 3224, - "lag": 3225, - "lai": 3226, - "laj": 3227, - "lak": 3228, - "lal": 3229, - "lam": 3230, - "lan": 3231, - "lao": 3232, - "lap": 3233, - "laq": 3234, - "lar": 3235, - "las": 3236, - "lat": 3237, - "lav": 3238, - "law": 3239, - "lax": 3240, - "laz": 3241, - "lbb": 3242, - "lbc": 3243, - "lbe": 3244, - "lbf": 3245, - "lbj": 3246, - "lbk": 3247, - "lbl": 3248, - "lbm": 3249, - "lbn": 3250, - "lbo": 3251, - "lbq": 3252, - "lbr": 3253, - "lbt": 3254, - "lbu": 3255, - "lbv": 3256, - "lbw": 3257, - "lbx": 3258, - "lby": 3259, - "lbz": 3260, - "lcc": 3261, - "lcd": 3262, - "lce": 3263, - "lcf": 3264, - "lch": 3265, - "lcl": 3266, - "lcm": 3267, - "lcp": 3268, - "lcq": 3269, - "lcs": 3270, - "ldb": 3271, - "ldd": 3272, - "ldg": 3273, - "ldh": 3274, - "ldi": 3275, - "ldj": 3276, - "ldk": 3277, - "ldl": 3278, - "ldm": 3279, - "ldo": 3280, - "ldp": 3281, - "ldq": 3282, - "lea": 3283, - "leb": 3284, - "lec": 3285, - "led": 3286, - "lee": 3287, - "lef": 3288, - "leh": 3289, - "lei": 3290, - "lej": 3291, - "lek": 3292, - "lel": 3293, - "lem": 3294, - "leo": 3295, - "lep": 3296, - "leq": 3297, - "ler": 3298, - "les": 3299, - "let": 3300, - "leu": 3301, - "lev": 3302, - "lew": 3303, - "lex": 3304, - "ley": 3305, - "lez": 3306, - "lfa": 3307, - "lga": 3308, - "lgb": 3309, - "lgg": 3310, - "lgh": 3311, - "lgi": 3312, - "lgk": 3313, - "lgl": 3314, - "lgm": 3315, - "lgn": 3316, - "lgq": 3317, - "lgr": 3318, - "lgt": 3319, - "lgu": 3320, - "lgz": 3321, - "lha": 3322, - "lhh": 3323, - "lhi": 3324, - "lhl": 3325, - "lhm": 3326, - "lhn": 3327, - "lhp": 3328, - "lhs": 3329, - "lht": 3330, - "lhu": 3331, - "lia": 3332, - "lib": 3333, - "lic": 3334, - "lid": 3335, - "lie": 3336, - "lif": 3337, - "lig": 3338, - "lih": 3339, - "lij": 3340, - "lik": 3341, - "lil": 3342, - "lim": 3343, - "lin": 3344, - "lio": 3345, - "lip": 3346, - "liq": 3347, - "lis": 3348, - "lit": 3349, - "liu": 3350, - "liv": 3351, - "liw": 3352, - "lix": 3353, - "liy": 3354, - "liz": 3355, - "lja": 3356, - "lje": 3357, - "lji": 3358, - "ljl": 3359, - "ljp": 3360, - "ljw": 3361, - "ljx": 3362, - "lka": 3363, - "lkb": 3364, - "lkc": 3365, - "lkd": 3366, - "lke": 3367, - "lkh": 3368, - "lki": 3369, - "lkj": 3370, - "lkl": 3371, - "lkm": 3372, - "lkn": 3373, - "lko": 3374, - "lkr": 3375, - "lks": 3376, - "lkt": 3377, - "lku": 3378, - "lky": 3379, - "lla": 3380, - "llb": 3381, - "llc": 3382, - "lld": 3383, - "lle": 3384, - "llf": 3385, - "llg": 3386, - "llh": 3387, - "lli": 3388, - "llk": 3389, - "lll": 3390, - "llm": 3391, - "lln": 3392, - "llp": 3393, - "llq": 3394, - "llu": 3395, - "llx": 3396, - "lma": 3397, - "lmb": 3398, - "lmc": 3399, - "lmd": 3400, - "lme": 3401, - "lmf": 3402, - "lmg": 3403, - "lmi": 3404, - "lmj": 3405, - "lmk": 3406, - "lml": 3407, - "lmn": 3408, - "lmo": 3409, - "lmp": 3410, - "lmq": 3411, - "lmr": 3412, - "lmu": 3413, - "lmv": 3414, - "lmw": 3415, - "lmx": 3416, - "lmy": 3417, - "lna": 3418, - "lnb": 3419, - "lnd": 3420, - "lnh": 3421, - "lni": 3422, - "lnj": 3423, - "lnl": 3424, - "lnm": 3425, - "lnn": 3426, - "lno": 3427, - "lns": 3428, - "lnu": 3429, - "lnz": 3430, - "loa": 3431, - "lob": 3432, - "loc": 3433, - "loe": 3434, - "lof": 3435, - "log": 3436, - "loh": 3437, - "loi": 3438, - "loj": 3439, - "lok": 3440, - "lol": 3441, - "lom": 3442, - "lon": 3443, - "loo": 3444, - "lop": 3445, - "loq": 3446, - "lor": 3447, - "los": 3448, - "lot": 3449, - "lou": 3450, - "low": 3451, - "lox": 3452, - "loy": 3453, - "loz": 3454, - "lpa": 3455, - "lpe": 3456, - "lpn": 3457, - "lpo": 3458, - "lpx": 3459, - "lra": 3460, - "lrc": 3461, - "lre": 3462, - "lrg": 3463, - "lri": 3464, - "lrl": 3465, - "lrm": 3466, - "lrn": 3467, - "lro": 3468, - "lrr": 3469, - "lrt": 3470, - "lrv": 3471, - "lrz": 3472, - "lsa": 3473, - "lsd": 3474, - "lse": 3475, - "lsh": 3476, - "lsi": 3477, - "lsm": 3478, - "lsr": 3479, - "lss": 3480, - "ltc": 3481, - "lth": 3482, - "lti": 3483, - "ltn": 3484, - "lto": 3485, - "lts": 3486, - "ltu": 3487, - "ltz": 3488, - "lua": 3489, - "lub": 3490, - "luc": 3491, - "lud": 3492, - "lue": 3493, - "luf": 3494, - "lug": 3495, - "lui": 3496, - "luj": 3497, - "luk": 3498, - "lul": 3499, - "lum": 3500, - "lun": 3501, - "luo": 3502, - "lup": 3503, - "luq": 3504, - "lur": 3505, - "lus": 3506, - "lut": 3507, - "luv": 3508, - "luw": 3509, - "luz": 3510, - "lva": 3511, - "lvi": 3512, - "lvk": 3513, - "lvs": 3514, - "lvu": 3515, - "lwa": 3516, - "lwe": 3517, - "lwg": 3518, - "lwh": 3519, - "lwl": 3520, - "lwm": 3521, - "lwo": 3522, - "lwt": 3523, - "lwu": 3524, - "lww": 3525, - "lxm": 3526, - "lya": 3527, - "lyg": 3528, - "lyn": 3529, - "lzh": 3530, - "lzl": 3531, - "lzn": 3532, - "lzz": 3533, - "maa": 3534, - "mab": 3535, - "mad": 3536, - "mae": 3537, - "maf": 3538, - "mag": 3539, - "mah": 3540, - "mai": 3541, - "maj": 3542, - "mak": 3543, - "mal": 3544, - "mam": 3545, - "maq": 3546, - "mar": 3547, - "mas": 3548, - "mat": 3549, - "mau": 3550, - "mav": 3551, - "maw": 3552, - "max": 3553, - "maz": 3554, - "mba": 3555, - "mbb": 3556, - "mbc": 3557, - "mbd": 3558, - "mbe": 3559, - "mbf": 3560, - "mbh": 3561, - "mbi": 3562, - "mbj": 3563, - "mbk": 3564, - "mbl": 3565, - "mbm": 3566, - "mbn": 3567, - "mbo": 3568, - "mbp": 3569, - "mbq": 3570, - "mbr": 3571, - "mbs": 3572, - "mbt": 3573, - "mbu": 3574, - "mbv": 3575, - "mbw": 3576, - "mbx": 3577, - "mby": 3578, - "mbz": 3579, - "mca": 3580, - "mcb": 3581, - "mcc": 3582, - "mcd": 3583, - "mce": 3584, - "mcf": 3585, - "mcg": 3586, - "mch": 3587, - "mci": 3588, - "mcj": 3589, - "mck": 3590, - "mcl": 3591, - "mcm": 3592, - "mcn": 3593, - "mco": 3594, - "mcp": 3595, - "mcq": 3596, - "mcr": 3597, - "mcs": 3598, - "mct": 3599, - "mcu": 3600, - "mcv": 3601, - "mcw": 3602, - "mcx": 3603, - "mcy": 3604, - "mcz": 3605, - "mda": 3606, - "mdb": 3607, - "mdc": 3608, - "mdd": 3609, - "mde": 3610, - "mdf": 3611, - "mdg": 3612, - "mdh": 3613, - "mdi": 3614, - "mdj": 3615, - "mdk": 3616, - "mdm": 3617, - "mdn": 3618, - "mdp": 3619, - "mdq": 3620, - "mdr": 3621, - "mds": 3622, - "mdt": 3623, - "mdu": 3624, - "mdv": 3625, - "mdw": 3626, - "mdx": 3627, - "mdy": 3628, - "mdz": 3629, - "mea": 3630, - "meb": 3631, - "mec": 3632, - "med": 3633, - "mee": 3634, - "mef": 3635, - "meh": 3636, - "mei": 3637, - "mej": 3638, - "mek": 3639, - "mel": 3640, - "mem": 3641, - "men": 3642, - "meo": 3643, - "mep": 3644, - "meq": 3645, - "mer": 3646, - "mes": 3647, - "met": 3648, - "meu": 3649, - "mev": 3650, - "mew": 3651, - "mey": 3652, - "mez": 3653, - "mfa": 3654, - "mfb": 3655, - "mfc": 3656, - "mfd": 3657, - "mfe": 3658, - "mff": 3659, - "mfg": 3660, - "mfh": 3661, - "mfi": 3662, - "mfj": 3663, - "mfk": 3664, - "mfl": 3665, - "mfm": 3666, - "mfn": 3667, - "mfo": 3668, - "mfp": 3669, - "mfq": 3670, - "mfr": 3671, - "mft": 3672, - "mfu": 3673, - "mfv": 3674, - "mfw": 3675, - "mfx": 3676, - "mfy": 3677, - "mfz": 3678, - "mgb": 3679, - "mgc": 3680, - "mgd": 3681, - "mge": 3682, - "mgf": 3683, - "mgg": 3684, - "mgh": 3685, - "mgi": 3686, - "mgj": 3687, - "mgk": 3688, - "mgl": 3689, - "mgm": 3690, - "mgn": 3691, - "mgo": 3692, - "mgp": 3693, - "mgq": 3694, - "mgr": 3695, - "mgs": 3696, - "mgt": 3697, - "mgu": 3698, - "mgv": 3699, - "mgw": 3700, - "mgy": 3701, - "mgz": 3702, - "mha": 3703, - "mhb": 3704, - "mhc": 3705, - "mhd": 3706, - "mhe": 3707, - "mhf": 3708, - "mhg": 3709, - "mhi": 3710, - "mhj": 3711, - "mhk": 3712, - "mhl": 3713, - "mhm": 3714, - "mhn": 3715, - "mho": 3716, - "mhp": 3717, - "mhq": 3718, - "mhr": 3719, - "mhs": 3720, - "mht": 3721, - "mhu": 3722, - "mhw": 3723, - "mhx": 3724, - "mhy": 3725, - "mhz": 3726, - "mia": 3727, - "mib": 3728, - "mic": 3729, - "mid": 3730, - "mie": 3731, - "mif": 3732, - "mig": 3733, - "mih": 3734, - "mii": 3735, - "mij": 3736, - "mik": 3737, - "mil": 3738, - "mim": 3739, - "min": 3740, - "mio": 3741, - "mip": 3742, - "miq": 3743, - "mir": 3744, - "mit": 3745, - "miu": 3746, - "miw": 3747, - "mix": 3748, - "miy": 3749, - "miz": 3750, - "mjc": 3751, - "mjd": 3752, - "mje": 3753, - "mjg": 3754, - "mjh": 3755, - "mji": 3756, - "mjj": 3757, - "mjk": 3758, - "mjl": 3759, - "mjm": 3760, - "mjn": 3761, - "mjo": 3762, - "mjp": 3763, - "mjq": 3764, - "mjr": 3765, - "mjs": 3766, - "mjt": 3767, - "mju": 3768, - "mjv": 3769, - "mjw": 3770, - "mjx": 3771, - "mjy": 3772, - "mjz": 3773, - "mka": 3774, - "mkb": 3775, - "mkc": 3776, - "mkd": 3777, - "mke": 3778, - "mkf": 3779, - "mkg": 3780, - "mki": 3781, - "mkj": 3782, - "mkk": 3783, - "mkl": 3784, - "mkm": 3785, - "mkn": 3786, - "mko": 3787, - "mkp": 3788, - "mkq": 3789, - "mkr": 3790, - "mks": 3791, - "mkt": 3792, - "mku": 3793, - "mkv": 3794, - "mkw": 3795, - "mkx": 3796, - "mky": 3797, - "mkz": 3798, - "mla": 3799, - "mlb": 3800, - "mlc": 3801, - "mle": 3802, - "mlf": 3803, - "mlh": 3804, - "mli": 3805, - "mlj": 3806, - "mlk": 3807, - "mll": 3808, - "mlm": 3809, - "mln": 3810, - "mlo": 3811, - "mlp": 3812, - "mlq": 3813, - "mlr": 3814, - "mls": 3815, - "mlt": 3816, - "mlu": 3817, - "mlv": 3818, - "mlw": 3819, - "mlx": 3820, - "mlz": 3821, - "mma": 3822, - "mmb": 3823, - "mmc": 3824, - "mmd": 3825, - "mme": 3826, - "mmf": 3827, - "mmg": 3828, - "mmh": 3829, - "mmi": 3830, - "mmj": 3831, - "mmk": 3832, - "mml": 3833, - "mmm": 3834, - "mmn": 3835, - "mmo": 3836, - "mmp": 3837, - "mmq": 3838, - "mmr": 3839, - "mmt": 3840, - "mmu": 3841, - "mmv": 3842, - "mmw": 3843, - "mmx": 3844, - "mmy": 3845, - "mmz": 3846, - "mna": 3847, - "mnb": 3848, - "mnc": 3849, - "mnd": 3850, - "mne": 3851, - "mnf": 3852, - "mng": 3853, - "mnh": 3854, - "mni": 3855, - "mnj": 3856, - "mnk": 3857, - "mnl": 3858, - "mnm": 3859, - "mnn": 3860, - "mnp": 3861, - "mnq": 3862, - "mnr": 3863, - "mns": 3864, - "mnu": 3865, - "mnv": 3866, - "mnw": 3867, - "mnx": 3868, - "mny": 3869, - "mnz": 3870, - "moa": 3871, - "moc": 3872, - "moe": 3873, - "mog": 3874, - "moh": 3875, - "moi": 3876, - "moj": 3877, - "mok": 3878, - "mom": 3879, - "moo": 3880, - "mop": 3881, - "moq": 3882, - "mor": 3883, - "mos": 3884, - "mot": 3885, - "mou": 3886, - "mov": 3887, - "mow": 3888, - "mox": 3889, - "moy": 3890, - "moz": 3891, - "mpa": 3892, - "mpb": 3893, - "mpc": 3894, - "mpd": 3895, - "mpe": 3896, - "mpg": 3897, - "mph": 3898, - "mpi": 3899, - "mpj": 3900, - "mpk": 3901, - "mpl": 3902, - "mpm": 3903, - "mpn": 3904, - "mpo": 3905, - "mpp": 3906, - "mpq": 3907, - "mpr": 3908, - "mps": 3909, - "mpt": 3910, - "mpu": 3911, - "mpv": 3912, - "mpw": 3913, - "mpx": 3914, - "mpy": 3915, - "mpz": 3916, - "mqa": 3917, - "mqb": 3918, - "mqc": 3919, - "mqe": 3920, - "mqf": 3921, - "mqg": 3922, - "mqh": 3923, - "mqi": 3924, - "mqj": 3925, - "mqk": 3926, - "mql": 3927, - "mqm": 3928, - "mqn": 3929, - "mqo": 3930, - "mqp": 3931, - "mqq": 3932, - "mqr": 3933, - "mqs": 3934, - "mqt": 3935, - "mqu": 3936, - "mqv": 3937, - "mqw": 3938, - "mqx": 3939, - "mqy": 3940, - "mqz": 3941, - "mra": 3942, - "mrb": 3943, - "mrc": 3944, - "mrd": 3945, - "mrf": 3946, - "mrg": 3947, - "mrh": 3948, - "mri": 3949, - "mrj": 3950, - "mrk": 3951, - "mrl": 3952, - "mrm": 3953, - "mrn": 3954, - "mro": 3955, - "mrp": 3956, - "mrq": 3957, - "mrr": 3958, - "mrs": 3959, - "mrt": 3960, - "mru": 3961, - "mrv": 3962, - "mrw": 3963, - "mrx": 3964, - "mry": 3965, - "mrz": 3966, - "msb": 3967, - "msc": 3968, - "mse": 3969, - "msf": 3970, - "msg": 3971, - "msh": 3972, - "msi": 3973, - "msj": 3974, - "msk": 3975, - "msl": 3976, - "msm": 3977, - "msn": 3978, - "mso": 3979, - "msp": 3980, - "msq": 3981, - "mss": 3982, - "msu": 3983, - "msv": 3984, - "msw": 3985, - "msx": 3986, - "msy": 3987, - "msz": 3988, - "mta": 3989, - "mtb": 3990, - "mtc": 3991, - "mtd": 3992, - "mte": 3993, - "mtf": 3994, - "mtg": 3995, - "mth": 3996, - "mti": 3997, - "mtj": 3998, - "mtk": 3999, - "mtl": 4000, - "mtm": 4001, - "mtn": 4002, - "mto": 4003, - "mtp": 4004, - "mtq": 4005, - "mtr": 4006, - "mts": 4007, - "mtt": 4008, - "mtu": 4009, - "mtv": 4010, - "mtw": 4011, - "mtx": 4012, - "mty": 4013, - "mua": 4014, - "mub": 4015, - "muc": 4016, - "mud": 4017, - "mug": 4018, - "muh": 4019, - "mui": 4020, - "muj": 4021, - "muk": 4022, - "mum": 4023, - "muo": 4024, - "mup": 4025, - "muq": 4026, - "mur": 4027, - "mus": 4028, - "mut": 4029, - "muu": 4030, - "muv": 4031, - "mux": 4032, - "muy": 4033, - "muz": 4034, - "mva": 4035, - "mvb": 4036, - "mvd": 4037, - "mve": 4038, - "mvf": 4039, - "mvg": 4040, - "mvh": 4041, - "mvi": 4042, - "mvk": 4043, - "mvl": 4044, - "mvn": 4045, - "mvo": 4046, - "mvp": 4047, - "mvq": 4048, - "mvr": 4049, - "mvs": 4050, - "mvt": 4051, - "mvu": 4052, - "mvv": 4053, - "mvw": 4054, - "mvx": 4055, - "mvy": 4056, - "mvz": 4057, - "mwa": 4058, - "mwb": 4059, - "mwc": 4060, - "mwe": 4061, - "mwf": 4062, - "mwg": 4063, - "mwh": 4064, - "mwi": 4065, - "mwk": 4066, - "mwl": 4067, - "mwm": 4068, - "mwn": 4069, - "mwo": 4070, - "mwp": 4071, - "mwq": 4072, - "mws": 4073, - "mwt": 4074, - "mwu": 4075, - "mwv": 4076, - "mww": 4077, - "mwz": 4078, - "mxa": 4079, - "mxb": 4080, - "mxc": 4081, - "mxd": 4082, - "mxe": 4083, - "mxf": 4084, - "mxg": 4085, - "mxh": 4086, - "mxi": 4087, - "mxj": 4088, - "mxk": 4089, - "mxl": 4090, - "mxm": 4091, - "mxn": 4092, - "mxo": 4093, - "mxp": 4094, - "mxq": 4095, - "mxr": 4096, - "mxs": 4097, - "mxt": 4098, - "mxu": 4099, - "mxv": 4100, - "mxw": 4101, - "mxx": 4102, - "mxy": 4103, - "mxz": 4104, - "mya": 4105, - "myb": 4106, - "myc": 4107, - "mye": 4108, - "myf": 4109, - "myg": 4110, - "myh": 4111, - "myj": 4112, - "myk": 4113, - "myl": 4114, - "mym": 4115, - "myo": 4116, - "myp": 4117, - "myr": 4118, - "mys": 4119, - "myu": 4120, - "myv": 4121, - "myw": 4122, - "myx": 4123, - "myy": 4124, - "myz": 4125, - "mza": 4126, - "mzb": 4127, - "mzd": 4128, - "mze": 4129, - "mzh": 4130, - "mzi": 4131, - "mzj": 4132, - "mzk": 4133, - "mzl": 4134, - "mzm": 4135, - "mzn": 4136, - "mzo": 4137, - "mzp": 4138, - "mzq": 4139, - "mzr": 4140, - "mzs": 4141, - "mzt": 4142, - "mzu": 4143, - "mzv": 4144, - "mzw": 4145, - "mzz": 4146, - "naa": 4147, - "nab": 4148, - "nac": 4149, - "nae": 4150, - "naf": 4151, - "nag": 4152, - "naj": 4153, - "nak": 4154, - "nal": 4155, - "nam": 4156, - "nan": 4157, - "nao": 4158, - "nap": 4159, - "naq": 4160, - "nar": 4161, - "nas": 4162, - "nat": 4163, - "nau": 4164, - "nav": 4165, - "naw": 4166, - "nax": 4167, - "nay": 4168, - "naz": 4169, - "nba": 4170, - "nbb": 4171, - "nbc": 4172, - "nbd": 4173, - "nbe": 4174, - "nbh": 4175, - "nbi": 4176, - "nbj": 4177, - "nbk": 4178, - "nbm": 4179, - "nbn": 4180, - "nbo": 4181, - "nbp": 4182, - "nbq": 4183, - "nbr": 4184, - "nbt": 4185, - "nbu": 4186, - "nbv": 4187, - "nbw": 4188, - "nby": 4189, - "nca": 4190, - "ncb": 4191, - "ncc": 4192, - "ncd": 4193, - "nce": 4194, - "ncf": 4195, - "ncg": 4196, - "nch": 4197, - "nci": 4198, - "ncj": 4199, - "nck": 4200, - "ncl": 4201, - "ncm": 4202, - "ncn": 4203, - "nco": 4204, - "ncq": 4205, - "ncr": 4206, - "nct": 4207, - "ncu": 4208, - "ncx": 4209, - "ncz": 4210, - "nda": 4211, - "ndb": 4212, - "ndc": 4213, - "ndd": 4214, - "nde": 4215, - "ndg": 4216, - "ndh": 4217, - "ndi": 4218, - "ndj": 4219, - "ndk": 4220, - "ndl": 4221, - "ndm": 4222, - "ndn": 4223, - "ndo": 4224, - "ndp": 4225, - "ndq": 4226, - "ndr": 4227, - "nds": 4228, - "ndt": 4229, - "ndu": 4230, - "ndv": 4231, - "ndw": 4232, - "ndx": 4233, - "ndy": 4234, - "ndz": 4235, - "nea": 4236, - "neb": 4237, - "nec": 4238, - "nee": 4239, - "neg": 4240, - "neh": 4241, - "nej": 4242, - "nek": 4243, - "nem": 4244, - "nen": 4245, - "nep": 4246, - "neq": 4247, - "ner": 4248, - "nes": 4249, - "net": 4250, - "nev": 4251, - "new": 4252, - "nex": 4253, - "ney": 4254, - "nez": 4255, - "nfa": 4256, - "nfd": 4257, - "nfl": 4258, - "nfr": 4259, - "nfu": 4260, - "nga": 4261, - "ngb": 4262, - "ngc": 4263, - "ngd": 4264, - "nge": 4265, - "ngg": 4266, - "ngh": 4267, - "ngi": 4268, - "ngj": 4269, - "ngk": 4270, - "ngl": 4271, - "ngn": 4272, - "ngp": 4273, - "ngq": 4274, - "ngr": 4275, - "ngs": 4276, - "ngt": 4277, - "ngu": 4278, - "ngv": 4279, - "ngw": 4280, - "ngx": 4281, - "ngy": 4282, - "ngz": 4283, - "nha": 4284, - "nhb": 4285, - "nhc": 4286, - "nhd": 4287, - "nhe": 4288, - "nhf": 4289, - "nhg": 4290, - "nhh": 4291, - "nhi": 4292, - "nhk": 4293, - "nhm": 4294, - "nhn": 4295, - "nho": 4296, - "nhp": 4297, - "nhq": 4298, - "nhr": 4299, - "nht": 4300, - "nhu": 4301, - "nhv": 4302, - "nhw": 4303, - "nhx": 4304, - "nhy": 4305, - "nhz": 4306, - "nia": 4307, - "nib": 4308, - "nid": 4309, - "nie": 4310, - "nif": 4311, - "nig": 4312, - "nih": 4313, - "nii": 4314, - "nij": 4315, - "nik": 4316, - "nil": 4317, - "nim": 4318, - "nin": 4319, - "nio": 4320, - "niq": 4321, - "nir": 4322, - "nis": 4323, - "nit": 4324, - "niu": 4325, - "niv": 4326, - "niw": 4327, - "nix": 4328, - "niy": 4329, - "niz": 4330, - "nja": 4331, - "njb": 4332, - "njh": 4333, - "nji": 4334, - "njj": 4335, - "njl": 4336, - "njm": 4337, - "njn": 4338, - "njo": 4339, - "njr": 4340, - "njs": 4341, - "nju": 4342, - "njx": 4343, - "njy": 4344, - "njz": 4345, - "nka": 4346, - "nkb": 4347, - "nkc": 4348, - "nkd": 4349, - "nke": 4350, - "nkg": 4351, - "nkh": 4352, - "nki": 4353, - "nkj": 4354, - "nkk": 4355, - "nkm": 4356, - "nkn": 4357, - "nko": 4358, - "nkp": 4359, - "nkq": 4360, - "nkr": 4361, - "nks": 4362, - "nkt": 4363, - "nku": 4364, - "nkv": 4365, - "nkw": 4366, - "nkx": 4367, - "nkz": 4368, - "nla": 4369, - "nlc": 4370, - "nld": 4371, - "nle": 4372, - "nlg": 4373, - "nli": 4374, - "nlj": 4375, - "nlk": 4376, - "nll": 4377, - "nlm": 4378, - "nlo": 4379, - "nlu": 4380, - "nlv": 4381, - "nlx": 4382, - "nly": 4383, - "nlz": 4384, - "nma": 4385, - "nmb": 4386, - "nmc": 4387, - "nmd": 4388, - "nme": 4389, - "nmf": 4390, - "nmg": 4391, - "nmh": 4392, - "nmi": 4393, - "nmk": 4394, - "nml": 4395, - "nmm": 4396, - "nmn": 4397, - "nmo": 4398, - "nmp": 4399, - "nmq": 4400, - "nmr": 4401, - "nms": 4402, - "nmt": 4403, - "nmu": 4404, - "nmv": 4405, - "nmw": 4406, - "nmx": 4407, - "nmy": 4408, - "nmz": 4409, - "nna": 4410, - "nnb": 4411, - "nnc": 4412, - "nnd": 4413, - "nne": 4414, - "nnf": 4415, - "nng": 4416, - "nnh": 4417, - "nni": 4418, - "nnj": 4419, - "nnk": 4420, - "nnl": 4421, - "nnm": 4422, - "nnn": 4423, - "nnp": 4424, - "nnq": 4425, - "nnr": 4426, - "nnt": 4427, - "nnu": 4428, - "nnv": 4429, - "nnw": 4430, - "nny": 4431, - "nnz": 4432, - "noa": 4433, - "nob": 4434, - "noc": 4435, - "nod": 4436, - "noe": 4437, - "nof": 4438, - "nog": 4439, - "noh": 4440, - "noi": 4441, - "noj": 4442, - "nok": 4443, - "non": 4444, - "nop": 4445, - "noq": 4446, - "nor": 4447, - "nos": 4448, - "not": 4449, - "nou": 4450, - "now": 4451, - "noy": 4452, - "noz": 4453, - "npa": 4454, - "nph": 4455, - "npi": 4456, - "npl": 4457, - "npn": 4458, - "npo": 4459, - "nps": 4460, - "npy": 4461, - "nqg": 4462, - "nqk": 4463, - "nql": 4464, - "nqm": 4465, - "nqn": 4466, - "nqt": 4467, - "nra": 4468, - "nrb": 4469, - "nrc": 4470, - "nre": 4471, - "nrf": 4472, - "nrg": 4473, - "nri": 4474, - "nrk": 4475, - "nrl": 4476, - "nrm": 4477, - "nrt": 4478, - "nru": 4479, - "nrz": 4480, - "nsa": 4481, - "nsb": 4482, - "nsd": 4483, - "nse": 4484, - "nsf": 4485, - "nsg": 4486, - "nsh": 4487, - "nsk": 4488, - "nsm": 4489, - "nsn": 4490, - "nso": 4491, - "nsq": 4492, - "nss": 4493, - "nst": 4494, - "nsu": 4495, - "nsw": 4496, - "nsx": 4497, - "nsy": 4498, - "nsz": 4499, - "ntd": 4500, - "nte": 4501, - "nti": 4502, - "ntj": 4503, - "ntk": 4504, - "ntm": 4505, - "nto": 4506, - "ntp": 4507, - "ntr": 4508, - "ntu": 4509, - "ntw": 4510, - "nty": 4511, - "ntz": 4512, - "nua": 4513, - "nuc": 4514, - "nud": 4515, - "nue": 4516, - "nuf": 4517, - "nug": 4518, - "nuh": 4519, - "nui": 4520, - "nuj": 4521, - "nuk": 4522, - "nul": 4523, - "num": 4524, - "nun": 4525, - "nuo": 4526, - "nup": 4527, - "nuq": 4528, - "nur": 4529, - "nus": 4530, - "nut": 4531, - "nuu": 4532, - "nuv": 4533, - "nuw": 4534, - "nux": 4535, - "nuy": 4536, - "nuz": 4537, - "nvh": 4538, - "nvm": 4539, - "nvo": 4540, - "nwa": 4541, - "nwb": 4542, - "nwe": 4543, - "nwi": 4544, - "nwm": 4545, - "nwo": 4546, - "nwr": 4547, - "nxa": 4548, - "nxd": 4549, - "nxe": 4550, - "nxg": 4551, - "nxi": 4552, - "nxl": 4553, - "nxn": 4554, - "nxo": 4555, - "nxq": 4556, - "nxr": 4557, - "nxx": 4558, - "nya": 4559, - "nyb": 4560, - "nyc": 4561, - "nyd": 4562, - "nye": 4563, - "nyf": 4564, - "nyg": 4565, - "nyh": 4566, - "nyi": 4567, - "nyj": 4568, - "nyk": 4569, - "nyl": 4570, - "nym": 4571, - "nyn": 4572, - "nyo": 4573, - "nyp": 4574, - "nyq": 4575, - "nyr": 4576, - "nys": 4577, - "nyt": 4578, - "nyu": 4579, - "nyv": 4580, - "nyw": 4581, - "nyx": 4582, - "nyy": 4583, - "nza": 4584, - "nzb": 4585, - "nzd": 4586, - "nzi": 4587, - "nzk": 4588, - "nzm": 4589, - "nzu": 4590, - "nzy": 4591, - "nzz": 4592, - "oaa": 4593, - "oac": 4594, - "oar": 4595, - "obi": 4596, - "obl": 4597, - "obo": 4598, - "obr": 4599, - "obu": 4600, - "oca": 4601, - "och": 4602, - "oci": 4603, - "ocu": 4604, - "odk": 4605, - "odt": 4606, - "odu": 4607, - "ofo": 4608, - "ofs": 4609, - "ofu": 4610, - "ogb": 4611, - "ogc": 4612, - "oge": 4613, - "ogg": 4614, - "ogo": 4615, - "ogu": 4616, - "oia": 4617, - "oin": 4618, - "ojb": 4619, - "ojc": 4620, - "ojg": 4621, - "ojp": 4622, - "ojs": 4623, - "ojv": 4624, - "ojw": 4625, - "oka": 4626, - "okb": 4627, - "okd": 4628, - "oke": 4629, - "okh": 4630, - "oki": 4631, - "okj": 4632, - "okk": 4633, - "okn": 4634, - "okr": 4635, - "oks": 4636, - "oku": 4637, - "okv": 4638, - "okx": 4639, - "ola": 4640, - "old": 4641, - "ole": 4642, - "olm": 4643, - "olo": 4644, - "olr": 4645, - "olu": 4646, - "oma": 4647, - "omb": 4648, - "omc": 4649, - "omg": 4650, - "omi": 4651, - "omk": 4652, - "oml": 4653, - "omo": 4654, - "omr": 4655, - "omt": 4656, - "omu": 4657, - "omw": 4658, - "omx": 4659, - "ona": 4660, - "onb": 4661, - "one": 4662, - "ong": 4663, - "oni": 4664, - "onj": 4665, - "onk": 4666, - "onn": 4667, - "ono": 4668, - "onp": 4669, - "onr": 4670, - "ons": 4671, - "onu": 4672, - "onw": 4673, - "ood": 4674, - "oog": 4675, - "oon": 4676, - "oor": 4677, - "oos": 4678, - "opa": 4679, - "opk": 4680, - "opm": 4681, - "opo": 4682, - "opt": 4683, - "opy": 4684, - "ora": 4685, - "orc": 4686, - "ore": 4687, - "org": 4688, - "orh": 4689, - "orn": 4690, - "oro": 4691, - "orr": 4692, - "ors": 4693, - "ort": 4694, - "oru": 4695, - "orv": 4696, - "orw": 4697, - "orx": 4698, - "ory": 4699, - "orz": 4700, - "osa": 4701, - "osc": 4702, - "osi": 4703, - "oso": 4704, - "osp": 4705, - "oss": 4706, - "ost": 4707, - "osu": 4708, - "osx": 4709, - "otd": 4710, - "ote": 4711, - "oti": 4712, - "otl": 4713, - "otm": 4714, - "otn": 4715, - "otq": 4716, - "otr": 4717, - "ots": 4718, - "ott": 4719, - "otu": 4720, - "otw": 4721, - "otx": 4722, - "oty": 4723, - "otz": 4724, - "oua": 4725, - "oub": 4726, - "oue": 4727, - "oui": 4728, - "oum": 4729, - "owi": 4730, - "owl": 4731, - "oyb": 4732, - "oyd": 4733, - "oym": 4734, - "oyy": 4735, - "ozm": 4736, - "pab": 4737, - "pac": 4738, - "pad": 4739, - "pae": 4740, - "paf": 4741, - "pag": 4742, - "pah": 4743, - "pai": 4744, - "pak": 4745, - "pal": 4746, - "pam": 4747, - "pan": 4748, - "pao": 4749, - "pap": 4750, - "paq": 4751, - "par": 4752, - "pas": 4753, - "pau": 4754, - "pav": 4755, - "paw": 4756, - "pay": 4757, - "paz": 4758, - "pbb": 4759, - "pbc": 4760, - "pbe": 4761, - "pbf": 4762, - "pbg": 4763, - "pbh": 4764, - "pbi": 4765, - "pbl": 4766, - "pbn": 4767, - "pbo": 4768, - "pbp": 4769, - "pbr": 4770, - "pbs": 4771, - "pbt": 4772, - "pbu": 4773, - "pbv": 4774, - "pby": 4775, - "pca": 4776, - "pcb": 4777, - "pcc": 4778, - "pcd": 4779, - "pce": 4780, - "pcf": 4781, - "pcg": 4782, - "pci": 4783, - "pcj": 4784, - "pck": 4785, - "pcl": 4786, - "pcm": 4787, - "pcn": 4788, - "pcp": 4789, - "pcw": 4790, - "pda": 4791, - "pdc": 4792, - "pdi": 4793, - "pdn": 4794, - "pdo": 4795, - "pdt": 4796, - "pdu": 4797, - "pea": 4798, - "peb": 4799, - "ped": 4800, - "pee": 4801, - "pef": 4802, - "peg": 4803, - "peh": 4804, - "pei": 4805, - "pej": 4806, - "pek": 4807, - "pel": 4808, - "pem": 4809, - "peo": 4810, - "pep": 4811, - "peq": 4812, - "pes": 4813, - "pev": 4814, - "pex": 4815, - "pey": 4816, - "pez": 4817, - "pfa": 4818, - "pfe": 4819, - "pfl": 4820, - "pga": 4821, - "pgg": 4822, - "pgi": 4823, - "pgk": 4824, - "pgs": 4825, - "pgu": 4826, - "pha": 4827, - "phd": 4828, - "phg": 4829, - "phh": 4830, - "phk": 4831, - "phl": 4832, - "phm": 4833, - "phn": 4834, - "pho": 4835, - "phq": 4836, - "phr": 4837, - "pht": 4838, - "phu": 4839, - "phv": 4840, - "pia": 4841, - "pib": 4842, - "pic": 4843, - "pid": 4844, - "pie": 4845, - "pif": 4846, - "pih": 4847, - "pii": 4848, - "pil": 4849, - "pim": 4850, - "pin": 4851, - "pio": 4852, - "pip": 4853, - "pir": 4854, - "pis": 4855, - "pit": 4856, - "piu": 4857, - "piv": 4858, - "piw": 4859, - "pix": 4860, - "piy": 4861, - "piz": 4862, - "pjt": 4863, - "pkb": 4864, - "pkg": 4865, - "pkh": 4866, - "pkn": 4867, - "pko": 4868, - "pkp": 4869, - "pkr": 4870, - "pkt": 4871, - "pku": 4872, - "pla": 4873, - "plb": 4874, - "plc": 4875, - "ple": 4876, - "plg": 4877, - "plh": 4878, - "pli": 4879, - "plj": 4880, - "plk": 4881, - "pll": 4882, - "pln": 4883, - "plo": 4884, - "plq": 4885, - "plr": 4886, - "pls": 4887, - "plt": 4888, - "plu": 4889, - "plv": 4890, - "plw": 4891, - "ply": 4892, - "plz": 4893, - "pma": 4894, - "pmb": 4895, - "pmd": 4896, - "pme": 4897, - "pmf": 4898, - "pmh": 4899, - "pmi": 4900, - "pmj": 4901, - "pmm": 4902, - "pmn": 4903, - "pmo": 4904, - "pmq": 4905, - "pmr": 4906, - "pms": 4907, - "pmt": 4908, - "pmw": 4909, - "pmx": 4910, - "pmy": 4911, - "pmz": 4912, - "pna": 4913, - "pnb": 4914, - "pnc": 4915, - "pnd": 4916, - "pne": 4917, - "png": 4918, - "pnh": 4919, - "pni": 4920, - "pnj": 4921, - "pnk": 4922, - "pnl": 4923, - "pnm": 4924, - "pnn": 4925, - "pno": 4926, - "pnp": 4927, - "pnq": 4928, - "pnr": 4929, - "pns": 4930, - "pnt": 4931, - "pnu": 4932, - "pnv": 4933, - "pnw": 4934, - "pnx": 4935, - "pny": 4936, - "pnz": 4937, - "poc": 4938, - "poe": 4939, - "pof": 4940, - "pog": 4941, - "poh": 4942, - "poi": 4943, - "pol": 4944, - "pom": 4945, - "pon": 4946, - "poo": 4947, - "pop": 4948, - "poq": 4949, - "por": 4950, - "pos": 4951, - "pot": 4952, - "pov": 4953, - "pow": 4954, - "pox": 4955, - "poy": 4956, - "ppe": 4957, - "ppi": 4958, - "ppk": 4959, - "ppl": 4960, - "ppm": 4961, - "ppn": 4962, - "ppo": 4963, - "ppp": 4964, - "ppq": 4965, - "pps": 4966, - "ppt": 4967, - "ppu": 4968, - "pqa": 4969, - "pqm": 4970, - "prc": 4971, - "pre": 4972, - "prf": 4973, - "prg": 4974, - "prh": 4975, - "pri": 4976, - "prk": 4977, - "prm": 4978, - "prn": 4979, - "pro": 4980, - "prq": 4981, - "prr": 4982, - "prs": 4983, - "prt": 4984, - "pru": 4985, - "prw": 4986, - "prx": 4987, - "psa": 4988, - "pse": 4989, - "psh": 4990, - "psi": 4991, - "psm": 4992, - "psn": 4993, - "psq": 4994, - "pss": 4995, - "pst": 4996, - "psu": 4997, - "psw": 4998, - "psy": 4999, - "pta": 5000, - "pth": 5001, - "pti": 5002, - "ptn": 5003, - "pto": 5004, - "ptp": 5005, - "ptr": 5006, - "ptt": 5007, - "ptu": 5008, - "ptv": 5009, - "ptw": 5010, - "pty": 5011, - "pua": 5012, - "pub": 5013, - "pud": 5014, - "pue": 5015, - "puf": 5016, - "pug": 5017, - "pui": 5018, - "puj": 5019, - "pum": 5020, - "puo": 5021, - "pup": 5022, - "puq": 5023, - "pur": 5024, - "puu": 5025, - "puw": 5026, - "pux": 5027, - "puy": 5028, - "pwa": 5029, - "pwb": 5030, - "pwg": 5031, - "pwi": 5032, - "pwm": 5033, - "pwn": 5034, - "pwo": 5035, - "pwr": 5036, - "pww": 5037, - "pye": 5038, - "pym": 5039, - "pyn": 5040, - "pyu": 5041, - "pyx": 5042, - "pyy": 5043, - "pzn": 5044, - "qua": 5045, - "qub": 5046, - "quc": 5047, - "qud": 5048, - "quf": 5049, - "qug": 5050, - "quh": 5051, - "qui": 5052, - "quk": 5053, - "qul": 5054, - "qum": 5055, - "qun": 5056, - "qup": 5057, - "qur": 5058, - "qus": 5059, - "quv": 5060, - "quw": 5061, - "qux": 5062, - "quy": 5063, - "quz": 5064, - "qva": 5065, - "qvc": 5066, - "qve": 5067, - "qvh": 5068, - "qvi": 5069, - "qvj": 5070, - "qvl": 5071, - "qvm": 5072, - "qvn": 5073, - "qvo": 5074, - "qvp": 5075, - "qvs": 5076, - "qvw": 5077, - "qvy": 5078, - "qvz": 5079, - "qwa": 5080, - "qwc": 5081, - "qwh": 5082, - "qws": 5083, - "qwt": 5084, - "qxa": 5085, - "qxc": 5086, - "qxh": 5087, - "qxl": 5088, - "qxn": 5089, - "qxo": 5090, - "qxp": 5091, - "qxq": 5092, - "qxr": 5093, - "qxs": 5094, - "qxt": 5095, - "qxu": 5096, - "qxw": 5097, - "qyp": 5098, - "raa": 5099, - "rab": 5100, - "rac": 5101, - "rad": 5102, - "raf": 5103, - "rag": 5104, - "rah": 5105, - "rai": 5106, - "rak": 5107, - "ral": 5108, - "ram": 5109, - "ran": 5110, - "rao": 5111, - "rap": 5112, - "raq": 5113, - "rar": 5114, - "ras": 5115, - "rat": 5116, - "rau": 5117, - "rav": 5118, - "raw": 5119, - "rax": 5120, - "ray": 5121, - "raz": 5122, - "rbb": 5123, - "rcf": 5124, - "rdb": 5125, - "rea": 5126, - "reb": 5127, - "ree": 5128, - "reg": 5129, - "rei": 5130, - "rej": 5131, - "rel": 5132, - "rem": 5133, - "ren": 5134, - "res": 5135, - "ret": 5136, - "rey": 5137, - "rga": 5138, - "rge": 5139, - "rgk": 5140, - "rgn": 5141, - "rgr": 5142, - "rgs": 5143, - "rgu": 5144, - "rhg": 5145, - "rhp": 5146, - "ria": 5147, - "rif": 5148, - "ril": 5149, - "rim": 5150, - "rin": 5151, - "rir": 5152, - "rit": 5153, - "riu": 5154, - "rjg": 5155, - "rji": 5156, - "rjs": 5157, - "rka": 5158, - "rkb": 5159, - "rkh": 5160, - "rki": 5161, - "rkm": 5162, - "rkt": 5163, - "rma": 5164, - "rmb": 5165, - "rmc": 5166, - "rme": 5167, - "rmf": 5168, - "rmh": 5169, - "rmi": 5170, - "rmk": 5171, - "rml": 5172, - "rmm": 5173, - "rmn": 5174, - "rmo": 5175, - "rmp": 5176, - "rmq": 5177, - "rmt": 5178, - "rmw": 5179, - "rmx": 5180, - "rmy": 5181, - "rmz": 5182, - "rnd": 5183, - "rng": 5184, - "rnl": 5185, - "rnn": 5186, - "rnp": 5187, - "rnr": 5188, - "rnw": 5189, - "rob": 5190, - "roc": 5191, - "rod": 5192, - "roe": 5193, - "rof": 5194, - "rog": 5195, - "roh": 5196, - "rol": 5197, - "ron": 5198, - "roo": 5199, - "rop": 5200, - "ror": 5201, - "rou": 5202, - "row": 5203, - "rpn": 5204, - "rpt": 5205, - "rri": 5206, - "rro": 5207, - "rth": 5208, - "rtm": 5209, - "rtw": 5210, - "rub": 5211, - "ruc": 5212, - "rue": 5213, - "ruf": 5214, - "rug": 5215, - "ruh": 5216, - "ruk": 5217, - "run": 5218, - "ruo": 5219, - "rup": 5220, - "ruq": 5221, - "rus": 5222, - "rut": 5223, - "ruu": 5224, - "rwa": 5225, - "rwk": 5226, - "rwm": 5227, - "rwo": 5228, - "rwr": 5229, - "rxd": 5230, - "rxw": 5231, - "ryn": 5232, - "rys": 5233, - "ryu": 5234, - "rzh": 5235, - "saa": 5236, - "sab": 5237, - "sac": 5238, - "sad": 5239, - "sae": 5240, - "saf": 5241, - "sag": 5242, - "sah": 5243, - "saj": 5244, - "sak": 5245, - "sam": 5246, - "san": 5247, - "sao": 5248, - "saq": 5249, - "sar": 5250, - "sas": 5251, - "sat": 5252, - "sau": 5253, - "sav": 5254, - "saw": 5255, - "sax": 5256, - "say": 5257, - "saz": 5258, - "sba": 5259, - "sbb": 5260, - "sbc": 5261, - "sbd": 5262, - "sbe": 5263, - "sbf": 5264, - "sbg": 5265, - "sbh": 5266, - "sbi": 5267, - "sbj": 5268, - "sbk": 5269, - "sbl": 5270, - "sbm": 5271, - "sbn": 5272, - "sbo": 5273, - "sbp": 5274, - "sbq": 5275, - "sbr": 5276, - "sbs": 5277, - "sbt": 5278, - "sbu": 5279, - "sbw": 5280, - "sbx": 5281, - "sby": 5282, - "sbz": 5283, - "scb": 5284, - "sce": 5285, - "scf": 5286, - "scg": 5287, - "sch": 5288, - "sci": 5289, - "sck": 5290, - "scl": 5291, - "scn": 5292, - "sco": 5293, - "scp": 5294, - "scq": 5295, - "scs": 5296, - "sct": 5297, - "scu": 5298, - "scv": 5299, - "scw": 5300, - "sda": 5301, - "sdb": 5302, - "sdc": 5303, - "sde": 5304, - "sdf": 5305, - "sdg": 5306, - "sdh": 5307, - "sdj": 5308, - "sdk": 5309, - "sdn": 5310, - "sdo": 5311, - "sdp": 5312, - "sdr": 5313, - "sds": 5314, - "sdu": 5315, - "sdx": 5316, - "sdz": 5317, - "sea": 5318, - "seb": 5319, - "sec": 5320, - "sed": 5321, - "see": 5322, - "sef": 5323, - "seg": 5324, - "seh": 5325, - "sei": 5326, - "sej": 5327, - "sek": 5328, - "sel": 5329, - "sen": 5330, - "seo": 5331, - "sep": 5332, - "seq": 5333, - "ser": 5334, - "ses": 5335, - "set": 5336, - "seu": 5337, - "sev": 5338, - "sew": 5339, - "sey": 5340, - "sez": 5341, - "sfe": 5342, - "sfm": 5343, - "sfw": 5344, - "sga": 5345, - "sgb": 5346, - "sgc": 5347, - "sgd": 5348, - "sge": 5349, - "sgh": 5350, - "sgi": 5351, - "sgk": 5352, - "sgm": 5353, - "sgp": 5354, - "sgr": 5355, - "sgt": 5356, - "sgu": 5357, - "sgw": 5358, - "sgy": 5359, - "sgz": 5360, - "sha": 5361, - "shb": 5362, - "shc": 5363, - "shd": 5364, - "she": 5365, - "shg": 5366, - "shh": 5367, - "shi": 5368, - "shj": 5369, - "shk": 5370, - "shl": 5371, - "shm": 5372, - "shn": 5373, - "sho": 5374, - "shp": 5375, - "shq": 5376, - "shr": 5377, - "shs": 5378, - "sht": 5379, - "shu": 5380, - "shv": 5381, - "shw": 5382, - "shx": 5383, - "shy": 5384, - "shz": 5385, - "sia": 5386, - "sib": 5387, - "sid": 5388, - "sie": 5389, - "sif": 5390, - "sig": 5391, - "sih": 5392, - "sii": 5393, - "sij": 5394, - "sil": 5395, - "sim": 5396, - "sin": 5397, - "sip": 5398, - "siq": 5399, - "sir": 5400, - "sis": 5401, - "siu": 5402, - "siv": 5403, - "siw": 5404, - "six": 5405, - "siy": 5406, - "siz": 5407, - "sja": 5408, - "sjb": 5409, - "sjd": 5410, - "sje": 5411, - "sjg": 5412, - "sjk": 5413, - "sjl": 5414, - "sjm": 5415, - "sjo": 5416, - "sjp": 5417, - "sjr": 5418, - "sjs": 5419, - "sjt": 5420, - "sju": 5421, - "sjw": 5422, - "ska": 5423, - "skb": 5424, - "skc": 5425, - "skd": 5426, - "ske": 5427, - "skf": 5428, - "skg": 5429, - "skh": 5430, - "ski": 5431, - "skj": 5432, - "skm": 5433, - "skn": 5434, - "sko": 5435, - "skp": 5436, - "skq": 5437, - "skr": 5438, - "sks": 5439, - "skt": 5440, - "sku": 5441, - "skv": 5442, - "skw": 5443, - "skx": 5444, - "sky": 5445, - "skz": 5446, - "slc": 5447, - "sld": 5448, - "sle": 5449, - "slg": 5450, - "slh": 5451, - "sli": 5452, - "slk": 5453, - "sll": 5454, - "slm": 5455, - "sln": 5456, - "slp": 5457, - "slq": 5458, - "slr": 5459, - "slt": 5460, - "slu": 5461, - "slv": 5462, - "slw": 5463, - "slx": 5464, - "sly": 5465, - "slz": 5466, - "sma": 5467, - "smb": 5468, - "smc": 5469, - "smd": 5470, - "sme": 5471, - "smf": 5472, - "smg": 5473, - "smh": 5474, - "smj": 5475, - "smk": 5476, - "sml": 5477, - "smm": 5478, - "smn": 5479, - "smo": 5480, - "smp": 5481, - "smq": 5482, - "smr": 5483, - "sms": 5484, - "smt": 5485, - "smu": 5486, - "smv": 5487, - "smw": 5488, - "smx": 5489, - "smy": 5490, - "smz": 5491, - "sna": 5492, - "snb": 5493, - "snc": 5494, - "snd": 5495, - "sne": 5496, - "snf": 5497, - "sng": 5498, - "sni": 5499, - "snj": 5500, - "snk": 5501, - "snl": 5502, - "snm": 5503, - "snn": 5504, - "sno": 5505, - "snp": 5506, - "snq": 5507, - "snr": 5508, - "sns": 5509, - "snu": 5510, - "snv": 5511, - "snw": 5512, - "snx": 5513, - "sny": 5514, - "snz": 5515, - "soa": 5516, - "sob": 5517, - "soc": 5518, - "sod": 5519, - "soe": 5520, - "sog": 5521, - "soh": 5522, - "soi": 5523, - "soj": 5524, - "sok": 5525, - "sol": 5526, - "som": 5527, - "soo": 5528, - "sop": 5529, - "soq": 5530, - "sor": 5531, - "sos": 5532, - "sot": 5533, - "sou": 5534, - "sov": 5535, - "sow": 5536, - "sox": 5537, - "soy": 5538, - "soz": 5539, - "spa": 5540, - "spb": 5541, - "spc": 5542, - "spd": 5543, - "spe": 5544, - "spg": 5545, - "spi": 5546, - "spk": 5547, - "spl": 5548, - "spm": 5549, - "spn": 5550, - "spo": 5551, - "spp": 5552, - "spq": 5553, - "spr": 5554, - "sps": 5555, - "spt": 5556, - "spu": 5557, - "spv": 5558, - "spy": 5559, - "sqa": 5560, - "sqh": 5561, - "sqm": 5562, - "sqn": 5563, - "sqo": 5564, - "sqq": 5565, - "sqt": 5566, - "squ": 5567, - "sra": 5568, - "srb": 5569, - "src": 5570, - "sre": 5571, - "srf": 5572, - "srg": 5573, - "srh": 5574, - "sri": 5575, - "srk": 5576, - "srl": 5577, - "srm": 5578, - "srn": 5579, - "sro": 5580, - "srp": 5581, - "srq": 5582, - "srr": 5583, - "srs": 5584, - "srt": 5585, - "sru": 5586, - "srv": 5587, - "srw": 5588, - "srx": 5589, - "sry": 5590, - "srz": 5591, - "ssb": 5592, - "ssc": 5593, - "ssd": 5594, - "sse": 5595, - "ssf": 5596, - "ssg": 5597, - "ssh": 5598, - "ssi": 5599, - "ssj": 5600, - "ssk": 5601, - "ssl": 5602, - "ssm": 5603, - "ssn": 5604, - "sso": 5605, - "ssq": 5606, - "sss": 5607, - "sst": 5608, - "ssu": 5609, - "ssv": 5610, - "ssw": 5611, - "ssx": 5612, - "ssy": 5613, - "ssz": 5614, - "stb": 5615, - "ste": 5616, - "stf": 5617, - "stg": 5618, - "sti": 5619, - "stj": 5620, - "stk": 5621, - "stl": 5622, - "stm": 5623, - "stn": 5624, - "sto": 5625, - "stp": 5626, - "stq": 5627, - "str": 5628, - "sts": 5629, - "stt": 5630, - "stu": 5631, - "stv": 5632, - "stw": 5633, - "sty": 5634, - "sua": 5635, - "sub": 5636, - "suc": 5637, - "sue": 5638, - "sug": 5639, - "sui": 5640, - "suj": 5641, - "suk": 5642, - "sun": 5643, - "suo": 5644, - "suq": 5645, - "sur": 5646, - "sus": 5647, - "sut": 5648, - "suv": 5649, - "suw": 5650, - "sux": 5651, - "suy": 5652, - "suz": 5653, - "sva": 5654, - "svb": 5655, - "svc": 5656, - "sve": 5657, - "svm": 5658, - "svs": 5659, - "swb": 5660, - "swc": 5661, - "swe": 5662, - "swf": 5663, - "swg": 5664, - "swh": 5665, - "swi": 5666, - "swj": 5667, - "swk": 5668, - "swm": 5669, - "swn": 5670, - "swo": 5671, - "swp": 5672, - "swq": 5673, - "swr": 5674, - "sws": 5675, - "swt": 5676, - "swu": 5677, - "swv": 5678, - "sww": 5679, - "swx": 5680, - "swy": 5681, - "sxb": 5682, - "sxe": 5683, - "sxg": 5684, - "sxk": 5685, - "sxn": 5686, - "sxr": 5687, - "sxs": 5688, - "sxu": 5689, - "sxw": 5690, - "sya": 5691, - "syb": 5692, - "syc": 5693, - "syi": 5694, - "syk": 5695, - "syl": 5696, - "sym": 5697, - "syn": 5698, - "syo": 5699, - "sys": 5700, - "syw": 5701, - "syx": 5702, - "sza": 5703, - "szb": 5704, - "szc": 5705, - "sze": 5706, - "szg": 5707, - "szl": 5708, - "szn": 5709, - "szp": 5710, - "szv": 5711, - "szw": 5712, - "szy": 5713, - "taa": 5714, - "tab": 5715, - "tac": 5716, - "tad": 5717, - "tae": 5718, - "taf": 5719, - "tag": 5720, - "tah": 5721, - "taj": 5722, - "tak": 5723, - "tal": 5724, - "tam": 5725, - "tan": 5726, - "tao": 5727, - "tap": 5728, - "taq": 5729, - "tar": 5730, - "tat": 5731, - "tau": 5732, - "tav": 5733, - "taw": 5734, - "tax": 5735, - "tay": 5736, - "taz": 5737, - "tba": 5738, - "tbc": 5739, - "tbd": 5740, - "tbe": 5741, - "tbf": 5742, - "tbg": 5743, - "tbh": 5744, - "tbi": 5745, - "tbj": 5746, - "tbk": 5747, - "tbl": 5748, - "tbm": 5749, - "tbn": 5750, - "tbo": 5751, - "tbp": 5752, - "tbr": 5753, - "tbs": 5754, - "tbt": 5755, - "tbu": 5756, - "tbv": 5757, - "tbw": 5758, - "tbx": 5759, - "tby": 5760, - "tbz": 5761, - "tca": 5762, - "tcb": 5763, - "tcc": 5764, - "tcd": 5765, - "tce": 5766, - "tcf": 5767, - "tcg": 5768, - "tch": 5769, - "tci": 5770, - "tck": 5771, - "tcl": 5772, - "tcm": 5773, - "tcn": 5774, - "tco": 5775, - "tcp": 5776, - "tcq": 5777, - "tcs": 5778, - "tct": 5779, - "tcu": 5780, - "tcw": 5781, - "tcx": 5782, - "tcy": 5783, - "tcz": 5784, - "tda": 5785, - "tdb": 5786, - "tdc": 5787, - "tdd": 5788, - "tde": 5789, - "tdf": 5790, - "tdg": 5791, - "tdh": 5792, - "tdi": 5793, - "tdj": 5794, - "tdk": 5795, - "tdl": 5796, - "tdm": 5797, - "tdn": 5798, - "tdo": 5799, - "tdq": 5800, - "tdr": 5801, - "tds": 5802, - "tdt": 5803, - "tdv": 5804, - "tdx": 5805, - "tdy": 5806, - "tea": 5807, - "tec": 5808, - "ted": 5809, - "tee": 5810, - "tef": 5811, - "teg": 5812, - "teh": 5813, - "tei": 5814, - "tek": 5815, - "tel": 5816, - "tem": 5817, - "ten": 5818, - "teo": 5819, - "tep": 5820, - "teq": 5821, - "ter": 5822, - "tes": 5823, - "tet": 5824, - "teu": 5825, - "tev": 5826, - "tew": 5827, - "tex": 5828, - "tey": 5829, - "tez": 5830, - "tfi": 5831, - "tfn": 5832, - "tfo": 5833, - "tfr": 5834, - "tft": 5835, - "tga": 5836, - "tgb": 5837, - "tgc": 5838, - "tgd": 5839, - "tge": 5840, - "tgf": 5841, - "tgh": 5842, - "tgi": 5843, - "tgj": 5844, - "tgk": 5845, - "tgl": 5846, - "tgn": 5847, - "tgo": 5848, - "tgp": 5849, - "tgq": 5850, - "tgs": 5851, - "tgt": 5852, - "tgu": 5853, - "tgw": 5854, - "tgx": 5855, - "tgy": 5856, - "tgz": 5857, - "tha": 5858, - "thd": 5859, - "the": 5860, - "thf": 5861, - "thh": 5862, - "thi": 5863, - "thk": 5864, - "thl": 5865, - "thm": 5866, - "thn": 5867, - "thp": 5868, - "thq": 5869, - "thr": 5870, - "ths": 5871, - "tht": 5872, - "thu": 5873, - "thv": 5874, - "thy": 5875, - "thz": 5876, - "tia": 5877, - "tic": 5878, - "tif": 5879, - "tig": 5880, - "tih": 5881, - "tii": 5882, - "tij": 5883, - "tik": 5884, - "til": 5885, - "tim": 5886, - "tin": 5887, - "tio": 5888, - "tip": 5889, - "tiq": 5890, - "tir": 5891, - "tis": 5892, - "tit": 5893, - "tiu": 5894, - "tiv": 5895, - "tiw": 5896, - "tix": 5897, - "tiy": 5898, - "tiz": 5899, - "tja": 5900, - "tjg": 5901, - "tji": 5902, - "tjj": 5903, - "tjl": 5904, - "tjm": 5905, - "tjn": 5906, - "tjo": 5907, - "tjp": 5908, - "tjs": 5909, - "tju": 5910, - "tkb": 5911, - "tkd": 5912, - "tke": 5913, - "tkg": 5914, - "tkl": 5915, - "tkm": 5916, - "tkn": 5917, - "tkp": 5918, - "tkq": 5919, - "tkr": 5920, - "tks": 5921, - "tkt": 5922, - "tku": 5923, - "tkv": 5924, - "tkw": 5925, - "tkx": 5926, - "tkz": 5927, - "tla": 5928, - "tlb": 5929, - "tlc": 5930, - "tld": 5931, - "tlf": 5932, - "tlg": 5933, - "tli": 5934, - "tlj": 5935, - "tlk": 5936, - "tll": 5937, - "tlm": 5938, - "tln": 5939, - "tlo": 5940, - "tlp": 5941, - "tlq": 5942, - "tlr": 5943, - "tls": 5944, - "tlt": 5945, - "tlu": 5946, - "tlv": 5947, - "tlx": 5948, - "tly": 5949, - "tma": 5950, - "tmb": 5951, - "tmc": 5952, - "tmd": 5953, - "tmf": 5954, - "tmg": 5955, - "tmi": 5956, - "tmj": 5957, - "tml": 5958, - "tmm": 5959, - "tmn": 5960, - "tmo": 5961, - "tmq": 5962, - "tmr": 5963, - "tms": 5964, - "tmt": 5965, - "tmu": 5966, - "tmv": 5967, - "tmw": 5968, - "tmy": 5969, - "tmz": 5970, - "tna": 5971, - "tnb": 5972, - "tnc": 5973, - "tnd": 5974, - "tng": 5975, - "tnh": 5976, - "tni": 5977, - "tnk": 5978, - "tnl": 5979, - "tnm": 5980, - "tnn": 5981, - "tno": 5982, - "tnp": 5983, - "tnq": 5984, - "tnr": 5985, - "tns": 5986, - "tnt": 5987, - "tnu": 5988, - "tnv": 5989, - "tnw": 5990, - "tnx": 5991, - "tny": 5992, - "tnz": 5993, - "tob": 5994, - "toc": 5995, - "tod": 5996, - "tof": 5997, - "tog": 5998, - "toh": 5999, - "toi": 6000, - "toj": 6001, - "tol": 6002, - "tom": 6003, - "ton": 6004, - "too": 6005, - "top": 6006, - "toq": 6007, - "tor": 6008, - "tos": 6009, - "tou": 6010, - "tov": 6011, - "tow": 6012, - "tox": 6013, - "toy": 6014, - "toz": 6015, - "tpa": 6016, - "tpc": 6017, - "tpe": 6018, - "tpf": 6019, - "tpg": 6020, - "tpi": 6021, - "tpj": 6022, - "tpk": 6023, - "tpl": 6024, - "tpm": 6025, - "tpn": 6026, - "tpo": 6027, - "tpp": 6028, - "tpq": 6029, - "tpr": 6030, - "tpt": 6031, - "tpu": 6032, - "tpv": 6033, - "tpw": 6034, - "tpx": 6035, - "tpy": 6036, - "tpz": 6037, - "tqb": 6038, - "tql": 6039, - "tqm": 6040, - "tqn": 6041, - "tqo": 6042, - "tqp": 6043, - "tqq": 6044, - "tqr": 6045, - "tqt": 6046, - "tqu": 6047, - "tqw": 6048, - "tra": 6049, - "trb": 6050, - "trc": 6051, - "trd": 6052, - "tre": 6053, - "trf": 6054, - "trg": 6055, - "trh": 6056, - "tri": 6057, - "trj": 6058, - "trm": 6059, - "trn": 6060, - "tro": 6061, - "trp": 6062, - "trq": 6063, - "trr": 6064, - "trs": 6065, - "trt": 6066, - "tru": 6067, - "trv": 6068, - "trw": 6069, - "trx": 6070, - "try": 6071, - "trz": 6072, - "tsa": 6073, - "tsb": 6074, - "tsc": 6075, - "tsd": 6076, - "tsg": 6077, - "tsh": 6078, - "tsi": 6079, - "tsj": 6080, - "tsk": 6081, - "tsl": 6082, - "tsn": 6083, - "tso": 6084, - "tsp": 6085, - "tsr": 6086, - "tst": 6087, - "tsu": 6088, - "tsv": 6089, - "tsw": 6090, - "tsx": 6091, - "tsz": 6092, - "tta": 6093, - "ttb": 6094, - "ttc": 6095, - "ttd": 6096, - "tte": 6097, - "ttf": 6098, - "ttg": 6099, - "tth": 6100, - "tti": 6101, - "ttj": 6102, - "ttk": 6103, - "ttl": 6104, - "ttm": 6105, - "ttn": 6106, - "tto": 6107, - "ttp": 6108, - "ttq": 6109, - "ttr": 6110, - "tts": 6111, - "ttt": 6112, - "ttu": 6113, - "ttv": 6114, - "ttw": 6115, - "tty": 6116, - "ttz": 6117, - "tua": 6118, - "tub": 6119, - "tuc": 6120, - "tud": 6121, - "tue": 6122, - "tuf": 6123, - "tug": 6124, - "tuh": 6125, - "tui": 6126, - "tuj": 6127, - "tuk": 6128, - "tul": 6129, - "tum": 6130, - "tun": 6131, - "tuo": 6132, - "tuq": 6133, - "tur": 6134, - "tus": 6135, - "tuu": 6136, - "tuv": 6137, - "tux": 6138, - "tuy": 6139, - "tuz": 6140, - "tva": 6141, - "tvd": 6142, - "tve": 6143, - "tvk": 6144, - "tvl": 6145, - "tvm": 6146, - "tvn": 6147, - "tvo": 6148, - "tvs": 6149, - "tvt": 6150, - "tvu": 6151, - "tvw": 6152, - "tvy": 6153, - "twa": 6154, - "twb": 6155, - "twc": 6156, - "twd": 6157, - "twe": 6158, - "twf": 6159, - "twg": 6160, - "twh": 6161, - "twl": 6162, - "twn": 6163, - "two": 6164, - "twp": 6165, - "twq": 6166, - "twr": 6167, - "twt": 6168, - "twu": 6169, - "tww": 6170, - "twx": 6171, - "twy": 6172, - "txa": 6173, - "txb": 6174, - "txc": 6175, - "txe": 6176, - "txg": 6177, - "txh": 6178, - "txi": 6179, - "txj": 6180, - "txm": 6181, - "txn": 6182, - "txo": 6183, - "txq": 6184, - "txs": 6185, - "txt": 6186, - "txu": 6187, - "txx": 6188, - "txy": 6189, - "tya": 6190, - "tye": 6191, - "tyh": 6192, - "tyi": 6193, - "tyj": 6194, - "tyn": 6195, - "typ": 6196, - "tyr": 6197, - "tys": 6198, - "tyt": 6199, - "tyu": 6200, - "tyv": 6201, - "tyx": 6202, - "tyz": 6203, - "tzh": 6204, - "tzj": 6205, - "tzm": 6206, - "tzn": 6207, - "tzo": 6208, - "tzx": 6209, - "uan": 6210, - "uar": 6211, - "uba": 6212, - "ubi": 6213, - "ubl": 6214, - "ubr": 6215, - "ubu": 6216, - "uby": 6217, - "uda": 6218, - "ude": 6219, - "udg": 6220, - "udi": 6221, - "udj": 6222, - "udl": 6223, - "udm": 6224, - "udu": 6225, - "ues": 6226, - "ufi": 6227, - "uga": 6228, - "ugb": 6229, - "uge": 6230, - "ugo": 6231, - "uha": 6232, - "uhn": 6233, - "uig": 6234, - "uis": 6235, - "uiv": 6236, - "uji": 6237, - "uka": 6238, - "ukg": 6239, - "ukh": 6240, - "ukp": 6241, - "ukq": 6242, - "ukr": 6243, - "uku": 6244, - "ukv": 6245, - "ukw": 6246, - "uky": 6247, - "ula": 6248, - "ulb": 6249, - "ulc": 6250, - "ule": 6251, - "ulf": 6252, - "uli": 6253, - "ulk": 6254, - "ull": 6255, - "ulm": 6256, - "uln": 6257, - "ulu": 6258, - "ulw": 6259, - "uma": 6260, - "umb": 6261, - "umd": 6262, - "umg": 6263, - "umi": 6264, - "umm": 6265, - "umn": 6266, - "umo": 6267, - "ump": 6268, - "umr": 6269, - "ums": 6270, - "umu": 6271, - "una": 6272, - "une": 6273, - "ung": 6274, - "uni": 6275, - "unk": 6276, - "unm": 6277, - "unn": 6278, - "unr": 6279, - "unu": 6280, - "unz": 6281, - "upi": 6282, - "upv": 6283, - "ura": 6284, - "urb": 6285, - "urc": 6286, - "urd": 6287, - "ure": 6288, - "urg": 6289, - "urh": 6290, - "uri": 6291, - "urk": 6292, - "url": 6293, - "urm": 6294, - "urn": 6295, - "uro": 6296, - "urr": 6297, - "urt": 6298, - "uru": 6299, - "urv": 6300, - "urw": 6301, - "urx": 6302, - "ury": 6303, - "urz": 6304, - "usa": 6305, - "ush": 6306, - "usi": 6307, - "usk": 6308, - "usp": 6309, - "usu": 6310, - "uta": 6311, - "ute": 6312, - "utp": 6313, - "utr": 6314, - "utu": 6315, - "uum": 6316, - "uur": 6317, - "uuu": 6318, - "uve": 6319, - "uvh": 6320, - "uvl": 6321, - "uwa": 6322, - "uya": 6323, - "uzn": 6324, - "uzs": 6325, - "vaa": 6326, - "vae": 6327, - "vaf": 6328, - "vag": 6329, - "vah": 6330, - "vai": 6331, - "vaj": 6332, - "val": 6333, - "vam": 6334, - "van": 6335, - "vao": 6336, - "vap": 6337, - "var": 6338, - "vas": 6339, - "vau": 6340, - "vav": 6341, - "vay": 6342, - "vbb": 6343, - "vec": 6344, - "ved": 6345, - "vel": 6346, - "vem": 6347, - "ven": 6348, - "veo": 6349, - "vep": 6350, - "ver": 6351, - "vgr": 6352, - "vgt": 6353, - "vic": 6354, - "vid": 6355, - "vie": 6356, - "vif": 6357, - "vig": 6358, - "vil": 6359, - "vin": 6360, - "vis": 6361, - "vit": 6362, - "viv": 6363, - "vka": 6364, - "vkj": 6365, - "vkk": 6366, - "vkl": 6367, - "vkm": 6368, - "vko": 6369, - "vkp": 6370, - "vkt": 6371, - "vku": 6372, - "vlp": 6373, - "vls": 6374, - "vma": 6375, - "vmb": 6376, - "vmc": 6377, - "vmd": 6378, - "vme": 6379, - "vmf": 6380, - "vmg": 6381, - "vmh": 6382, - "vmi": 6383, - "vmj": 6384, - "vmk": 6385, - "vml": 6386, - "vmm": 6387, - "vmp": 6388, - "vmq": 6389, - "vmr": 6390, - "vmu": 6391, - "vmv": 6392, - "vmw": 6393, - "vmx": 6394, - "vmy": 6395, - "vmz": 6396, - "vnk": 6397, - "vnm": 6398, - "vnp": 6399, - "vor": 6400, - "vot": 6401, - "vra": 6402, - "vro": 6403, - "vrs": 6404, - "vrt": 6405, - "vto": 6406, - "vum": 6407, - "vun": 6408, - "vut": 6409, - "vwa": 6410, - "waa": 6411, - "wab": 6412, - "wac": 6413, - "wad": 6414, - "wae": 6415, - "wag": 6416, - "wah": 6417, - "waj": 6418, - "wal": 6419, - "wam": 6420, - "wan": 6421, - "wao": 6422, - "wap": 6423, - "waq": 6424, - "war": 6425, - "was": 6426, - "wat": 6427, - "wau": 6428, - "wav": 6429, - "waw": 6430, - "wax": 6431, - "way": 6432, - "waz": 6433, - "wba": 6434, - "wbb": 6435, - "wbe": 6436, - "wbf": 6437, - "wbh": 6438, - "wbi": 6439, - "wbj": 6440, - "wbk": 6441, - "wbl": 6442, - "wbm": 6443, - "wbp": 6444, - "wbq": 6445, - "wbr": 6446, - "wbt": 6447, - "wbv": 6448, - "wbw": 6449, - "wca": 6450, - "wci": 6451, - "wdd": 6452, - "wdg": 6453, - "wdj": 6454, - "wdu": 6455, - "wea": 6456, - "wec": 6457, - "wed": 6458, - "weh": 6459, - "wei": 6460, - "wem": 6461, - "weo": 6462, - "wep": 6463, - "wer": 6464, - "wes": 6465, - "wet": 6466, - "wew": 6467, - "wfg": 6468, - "wga": 6469, - "wgb": 6470, - "wgg": 6471, - "wgi": 6472, - "wgo": 6473, - "wgu": 6474, - "wgy": 6475, - "wha": 6476, - "whg": 6477, - "whk": 6478, - "wib": 6479, - "wic": 6480, - "wie": 6481, - "wig": 6482, - "wih": 6483, - "wii": 6484, - "wij": 6485, - "wik": 6486, - "wil": 6487, - "wim": 6488, - "win": 6489, - "wir": 6490, - "wiu": 6491, - "wiv": 6492, - "wiy": 6493, - "wja": 6494, - "wji": 6495, - "wka": 6496, - "wkd": 6497, - "wkl": 6498, - "wku": 6499, - "wkw": 6500, - "wla": 6501, - "wlc": 6502, - "wle": 6503, - "wlg": 6504, - "wlh": 6505, - "wli": 6506, - "wlk": 6507, - "wll": 6508, - "wln": 6509, - "wlo": 6510, - "wlr": 6511, - "wls": 6512, - "wlu": 6513, - "wlv": 6514, - "wlw": 6515, - "wlx": 6516, - "wly": 6517, - "wmb": 6518, - "wmc": 6519, - "wmd": 6520, - "wme": 6521, - "wmg": 6522, - "wmh": 6523, - "wmi": 6524, - "wmm": 6525, - "wmn": 6526, - "wmo": 6527, - "wms": 6528, - "wmt": 6529, - "wmw": 6530, - "wmx": 6531, - "wnb": 6532, - "wnc": 6533, - "wnd": 6534, - "wne": 6535, - "wng": 6536, - "wni": 6537, - "wnk": 6538, - "wnm": 6539, - "wno": 6540, - "wnp": 6541, - "wnu": 6542, - "wnw": 6543, - "wny": 6544, - "woa": 6545, - "wob": 6546, - "woc": 6547, - "wod": 6548, - "woe": 6549, - "wof": 6550, - "wog": 6551, - "woi": 6552, - "wok": 6553, - "wol": 6554, - "wom": 6555, - "won": 6556, - "woo": 6557, - "wor": 6558, - "wos": 6559, - "wow": 6560, - "wpc": 6561, - "wrb": 6562, - "wrg": 6563, - "wrh": 6564, - "wri": 6565, - "wrk": 6566, - "wrl": 6567, - "wrm": 6568, - "wrn": 6569, - "wro": 6570, - "wrp": 6571, - "wrr": 6572, - "wrs": 6573, - "wru": 6574, - "wrv": 6575, - "wrw": 6576, - "wrx": 6577, - "wry": 6578, - "wrz": 6579, - "wsa": 6580, - "wsi": 6581, - "wsk": 6582, - "wsr": 6583, - "wss": 6584, - "wsv": 6585, - "wtf": 6586, - "wth": 6587, - "wti": 6588, - "wtk": 6589, - "wtm": 6590, - "wtw": 6591, - "wua": 6592, - "wub": 6593, - "wud": 6594, - "wuh": 6595, - "wul": 6596, - "wum": 6597, - "wun": 6598, - "wur": 6599, - "wut": 6600, - "wuu": 6601, - "wuv": 6602, - "wux": 6603, - "wuy": 6604, - "wwa": 6605, - "wwo": 6606, - "wwr": 6607, - "www": 6608, - "wxa": 6609, - "wxw": 6610, - "wya": 6611, - "wyb": 6612, - "wyi": 6613, - "wym": 6614, - "wyr": 6615, - "wyy": 6616, - "xaa": 6617, - "xab": 6618, - "xac": 6619, - "xad": 6620, - "xag": 6621, - "xak": 6622, - "xal": 6623, - "xam": 6624, - "xan": 6625, - "xap": 6626, - "xar": 6627, - "xas": 6628, - "xat": 6629, - "xau": 6630, - "xav": 6631, - "xaw": 6632, - "xay": 6633, - "xbc": 6634, - "xbe": 6635, - "xbg": 6636, - "xbi": 6637, - "xbn": 6638, - "xbo": 6639, - "xbp": 6640, - "xbr": 6641, - "xby": 6642, - "xce": 6643, - "xcg": 6644, - "xch": 6645, - "xcl": 6646, - "xcm": 6647, - "xcn": 6648, - "xco": 6649, - "xcr": 6650, - "xct": 6651, - "xcv": 6652, - "xcw": 6653, - "xcy": 6654, - "xda": 6655, - "xdc": 6656, - "xdk": 6657, - "xdo": 6658, - "xdy": 6659, - "xeb": 6660, - "xed": 6661, - "xeg": 6662, - "xel": 6663, - "xem": 6664, - "xer": 6665, - "xes": 6666, - "xet": 6667, - "xeu": 6668, - "xfa": 6669, - "xga": 6670, - "xgb": 6671, - "xgd": 6672, - "xgf": 6673, - "xgg": 6674, - "xgm": 6675, - "xgu": 6676, - "xgw": 6677, - "xhd": 6678, - "xhe": 6679, - "xho": 6680, - "xht": 6681, - "xhu": 6682, - "xib": 6683, - "xii": 6684, - "xir": 6685, - "xiy": 6686, - "xjb": 6687, - "xka": 6688, - "xkb": 6689, - "xkc": 6690, - "xkd": 6691, - "xke": 6692, - "xkf": 6693, - "xkg": 6694, - "xkj": 6695, - "xkk": 6696, - "xkl": 6697, - "xkn": 6698, - "xkp": 6699, - "xkq": 6700, - "xkr": 6701, - "xks": 6702, - "xkt": 6703, - "xku": 6704, - "xkv": 6705, - "xkw": 6706, - "xkx": 6707, - "xky": 6708, - "xkz": 6709, - "xla": 6710, - "xlc": 6711, - "xld": 6712, - "xlo": 6713, - "xlp": 6714, - "xls": 6715, - "xlu": 6716, - "xma": 6717, - "xmb": 6718, - "xmc": 6719, - "xmd": 6720, - "xmf": 6721, - "xmg": 6722, - "xmh": 6723, - "xmj": 6724, - "xmm": 6725, - "xmp": 6726, - "xmr": 6727, - "xmt": 6728, - "xmu": 6729, - "xmv": 6730, - "xmw": 6731, - "xmx": 6732, - "xmy": 6733, - "xmz": 6734, - "xna": 6735, - "xnb": 6736, - "xng": 6737, - "xni": 6738, - "xnj": 6739, - "xnm": 6740, - "xnn": 6741, - "xnq": 6742, - "xnr": 6743, - "xns": 6744, - "xny": 6745, - "xnz": 6746, - "xoc": 6747, - "xod": 6748, - "xog": 6749, - "xoi": 6750, - "xok": 6751, - "xom": 6752, - "xon": 6753, - "xoo": 6754, - "xop": 6755, - "xor": 6756, - "xow": 6757, - "xpa": 6758, - "xpc": 6759, - "xpe": 6760, - "xpg": 6761, - "xpk": 6762, - "xpm": 6763, - "xpo": 6764, - "xpq": 6765, - "xpr": 6766, - "xps": 6767, - "xpt": 6768, - "xpu": 6769, - "xqt": 6770, - "xra": 6771, - "xrb": 6772, - "xrd": 6773, - "xre": 6774, - "xri": 6775, - "xrn": 6776, - "xru": 6777, - "xrw": 6778, - "xsa": 6779, - "xsb": 6780, - "xsd": 6781, - "xse": 6782, - "xsh": 6783, - "xsi": 6784, - "xsl": 6785, - "xsm": 6786, - "xsn": 6787, - "xsp": 6788, - "xsq": 6789, - "xsr": 6790, - "xsu": 6791, - "xsy": 6792, - "xta": 6793, - "xtb": 6794, - "xtc": 6795, - "xtd": 6796, - "xte": 6797, - "xtg": 6798, - "xth": 6799, - "xti": 6800, - "xtj": 6801, - "xtl": 6802, - "xtm": 6803, - "xtn": 6804, - "xto": 6805, - "xtp": 6806, - "xtq": 6807, - "xts": 6808, - "xtt": 6809, - "xtu": 6810, - "xtv": 6811, - "xtw": 6812, - "xty": 6813, - "xua": 6814, - "xub": 6815, - "xud": 6816, - "xug": 6817, - "xuj": 6818, - "xul": 6819, - "xum": 6820, - "xun": 6821, - "xuo": 6822, - "xup": 6823, - "xur": 6824, - "xut": 6825, - "xuu": 6826, - "xve": 6827, - "xvi": 6828, - "xwa": 6829, - "xwc": 6830, - "xwe": 6831, - "xwg": 6832, - "xwk": 6833, - "xwl": 6834, - "xwr": 6835, - "xwt": 6836, - "xww": 6837, - "xxb": 6838, - "xxk": 6839, - "xxm": 6840, - "xxr": 6841, - "xxt": 6842, - "xya": 6843, - "xyb": 6844, - "xyj": 6845, - "xyk": 6846, - "xyt": 6847, - "xyy": 6848, - "xzh": 6849, - "yaa": 6850, - "yab": 6851, - "yac": 6852, - "yad": 6853, - "yae": 6854, - "yaf": 6855, - "yag": 6856, - "yah": 6857, - "yai": 6858, - "yaj": 6859, - "yak": 6860, - "yal": 6861, - "yam": 6862, - "yan": 6863, - "yao": 6864, - "yap": 6865, - "yaq": 6866, - "yar": 6867, - "yas": 6868, - "yat": 6869, - "yau": 6870, - "yav": 6871, - "yaw": 6872, - "yay": 6873, - "yaz": 6874, - "yba": 6875, - "ybb": 6876, - "ybe": 6877, - "ybh": 6878, - "ybi": 6879, - "ybj": 6880, - "ybk": 6881, - "ybl": 6882, - "ybm": 6883, - "ybn": 6884, - "ybo": 6885, - "ybx": 6886, - "yby": 6887, - "ych": 6888, - "ycl": 6889, - "ycn": 6890, - "ycp": 6891, - "yda": 6892, - "ydd": 6893, - "yde": 6894, - "ydg": 6895, - "ydk": 6896, - "yea": 6897, - "yee": 6898, - "yei": 6899, - "yej": 6900, - "yel": 6901, - "yer": 6902, - "yes": 6903, - "yet": 6904, - "yeu": 6905, - "yev": 6906, - "yey": 6907, - "yga": 6908, - "ygl": 6909, - "ygm": 6910, - "ygp": 6911, - "ygr": 6912, - "ygw": 6913, - "yha": 6914, - "yhd": 6915, - "yhl": 6916, - "yia": 6917, - "yif": 6918, - "yig": 6919, - "yih": 6920, - "yii": 6921, - "yij": 6922, - "yik": 6923, - "yil": 6924, - "yim": 6925, - "yin": 6926, - "yip": 6927, - "yiq": 6928, - "yir": 6929, - "yis": 6930, - "yit": 6931, - "yiu": 6932, - "yiv": 6933, - "yix": 6934, - "yiz": 6935, - "yka": 6936, - "ykg": 6937, - "yki": 6938, - "ykk": 6939, - "ykl": 6940, - "ykm": 6941, - "ykn": 6942, - "yko": 6943, - "ykr": 6944, - "ykt": 6945, - "yku": 6946, - "yky": 6947, - "yla": 6948, - "yle": 6949, - "ylg": 6950, - "yli": 6951, - "yll": 6952, - "ylm": 6953, - "yln": 6954, - "ylo": 6955, - "ylr": 6956, - "ylu": 6957, - "yly": 6958, - "ymb": 6959, - "ymc": 6960, - "ymd": 6961, - "yme": 6962, - "ymh": 6963, - "ymi": 6964, - "ymk": 6965, - "yml": 6966, - "ymm": 6967, - "ymn": 6968, - "ymo": 6969, - "ymp": 6970, - "ymq": 6971, - "ymr": 6972, - "ymx": 6973, - "ymz": 6974, - "yna": 6975, - "ynd": 6976, - "yng": 6977, - "ynk": 6978, - "ynl": 6979, - "ynn": 6980, - "yno": 6981, - "ynq": 6982, - "yns": 6983, - "ynu": 6984, - "yob": 6985, - "yog": 6986, - "yoi": 6987, - "yok": 6988, - "yom": 6989, - "yon": 6990, - "yor": 6991, - "yot": 6992, - "yox": 6993, - "yoy": 6994, - "ypa": 6995, - "ypb": 6996, - "ypg": 6997, - "yph": 6998, - "ypm": 6999, - "ypn": 7000, - "ypo": 7001, - "ypp": 7002, - "ypz": 7003, - "yra": 7004, - "yrb": 7005, - "yre": 7006, - "yrk": 7007, - "yrl": 7008, - "yrn": 7009, - "yro": 7010, - "yrw": 7011, - "yry": 7012, - "ysd": 7013, - "ysg": 7014, - "ysn": 7015, - "yso": 7016, - "ysr": 7017, - "yss": 7018, - "ysy": 7019, - "yta": 7020, - "ytl": 7021, - "ytp": 7022, - "ytw": 7023, - "yua": 7024, - "yub": 7025, - "yuc": 7026, - "yud": 7027, - "yue": 7028, - "yuf": 7029, - "yug": 7030, - "yui": 7031, - "yuj": 7032, - "yuk": 7033, - "yul": 7034, - "yum": 7035, - "yun": 7036, - "yup": 7037, - "yuq": 7038, - "yur": 7039, - "yut": 7040, - "yuw": 7041, - "yux": 7042, - "yuy": 7043, - "yuz": 7044, - "yva": 7045, - "yvt": 7046, - "ywa": 7047, - "ywg": 7048, - "ywl": 7049, - "ywn": 7050, - "ywq": 7051, - "ywr": 7052, - "ywt": 7053, - "ywu": 7054, - "yww": 7055, - "yxg": 7056, - "yxl": 7057, - "yxm": 7058, - "yxy": 7059, - "yyr": 7060, - "yyu": 7061, - "yyz": 7062, - "yzg": 7063, - "yzk": 7064, - "zaa": 7065, - "zab": 7066, - "zac": 7067, - "zad": 7068, - "zae": 7069, - "zaf": 7070, - "zag": 7071, - "zah": 7072, - "zai": 7073, - "zaj": 7074, - "zak": 7075, - "zal": 7076, - "zam": 7077, - "zao": 7078, - "zaq": 7079, - "zar": 7080, - "zas": 7081, - "zat": 7082, - "zau": 7083, - "zav": 7084, - "zaw": 7085, - "zax": 7086, - "zay": 7087, - "zaz": 7088, - "zbc": 7089, - "zbe": 7090, - "zbt": 7091, - "zbu": 7092, - "zbw": 7093, - "zca": 7094, - "zch": 7095, - "zdj": 7096, - "zea": 7097, - "zeg": 7098, - "zeh": 7099, - "zen": 7100, - "zga": 7101, - "zgb": 7102, - "zgm": 7103, - "zgn": 7104, - "zgr": 7105, - "zhb": 7106, - "zhd": 7107, - "zhi": 7108, - "zhn": 7109, - "zhw": 7110, - "zia": 7111, - "zik": 7112, - "zil": 7113, - "zim": 7114, - "zin": 7115, - "ziw": 7116, - "ziz": 7117, - "zka": 7118, - "zkk": 7119, - "zko": 7120, - "zkp": 7121, - "zkr": 7122, - "zkt": 7123, - "zku": 7124, - "zla": 7125, - "zlj": 7126, - "zlm": 7127, - "zln": 7128, - "zlq": 7129, - "zma": 7130, - "zmb": 7131, - "zmc": 7132, - "zmd": 7133, - "zme": 7134, - "zmf": 7135, - "zmg": 7136, - "zmh": 7137, - "zmi": 7138, - "zmj": 7139, - "zmk": 7140, - "zml": 7141, - "zmm": 7142, - "zmn": 7143, - "zmo": 7144, - "zmp": 7145, - "zmq": 7146, - "zmr": 7147, - "zms": 7148, - "zmt": 7149, - "zmu": 7150, - "zmv": 7151, - "zmw": 7152, - "zmx": 7153, - "zmy": 7154, - "zmz": 7155, - "zna": 7156, - "zne": 7157, - "zng": 7158, - "zns": 7159, - "zoc": 7160, - "zoh": 7161, - "zom": 7162, - "zoo": 7163, - "zoq": 7164, - "zor": 7165, - "zos": 7166, - "zpa": 7167, - "zpb": 7168, - "zpc": 7169, - "zpd": 7170, - "zpe": 7171, - "zpf": 7172, - "zpg": 7173, - "zph": 7174, - "zpi": 7175, - "zpj": 7176, - "zpk": 7177, - "zpl": 7178, - "zpm": 7179, - "zpn": 7180, - "zpo": 7181, - "zpp": 7182, - "zpq": 7183, - "zpr": 7184, - "zps": 7185, - "zpt": 7186, - "zpu": 7187, - "zpv": 7188, - "zpw": 7189, - "zpx": 7190, - "zpy": 7191, - "zpz": 7192, - "zqe": 7193, - "zrn": 7194, - "zro": 7195, - "zrs": 7196, - "zsa": 7197, - "zsm": 7198, - "zsr": 7199, - "zsu": 7200, - "zte": 7201, - "ztg": 7202, - "ztl": 7203, - "ztm": 7204, - "ztn": 7205, - "ztp": 7206, - "ztq": 7207, - "zts": 7208, - "ztt": 7209, - "ztu": 7210, - "ztx": 7211, - "zty": 7212, - "zua": 7213, - "zuh": 7214, - "zul": 7215, - "zum": 7216, - "zun": 7217, - "zuy": 7218, - "zwa": 7219, - "zyb": 7220, - "zyg": 7221, - "zyj": 7222, - "zyn": 7223, - "zyp": 7224, - "zzj": 7225, - "en-us": 7226, - "en-sc": 7227, - "fr-be": 7228, - "fr-sw": 7229, - "pt-br": 7230, - "spa-lat": 7231, - "vi-ctr": 7232, - "vi-so": 7233 - } -] \ No newline at end of file diff --git a/Preprocessing/multilinguality/iso_to_fullname.json b/Preprocessing/multilinguality/iso_to_fullname.json deleted file mode 100644 index 1eed5486d6f6eb58e412584b06977d1f383a5931..0000000000000000000000000000000000000000 --- a/Preprocessing/multilinguality/iso_to_fullname.json +++ /dev/null @@ -1,7235 +0,0 @@ -{ - "aaa": "Ghotuo", - "aab": "Alumu-Tesu", - "aac": "Ari", - "aad": "Amal", - "aae": "Arbëreshë Albanian", - "aaf": "Aranadan", - "aag": "Ambrak", - "aah": "Abu' Arapesh", - "aai": "Arifama-Miniafia", - "aak": "Ankave", - "aal": "Afade", - "aan": "Anambé", - "aao": "Algerian Saharan Arabic", - "aap": "Pará Arára", - "aaq": "Eastern Abnaki", - "aar": "Afar", - "aas": "Aasáx", - "aat": "Arvanitika Albanian", - "aau": "Abau", - "aaw": "Solong", - "aax": "Mandobo Atas", - "aaz": "Amarasi", - "aba": "Abé", - "abb": "Bankon", - "abc": "Ambala Ayta", - "abd": "Manide", - "abe": "Western Abnaki", - "abf": "Abai Sungai", - "abg": "Abaga", - "abh": "Tajiki Arabic", - "abi": "Abidji", - "abj": "Aka-Bea", - "abk": "Abkhazian", - "abl": "Lampung Nyo", - "abm": "Abanyom", - "abn": "Abua", - "abo": "Abon", - "abp": "Abellen Ayta", - "abq": "Abaza", - "abr": "Abron", - "abs": "Ambonese Malay", - "abt": "Ambulas", - "abu": "Abure", - "abv": "Baharna Arabic", - "abw": "Pal", - "abx": "Inabaknon", - "aby": "Aneme Wake", - "abz": "Abui", - "aca": "Achagua", - "acd": "Gikyode", - "ace": "Achinese", - "acf": "Saint Lucian Creole French", - "ach": "Acoli", - "aci": "Aka-Cari", - "ack": "Aka-Kora", - "acl": "Akar-Bale", - "acm": "Mesopotamian Arabic", - "acn": "Achang", - "acp": "Eastern Acipa", - "acq": "Ta'izzi-Adeni Arabic", - "acr": "Achi", - "acs": "Acroá", - "act": "Achterhoeks", - "acu": "Achuar-Shiwiar", - "acv": "Achumawi", - "acw": "Hijazi Arabic", - "acx": "Omani Arabic", - "acy": "Cypriot Arabic", - "acz": "Acheron", - "ada": "Adangme", - "add": "Lidzonka", - "ade": "Adele", - "adf": "Dhofari Arabic", - "adg": "Andegerebinha", - "adh": "Adhola", - "adi": "Adi", - "adj": "Adioukrou", - "adl": "Galo", - "adn": "Adang", - "ado": "Abu", - "adq": "Adangbe", - "adr": "Adonara", - "adt": "Adnyamathanha", - "adw": "Amundava", - "adx": "Amdo Tibetan", - "ady": "Adyghe", - "adz": "Adzera", - "aea": "Areba", - "aeb": "Tunisian Arabic", - "aec": "Saidi Arabic", - "aee": "Northeast Pashayi", - "aek": "Haeke", - "ael": "Ambele", - "aem": "Arem", - "aeq": "Aer", - "aer": "Eastern Arrernte", - "aes": "Alsea", - "aeu": "Akeu", - "aew": "Ambakich", - "aey": "Amele", - "aez": "Aeka", - "afb": "Gulf Arabic", - "afd": "Andai", - "afe": "Putukwam", - "afi": "Chini", - "afk": "Nanubae", - "afn": "Defaka", - "afo": "Eloyi", - "afp": "Tapei", - "afr": "Afrikaans", - "afs": "Afro-Seminole Creole", - "aft": "Afitti", - "afu": "Awutu", - "afz": "Obokuitai", - "agb": "Legbo", - "agc": "Agatu", - "agd": "Agarabi", - "age": "Angal", - "agf": "Arguni", - "agg": "Angor", - "agh": "Ngelima", - "agj": "Argobba", - "agk": "Isarog Agta", - "agl": "Fembe", - "agm": "Angaataha", - "agn": "Agutaynen", - "ago": "Tainae", - "agq": "Aghem", - "agr": "Aguaruna", - "ags": "Esimbi", - "agt": "Central Cagayan Agta", - "agu": "Aguacateco", - "agv": "Remontado Dumagat", - "agw": "Kahua", - "agx": "Aghul", - "agy": "Southern Alta", - "agz": "Mt. Iriga Agta", - "aha": "Ahanta", - "ahb": "Axamb", - "ahg": "Qimant", - "ahh": "Aghu", - "ahi": "Tiagbamrin Aizi", - "ahk": "Akha", - "ahl": "Igo", - "ahm": "Mobumrin Aizi", - "ahn": "Àhàn", - "aho": "Ahom", - "ahp": "Aproumu Aizi", - "ahs": "Ashe", - "aht": "Ahtena", - "aia": "Arosi", - "aib": "Ainu (China)", - "aic": "Ainbai", - "aid": "Alngith", - "aie": "Amara", - "aif": "Agi", - "aig": "Antigua and Barbuda Creole English", - "aih": "Ai-Cham", - "aii": "Assyrian Neo-Aramaic", - "aij": "Lishanid Noshan", - "aik": "Ake", - "ail": "Aimele", - "aim": "Aimol", - "ain": "Ainu (Japan)", - "aio": "Aiton", - "aip": "Burumakok", - "aiq": "Aimaq", - "air": "Airoran", - "ait": "Arikem", - "aiw": "Aari", - "aix": "Aighon", - "aiy": "Ali", - "aja": "Aja (South Sudan)", - "ajg": "Aja (Benin)", - "aji": "Ajië", - "ajn": "Andajin", - "ajp": "South Levantine Arabic", - "ajt": "Judeo-Tunisian Arabic", - "aju": "Judeo-Moroccan Arabic", - "ajw": "Ajawa", - "ajz": "Amri Karbi", - "aka": "Akan", - "akb": "Batak Angkola", - "akc": "Mpur", - "akd": "Ukpet-Ehom", - "ake": "Akawaio", - "akf": "Akpa", - "akg": "Anakalangu", - "akh": "Angal Heneng", - "aki": "Aiome", - "akj": "Aka-Jeru", - "akk": "Akkadian", - "akl": "Aklanon", - "akm": "Aka-Bo", - "ako": "Akurio", - "akp": "Siwu", - "akq": "Ak", - "akr": "Araki", - "aks": "Akaselem", - "akt": "Akolet", - "aku": "Akum", - "akv": "Akhvakh", - "akw": "Akwa", - "akx": "Aka-Kede", - "aky": "Aka-Kol", - "akz": "Alabama", - "ala": "Alago", - "alc": "Qawasqar", - "ald": "Alladian", - "ale": "Aleut", - "alf": "Alege", - "alh": "Alawa", - "ali": "Amaimon", - "alj": "Alangan", - "alk": "Alak", - "all": "Allar", - "alm": "Amblong", - "aln": "Albanian", - "alo": "Larike-Wakasihu", - "alp": "Alune", - "alq": "Algonquin", - "alr": "Alutor", - "als": "Tosk Albanian", - "alt": "Southern Altai", - "alu": "'Are'are", - "alw": "Wanbasana", - "alx": "Amol", - "aly": "Alyawarr", - "alz": "Alur", - "ama": "Amanayé", - "amb": "Ambo", - "amc": "Amahuaca", - "ame": "Yanesha'", - "amf": "Hamer-Banna", - "amg": "Amurdak", - "amh": "Amharic", - "ami": "Amis", - "amj": "Amdang", - "amk": "Ambai", - "aml": "War-Jaintia", - "amm": "Ama (Papua New Guinea)", - "amn": "Amanab", - "amo": "Amo", - "amp": "Alamblak", - "amq": "Amahai", - "amr": "Amarakaeri", - "ams": "Southern Amami-Oshima", - "amt": "Amto", - "amu": "Guerrero Amuzgo", - "amv": "Ambelau", - "amw": "Western Neo-Aramaic", - "amx": "Anmatyerre", - "amy": "Ami", - "amz": "Atampaya", - "ana": "Andaqui", - "anb": "Andoa", - "anc": "Ngas", - "and": "Ansus", - "ane": "Xârâcùù", - "anf": "Animere", - "ang": "Old English (ca. 450-1100)", - "anh": "Nend", - "ani": "Andi", - "anj": "Anor", - "ank": "Goemai", - "anl": "Anu-Hkongso Chin", - "anm": "Anal", - "ann": "Obolo", - "ano": "Andoque", - "anp": "Angika", - "anq": "Jarawa (India)", - "anr": "Andh", - "ans": "Anserma", - "ant": "Antikarinya", - "anu": "Anuak", - "anv": "Denya", - "anw": "Anaang", - "anx": "Andra-Hus", - "any": "Anyin", - "anz": "Anem", - "aoa": "Angolar", - "aob": "Abom", - "aoc": "Pemon", - "aod": "Andarum", - "aoe": "Angal Enen", - "aof": "Bragat", - "aog": "Angoram", - "aoi": "Anindilyakwa", - "aoj": "Mufian", - "aok": "Arhö", - "aol": "Alor", - "aom": "Ömie", - "aon": "Bumbita Arapesh", - "aor": "Aore", - "aos": "Taikat", - "aot": "Atong (India)", - "aou": "A'ou", - "aox": "Atorada", - "aoz": "Uab Meto", - "apb": "Sa'a", - "apc": "North Levantine Arabic", - "apd": "Sudanese Arabic", - "ape": "Bukiyip", - "apf": "Pahanan Agta", - "apg": "Ampanang", - "aph": "Athpariya", - "api": "Apiaká", - "apj": "Jicarilla Apache", - "apk": "Kiowa Apache", - "apl": "Lipan Apache", - "apm": "Mescalero-Chiricahua Apache", - "apn": "Apinayé", - "apo": "Ambul", - "app": "Apma", - "apq": "A-Pucikwar", - "apr": "Arop-Lokep", - "aps": "Arop-Sissano", - "apt": "Apatani", - "apu": "Apurinã", - "apw": "Western Apache", - "apx": "Aputai", - "apy": "Apalaí", - "apz": "Safeyoka", - "aqc": "Archi", - "aqd": "Ampari Dogon", - "aqg": "Arigidi", - "aqk": "Aninka", - "aqm": "Atohwaim", - "aqn": "Northern Alta", - "aqp": "Atakapa", - "aqr": "Arhâ", - "aqt": "Angaité", - "aqz": "Akuntsu", - "arb": "Standard Arabic", - "arc": "Official Aramaic (700-300 BCE)", - "ard": "Arabana", - "are": "Western Arrarnta", - "arg": "Aragonese", - "arh": "Arhuaco", - "ari": "Arikara", - "arj": "Arapaso", - "ark": "Arikapú", - "arl": "Arabela", - "arn": "Mapudungun", - "aro": "Araona", - "arp": "Arapaho", - "arq": "Algerian Arabic", - "arr": "Karo (Brazil)", - "ars": "Najdi Arabic", - "aru": "Aruá (Amazonas State)", - "arv": "Arbore", - "arw": "Arawak", - "arx": "Aruá (Rodonia State)", - "ary": "Moroccan Arabic", - "arz": "Egyptian Arabic", - "asa": "Asu (Tanzania)", - "asb": "Assiniboine", - "asc": "Casuarina Coast Asmat", - "asg": "Cishingini", - "ash": "Abishira", - "asi": "Buruwai", - "asj": "Sari", - "ask": "Ashkun", - "asl": "Asilulu", - "asm": "Assamese", - "asn": "Xingú Asuriní", - "aso": "Dano", - "asr": "Asuri", - "ass": "Ipulo", - "ast": "Leonese", - "asu": "Tocantins Asurini", - "asv": "Asoa", - "asx": "Muratayak", - "asy": "Yaosakor Asmat", - "asz": "As", - "ata": "Pele-Ata", - "atb": "Zaiwa", - "atc": "Atsahuaca", - "atd": "Ata Manobo", - "ate": "Atemble", - "atg": "Ivbie North-Okpela-Arhe", - "ati": "Attié", - "atj": "Atikamekw", - "atk": "Ati", - "atl": "Mt. Iraya Agta", - "atm": "Ata", - "atn": "Ashtiani", - "ato": "Atong (Cameroon)", - "atp": "Pudtol Atta", - "atq": "Aralle-Tabulahan", - "atr": "Waimiri-Atroari", - "ats": "Gros Ventre", - "att": "Pamplona Atta", - "atu": "Reel", - "atv": "Northern Altai", - "atw": "Atsugewi", - "atx": "Arutani", - "aty": "Aneityum", - "atz": "Arta", - "aua": "Asumboa", - "aub": "Alugu", - "auc": "Waorani", - "aud": "Anuta", - "aug": "Aguna", - "auh": "Aushi", - "aui": "Anuki", - "auj": "Awjilah", - "auk": "Heyo", - "aul": "Aulua", - "aum": "Asu (Nigeria)", - "aun": "Molmo One", - "auo": "Auyokawa", - "aup": "Makayam", - "auq": "Korur", - "aur": "Aruek", - "aut": "Austral", - "auu": "Auye", - "auw": "Awyi", - "aux": "Aurá", - "auy": "Awiyaana", - "auz": "Uzbeki Arabic", - "ava": "Avaric", - "avb": "Avau", - "avd": "Alviri-Vidari", - "ave": "Avestan", - "avi": "Avikam", - "avl": "Eastern Egyptian Bedawi Arabic", - "avm": "Angkamuthi", - "avn": "Avatime", - "avs": "Aushiri", - "avt": "Au", - "avu": "Avokaya", - "avv": "Avá-Canoeiro", - "awa": "Awadhi", - "awb": "Awa (Papua New Guinea)", - "awc": "Cicipu", - "awe": "Awetí", - "awg": "Anguthimri", - "awh": "Awbono", - "awi": "Aekyom", - "awk": "Awabakal", - "awm": "Arawum", - "awn": "Awngi", - "awo": "Awak", - "awr": "Awera", - "aws": "South Awyu", - "awt": "Araweté", - "awu": "Central Awyu", - "awv": "Jair Awyu", - "aww": "Awun", - "awx": "Awara", - "awy": "Edera Awyu", - "axb": "Abipon", - "axg": "Mato Grosso Arára", - "axk": "Yaka (Central African Republic)", - "axl": "Lower Southern Aranda", - "axx": "Xârâgurè", - "aya": "Awar", - "ayb": "Ayizo Gbe", - "ayc": "Southern Aymara", - "ayd": "Ayabadhu", - "aye": "Ayere", - "ayg": "Ginyanga", - "ayh": "Hadrami Arabic", - "ayi": "Leyigha", - "ayk": "Akuku", - "ayl": "Libyan Arabic", - "ayn": "Sanaani Arabic", - "ayo": "Ayoreo", - "ayp": "North Mesopotamian Arabic", - "ayq": "Ayi (Papua New Guinea)", - "ayr": "Central Aymara", - "ayt": "Magbukun Ayta", - "ayu": "Ayu", - "ayz": "Mai Brat", - "aza": "Azha", - "azb": "South Azerbaijani", - "azd": "Eastern Durango Nahuatl", - "azg": "San Pedro Amuzgos Amuzgo", - "azj": "Azerbaijani", - "azm": "Ipalapa Amuzgo", - "azn": "Western Durango Nahuatl", - "azo": "Awing", - "azt": "Faire Atta", - "azz": "Highland Puebla Nahuatl", - "baa": "Babatana", - "bab": "Bainouk-Gunyuño", - "bac": "Badui", - "bae": "Baré", - "baf": "Nubaca", - "bag": "Tuki", - "bah": "Bahamas Creole English", - "baj": "Barakai", - "bak": "Bashkir", - "bam": "Bambara", - "ban": "Balinese", - "bao": "Waimaha", - "bap": "Bantawa", - "bar": "Bavarian", - "bas": "Basa (Cameroon)", - "bau": "Bada (Nigeria)", - "bav": "Vengo", - "baw": "Bambili-Bambui", - "bax": "Bamun", - "bay": "Batuley", - "bba": "Baatonum", - "bbb": "Barai", - "bbc": "Batak Toba", - "bbd": "Bau", - "bbe": "Bangba", - "bbf": "Baibai", - "bbg": "Barama", - "bbh": "Bugan", - "bbi": "Barombi", - "bbj": "Ghomálá'", - "bbk": "Babanki", - "bbl": "Bats", - "bbm": "Babango", - "bbn": "Uneapa", - "bbo": "Northern Bobo Madaré", - "bbp": "West Central Banda", - "bbq": "Bamali", - "bbr": "Girawa", - "bbs": "Bakpinka", - "bbt": "Mburku", - "bbu": "Kulung (Nigeria)", - "bbv": "Karnai", - "bbw": "Baba", - "bby": "Befang", - "bca": "Central Bai", - "bcc": "Southern Balochi", - "bcd": "North Babar", - "bce": "Bamenyam", - "bcf": "Bamu", - "bcg": "Baga Pokur", - "bch": "Bariai", - "bci": "Baoulé", - "bcj": "Bardi", - "bck": "Bunuba", - "bcl": "Central Bikol", - "bcm": "Bannoni", - "bcn": "Bali (Nigeria)", - "bco": "Kaluli", - "bcp": "Bali (Democratic Republic of Congo)", - "bcq": "Bench", - "bcr": "Babine", - "bcs": "Kohumono", - "bct": "Bendi", - "bcu": "Awad Bing", - "bcv": "Shoo-Minda-Nye", - "bcw": "Bana", - "bcy": "Bacama", - "bcz": "Bainouk-Gunyaamolo", - "bda": "Bayot", - "bdb": "Basap", - "bdc": "Emberá-Baudó", - "bdd": "Bunama", - "bde": "Bade", - "bdf": "Biage", - "bdg": "Bonggi", - "bdh": "Baka (South Sudan)", - "bdi": "Burun", - "bdj": "Bai (South Sudan)", - "bdk": "Budukh", - "bdl": "Indonesian Bajau", - "bdm": "Buduma", - "bdn": "Baldemu", - "bdo": "Morom", - "bdp": "Bende", - "bdq": "Bahnar", - "bdr": "West Coast Bajau", - "bds": "Burunge", - "bdt": "Bokoto", - "bdu": "Oroko", - "bdv": "Bodo Parja", - "bdw": "Baham", - "bdx": "Budong-Budong", - "bdy": "Bandjalang", - "bea": "Beaver", - "beb": "Bebele", - "bec": "Iceve-Maci", - "bed": "Bedoanas", - "bee": "Byangsi", - "bef": "Benabena", - "beg": "Belait", - "beh": "Biali", - "bei": "Bekati'", - "bej": "Beja", - "bek": "Bebeli", - "bel": "Belarusian", - "bem": "Bemba (Zambia)", - "ben": "Bengali", - "beo": "Beami", - "bep": "Besoa", - "beq": "Beembe", - "bes": "Besme", - "bet": "Guiberoua Béte", - "beu": "Blagar", - "bev": "Daloa Bété", - "bew": "Betawi", - "bex": "Jur Modo", - "bey": "Beli (Papua New Guinea)", - "bez": "Bena (Tanzania)", - "bfa": "Bari", - "bfb": "Pauri Bareli", - "bfc": "Panyi Bai", - "bfd": "Bafut", - "bfe": "Tena", - "bff": "Bofi", - "bfg": "Busang Kayan", - "bfh": "Blafe", - "bfj": "Bafanji", - "bfl": "Banda-Ndélé", - "bfm": "Mmen", - "bfn": "Bunak", - "bfo": "Malba Birifor", - "bfp": "Beba", - "bfq": "Badaga", - "bfs": "Southern Bai", - "bft": "Balti", - "bfu": "Gahri", - "bfw": "Bondo", - "bfx": "Bantayanon", - "bfy": "Bagheli", - "bfz": "Mahasu Pahari", - "bga": "Gwamhi-Wuri", - "bgb": "Bobongko", - "bgc": "Haryanvi", - "bgd": "Rathwi Bareli", - "bge": "Bauria", - "bgf": "Bangandu", - "bgg": "Bugun", - "bgi": "Giangan", - "bgj": "Bangolan", - "bgk": "Buxinhua", - "bgl": "Bo (Laos)", - "bgn": "Western Balochi", - "bgo": "Baga Koga", - "bgp": "Eastern Balochi", - "bgq": "Bagri", - "bgr": "Bawm Chin", - "bgs": "Tagabawa", - "bgt": "Bughotu", - "bgu": "Mbongno", - "bgv": "Warkay-Bipim", - "bgw": "Bhatri", - "bgx": "Balkan Gagauz Turkish", - "bgy": "Benggoi", - "bgz": "Banggai", - "bha": "Bharia", - "bhb": "Bhili", - "bhc": "Biga", - "bhd": "Bhadrawahi", - "bhe": "Bhaya", - "bhf": "Odiai", - "bhg": "Binandere", - "bhh": "Bukharic", - "bhi": "Bhilali", - "bhj": "Bahing", - "bhl": "Bimin", - "bhm": "Bathari", - "bhn": "Bohtan Neo-Aramaic", - "bho": "Bhojpuri", - "bhp": "Bima", - "bhq": "Tukang Besi South", - "bhr": "Bara Malagasy", - "bhs": "Buwal", - "bht": "Bhattiyali", - "bhu": "Bhunjia", - "bhv": "Bahau", - "bhw": "Biak", - "bhy": "Bhele", - "bhz": "Bada (Indonesia)", - "bia": "Badimaya", - "bib": "Bissa", - "bid": "Bidiyo", - "bie": "Bepour", - "bif": "Biafada", - "big": "Biangai", - "bil": "Bile", - "bim": "Bimoba", - "bin": "Edo", - "bio": "Nai", - "bip": "Bila", - "biq": "Bipi", - "bir": "Bisorio", - "bis": "Bislama", - "bit": "Berinomo", - "biu": "Biete", - "biv": "Southern Birifor", - "biw": "Kol (Cameroon)", - "bix": "Bijori", - "biy": "Birhor", - "biz": "Baloi", - "bja": "Budza", - "bjb": "Banggarla", - "bjc": "Bariji", - "bje": "Biao-Jiao Mien", - "bjf": "Barzani Jewish Neo-Aramaic", - "bjg": "Bidyogo", - "bjh": "Bahinemo", - "bji": "Burji", - "bjj": "Kanauji", - "bjk": "Barok", - "bjl": "Bulu (Papua New Guinea)", - "bjm": "Bajelani", - "bjn": "Banjar", - "bjo": "Mid-Southern Banda", - "bjr": "Binumarien", - "bjs": "Bajan", - "bjt": "Balanta-Ganja", - "bju": "Busuu", - "bjv": "Bedjond", - "bjw": "Bakwé", - "bjx": "Banao Itneg", - "bjy": "Bayali", - "bjz": "Baruga", - "bka": "Kyak", - "bkc": "Baka (Cameroon)", - "bkd": "Talaandig", - "bkf": "Beeke", - "bkh": "Bakoko", - "bki": "Baki", - "bkj": "Pande", - "bkk": "Brokskat", - "bkl": "Berik", - "bkm": "Kom (Cameroon)", - "bkn": "Bukitan", - "bko": "Kwa'", - "bkp": "Boko (Democratic Republic of Congo)", - "bkq": "Bakairí", - "bkr": "Bakumpai", - "bks": "Northern Sorsoganon", - "bkt": "Boloki", - "bku": "Buhid", - "bkv": "Bekwarra", - "bkw": "Bekwel", - "bkx": "Baikeno", - "bky": "Bokyi", - "bkz": "Bungku", - "bla": "Siksika", - "blb": "Bilua", - "blc": "Bella Coola", - "bld": "Bolango", - "ble": "Balanta-Kentohe", - "blf": "Buol", - "blh": "Kuwaa", - "bli": "Bolia", - "blj": "Bolongan", - "blk": "Pa'o Karen", - "bll": "Biloxi", - "blm": "Beli (South Sudan)", - "bln": "Southern Catanduanes Bikol", - "blo": "Anii", - "blp": "Blablanga", - "blq": "Baluan-Pam", - "blr": "Blang", - "bls": "Balaesang", - "blt": "Tai Dam", - "blv": "Kibala", - "blw": "Balangao", - "blx": "Mag-Indi Ayta", - "bly": "Notre", - "blz": "Balantak", - "bma": "Lame", - "bmb": "Bembe", - "bmc": "Biem", - "bmd": "Baga Manduri", - "bme": "Limassa", - "bmf": "Bom-Kim", - "bmg": "Bamwe", - "bmh": "Kein", - "bmi": "Bagirmi", - "bmj": "Bote-Majhi", - "bmk": "Ghayavi", - "bml": "Bomboli", - "bmm": "Northern Betsimisaraka Malagasy", - "bmn": "Bina (Papua New Guinea)", - "bmo": "Bambalang", - "bmp": "Bulgebi", - "bmq": "Bomu", - "bmr": "Muinane", - "bms": "Bilma Kanuri", - "bmt": "Biao Mon", - "bmu": "Somba-Siawari", - "bmv": "Bum", - "bmw": "Bomwali", - "bmx": "Baimak", - "bmz": "Baramu", - "bna": "Bonerate", - "bnb": "Bookan", - "bnc": "Bontok", - "bnd": "Banda (Indonesia)", - "bne": "Bintauna", - "bnf": "Masiwang", - "bng": "Benga", - "bni": "Bangi", - "bnj": "Eastern Tawbuid", - "bnk": "Bierebo", - "bnl": "Boon", - "bnm": "Batanga", - "bnn": "Bunun", - "bno": "Bantoanon", - "bnp": "Bola", - "bnq": "Bantik", - "bnr": "Butmas-Tur", - "bns": "Bundeli", - "bnu": "Bentong", - "bnv": "Edwas", - "bnw": "Bisis", - "bnx": "Bangubangu", - "bny": "Bintulu", - "bnz": "Beezen", - "boa": "Bora", - "bob": "Aweer", - "bod": "Tibetan", - "boe": "Mundabli", - "bof": "Bolon", - "boh": "Boma", - "boi": "Barbareño", - "boj": "Anjam", - "bok": "Bonjo", - "bol": "Bole", - "bom": "Berom", - "bon": "Bine", - "boo": "Tiemacèwè Bozo", - "bop": "Bonkiman", - "boq": "Bogaya", - "bor": "Borôro", - "bos": "Bosnian", - "bot": "Bongo", - "bou": "Bondei", - "bov": "Tuwuli", - "bow": "Rema", - "box": "Buamu", - "boy": "Bodo (Central African Republic)", - "boz": "Tiéyaxo Bozo", - "bpa": "Daakaka", - "bpd": "Banda-Banda", - "bpe": "Bauni", - "bpg": "Bonggo", - "bph": "Botlikh", - "bpi": "Bagupi", - "bpj": "Binji", - "bpk": "Orowe", - "bpm": "Biyom", - "bpn": "Dzao Min", - "bpp": "Kaure", - "bpq": "Banda Malay", - "bpr": "Koronadal Blaan", - "bps": "Sarangani Blaan", - "bpt": "Barrow Point", - "bpu": "Bongu", - "bpv": "Bian Marind", - "bpw": "Bo (Papua New Guinea)", - "bpx": "Palya Bareli", - "bpy": "Bishnupriya", - "bpz": "Bilba", - "bqa": "Tchumbuli", - "bqb": "Bagusa", - "bqc": "Boo", - "bqd": "Bung", - "bqg": "Bago-Kusuntu", - "bqh": "Baima", - "bqi": "Bakhtiari", - "bqj": "Bandial", - "bqk": "Banda-Mbrès", - "bql": "Bilakura", - "bqm": "Wumboko", - "bqo": "Balo", - "bqp": "Busa", - "bqq": "Biritai", - "bqr": "Burusu", - "bqs": "Bosngun", - "bqt": "Bamukumbit", - "bqu": "Boguru", - "bqv": "Koro Wachi", - "bqw": "Buru (Nigeria)", - "bqx": "Baangi", - "bqz": "Bakaka", - "bra": "Braj", - "brb": "Lave", - "brc": "Berbice Creole Dutch", - "brd": "Baraamu", - "bre": "Breton", - "brf": "Bira", - "brg": "Baure", - "brh": "Brahui", - "bri": "Mokpwe", - "brj": "Bieria", - "brk": "Birked", - "brl": "Birwa", - "brm": "Barambu", - "brn": "Boruca", - "bro": "Brokkat", - "brp": "Barapasi", - "brq": "Breri", - "brr": "Birao", - "brs": "Baras", - "brt": "Bitare", - "bru": "Eastern Bru", - "brv": "Western Bru", - "brw": "Bellari", - "brx": "Bodo (India)", - "bry": "Burui", - "brz": "Bilbil", - "bsa": "Abinomn", - "bsb": "Brunei Bisaya", - "bsc": "Oniyan", - "bse": "Wushi", - "bsf": "Bauchi", - "bsg": "Bashkardi", - "bsh": "Kati", - "bsi": "Bassossi", - "bsj": "Bangwinji", - "bsk": "Burushaski", - "bsl": "Basa-Gumna", - "bsm": "Busami", - "bsn": "Barasana-Eduria", - "bsp": "Baga Sitemu", - "bsq": "Bassa", - "bsr": "Bassa-Kontagora", - "bss": "Akoose", - "bst": "Basketo", - "bsu": "Bahonsuai", - "bsw": "Baiso", - "bsx": "Yangkam", - "bsy": "Sabah Bisaya", - "bta": "Bata", - "btc": "Bati (Cameroon)", - "btd": "Batak Dairi", - "bte": "Gamo-Ningi", - "btf": "Birgit", - "btg": "Gagnoa Bété", - "bth": "Biatah Bidayuh", - "bti": "Burate", - "btj": "Bacanese Malay", - "btm": "Batak Mandailing", - "btn": "Ratagnon", - "bto": "Rinconada Bikol", - "btp": "Budibud", - "btq": "Batek", - "btr": "Baetora", - "bts": "Batak Simalungun", - "btt": "Bete-Bendi", - "btu": "Batu", - "btv": "Bateri", - "btw": "Butuanon", - "btx": "Batak Karo", - "bty": "Bobot", - "btz": "Batak Alas-Kluet", - "bub": "Bua", - "buc": "Bushi", - "bud": "Ntcham", - "bue": "Beothuk", - "buf": "Bushoong", - "bug": "Buginese", - "buh": "Younuo Bunu", - "bui": "Bongili", - "buj": "Basa-Gurmana", - "buk": "Bugawac", - "bul": "Bulgarian", - "bum": "Bulu (Cameroon)", - "bun": "Sherbro", - "buo": "Terei", - "bup": "Busoa", - "buq": "Brem", - "bus": "Bokobaru", - "but": "Bungain", - "buu": "Budu", - "buv": "Bun", - "buw": "Bubi", - "bux": "Boghom", - "buy": "Bullom So", - "buz": "Bukwen", - "bva": "Barein", - "bvb": "Bube", - "bvc": "Baelelea", - "bvd": "Baeggu", - "bve": "Berau Malay", - "bvf": "Boor", - "bvg": "Bonkeng", - "bvh": "Bure", - "bvi": "Belanda Viri", - "bvj": "Baan", - "bvk": "Bukat", - "bvm": "Bamunka", - "bvn": "Buna", - "bvo": "Bolgo", - "bvq": "Birri", - "bvr": "Burarra", - "bvt": "Bati (Indonesia)", - "bvu": "Bukit Malay", - "bvv": "Baniva", - "bvw": "Boga", - "bvx": "Dibole", - "bvy": "Baybayanon", - "bvz": "Bauzi", - "bwa": "Bwatoo", - "bwb": "Namosi-Naitasiri-Serua", - "bwc": "Bwile", - "bwd": "Bwaidoka", - "bwe": "Bwe Karen", - "bwf": "Boselewa", - "bwg": "Barwe", - "bwh": "Bishuo", - "bwi": "Baniwa", - "bwj": "Láá Láá Bwamu", - "bwk": "Bauwaki", - "bwl": "Bwela", - "bwm": "Biwat", - "bwn": "Wunai Bunu", - "bwo": "Boro (Ethiopia)", - "bwp": "Mandobo Bawah", - "bwq": "Southern Bobo Madaré", - "bwr": "Bura-Pabir", - "bws": "Bomboma", - "bwt": "Bafaw-Balong", - "bwu": "Buli (Ghana)", - "bww": "Bwa", - "bwx": "Bu-Nao Bunu", - "bwy": "Cwi Bwamu", - "bwz": "Bwisi", - "bxa": "Tairaha", - "bxb": "Belanda Bor", - "bxc": "Molengue", - "bxd": "Pela", - "bxe": "Birale", - "bxf": "Minigir", - "bxg": "Bangala", - "bxh": "Buhutu", - "bxi": "Pirlatapa", - "bxj": "Bayungu", - "bxk": "Lubukusu", - "bxl": "Jalkunan", - "bxm": "Mongolia Buriat", - "bxn": "Burduna", - "bxp": "Bebil", - "bxq": "Beele", - "bxr": "Russia Buriat", - "bxs": "Busam", - "bxu": "China Buriat", - "bxv": "Berakou", - "bxw": "Bankagooma", - "bxz": "Binahari", - "bya": "Batak", - "byb": "Bikya", - "byc": "Ubaghara", - "byd": "Benyadu'", - "bye": "Pouye", - "byf": "Bete", - "byg": "Baygo", - "byh": "Bhujel", - "byi": "Buyu", - "byj": "Bina (Nigeria)", - "byk": "Biao", - "byl": "Bayono", - "bym": "Bidjara", - "byn": "Blin", - "byo": "Biyo", - "byp": "Bumaji", - "byq": "Basay", - "byr": "Yipma", - "bys": "Burak", - "byt": "Berti", - "byv": "Medumba", - "byw": "Belhariya", - "byx": "Qaqet", - "byz": "Banaro", - "bza": "Bandi", - "bzb": "Andio", - "bzc": "Southern Betsimisaraka Malagasy", - "bzd": "Bribri", - "bze": "Jenaama Bozo", - "bzf": "Boikin", - "bzg": "Babuza", - "bzh": "Mapos Buang", - "bzi": "Bisu", - "bzj": "Belize Kriol English", - "bzk": "Nicaragua Creole English", - "bzl": "Boano (Sulawesi)", - "bzm": "Bolondo", - "bzn": "Boano (Maluku)", - "bzo": "Bozaba", - "bzp": "Kemberano", - "bzq": "Buli (Indonesia)", - "bzr": "Biri", - "bzu": "Burmeso", - "bzv": "Naami", - "bzw": "Basa (Nigeria)", - "bzx": "Kɛlɛngaxo Bozo", - "bzy": "Obanliku", - "bzz": "Evant", - "caa": "Chortí", - "cab": "Garifuna", - "cac": "Chuj", - "cad": "Caddo", - "cae": "Lehar", - "caf": "Southern Carrier", - "cag": "Nivaclé", - "cah": "Cahuarano", - "caj": "Chané", - "cak": "Kaqchikel", - "cal": "Carolinian", - "cam": "Cemuhî", - "can": "Chambri", - "cao": "Chácobo", - "cap": "Chipaya", - "caq": "Car Nicobarese", - "car": "Galibi Carib", - "cas": "Tsimané", - "cat": "Valencian", - "cav": "Cavineña", - "cax": "Chiquitano", - "cay": "Cayuga", - "caz": "Canichana", - "cbb": "Cabiyarí", - "cbc": "Carapana", - "cbd": "Carijona", - "cbg": "Chimila", - "cbi": "Chachi", - "cbj": "Ede Cabe", - "cbk": "Chavacano", - "cbl": "Bualkhaw Chin", - "cbn": "Nyahkur", - "cbo": "Izora", - "cbq": "Tsucuba", - "cbr": "Cashibo-Cacataibo", - "cbs": "Cashinahua", - "cbt": "Chayahuita", - "cbu": "Candoshi-Shapra", - "cbv": "Cacua", - "cbw": "Kinabalian", - "ccc": "Chamicuro", - "ccd": "Cafundo Creole", - "cce": "Chopi", - "ccg": "Samba Daka", - "cch": "Atsam", - "ccj": "Kasanga", - "ccl": "Cutchi-Swahili", - "ccm": "Malaccan Creole Malay", - "cco": "Comaltepec Chinantec", - "ccp": "Chakma", - "ccr": "Cacaopera", - "cda": "Choni", - "cde": "Chenchu", - "cdf": "Chiru", - "cdh": "Chambeali", - "cdi": "Chodri", - "cdj": "Churahi", - "cdm": "Chepang", - "cdn": "Chaudangsi", - "cdo": "Min Dong Chinese", - "cdr": "Cinda-Regi-Tiyal", - "cdy": "Chadong", - "cdz": "Koda", - "cea": "Lower Chehalis", - "ceb": "Cebuano", - "ceg": "Chamacoco", - "cek": "Eastern Khumi Chin", - "cen": "Cen", - "ces": "Czech", - "cet": "Centúúm", - "cfa": "Dijim-Bwilim", - "cfd": "Cara", - "cfg": "Como Karim", - "cfm": "Falam Chin", - "cga": "Changriwa", - "cgc": "Kagayanen", - "cgg": "Chiga", - "cgk": "Chocangacakha", - "cha": "Chamorro", - "chb": "Chibcha", - "chc": "Catawba", - "chd": "Highland Oaxaca Chontal", - "che": "Chechen", - "chf": "Tabasco Chontal", - "chg": "Chagatai", - "chh": "Chinook", - "chj": "Ojitlán Chinantec", - "chk": "Chuukese", - "chl": "Cahuilla", - "chn": "Chinook jargon", - "cho": "Choctaw", - "chp": "Dene Suline", - "chq": "Quiotepec Chinantec", - "chr": "Cherokee", - "cht": "Cholón", - "chu": "Old Slavonic", - "chv": "Chuvash", - "chw": "Chuwabu", - "chx": "Chantyal", - "chy": "Cheyenne", - "chz": "Ozumacín Chinantec", - "cia": "Cia-Cia", - "cib": "Ci Gbe", - "cic": "Chickasaw", - "cid": "Chimariko", - "cie": "Cineni", - "cih": "Chinali", - "cik": "Chitkuli Kinnauri", - "cim": "Cimbrian", - "cin": "Cinta Larga", - "cip": "Chiapanec", - "cir": "Tiri", - "ciw": "Chippewa", - "ciy": "Chaima", - "cja": "Western Cham", - "cje": "Chru", - "cjh": "Upper Chehalis", - "cji": "Chamalal", - "cjk": "Chokwe", - "cjm": "Eastern Cham", - "cjn": "Chenapian", - "cjo": "Ashéninka Pajonal", - "cjp": "Cabécar", - "cjs": "Shor", - "cjv": "Chuave", - "cjy": "Jinyu Chinese", - "ckb": "Kurdish", - "ckh": "Chak", - "ckl": "Cibak", - "cko": "Anufo", - "ckq": "Kajakse", - "ckr": "Kairak", - "cks": "Tayo", - "ckt": "Chukot", - "cku": "Koasati", - "ckv": "Kavalan", - "ckx": "Caka", - "cky": "Cakfem-Mushere", - "cla": "Ron", - "clc": "Chilcotin", - "cld": "Chaldean Neo-Aramaic", - "cle": "Lealao Chinantec", - "clh": "Chilisso", - "cli": "Chakali", - "clk": "Idu-Mishmi", - "cll": "Chala", - "clm": "Clallam", - "clo": "Lowland Oaxaca Chontal", - "clt": "Lautu Chin", - "clu": "Caluyanun", - "clw": "Chulym", - "cly": "Eastern Highland Chatino", - "cma": "Maa", - "cme": "Cerma", - "cmi": "Emberá-Chamí", - "cml": "Campalagian", - "cmn": "Mandarin Chinese", - "cmo": "Central Mnong", - "cmr": "Mro-Khimi Chin", - "cms": "Messapic", - "cna": "Changthang", - "cnb": "Chinbon Chin", - "cnc": "Côông", - "cng": "Northern Qiang", - "cnh": "Hakha Chin", - "cni": "Asháninka", - "cnk": "Khumi Chin", - "cnl": "Lalana Chinantec", - "cnp": "Northern Pinghua", - "cns": "Central Asmat", - "cnt": "Tepetotutla Chinantec", - "cnu": "Chenoua", - "cnw": "Ngawn Chin", - "coa": "Cocos Islands Malay", - "cob": "Chicomuceltec", - "coc": "Cocopa", - "cod": "Cocama-Cocamilla", - "coe": "Koreguaje", - "cof": "Colorado", - "cog": "Chong", - "coh": "Chonyi-Dzihana-Kauma", - "coj": "Cochimi", - "cok": "Santa Teresa Cora", - "col": "Columbia-Wenatchi", - "com": "Comanche", - "con": "Cofán", - "coo": "Comox", - "cop": "Coptic", - "coq": "Coquille", - "cor": "Cornish", - "cos": "Corsican", - "cot": "Caquinte", - "cou": "Wamey", - "cov": "Cao Miao", - "cow": "Cowlitz", - "cox": "Nanti", - "coz": "Chochotec", - "cpa": "Palantla Chinantec", - "cpb": "Ucayali-Yurúa Ashéninka", - "cpc": "Ajyíninka Apurucayali", - "cpg": "Cappadocian Greek", - "cpn": "Cherepon", - "cpo": "Kpeego", - "cps": "Capiznon", - "cpu": "Pichis Ashéninka", - "cpx": "Pu-Xian Chinese", - "cpy": "South Ucayali Ashéninka", - "cra": "Chara", - "crb": "Island Carib", - "crc": "Lonwolwol", - "crd": "Coeur d'Alene", - "crf": "Caramanta", - "crg": "Michif", - "crh": "Crimean Turkish", - "cri": "Sãotomense", - "crj": "Southern East Cree", - "crk": "Plains Cree", - "crl": "Northern East Cree", - "crm": "Moose Cree", - "crn": "El Nayar Cora", - "cro": "Crow", - "crq": "Iyo'wujwa Chorote", - "crr": "Carolina Algonquian", - "crs": "Seselwa Creole French", - "crt": "Iyojwa'ja Chorote", - "crv": "Chaura", - "crw": "Chrau", - "crx": "Carrier", - "cry": "Cori", - "crz": "Cruzeño", - "csa": "Chiltepec Chinantec", - "csb": "Kashubian", - "csh": "Asho Chin", - "csi": "Coast Miwok", - "csk": "Jola-Kasa", - "csm": "Central Sierra Miwok", - "cso": "Sochiapan Chinantec", - "csp": "Southern Pinghua", - "css": "Southern Ohlone", - "cst": "Northern Ohlone", - "csv": "Sumtu Chin", - "csw": "Swampy Cree", - "csy": "Siyin Chin", - "csz": "Coos", - "cta": "Tataltepec Chatino", - "ctd": "Tedim Chin", - "cte": "Tepinapa Chinantec", - "ctg": "Chittagonian", - "ctl": "Tlacoatzintepec Chinantec", - "ctm": "Chitimacha", - "ctn": "Chhintange", - "cto": "Emberá-Catío", - "ctp": "Western Highland Chatino", - "cts": "Northern Catanduanes Bikol", - "ctt": "Wayanad Chetti", - "ctu": "Chol", - "ctz": "Zacatepec Chatino", - "cua": "Cua", - "cub": "Cubeo", - "cuc": "Usila Chinantec", - "cuh": "Gichuka", - "cui": "Cuiba", - "cuj": "Mashco Piro", - "cuk": "San Blas Kuna", - "cul": "Kulina", - "cuo": "Cumanagoto", - "cup": "Cupeño", - "cuq": "Cun", - "cur": "Chhulung", - "cut": "Teutila Cuicatec", - "cuu": "Tai Ya", - "cuv": "Cuvok", - "cuw": "Chukwa", - "cux": "Tepeuxila Cuicatec", - "cuy": "Cuitlatec", - "cvg": "Chug", - "cvn": "Valle Nacional Chinantec", - "cwa": "Kabwa", - "cwb": "Maindo", - "cwd": "Woods Cree", - "cwe": "Kwere", - "cwg": "Chewong", - "cwt": "Kuwaataay", - "cya": "Nopala Chatino", - "cyb": "Cayubaba", - "cym": "Welsh", - "cyo": "Cuyonon", - "czh": "Huizhou Chinese", - "czn": "Zenzontepec Chatino", - "czo": "Min Zhong Chinese", - "czt": "Zotung Chin", - "daa": "Dangaléat", - "dac": "Dambi", - "dad": "Marik", - "dae": "Duupa", - "dag": "Dagbani", - "dah": "Gwahatike", - "dai": "Day", - "daj": "Dar Fur Daju", - "dak": "Dakota", - "dal": "Dahalo", - "dam": "Damakawa", - "dan": "Danish", - "dao": "Daai Chin", - "daq": "Dandami Maria", - "dar": "Dargwa", - "das": "Daho-Doo", - "dau": "Dar Sila Daju", - "dav": "Taita", - "daw": "Davawenyo", - "dax": "Dayi", - "daz": "Dao", - "dba": "Bangime", - "dbb": "Deno", - "dbd": "Dadiya", - "dbe": "Dabe", - "dbf": "Edopi", - "dbg": "Dogul Dom Dogon", - "dbi": "Doka", - "dbj": "Ida'an", - "dbl": "Dyirbal", - "dbm": "Duguri", - "dbn": "Duriankere", - "dbo": "Dulbu", - "dbp": "Duwai", - "dbq": "Daba", - "dbr": "Dabarre", - "dbt": "Ben Tey Dogon", - "dbu": "Bondum Dom Dogon", - "dbw": "Bankan Tey Dogon", - "dby": "Dibiyaso", - "dcc": "Deccan", - "dcr": "Negerhollands", - "ddd": "Dongotono", - "dde": "Doondo", - "ddg": "Fataluku", - "ddi": "West Goodenough", - "ddj": "Jaru", - "ddn": "Dendi (Benin)", - "ddo": "Dido", - "ddr": "Dhudhuroa", - "dds": "Donno So Dogon", - "ddw": "Dawera-Daweloor", - "dec": "Dagik", - "ded": "Dedua", - "dee": "Dewoin", - "def": "Dezfuli", - "deg": "Degema", - "deh": "Dehwari", - "dei": "Demisa", - "dem": "Dem", - "deq": "Dendi (Central African Republic)", - "der": "Deori", - "des": "Desano", - "deu": "German", - "dev": "Domung", - "dez": "Dengese", - "dga": "Southern Dagaare", - "dgb": "Bunoge Dogon", - "dgc": "Casiguran Dumagat Agta", - "dgd": "Dagaari Dioula", - "dge": "Degenan", - "dgg": "Doga", - "dgh": "Dghwede", - "dgi": "Northern Dagara", - "dgk": "Dagba", - "dgl": "Dongolawi", - "dgn": "Dagoman", - "dgo": "Dogri", - "dgr": "Tłı̨chǫ", - "dgs": "Dogoso", - "dgw": "Daungwurrung", - "dgx": "Doghoro", - "dgz": "Daga", - "dhd": "Dhundari", - "dhg": "Djangu", - "dhi": "Dhimal", - "dhl": "Dhalandji", - "dhm": "Zemba", - "dhn": "Dhanki", - "dho": "Dhodia", - "dhr": "Dhargari", - "dhs": "Dhaiso", - "dhu": "Dhurga", - "dhv": "Drehu", - "dhw": "Dhanwar (Nepal)", - "dia": "Dia", - "dib": "South Central Dinka", - "dic": "Lakota Dida", - "did": "Didinga", - "dif": "Diyari", - "dig": "Digo", - "dih": "Kumiai", - "dii": "Dimbong", - "dij": "Dai", - "dik": "Southwestern Dinka", - "dil": "Dilling", - "dim": "Dime", - "dio": "Dibo", - "dip": "Northeastern Dinka", - "diq": "Dimli", - "dir": "Dirim", - "dis": "Dimasa", - "diu": "Diriku", - "div": "Maldivian", - "diw": "Northwestern Dinka", - "dix": "Dixon Reef", - "diy": "Diuwe", - "diz": "Ding", - "djb": "Djinba", - "djc": "Dar Daju Daju", - "djd": "Ngaliwurru", - "dje": "Zarma", - "djf": "Djangun", - "dji": "Djinang", - "djj": "Djeebbana", - "djk": "Nenge", - "djm": "Jamsay Dogon", - "djn": "Jawoyn", - "djo": "Jangkang", - "djr": "Djambarrpuyngu", - "dju": "Kapriman", - "djw": "Djawi", - "dka": "Dakpakha", - "dkk": "Dakka", - "dkr": "Kuijau", - "dks": "Southeastern Dinka", - "dkx": "Mazagway", - "dlg": "Dolgan", - "dlk": "Dahalik", - "dlm": "Dalmatian", - "dln": "Darlong", - "dma": "Duma", - "dmb": "Mombo Dogon", - "dmc": "Gavak", - "dmd": "Madhi Madhi", - "dme": "Dugwor", - "dmg": "Upper Kinabatangan", - "dmk": "Domaaki", - "dml": "Dameli", - "dmm": "Dama", - "dmo": "Kemedzung", - "dmr": "East Damar", - "dms": "Dampelas", - "dmu": "Tebi", - "dmv": "Dumpas", - "dmx": "Dema", - "dmy": "Sowari", - "dna": "Upper Grand Valley Dani", - "dnd": "Daonda", - "dne": "Ndendeule", - "dng": "Dungan", - "dni": "Lower Grand Valley Dani", - "dnj": "Dan", - "dnk": "Dengka", - "dnn": "Dzùùngoo", - "dno": "Northern Lendu", - "dnr": "Danaru", - "dnt": "Mid Grand Valley Dani", - "dnu": "Danau", - "dnw": "Western Dani", - "dny": "Dení", - "doa": "Dom", - "dob": "Dobu", - "doc": "Northern Dong", - "doe": "Doe", - "dof": "Domu", - "doh": "Dong", - "dok": "Dondo", - "dol": "Doso", - "don": "Toura (Papua New Guinea)", - "doo": "Dongo", - "dop": "Lukpa", - "dor": "Dori'o", - "dos": "Dogosé", - "dot": "Dass", - "dov": "Dombe", - "dow": "Doyayo", - "dox": "Bussa", - "doy": "Dompo", - "doz": "Dorze", - "dpp": "Papar", - "drb": "Dair", - "drc": "Minderico", - "drd": "Darmiya", - "dre": "Dolpo", - "drg": "Rungus", - "dri": "C'Lela", - "drl": "Paakantyi", - "drn": "West Damar", - "dro": "Daro-Matu Melanau", - "drq": "Dura", - "drs": "Gedeo", - "drt": "Drents", - "dru": "Rukai", - "dry": "Darai", - "dsb": "Lower Sorbian", - "dsh": "Daasanach", - "dsi": "Disa", - "dsn": "Dusner", - "dsq": "Tadaksahak", - "dta": "Daur", - "dtb": "Labuk-Kinabatangan Kadazan", - "dtd": "Ditidaht", - "dth": "Adithinngithigh", - "dti": "Ana Tinga Dogon", - "dtk": "Tene Kan Dogon", - "dtm": "Tomo Kan Dogon", - "dtn": "Daatsʼíin", - "dto": "Tommo So Dogon", - "dtp": "Kadazan Dusun", - "dtr": "Lotud", - "dts": "Toro So Dogon", - "dtt": "Toro Tegu Dogon", - "dtu": "Tebul Ure Dogon", - "dty": "Dotyali", - "dua": "Duala", - "dub": "Dubli", - "duc": "Duna", - "due": "Umiray Dumaget Agta", - "duf": "Dumbea", - "dug": "Duruma", - "duh": "Dungra Bhil", - "dui": "Dumun", - "duk": "Uyajitaya", - "dul": "Alabat Island Agta", - "dum": "Middle Dutch (ca. 1050-1350)", - "dun": "Dusun Deyah", - "duo": "Dupaninan Agta", - "dup": "Duano", - "duq": "Dusun Malang", - "dur": "Dii", - "dus": "Dumi", - "duu": "Drung", - "duv": "Duvle", - "duw": "Dusun Witu", - "dux": "Duungooma", - "duy": "Dicamay Agta", - "duz": "Duli-Gey", - "dva": "Duau", - "dwa": "Diri", - "dwr": "Dawro", - "dww": "Dawawa", - "dwz": "Dewas Rai", - "dya": "Dyan", - "dyb": "Dyaberdyaber", - "dyd": "Dyugun", - "dyi": "Djimini Senoufo", - "dym": "Yanda Dom Dogon", - "dyn": "Dyangadi", - "dyo": "Jola-Fonyi", - "dyu": "Dyula", - "dyy": "Dyaabugay", - "dza": "Tunzu", - "dze": "Djiwarli", - "dzg": "Dazaga", - "dzl": "Dzalakha", - "dzn": "Dzando", - "dzo": "Dzongkha", - "ebg": "Ebughu", - "ebo": "Teke-Ebo", - "ebr": "Ebrié", - "ebu": "Kiembu", - "eee": "E", - "efa": "Efai", - "efe": "Efe", - "efi": "Efik", - "ega": "Ega", - "egl": "Emilian", - "ego": "Eggon", - "egy": "Egyptian (Ancient)", - "ehu": "Ehueun", - "eip": "Eipomek", - "eit": "Eitiep", - "eiv": "Askopan", - "eja": "Ejamat", - "eka": "Ekajuk", - "eke": "Ekit", - "ekg": "Ekari", - "eki": "Eki", - "ekk": "Estonian", - "ekl": "Kol (Bangladesh)", - "ekm": "Elip", - "eko": "Koti", - "ekp": "Ekpeye", - "ekr": "Yace", - "eky": "Eastern Kayah", - "ele": "Elepi", - "elh": "El Hugeirat", - "eli": "Nding", - "elk": "Elkei", - "ell": "Greek", - "elm": "Eleme", - "elo": "El Molo", - "elu": "Elu", - "elx": "Elamite", - "ema": "Emai-Iuleha-Ora", - "emb": "Embaloh", - "eme": "Emerillon", - "emg": "Eastern Meohang", - "emi": "Mussau-Emira", - "emk": "Eastern Maninkakan", - "emn": "Eman", - "emp": "Northern Emberá", - "emq": "Eastern Minyag", - "ems": "Pacific Gulf Yupik", - "emu": "Eastern Muria", - "emw": "Emplawas", - "emy": "Epigraphic Mayan", - "emz": "Mbessa", - "ena": "Apali", - "enb": "Markweeta", - "enc": "En", - "end": "Ende", - "enf": "Forest Enets", - "eng": "English", - "enh": "Tundra Enets", - "enl": "Enlhet", - "enm": "Middle English (1100-1500)", - "enn": "Engenni", - "eno": "Enggano", - "enq": "Enga", - "enr": "Emumu", - "enu": "Enu", - "env": "Enwan (Edu State)", - "enw": "Enwan (Akwa Ibom State)", - "enx": "Enxet", - "eot": "Beti (Côte d'Ivoire)", - "epi": "Epie", - "era": "Eravallan", - "erg": "Sie", - "erh": "Eruwa", - "eri": "Ogea", - "erk": "South Efate", - "ero": "Horpa", - "err": "Erre", - "ers": "Ersu", - "ert": "Eritai", - "erw": "Erokwanas", - "ese": "Ese Ejja", - "esh": "Eshtehardi", - "esi": "North Alaskan Inupiatun", - "esk": "Northwest Alaska Inupiatun", - "esq": "Esselen", - "ess": "Central Siberian Yupik", - "esu": "Central Yupik", - "etb": "Etebi", - "etn": "Eton (Vanuatu)", - "eto": "Eton (Cameroon)", - "etr": "Edolo", - "ets": "Yekhee", - "ett": "Etruscan", - "etu": "Ejagham", - "etx": "Eten", - "etz": "Semimi", - "eus": "Basque", - "eve": "Even", - "evh": "Uvbie", - "evn": "Evenki", - "ewe": "Ewe", - "ewo": "Ewondo", - "ext": "Extremaduran", - "eya": "Eyak", - "eyo": "Keiyo", - "eze": "Uzekwe", - "faa": "Fasu", - "fab": "Fa d'Ambu", - "fad": "Wagi", - "faf": "Fagani", - "fag": "Finongan", - "fah": "Baissa Fali", - "fai": "Faiwol", - "faj": "Faita", - "fak": "Fang (Cameroon)", - "fal": "South Fali", - "fam": "Fam", - "fan": "Fang (Equatorial Guinea)", - "fao": "Faroese", - "fap": "Paloor", - "far": "Fataleka", - "fau": "Fayu", - "fax": "Fala", - "fay": "Southwestern Fars", - "fer": "Feroge", - "ffm": "Maasina Fulfulde", - "fgr": "Fongoro", - "fia": "Nobiin", - "fie": "Fyer", - "fif": "Faifi", - "fij": "Fijian", - "fil": "Pilipino", - "fin": "Finnish", - "fip": "Fipa", - "fir": "Firan", - "fit": "Tornedalen Finnish", - "fiw": "Fiwaga", - "fkk": "Kirya-Konzəl", - "fkv": "Kven Finnish", - "fla": "Kalispel-Pend d'Oreille", - "flh": "Foau", - "fli": "Fali", - "fll": "North Fali", - "fln": "Flinders Island", - "flr": "Fuliiru", - "fmp": "Fe'fe'", - "fmu": "Far Western Muria", - "fnb": "Fanbak", - "fni": "Fania", - "fod": "Foodo", - "foi": "Foi", - "fon": "Fon", - "for": "Fore", - "fos": "Siraya", - "fpe": "Fernando Po Creole English", - "fqs": "Fas", - "fra": "French", - "frc": "Cajun French", - "frd": "Fordata", - "frk": "Frankish", - "fro": "Old French (842-ca. 1400)", - "frp": "Francoprovençal", - "frq": "Forak", - "frr": "Northern Frisian", - "frs": "Eastern Frisian", - "frt": "Fortsenal", - "fry": "Western Frisian", - "fss": "suomenruotsalainen viittomakieli", - "fub": "Adamawa Fulfulde", - "fuc": "Pulaar", - "fud": "East Futuna", - "fue": "Borgu Fulfulde", - "fuf": "Pular", - "fuh": "Western Niger Fulfulde", - "fui": "Bagirmi Fulfulde", - "fuj": "Ko", - "fun": "Fulniô", - "fuq": "Central-Eastern Niger Fulfulde", - "fur": "Friulian", - "fut": "Futuna-Aniwa", - "fuu": "Furu", - "fuv": "Nigerian Fulfulde", - "fuy": "Fuyug", - "fvr": "Fur", - "fwa": "Fwâi", - "fwe": "Fwe", - "gaa": "Ga", - "gab": "Gabri", - "gac": "Mixed Great Andamanese", - "gad": "Gaddang", - "gae": "Guarequena", - "gaf": "Gende", - "gag": "Gagauz", - "gah": "Alekano", - "gai": "Borei", - "gaj": "Gadsup", - "gak": "Gamkonora", - "gal": "Galolen", - "gam": "Kandawo", - "gan": "Gan Chinese", - "gao": "Gants", - "gap": "Gal", - "gaq": "Gata'", - "gar": "Galeya", - "gas": "Adiwasi Garasia", - "gat": "Kenati", - "gau": "Mudhili Gadaba", - "gaw": "Nobonob", - "gax": "Borana-Arsi-Guji Oromo", - "gay": "Gayo", - "gaz": "Oromo", - "gbb": "Kaytetye", - "gbd": "Karajarri", - "gbe": "Niksek", - "gbf": "Gaikundi", - "gbg": "Gbanziri", - "gbh": "Defi Gbe", - "gbi": "Galela", - "gbj": "Bodo Gadaba", - "gbk": "Gaddi", - "gbl": "Gamit", - "gbm": "Garhwali", - "gbn": "Mo'da", - "gbo": "Northern Grebo", - "gbp": "Gbaya-Bossangoa", - "gbq": "Gbaya-Bozoum", - "gbr": "Gbagyi", - "gbs": "Gbesi Gbe", - "gbu": "Gagadu", - "gbv": "Gbanu", - "gbw": "Gabi-Gabi", - "gbx": "Eastern Xwla Gbe", - "gby": "Gbari", - "gbz": "Zoroastrian Dari", - "gcc": "Mali", - "gcd": "Ganggalida", - "gce": "Galice", - "gcf": "Guadeloupean Creole French", - "gcl": "Grenadian Creole English", - "gcn": "Gaina", - "gcr": "Guianese Creole French", - "gct": "Colonia Tovar German", - "gda": "Gade Lohar", - "gdb": "Pottangi Ollar Gadaba", - "gdc": "Gugu Badhun", - "gdd": "Gedaged", - "gde": "Gude", - "gdf": "Guduf-Gava", - "gdg": "Ga'dang", - "gdh": "Gajirrabeng", - "gdi": "Gundi", - "gdj": "Gurdjar", - "gdk": "Gadang", - "gdl": "Dirasha", - "gdm": "Laal", - "gdn": "Umanakaina", - "gdo": "Ghodoberi", - "gdq": "Mehri", - "gdr": "Wipi", - "gdu": "Gudu", - "gdx": "Godwari", - "gea": "Geruma", - "geb": "Kire", - "gec": "Gboloo Grebo", - "ged": "Gade", - "geh": "Hutterite German", - "gei": "Gebe", - "gej": "Gen", - "gek": "Ywom", - "gel": "ut-Ma'in", - "geq": "Geme", - "ges": "Geser-Gorom", - "gev": "Eviya", - "gew": "Gera", - "gex": "Garre", - "gey": "Enya", - "gez": "Geez", - "gfk": "Patpatar", - "gft": "Gafat", - "gga": "Gao", - "ggb": "Gbii", - "ggd": "Gugadj", - "gge": "Gurr-goni", - "ggg": "Gurgula", - "ggk": "Kungarakany", - "ggl": "Ganglau", - "ggt": "Gitua", - "ggu": "Gban", - "ggw": "Gogodala", - "gha": "Ghadamès", - "ghc": "Hiberno-Scottish Gaelic", - "ghe": "Southern Ghale", - "ghh": "Northern Ghale", - "ghk": "Geko Karen", - "ghl": "Ghulfan", - "ghn": "Ghanongga", - "gho": "Ghomara", - "ghr": "Ghera", - "ghs": "Guhu-Samane", - "ght": "Kutang Ghale", - "gia": "Kija", - "gid": "Gidar", - "gie": "Guébie", - "gig": "Goaria", - "gih": "Githabul", - "gii": "Girirra", - "gil": "Gilbertese", - "gim": "Gimi (Eastern Highlands)", - "gin": "Hinukh", - "gip": "Gimi (West New Britain)", - "giq": "Green Gelao", - "gir": "Red Gelao", - "gis": "North Giziga", - "git": "Gitxsan", - "giu": "Mulao", - "giw": "White Gelao", - "gix": "Gilima", - "giz": "South Giziga", - "gjk": "Kachi Koli", - "gjm": "Gunditjmara", - "gjn": "Gonja", - "gju": "Gujari", - "gka": "Guya", - "gkd": "Magɨ (Madang Province)", - "gke": "Ndai", - "gkn": "Gokana", - "gko": "Kok-Nar", - "gkp": "Guinea Kpelle", - "gku": "ǂUngkue", - "gla": "Scottish Gaelic", - "glb": "Belning", - "glc": "Bon Gula", - "gld": "Nanai", - "gle": "Irish", - "glg": "Galician", - "glh": "Northwest Pashayi", - "glj": "Gula Iro", - "glk": "Gilaki", - "gll": "Garlali", - "glo": "Galambu", - "glr": "Glaro-Twabo", - "glu": "Gula (Chad)", - "glv": "Manx", - "glw": "Glavda", - "gly": "Gule", - "gma": "Gambera", - "gmb": "Gula'alaa", - "gmd": "Mághdì", - "gmg": "Magɨyi", - "gmh": "Middle High German (ca. 1050-1500)", - "gml": "Middle Low German", - "gmm": "Gbaya-Mbodomo", - "gmn": "Gimnime", - "gmu": "Gumalu", - "gmv": "Gamo", - "gmx": "Magoma", - "gmy": "Mycenaean Greek", - "gna": "Kaansa", - "gnb": "Gangte", - "gnc": "Guanche", - "gnd": "Zulgo-Gemzek", - "gne": "Ganang", - "gng": "Ngangam", - "gnh": "Lere", - "gni": "Gooniyandi", - "gnj": "Ngen", - "gnk": "ǁGana", - "gnl": "Gangulu", - "gnm": "Ginuman", - "gnn": "Gumatj", - "gno": "Northern Gondi", - "gnq": "Gana", - "gnr": "Gureng Gureng", - "gnt": "Guntai", - "gnu": "Gnau", - "gnw": "Western Bolivian Guaraní", - "gnz": "Ganzi", - "goa": "Guro", - "gob": "Playero", - "goc": "Gorakor", - "god": "Godié", - "goe": "Gongduk", - "gof": "Gofa", - "gog": "Gogo", - "goh": "Old High German (ca. 750-1050)", - "goi": "Gobasi", - "gol": "Gola", - "gom": "Goan Konkani", - "goo": "Gone Dau", - "gop": "Yeretuar", - "goq": "Gorap", - "gor": "Gorontalo", - "gos": "Gronings", - "got": "Gothic", - "gou": "Gavar", - "gow": "Gorowa", - "gox": "Gobu", - "goy": "Goundo", - "goz": "Gozarkhani", - "gpa": "Gupa-Abawa", - "gpe": "Ghanaian Pidgin English", - "gpn": "Taiap", - "gqa": "Ga'anda", - "gqi": "Guiqiong", - "gqn": "Guana (Brazil)", - "gqr": "Gor", - "gqu": "Qau", - "gra": "Rajput Garasia", - "grc": "Ancient Greek", - "grd": "Guruntum-Mbaaru", - "grg": "Madi", - "grh": "Gbiri-Niragu", - "gri": "Ghari", - "grj": "Southern Grebo", - "grm": "Kota Marudu Talantang", - "gro": "Groma", - "grq": "Gorovu", - "grr": "Taznatit", - "grs": "Gresi", - "grt": "Garo", - "gru": "Kistane", - "grv": "Central Grebo", - "grw": "Gweda", - "grx": "Guriaso", - "gry": "Barclayville Grebo", - "grz": "Guramalum", - "gsl": "Gusilay", - "gsn": "Nema", - "gso": "Southwest Gbaya", - "gsp": "Wasembo", - "gsw": "Swiss German", - "gta": "Guató", - "gua": "Shiki", - "gub": "Guajajára", - "guc": "Wayuu", - "gud": "Yocoboué Dida", - "gue": "Gurindji", - "guf": "Gupapuyngu", - "gug": "Paraguayan Guaraní", - "guh": "Guahibo", - "gui": "Eastern Bolivian Guaraní", - "guj": "Gujarati", - "guk": "Gumuz", - "gul": "Sea Island Creole English", - "gum": "Guambiano", - "gun": "Mbyá Guaraní", - "guo": "Guayabero", - "gup": "Gunwinggu", - "guq": "Aché", - "gur": "Farefare", - "gut": "Maléku Jaíka", - "guu": "Yanomamö", - "guw": "Gun", - "gux": "Gourmanchéma", - "guz": "Gusii", - "gva": "Guana (Paraguay)", - "gvc": "Guanano", - "gve": "Duwet", - "gvf": "Golin", - "gvj": "Guajá", - "gvl": "Gulay", - "gvm": "Gurmana", - "gvn": "Kuku-Yalanji", - "gvo": "Gavião Do Jiparaná", - "gvp": "Pará Gavião", - "gvr": "Gurung", - "gvs": "Gumawana", - "gvy": "Guyani", - "gwa": "Mbato", - "gwb": "Gwa", - "gwc": "Kalami", - "gwd": "Gawwada", - "gwe": "Gweno", - "gwf": "Gowro", - "gwg": "Moo", - "gwi": "Gwichʼin", - "gwj": "ǀGwi", - "gwm": "Awngthim", - "gwn": "Gwandara", - "gwr": "Gwere", - "gwt": "Gawar-Bati", - "gwu": "Guwamu", - "gww": "Kwini", - "gwx": "Gua", - "gxx": "Wè Southern", - "gya": "Northwest Gbaya", - "gyb": "Garus", - "gyd": "Kayardild", - "gye": "Gyem", - "gyf": "Gungabula", - "gyg": "Gbayi", - "gyi": "Gyele", - "gyl": "Gayil", - "gym": "Ngäbere", - "gyn": "Guyanese Creole English", - "gyo": "Gyalsumdo", - "gyr": "Guarayu", - "gyy": "Gunya", - "gyz": "Gyaazi", - "gza": "Ganza", - "gzi": "Gazi", - "gzn": "Gane", - "haa": "Han", - "hac": "Gurani", - "had": "Hatam", - "hae": "Eastern Oromo", - "hag": "Hanga", - "hah": "Hahon", - "haj": "Hajong", - "hak": "Hakka Chinese", - "hal": "Halang", - "ham": "Hewa", - "han": "Hangaza", - "hao": "Hakö", - "hap": "Hupla", - "haq": "Ha", - "har": "Harari", - "has": "Haisla", - "hat": "Haitian Creole", - "hau": "Hausa", - "hav": "Havu", - "haw": "Hawaiian", - "hax": "Southern Haida", - "hay": "Haya", - "haz": "Hazaragi", - "hba": "Hamba", - "hbb": "Huba", - "hbn": "Heiban", - "hbo": "Ancient Hebrew", - "hbs": "Serbo-Croatian", - "hbu": "Habu", - "hca": "Andaman Creole Hindi", - "hch": "Huichol", - "hdn": "Northern Haida", - "hdy": "Hadiyya", - "hea": "Northern Qiandong Miao", - "heb": "Hebrew", - "hed": "Herdé", - "heg": "Helong", - "heh": "Hehe", - "hei": "Heiltsuk", - "hem": "Hemba", - "her": "Herero", - "hgm": "Haiǁom", - "hgw": "Haigwai", - "hhi": "Hoia Hoia", - "hhr": "Kerak", - "hhy": "Hoyahoya", - "hia": "Lamang", - "hib": "Hibito", - "hid": "Hidatsa", - "hif": "Fiji Hindi", - "hig": "Kamwe", - "hih": "Pamosu", - "hii": "Hinduri", - "hij": "Hijuk", - "hik": "Seit-Kaitetu", - "hil": "Hiligaynon", - "hin": "Hindi", - "hio": "Tsoa", - "hit": "Hittite", - "hiw": "Hiw", - "hix": "Hixkaryána", - "hji": "Haji", - "hka": "Kahe", - "hke": "Hunde", - "hkh": "Poguli", - "hkk": "Hunjara-Kaina Ke", - "hla": "Halia", - "hlb": "Halbi", - "hld": "Halang Doan", - "hle": "Hlersu", - "hlt": "Matu Chin", - "hlu": "Hieroglyphic Luwian", - "hma": "Southern Mashan Miao", - "hmb": "Humburi Senni Songhay", - "hmc": "Central Huishui Miao", - "hmd": "Large Flowery Miao", - "hme": "Eastern Huishui Miao", - "hmf": "Hmong Don", - "hmg": "Southwestern Guiyang Hmong", - "hmh": "Southwestern Huishui Miao", - "hmi": "Northern Huishui Miao", - "hmj": "Gejia", - "hml": "Luopohe Miao", - "hmm": "Central Mashan Miao", - "hmp": "Northern Mashan Miao", - "hmq": "Eastern Qiandong Miao", - "hmr": "Hmar", - "hms": "Southern Qiandong Miao", - "hmt": "Hamtai", - "hmu": "Hamap", - "hmv": "Hmong Dô", - "hmw": "Western Mashan Miao", - "hmy": "Southern Guiyang Miao", - "hmz": "Sinicized Miao", - "hna": "Mina (Cameroon)", - "hnd": "Southern Hindko", - "hne": "Chhattisgarhi", - "hng": "Hungu", - "hnh": "ǁAni", - "hni": "Hani", - "hnj": "Mong Njua", - "hnn": "Hanunoo", - "hno": "Northern Hindko", - "hns": "Caribbean Hindustani", - "hnu": "Hung", - "hoa": "Hoava", - "hob": "Mari (Madang Province)", - "hoc": "Ho", - "hod": "Holma", - "hoe": "Horom", - "hoh": "Hobyót", - "hoi": "Holikachuk", - "hoj": "Haroti", - "hol": "Holu", - "hom": "Homa", - "hoo": "Holoholo", - "hop": "Hopi", - "hor": "Horo", - "hot": "Malê", - "hov": "Hovongan", - "how": "Honi", - "hoy": "Holiya", - "hoz": "Hozo", - "hpo": "Hpon", - "hra": "Hrangkhol", - "hrc": "Niwer Mil", - "hre": "Hre", - "hrk": "Haruku", - "hrm": "Horned Miao", - "hro": "Haroi", - "hrp": "Nhirrpi", - "hrt": "Hértevin", - "hru": "Hruso", - "hrv": "Croatian", - "hrx": "Hunsrik", - "hrz": "Harzani", - "hsb": "Upper Sorbian", - "hsn": "Xiang Chinese", - "hss": "Harsusi", - "hti": "Hoti", - "hto": "Minica Huitoto", - "hts": "Hadza", - "htu": "Hitu", - "hub": "Huambisa", - "huc": "ǂHua", - "hud": "Huaulu", - "hue": "San Francisco Del Mar Huave", - "huf": "Humene", - "hug": "Huachipaeri", - "huh": "Huilliche", - "hui": "Huli", - "huj": "Northern Guiyang Miao", - "huk": "Hulung", - "hul": "Hula", - "hum": "Hungana", - "hun": "Hungarian", - "huo": "Hu", - "hup": "Hupa", - "huq": "Tsat", - "hur": "Halkomelem", - "hus": "Huastec", - "hut": "Humla", - "huu": "Murui Huitoto", - "huv": "San Mateo Del Mar Huave", - "huw": "Hukumina", - "hux": "Nüpode Huitoto", - "huy": "Hulaulá", - "huz": "Hunzib", - "hve": "San Dionisio Del Mar Huave", - "hvk": "Haveke", - "hvn": "Sabu", - "hvv": "Santa María Del Mar Huave", - "hwa": "Wané", - "hwc": "Hawai'i Pidgin", - "hwo": "Hwana", - "hya": "Hya", - "hye": "Armenian", - "hyw": "Western Armenian", - "iai": "Iaai", - "ian": "Iatmul", - "iar": "Purari", - "iba": "Iban", - "ibb": "Ibibio", - "ibd": "Iwaidja", - "ibe": "Akpes", - "ibg": "Ibanag", - "ibh": "Bih", - "ibl": "Ibaloi", - "ibm": "Agoi", - "ibn": "Ibino", - "ibo": "Igbo", - "ibr": "Ibuoro", - "ibu": "Ibu", - "iby": "Ibani", - "ica": "Ede Ica", - "ich": "Etkywan", - "icr": "Islander Creole English", - "ida": "Luidakho-Luisukha-Lutirichi", - "idb": "Indo-Portuguese", - "idc": "Idon", - "idd": "Ede Idaca", - "ide": "Idere", - "idi": "Idi", - "idr": "Indri", - "idt": "Idaté", - "idu": "Idoma", - "ifa": "Amganad Ifugao", - "ifb": "Batad Ifugao", - "ife": "Ifè", - "iff": "Ifo", - "ifk": "Tuwali Ifugao", - "ifm": "Teke-Fuumu", - "ifu": "Mayoyao Ifugao", - "ify": "Keley-I Kallahan", - "igb": "Ebira", - "ige": "Igede", - "igg": "Igana", - "igl": "Igala", - "igm": "Kanggape", - "ign": "Ignaciano", - "igo": "Isebe", - "igw": "Igwe", - "ihp": "Iha", - "ihw": "Bidhawal", - "iii": "Sichuan Yi", - "iin": "Thiin", - "ijc": "Izon", - "ije": "Biseni", - "ijj": "Ede Ije", - "ijn": "Kalabari", - "ijs": "Southeast Ijo", - "ike": "Eastern Canadian Inuktitut", - "iki": "Iko", - "ikk": "Ika", - "ikl": "Ikulu", - "iko": "Olulumo-Ikom", - "ikp": "Ikpeshi", - "ikr": "Ikaranggal", - "ikt": "Western Canadian Inuktitut", - "ikv": "Iku-Gora-Ankwa", - "ikw": "Ikwere", - "ikx": "Ik", - "ikz": "Ikizu", - "ila": "Ile Ape", - "ilb": "Ila", - "ilg": "Garig-Ilgar", - "ili": "Ili Turki", - "ilk": "Ilongot", - "ilo": "Iloko", - "ilu": "Ili'uun", - "ilv": "Ilue", - "ima": "Mala Malasar", - "imi": "Anamgura", - "iml": "Miluk", - "imn": "Imonda", - "imo": "Imbongu", - "imr": "Imroing", - "imy": "Milyan", - "inb": "Inga", - "ind": "Indonesian", - "ing": "Degexit'an", - "inh": "Ingush", - "inj": "Jungle Inga", - "inm": "Minaean", - "inn": "Isinai", - "ino": "Inoke-Yate", - "inp": "Iñapari", - "int": "Intha", - "inz": "Ineseño", - "ior": "Inor", - "iou": "Tuma-Irumu", - "iow": "Iowa-Oto", - "ipi": "Ipili", - "ipo": "Ipiko", - "iqu": "Iquito", - "ire": "Iresim", - "irh": "Irarutu", - "iri": "Rigwe", - "irk": "Iraqw", - "irn": "Irántxe", - "iru": "Irula", - "irx": "Kamberau", - "iry": "Iraya", - "isa": "Isabi", - "isc": "Isconahua", - "isd": "Isnag", - "ish": "Esan", - "isi": "Nkem-Nkum", - "isk": "Ishkashimi", - "isl": "Icelandic", - "ism": "Masimasi", - "isn": "Isanzu", - "iso": "Isoko", - "ist": "Istriot", - "isu": "Isu (Menchum Division)", - "ita": "Italian", - "itb": "Binongan Itneg", - "itd": "Southern Tidung", - "ite": "Itene", - "iti": "Inlaod Itneg", - "itk": "Judeo-Italian", - "itl": "Itelmen", - "itm": "Itu Mbon Uzo", - "ito": "Itonama", - "itr": "Iteri", - "its": "Isekiri", - "itt": "Maeng Itneg", - "itv": "Itawit", - "itw": "Ito", - "itx": "Itik", - "ity": "Moyadan Itneg", - "itz": "Itzá", - "ium": "Iu Mien", - "ivb": "Ibatan", - "ivv": "Ivatan", - "iwk": "I-Wak", - "iwm": "Iwam", - "iwo": "Iwur", - "iws": "Sepik Iwam", - "ixc": "Ixcatec", - "ixl": "Ixil", - "iya": "Iyayu", - "iyo": "Mesaka", - "iyx": "Yaka (Congo)", - "izh": "Ingrian", - "izr": "Izere", - "izz": "Izii", - "jaa": "Jamamadí", - "jab": "Hyam", - "jac": "Popti'", - "jad": "Jahanka", - "jae": "Yabem", - "jaf": "Jara", - "jah": "Jah Hut", - "jaj": "Zazao", - "jak": "Jakun", - "jal": "Yalahatan", - "jam": "Jamaican Creole English", - "jan": "Jandai", - "jao": "Yanyuwa", - "jaq": "Yaqay", - "jas": "New Caledonian Javanese", - "jat": "Jakati", - "jau": "Yaur", - "jav": "Javanese", - "jax": "Jambi Malay", - "jay": "Yan-nhangu", - "jaz": "Jawe", - "jbi": "Badjiri", - "jbj": "Arandai", - "jbk": "Barikewa", - "jbn": "Nafusi", - "jbr": "Jofotek-Bromnya", - "jbt": "Jabutí", - "jbu": "Jukun Takum", - "jbw": "Yawijibaya", - "jct": "Krymchak", - "jda": "Jad", - "jdg": "Jadgali", - "jdt": "Judeo-Tat", - "jeb": "Jebero", - "jee": "Jerung", - "jeh": "Jeh", - "jei": "Yei", - "jek": "Jeri Kuo", - "jel": "Yelmek", - "jen": "Dza", - "jer": "Jere", - "jet": "Manem", - "jeu": "Jonkor Bourmataguil", - "jgb": "Ngbee", - "jge": "Judeo-Georgian", - "jgo": "Ngomba", - "jhi": "Jehai", - "jia": "Jina", - "jib": "Jibu", - "jic": "Tol", - "jid": "Bu (Kaduna State)", - "jie": "Jilbe", - "jig": "Jingulu", - "jih": "sTodsde", - "jii": "Jiiddu", - "jil": "Jilim", - "jim": "Jimi (Cameroon)", - "jio": "Jiamao", - "jiq": "Lavrung", - "jit": "Jita", - "jiu": "Youle Jinuo", - "jiv": "Shuar", - "jiy": "Buyuan Jinuo", - "jje": "Jejueo", - "jka": "Kaera", - "jkm": "Mobwa Karen", - "jko": "Kubo", - "jkr": "Koro (India)", - "jku": "Labir", - "jle": "Ngile", - "jma": "Dima", - "jmb": "Zumbun", - "jmc": "Machame", - "jmd": "Yamdena", - "jmi": "Jimi (Nigeria)", - "jml": "Jumli", - "jmn": "Makuri Naga", - "jmr": "Kamara", - "jms": "Mashi (Nigeria)", - "jmw": "Mouwase", - "jmx": "Western Juxtlahuaca Mixtec", - "jna": "Jangshung", - "jnd": "Jandavra", - "jng": "Yangman", - "jni": "Janji", - "jnj": "Yemsa", - "jnl": "Rawat", - "jns": "Jaunsari", - "job": "Joba", - "jod": "Wojenaka", - "jor": "Jorá", - "jow": "Jowulu", - "jpn": "Japanese", - "jpr": "Judeo-Persian", - "jqr": "Jaqaru", - "jra": "Jarai", - "jrr": "Jiru", - "jru": "Japrería", - "jua": "Júma", - "jub": "Wannu", - "juc": "Jurchen", - "jud": "Worodougou", - "juh": "Hõne", - "jui": "Ngadjuri", - "juk": "Wapan", - "jul": "Jirel", - "jum": "Jumjum", - "jun": "Juang", - "juo": "Jiba", - "jup": "Hupdë", - "jur": "Jurúna", - "jut": "Jutish", - "juu": "Ju", - "juw": "Wãpha", - "juy": "Juray", - "jvd": "Javindo", - "jvn": "Caribbean Javanese", - "jwi": "Jwira-Pepesa", - "jya": "Jiarong", - "jye": "Judeo-Yemeni Arabic", - "jyy": "Jaya", - "kaa": "Kara-Kalpak", - "kab": "Kabyle", - "kac": "Kachin", - "kad": "Adara", - "kae": "Ketangalan", - "kaf": "Katso", - "kag": "Kajaman", - "kah": "Kara (Central African Republic)", - "kai": "Karekare", - "kaj": "Jju", - "kak": "Kayapa Kallahan", - "kal": "Greenlandic", - "kam": "Kamba (Kenya)", - "kan": "Kannada", - "kao": "Xaasongaxango", - "kap": "Bezhta", - "kaq": "Capanahua", - "kas": "Kashmiri", - "kat": "Georgian", - "kaw": "Kawi", - "kax": "Kao", - "kay": "Kamayurá", - "kaz": "Kazakh", - "kba": "Kalarko", - "kbb": "Kaxuiâna", - "kbc": "Kadiwéu", - "kbd": "Kabardian", - "kbe": "Kanju", - "kbg": "Khamba", - "kbh": "Camsá", - "kbi": "Kaptiau", - "kbj": "Kari", - "kbk": "Grass Koiari", - "kbl": "Kanembu", - "kbm": "Iwal", - "kbn": "Kare (Central African Republic)", - "kbo": "Keliko", - "kbp": "Kabiyè", - "kbq": "Kamano", - "kbr": "Kafa", - "kbs": "Kande", - "kbt": "Abadi", - "kbu": "Kabutra", - "kbv": "Dera (Indonesia)", - "kbw": "Kaiep", - "kbx": "Ap Ma", - "kby": "Manga Kanuri", - "kbz": "Duhwa", - "kca": "Khanty", - "kcb": "Kawacha", - "kcc": "Lubila", - "kcd": "Ngkâlmpw Kanum", - "kcf": "Ukaan", - "kcg": "Tyap", - "kci": "Kamantan", - "kcj": "Kobiana", - "kck": "Kalanga", - "kcl": "Kela (Papua New Guinea)", - "kcm": "Gula (Central African Republic)", - "kcn": "Nubi", - "kco": "Kinalakna", - "kcp": "Kanga", - "kcq": "Kamo", - "kcr": "Katla", - "kcs": "Koenoem", - "kct": "Kaian", - "kcu": "Kami (Tanzania)", - "kcv": "Kete", - "kcw": "Kabwari", - "kcx": "Kachama-Ganjule", - "kcy": "Korandje", - "kcz": "Konongo", - "kda": "Worimi", - "kdc": "Kutu", - "kdd": "Yankunytjatjara", - "kde": "Makonde", - "kdf": "Mamusi", - "kdg": "Seba", - "kdh": "Tem", - "kdi": "Kumam", - "kdj": "Karamojong", - "kdk": "Numèè", - "kdl": "Tsikimba", - "kdm": "Kagoma", - "kdn": "Kunda", - "kdp": "Kaningdon-Nindem", - "kdq": "Koch", - "kdr": "Karaim", - "kdt": "Kuy", - "kdu": "Kadaru", - "kdw": "Koneraw", - "kdx": "Kam", - "kdy": "Keijar", - "kdz": "Kwaja", - "kea": "Kabuverdianu", - "keb": "Kélé", - "kec": "Keiga", - "ked": "Kerewe", - "kee": "Eastern Keres", - "kef": "Kpessi", - "keg": "Tese", - "keh": "Keak", - "kei": "Kei", - "kej": "Kadar", - "kek": "Kekchí", - "kel": "Kela (Democratic Republic of Congo)", - "kem": "Kemak", - "ken": "Kenyang", - "keo": "Kakwa", - "kep": "Kaikadi", - "keq": "Kamar", - "ker": "Kera", - "kes": "Kugbo", - "ket": "Ket", - "keu": "Akebu", - "kev": "Kanikkaran", - "kew": "West Kewa", - "key": "Kupia", - "kez": "Kukele", - "kfa": "Kodava", - "kfb": "Northwestern Kolami", - "kfc": "Konda-Dora", - "kfd": "Korra Koraga", - "kfe": "Kota (India)", - "kff": "Koya", - "kfg": "Kudiya", - "kfh": "Kurichiya", - "kfk": "Kinnauri", - "kfl": "Kung", - "kfm": "Khunsari", - "kfn": "Kuk", - "kfo": "Koro (Côte d'Ivoire)", - "kfp": "Korwa", - "kfq": "Korku", - "kfr": "Kutchi", - "kfs": "Bilaspuri", - "kft": "Kanjari", - "kfu": "Katkari", - "kfv": "Kurmukar", - "kfw": "Kharam Naga", - "kfx": "Kullu Pahari", - "kfy": "Kumaoni", - "kfz": "Koromfé", - "kga": "Koyaga", - "kgb": "Kawe", - "kge": "Komering", - "kgf": "Kube", - "kgg": "Kusunda", - "kgj": "Gamale Kham", - "kgk": "Kaiwá", - "kgl": "Kunggari", - "kgn": "Karingani", - "kgo": "Krongo", - "kgp": "Kaingang", - "kgq": "Kamoro", - "kgr": "Abun", - "kgs": "Kumbainggar", - "kgt": "Somyev", - "kgu": "Kobol", - "kgv": "Karas", - "kgw": "Karon Dori", - "kgx": "Kamaru", - "kgy": "Kyerung", - "kha": "Khasi", - "khb": "Lü", - "khc": "Tukang Besi North", - "khd": "Bädi Kanum", - "khe": "Korowai", - "khf": "Khuen", - "khg": "Khams Tibetan", - "khh": "Kehu", - "khj": "Kuturmi", - "khk": "Halh Mongolian", - "khl": "Lusi", - "khm": "Khmer", - "khn": "Khandesi", - "kho": "Sakan", - "khp": "Kapori", - "khq": "Koyra Chiini Songhay", - "khr": "Kharia", - "khs": "Kasua", - "kht": "Khamti", - "khu": "Nkhumbi", - "khv": "Khvarshi", - "khw": "Khowar", - "khx": "Kanu", - "khy": "Kele (Democratic Republic of Congo)", - "khz": "Keapara", - "kia": "Kim", - "kib": "Koalib", - "kic": "Kickapoo", - "kid": "Koshin", - "kie": "Kibet", - "kif": "Eastern Parbate Kham", - "kig": "Kimaghima", - "kih": "Kilmeri", - "kii": "Kitsai", - "kij": "Kilivila", - "kik": "Kikuyu", - "kil": "Kariya", - "kim": "Karagas", - "kin": "Kinyarwanda", - "kio": "Kiowa", - "kip": "Sheshi Kham", - "kiq": "Kosare", - "kir": "Kyrgyz", - "kis": "Kis", - "kit": "Agob", - "kiu": "Kirmanjki", - "kiv": "Kimbu", - "kiw": "Northeast Kiwai", - "kix": "Khiamniungan Naga", - "kiy": "Kirikiri", - "kiz": "Kisi", - "kja": "Mlap", - "kjb": "Q'anjob'al", - "kjc": "Coastal Konjo", - "kjd": "Southern Kiwai", - "kje": "Kisar", - "kjg": "Khmu", - "kjh": "Khakas", - "kji": "Zabana", - "kjj": "Khinalugh", - "kjk": "Highland Konjo", - "kjl": "Western Parbate Kham", - "kjm": "Kháng", - "kjn": "Kunjen", - "kjo": "Harijan Kinnauri", - "kjp": "Pwo Eastern Karen", - "kjq": "Western Keres", - "kjr": "Kurudu", - "kjs": "East Kewa", - "kjt": "Phrae Pwo Karen", - "kju": "Kashaya", - "kjv": "Kaikavian Literary Language", - "kjx": "Ramopa", - "kjy": "Erave", - "kjz": "Bumthangkha", - "kka": "Kakanda", - "kkb": "Kwerisa", - "kkc": "Odoodee", - "kkd": "Kinuku", - "kke": "Kakabe", - "kkf": "Kalaktang Monpa", - "kkg": "Mabaka Valley Kalinga", - "kkh": "Khün", - "kki": "Kagulu", - "kkj": "Kako", - "kkk": "Kokota", - "kkl": "Kosarek Yale", - "kkm": "Kiong", - "kko": "Karko", - "kkp": "Koko-Bera", - "kkq": "Kaeku", - "kkr": "Kir-Balar", - "kks": "Giiwo", - "kkt": "Koi", - "kkv": "Kangean", - "kkw": "Teke-Kukuya", - "kkx": "Kohin", - "kky": "Guugu Yimidhirr", - "kkz": "Kaska", - "kla": "Klamath-Modoc", - "klb": "Kiliwa", - "klc": "Kolbila", - "kld": "Gamilaraay", - "kle": "Kulung (Nepal)", - "klf": "Kendeje", - "klg": "Tagakaulo", - "klh": "Weliki", - "kli": "Kalumpang", - "klj": "Khalaj", - "klk": "Kono (Nigeria)", - "kll": "Kagan Kalagan", - "klm": "Migum", - "kln": "Kalenjin", - "klo": "Kapya", - "klp": "Kamasa", - "klq": "Rumu", - "klr": "Khaling", - "kls": "Kalasha", - "klt": "Nukna", - "klu": "Klao", - "klv": "Maskelynes", - "klw": "Tado", - "klx": "Koluwawa", - "kly": "Kalao", - "klz": "Kabola", - "kma": "Konni", - "kmb": "Kimbundu", - "kmc": "Southern Dong", - "kmd": "Majukayang Kalinga", - "kme": "Bakole", - "kmf": "Kare (Papua New Guinea)", - "kmg": "Kâte", - "kmh": "Kalam", - "kmi": "Kami (Nigeria)", - "kmj": "Kumarbhag Paharia", - "kmk": "Limos Kalinga", - "kml": "Tanudan Kalinga", - "kmm": "Kom (India)", - "kmn": "Awtuw", - "kmo": "Kwoma", - "kmp": "Gimme", - "kmq": "Kwama", - "kmr": "Northern Kurdish", - "kms": "Kamasau", - "kmt": "Kemtuik", - "kmu": "Kanite", - "kmv": "Karipúna Creole French", - "kmw": "Komo (Democratic Republic of Congo)", - "kmx": "Waboda", - "kmy": "Koma", - "kmz": "Khorasani Turkish", - "kna": "Dera (Nigeria)", - "knb": "Lubuagan Kalinga", - "knc": "Central Kanuri", - "knd": "Konda", - "kne": "Kankanaey", - "knf": "Mankanya", - "kng": "Koongo", - "kni": "Kanufi", - "knj": "Western Kanjobal", - "knk": "Kuranko", - "knl": "Keninjal", - "knm": "Kanamarí", - "knn": "Konkani", - "kno": "Kono (Sierra Leone)", - "knp": "Kwanja", - "knq": "Kintaq", - "knr": "Kaningra", - "kns": "Kensiu", - "knt": "Panoan Katukína", - "knu": "Kono (Guinea)", - "knv": "Tabo", - "knw": "Kung-Ekoka", - "knx": "Salako", - "kny": "Kanyok", - "knz": "Kalamsé", - "koa": "Konomala", - "koc": "Kpati", - "kod": "Kodi", - "koe": "Kacipo-Bale Suri", - "kof": "Kubi", - "kog": "Kogi", - "koh": "Koyo", - "koi": "Komi-Permyak", - "kol": "Kol (Papua New Guinea)", - "koo": "Konzo", - "kop": "Waube", - "koq": "Kota (Gabon)", - "kor": "Korean", - "kos": "Kosraean", - "kot": "Lagwan", - "kou": "Koke", - "kov": "Kudu-Camo", - "kow": "Kugama", - "koy": "Koyukon", - "koz": "Korak", - "kpa": "Kutto", - "kpb": "Mullu Kurumba", - "kpc": "Curripaco", - "kpd": "Koba", - "kpf": "Komba", - "kpg": "Kapingamarangi", - "kph": "Kplang", - "kpi": "Kofei", - "kpj": "Karajá", - "kpk": "Kpan", - "kpl": "Kpala", - "kpm": "Koho", - "kpn": "Kepkiriwát", - "kpo": "Ikposo", - "kpq": "Korupun-Sela", - "kpr": "Korafe-Yegha", - "kps": "Tehit", - "kpt": "Karata", - "kpu": "Kafoa", - "kpv": "Komi-Zyrian", - "kpw": "Kobon", - "kpx": "Mountain Koiali", - "kpy": "Koryak", - "kpz": "Kupsabiny", - "kqa": "Mum", - "kqb": "Kovai", - "kqc": "Doromu-Koki", - "kqd": "Koy Sanjaq Surat", - "kqe": "Kalagan", - "kqf": "Kakabai", - "kqg": "Khe", - "kqi": "Koitabu", - "kqj": "Koromira", - "kqk": "Kotafon Gbe", - "kql": "Kyenele", - "kqm": "Khisa", - "kqn": "Kaonde", - "kqo": "Eastern Krahn", - "kqp": "Kimré", - "kqq": "Krenak", - "kqr": "Kimaragang", - "kqs": "Northern Kissi", - "kqt": "Klias River Kadazan", - "kqu": "Seroa", - "kqv": "Okolod", - "kqw": "Kandas", - "kqx": "Mser", - "kqy": "Koorete", - "kqz": "Korana", - "kra": "Kumhali", - "krb": "Karkin", - "krc": "Karachay-Balkar", - "krd": "Kairui-Midiki", - "kre": "Panará", - "krf": "Koro (Vanuatu)", - "krh": "Kurama", - "kri": "Krio", - "krj": "Kinaray-A", - "krk": "Kerek", - "krl": "Karelian", - "krn": "Sapo", - "krp": "Korop", - "krr": "Krung", - "krs": "Gbaya (Sudan)", - "krt": "Tumari Kanuri", - "kru": "Kurukh", - "krv": "Kavet", - "krw": "Western Krahn", - "krx": "Karon", - "kry": "Kryts", - "krz": "Sota Kanum", - "ksb": "Shambala", - "ksc": "Southern Kalinga", - "ksd": "Kuanua", - "kse": "Kuni", - "ksf": "Bafia", - "ksg": "Kusaghe", - "ksh": "Kölsch", - "ksi": "Krisa", - "ksj": "Uare", - "ksk": "Kansa", - "ksl": "Kumalu", - "ksm": "Kumba", - "ksn": "Kasiguranin", - "ksp": "Kaba", - "ksq": "Kwaami", - "ksr": "Borong", - "kss": "Southern Kisi", - "kst": "Winyé", - "ksu": "Khamyang", - "ksv": "Kusu", - "ksw": "S'gaw Karen", - "ksx": "Kedang", - "ksy": "Kharia Thar", - "ksz": "Kodaku", - "kta": "Katua", - "ktb": "Kambaata", - "ktc": "Kholok", - "ktd": "Kukatha", - "kte": "Nubri", - "ktf": "Kwami", - "ktg": "Kalkutung", - "kth": "Karanga", - "kti": "North Muyu", - "ktj": "Plapo Krumen", - "ktk": "Kaniet", - "ktl": "Koroshi", - "ktm": "Kurti", - "ktn": "Karitiâna", - "kto": "Kuot", - "ktp": "Kaduo", - "kts": "South Muyu", - "ktt": "Ketum", - "ktu": "Kituba (Democratic Republic of Congo)", - "ktv": "Eastern Katu", - "ktw": "Kato", - "ktx": "Kaxararí", - "kty": "Kango (Bas-Uélé District)", - "ktz": "Juǀʼhoansi", - "kua": "Kwanyama", - "kub": "Kutep", - "kuc": "Kwinsu", - "kud": "'Auhelawa", - "kue": "Kuman (Papua New Guinea)", - "kuf": "Western Katu", - "kug": "Kupa", - "kuh": "Kushi", - "kui": "Kuikúro-Kalapálo", - "kuj": "Kuria", - "kuk": "Kepo'", - "kul": "Kulere", - "kum": "Kumyk", - "kun": "Kunama", - "kuo": "Kumukio", - "kup": "Kunimaipa", - "kuq": "Karipuna", - "kus": "Kusaal", - "kut": "Kutenai", - "kuu": "Upper Kuskokwim", - "kuv": "Kur", - "kuw": "Kpagua", - "kux": "Kukatja", - "kuy": "Kuuku-Ya'u", - "kuz": "Kunza", - "kva": "Bagvalal", - "kvb": "Kubu", - "kvc": "Kove", - "kvd": "Kui (Indonesia)", - "kve": "Kalabakan", - "kvf": "Kabalai", - "kvg": "Kuni-Boazi", - "kvh": "Komodo", - "kvi": "Kwang", - "kvj": "Psikye", - "kvl": "Kayaw", - "kvm": "Kendem", - "kvn": "Border Kuna", - "kvo": "Dobel", - "kvp": "Kompane", - "kvq": "Geba Karen", - "kvr": "Kerinci", - "kvu": "Yinbaw Karen", - "kvv": "Kola", - "kvw": "Wersing", - "kvx": "Parkari Koli", - "kvy": "Yintale Karen", - "kvz": "Tsaukambo", - "kwa": "Dâw", - "kwb": "Kwa", - "kwc": "Likwala", - "kwd": "Kwaio", - "kwe": "Kwerba", - "kwf": "Kwara'ae", - "kwg": "Sara Kaba Deme", - "kwh": "Kowiai", - "kwi": "Awa-Cuaiquer", - "kwj": "Kwanga", - "kwk": "Kwakiutl", - "kwl": "Kofyar", - "kwm": "Kwambi", - "kwn": "Kwangali", - "kwo": "Kwomtari", - "kwp": "Kodia", - "kwr": "Kwer", - "kws": "Kwese", - "kwt": "Kwesten", - "kwu": "Kwakum", - "kwv": "Sara Kaba Náà", - "kww": "Kwinti", - "kwx": "Khirwar", - "kwy": "San Salvador Kongo", - "kwz": "Kwadi", - "kxa": "Kairiru", - "kxb": "Krobu", - "kxc": "Konso", - "kxd": "Brunei", - "kxf": "Manumanaw Karen", - "kxh": "Karo (Ethiopia)", - "kxi": "Keningau Murut", - "kxj": "Kulfa", - "kxk": "Zayein Karen", - "kxm": "Northern Khmer", - "kxn": "Kanowit-Tanjong Melanau", - "kxo": "Kanoé", - "kxp": "Wadiyara Koli", - "kxq": "Smärky Kanum", - "kxr": "Koro (Papua New Guinea)", - "kxs": "Kangjia", - "kxt": "Koiwat", - "kxv": "Kuvi", - "kxw": "Konai", - "kxx": "Likuba", - "kxy": "Kayong", - "kxz": "Kerewo", - "kya": "Kwaya", - "kyb": "Butbut Kalinga", - "kyc": "Kyaka", - "kyd": "Karey", - "kye": "Krache", - "kyf": "Kouya", - "kyg": "Keyagana", - "kyh": "Karok", - "kyi": "Kiput", - "kyj": "Karao", - "kyk": "Kamayo", - "kyl": "Kalapuya", - "kyn": "Northern Binukidnon", - "kyo": "Kelon", - "kyq": "Kenga", - "kyr": "Kuruáya", - "kys": "Baram Kayan", - "kyt": "Kayagar", - "kyu": "Western Kayah", - "kyw": "Kudmali", - "kyx": "Rapoisi", - "kyy": "Kambaira", - "kyz": "Kayabí", - "kza": "Western Karaboro", - "kzb": "Kaibobo", - "kzc": "Bondoukou Kulango", - "kzd": "Kadai", - "kzf": "Da'a Kaili", - "kzg": "Kikai", - "kzi": "Kelabit", - "kzk": "Kazukuru", - "kzl": "Kayeli", - "kzm": "Kais", - "kzn": "Kokola", - "kzo": "Kaningi", - "kzp": "Kaidipang", - "kzq": "Kaike", - "kzr": "Karang", - "kzs": "Sugut Dusun", - "kzu": "Kayupulau", - "kzv": "Komyandaret", - "kzx": "Kamarian", - "kzy": "Kango (Tshopo District)", - "kzz": "Kalabra", - "laa": "Southern Subanen", - "lac": "Lacandon", - "lad": "Ladino", - "lae": "Pattani", - "laf": "Lafofa", - "lag": "Langi", - "lai": "Lambya", - "laj": "Lango (Uganda)", - "lak": "Laka (Nigeria)", - "lal": "Lalia", - "lam": "Lamba", - "lan": "Laru", - "lao": "Lao", - "lap": "Laka (Chad)", - "laq": "Qabiao", - "lar": "Larteh", - "las": "Lama (Togo)", - "lat": "Latin", - "lav": "Latvian Russian", - "law": "Lauje", - "lax": "Tiwa", - "laz": "Aribwatsa", - "lbb": "Label", - "lbc": "Lakkia", - "lbe": "Lak", - "lbf": "Tinani", - "lbj": "Ladakhi", - "lbk": "Central Bontok", - "lbl": "Libon Bikol", - "lbm": "Lodhi", - "lbn": "Rmeet", - "lbo": "Laven", - "lbq": "Wampar", - "lbr": "Lohorung", - "lbt": "Lachi", - "lbu": "Labu", - "lbv": "Lavatbura-Lamusong", - "lbw": "Tolaki", - "lbx": "Lawangan", - "lby": "Lamu-Lamu", - "lbz": "Lardil", - "lcc": "Legenyem", - "lcd": "Lola", - "lce": "Sekak", - "lcf": "Lubu", - "lch": "Luchazi", - "lcl": "Lisela", - "lcm": "Tungag", - "lcp": "Western Lawa", - "lcq": "Luhu", - "lcs": "Lisabata-Nuniali", - "ldb": "Dũya", - "ldd": "Luri", - "ldg": "Lenyima", - "ldh": "Lamja-Dengsa-Tola", - "ldi": "Laari", - "ldj": "Lemoro", - "ldk": "Leelau", - "ldl": "Kaan", - "ldm": "Landoma", - "ldo": "Loo", - "ldp": "Tso", - "ldq": "Lufu", - "lea": "Lega-Shabunda", - "leb": "Lala-Bisa", - "lec": "Leco", - "led": "Lendu", - "lee": "Lyélé", - "lef": "Lelemi", - "leh": "Lenje", - "lei": "Lemio", - "lej": "Lengola", - "lek": "Leipon", - "lel": "Lele (Democratic Republic of Congo)", - "lem": "Nomaande", - "leo": "Leti (Cameroon)", - "lep": "Lepcha", - "leq": "Lembena", - "ler": "Lenkau", - "les": "Lese", - "let": "Lesing-Gelimi", - "leu": "Kara (Papua New Guinea)", - "lev": "Lamma", - "lew": "Ledo Kaili", - "lex": "Luang", - "ley": "Lemolang", - "lez": "Lezghian", - "lfa": "Lefa", - "lga": "Lungga", - "lgb": "Laghu", - "lgg": "Lugbara", - "lgh": "Laghuu", - "lgi": "Lengilu", - "lgk": "Neverver", - "lgl": "Wala", - "lgm": "Lega-Mwenga", - "lgn": "T'apo", - "lgq": "Logba", - "lgr": "Lengo", - "lgt": "Pahi", - "lgu": "Longgu", - "lgz": "Ligenza", - "lha": "Laha (Viet Nam)", - "lhh": "Laha (Indonesia)", - "lhi": "Lahu Shi", - "lhl": "Lahul Lohar", - "lhm": "Lhomi", - "lhn": "Lahanan", - "lhp": "Lhokpu", - "lhs": "Mlahsö", - "lht": "Lo-Toga", - "lhu": "Lahu", - "lia": "West-Central Limba", - "lib": "Likum", - "lic": "Hlai", - "lid": "Nyindrou", - "lie": "Likila", - "lif": "Limbu", - "lig": "Ligbi", - "lih": "Lihir", - "lij": "Ligurian", - "lik": "Lika", - "lil": "Lillooet", - "lim": "Limburgish", - "lin": "Lingala", - "lio": "Liki", - "lip": "Sekpele", - "liq": "Libido", - "lis": "Lisu", - "lit": "Lithuanian", - "liu": "Logorik", - "liv": "Liv", - "liw": "Col", - "lix": "Liabuku", - "liy": "Banda-Bambari", - "liz": "Libinza", - "lja": "Golpa", - "lje": "Rampi", - "lji": "Laiyolo", - "ljl": "Li'o", - "ljp": "Lampung Api", - "ljw": "Yirandali", - "ljx": "Yuru", - "lka": "Lakalei", - "lkb": "Lukabaras", - "lkc": "Kucong", - "lkd": "Lakondê", - "lke": "Kenyi", - "lkh": "Lakha", - "lki": "Laki", - "lkj": "Remun", - "lkl": "Laeko-Libuat", - "lkm": "Kalaamaya", - "lkn": "Vure", - "lko": "Olukhayo", - "lkr": "Päri", - "lks": "Olushisa", - "lkt": "Lakota", - "lku": "Kungkari", - "lky": "Lokoya", - "lla": "Lala-Roba", - "llb": "Lolo", - "llc": "Lele (Guinea)", - "lld": "Ladin", - "lle": "Lele (Papua New Guinea)", - "llf": "Hermit", - "llg": "Lole", - "llh": "Lamu", - "lli": "Teke-Laali", - "llk": "Lelak", - "lll": "Lilau", - "llm": "Lasalimu", - "lln": "Lele (Chad)", - "llp": "North Efate", - "llq": "Lolak", - "llu": "Lau", - "llx": "Lauan", - "lma": "East Limba", - "lmb": "Merei", - "lmc": "Limilngan", - "lmd": "Lumun", - "lme": "Pévé", - "lmf": "South Lembata", - "lmg": "Lamogai", - "lmi": "Lombi", - "lmj": "West Lembata", - "lmk": "Lamkang", - "lml": "Hano", - "lmn": "Lambadi", - "lmo": "Lombard", - "lmp": "Limbum", - "lmq": "Lamatuka", - "lmr": "Lamalera", - "lmu": "Lamenu", - "lmv": "Lomaiviti", - "lmw": "Lake Miwok", - "lmx": "Laimbue", - "lmy": "Lamboya", - "lna": "Langbashe", - "lnb": "Mbalanhu", - "lnd": "Lundayeh", - "lnh": "Lanoh", - "lni": "Daantanai'", - "lnj": "Leningitij", - "lnl": "South Central Banda", - "lnm": "Langam", - "lnn": "Lorediakarkar", - "lno": "Lango (South Sudan)", - "lns": "Lamnso'", - "lnu": "Longuda", - "lnz": "Lonzo", - "loa": "Loloda", - "lob": "Lobi", - "loc": "Inonhan", - "loe": "Saluan", - "lof": "Logol", - "log": "Logo", - "loh": "Narim", - "loi": "Loma (Côte d'Ivoire)", - "loj": "Lou", - "lok": "Loko", - "lol": "Mongo", - "lom": "Loma (Liberia)", - "lon": "Malawi Lomwe", - "loo": "Lombo", - "lop": "Lopa", - "loq": "Lobala", - "lor": "Téén", - "los": "Loniu", - "lot": "Otuho", - "lou": "Louisiana Creole", - "low": "Tampias Lobu", - "lox": "Loun", - "loy": "Loke", - "loz": "Lozi", - "lpa": "Lelepa", - "lpe": "Lepki", - "lpn": "Long Phuri Naga", - "lpo": "Lipo", - "lpx": "Lopit", - "lra": "Rara Bakati'", - "lrc": "Northern Luri", - "lre": "Laurentian", - "lrg": "Laragia", - "lri": "Olumarachi", - "lrl": "Lari", - "lrm": "Olumarama", - "lrn": "Lorang", - "lro": "Laro", - "lrr": "Southern Yamphu", - "lrt": "Larantuka Malay", - "lrv": "Larevat", - "lrz": "Lemerig", - "lsa": "Lasgerdi", - "lsd": "Lishana Deni", - "lse": "Lusengo", - "lsh": "Lish", - "lsi": "Lashi", - "lsm": "Saamia", - "lsr": "Aruop", - "lss": "Lasi", - "ltc": "Late Middle Chinese", - "lth": "Thur", - "lti": "Leti (Indonesia)", - "ltn": "Latundê", - "lto": "Tsotso", - "lts": "Tachoni", - "ltu": "Latu", - "ltz": "Luxembourgish", - "lua": "Luba-Lulua", - "lub": "Luba-Katanga", - "luc": "Aringa", - "lud": "Ludian", - "lue": "Luvale", - "luf": "Laua", - "lug": "Ganda", - "lui": "Luiseno", - "luj": "Luna", - "luk": "Lunanakha", - "lul": "Olu'bo", - "lum": "Luimbi", - "lun": "Lunda", - "luo": "Luo (Kenya and Tanzania)", - "lup": "Lumbu", - "luq": "Lucumi", - "lur": "Laura", - "lus": "Lushai", - "lut": "Lushootseed", - "luv": "Luwati", - "luw": "Luo (Cameroon)", - "luz": "Southern Luri", - "lva": "Maku'a", - "lvi": "Lavi", - "lvk": "Lavukaleve", - "lvs": "Latvian", - "lvu": "Levuka", - "lwa": "Lwalu", - "lwe": "Lewo Eleng", - "lwg": "Wanga", - "lwh": "White Lachi", - "lwl": "Eastern Lawa", - "lwm": "Laomian", - "lwo": "Luwo", - "lwt": "Lewotobi", - "lwu": "Lawu", - "lww": "Lewo", - "lxm": "Lakurumau", - "lya": "Layakha", - "lyg": "Lyngngam", - "lyn": "Luyana", - "lzh": "Literary Chinese", - "lzl": "Litzlitz", - "lzn": "Leinong Naga", - "lzz": "Laz", - "maa": "San Jerónimo Tecóatl Mazatec", - "mab": "Yutanduchi Mixtec", - "mad": "Madurese", - "mae": "Bo-Rukul", - "maf": "Mafa", - "mag": "Magahi", - "mah": "Marshallese", - "mai": "Maithili", - "maj": "Jalapa De Díaz Mazatec", - "mak": "Makasar", - "mal": "Malayalam", - "mam": "Mam", - "maq": "Chiquihuitlán Mazatec", - "mar": "Marathi", - "mas": "Masai", - "mat": "San Francisco Matlatzinca", - "mau": "Huautla Mazatec", - "mav": "Sateré-Mawé", - "maw": "Mampruli", - "max": "North Moluccan Malay", - "maz": "Central Mazahua", - "mba": "Higaonon", - "mbb": "Western Bukidnon Manobo", - "mbc": "Macushi", - "mbd": "Dibabawon Manobo", - "mbe": "Molale", - "mbf": "Baba Malay", - "mbh": "Mangseng", - "mbi": "Ilianen Manobo", - "mbj": "Nadëb", - "mbk": "Malol", - "mbl": "Maxakalí", - "mbm": "Ombamba", - "mbn": "Macaguán", - "mbo": "Mbo (Cameroon)", - "mbp": "Malayo", - "mbq": "Maisin", - "mbr": "Nukak Makú", - "mbs": "Sarangani Manobo", - "mbt": "Matigsalug Manobo", - "mbu": "Mbula-Bwazza", - "mbv": "Mbulungish", - "mbw": "Maring", - "mbx": "Mari (East Sepik Province)", - "mby": "Memoni", - "mbz": "Amoltepec Mixtec", - "mca": "Maca", - "mcb": "Machiguenga", - "mcc": "Bitur", - "mcd": "Sharanahua", - "mce": "Itundujia Mixtec", - "mcf": "Matsés", - "mcg": "Mapoyo", - "mch": "Maquiritari", - "mci": "Mese", - "mcj": "Mvanip", - "mck": "Mbunda", - "mcl": "Macaguaje", - "mcm": "Malaccan Creole Portuguese", - "mcn": "Masana", - "mco": "Coatlán Mixe", - "mcp": "Makaa", - "mcq": "Ese", - "mcr": "Menya", - "mcs": "Mambai", - "mct": "Mengisa", - "mcu": "Cameroon Mambila", - "mcv": "Minanibai", - "mcw": "Mawa (Chad)", - "mcx": "Mpiemo", - "mcy": "South Watut", - "mcz": "Mawan", - "mda": "Mada (Nigeria)", - "mdb": "Morigi", - "mdc": "Male (Papua New Guinea)", - "mdd": "Mbum", - "mde": "Maba (Chad)", - "mdf": "Moksha", - "mdg": "Massalat", - "mdh": "Maguindanaon", - "mdi": "Mamvu", - "mdj": "Mangbetu", - "mdk": "Mangbutu", - "mdm": "Mayogo", - "mdn": "Mbati", - "mdp": "Mbala", - "mdq": "Mbole", - "mdr": "Mandar", - "mds": "Maria (Papua New Guinea)", - "mdt": "Mbere", - "mdu": "Mboko", - "mdv": "Santa Lucía Monteverde Mixtec", - "mdw": "Mbosi", - "mdx": "Dizin", - "mdy": "Male (Ethiopia)", - "mdz": "Suruí Do Pará", - "mea": "Menka", - "meb": "Ikobi", - "mec": "Marra", - "med": "Melpa", - "mee": "Mengen", - "mef": "Megam", - "meh": "Southwestern Tlaxiaco Mixtec", - "mei": "Midob", - "mej": "Meyah", - "mek": "Mekeo", - "mel": "Central Melanau", - "mem": "Mangala", - "men": "Mende (Sierra Leone)", - "meo": "Kedah Malay", - "mep": "Miriwoong", - "meq": "Merey", - "mer": "Meru", - "mes": "Masmaje", - "met": "Mato", - "meu": "Motu", - "mev": "Mano", - "mew": "Maaka", - "mey": "Hassaniyya", - "mez": "Menominee", - "mfa": "Pattani Malay", - "mfb": "Bangka", - "mfc": "Mba", - "mfd": "Mendankwe-Nkwen", - "mfe": "Morisyen", - "mff": "Naki", - "mfg": "Mogofin", - "mfh": "Matal", - "mfi": "Wandala", - "mfj": "Mefele", - "mfk": "North Mofu", - "mfl": "Putai", - "mfm": "Marghi South", - "mfn": "Cross River Mbembe", - "mfo": "Mbe", - "mfp": "Makassar Malay", - "mfq": "Moba", - "mfr": "Marrithiyel", - "mft": "Mokerang", - "mfu": "Mbwela", - "mfv": "Mandjak", - "mfw": "Mulaha", - "mfx": "Melo", - "mfy": "Mayo", - "mfz": "Mabaan", - "mgb": "Mararit", - "mgc": "Morokodo", - "mgd": "Moru", - "mge": "Mango", - "mgf": "Maklew", - "mgg": "Mpumpong", - "mgh": "Makhuwa-Meetto", - "mgi": "Lijili", - "mgj": "Abureni", - "mgk": "Mawes", - "mgl": "Maleu-Kilenge", - "mgm": "Mambae", - "mgn": "Mbangi", - "mgo": "Meta'", - "mgp": "Eastern Magar", - "mgq": "Malila", - "mgr": "Mambwe-Lungu", - "mgs": "Manda (Tanzania)", - "mgt": "Mongol", - "mgu": "Mailu", - "mgv": "Matengo", - "mgw": "Matumbi", - "mgy": "Mbunga", - "mgz": "Mbugwe", - "mha": "Manda (India)", - "mhb": "Mahongwe", - "mhc": "Mocho", - "mhd": "Mbugu", - "mhe": "Mah Meri", - "mhf": "Mamaa", - "mhg": "Margu", - "mhi": "Ma'di", - "mhj": "Mogholi", - "mhk": "Mungaka", - "mhl": "Mauwake", - "mhm": "Makhuwa-Moniga", - "mhn": "Mócheno", - "mho": "Mashi (Zambia)", - "mhp": "Balinese Malay", - "mhq": "Mandan", - "mhr": "Eastern Mari", - "mhs": "Buru (Indonesia)", - "mht": "Mandahuaca", - "mhu": "Digaro-Mishmi", - "mhw": "Mbukushu", - "mhx": "Maru", - "mhy": "Ma'anyan", - "mhz": "Mor (Mor Islands)", - "mia": "Miami", - "mib": "Atatláhuca Mixtec", - "mic": "Mi'kmaq", - "mid": "Mandaic", - "mie": "Ocotepec Mixtec", - "mif": "Mofu-Gudur", - "mig": "San Miguel El Grande Mixtec", - "mih": "Chayuco Mixtec", - "mii": "Chigmecatitlán Mixtec", - "mij": "Mungbam", - "mik": "Mikasuki", - "mil": "Peñoles Mixtec", - "mim": "Alacatlatzala Mixtec", - "min": "Minangkabau", - "mio": "Pinotepa Nacional Mixtec", - "mip": "Apasco-Apoala Mixtec", - "miq": "Mískito", - "mir": "Isthmus Mixe", - "mit": "Southern Puebla Mixtec", - "miu": "Cacaloxtepec Mixtec", - "miw": "Akoye", - "mix": "Mixtepec Mixtec", - "miy": "Ayutla Mixtec", - "miz": "Coatzospan Mixtec", - "mjc": "San Juan Colorado Mixtec", - "mjd": "Northwest Maidu", - "mje": "Muskum", - "mjg": "Tu", - "mjh": "Mwera (Nyasa)", - "mji": "Kim Mun", - "mjj": "Mawak", - "mjk": "Matukar", - "mjl": "Mandeali", - "mjm": "Medebur", - "mjn": "Ma (Papua New Guinea)", - "mjo": "Malankuravan", - "mjp": "Malapandaram", - "mjq": "Malaryan", - "mjr": "Malavedan", - "mjs": "Miship", - "mjt": "Sauria Paharia", - "mju": "Manna-Dora", - "mjv": "Mannan", - "mjw": "Karbi", - "mjx": "Mahali", - "mjy": "Mahican", - "mjz": "Majhi", - "mka": "Mbre", - "mkb": "Mal Paharia", - "mkc": "Siliput", - "mkd": "Macedonian", - "mke": "Mawchi", - "mkf": "Miya", - "mkg": "Mak (China)", - "mki": "Dhatki", - "mkj": "Mokilese", - "mkk": "Byep", - "mkl": "Mokole", - "mkm": "Moklen", - "mkn": "Kupang Malay", - "mko": "Mingang Doso", - "mkp": "Moikodi", - "mkq": "Bay Miwok", - "mkr": "Malas", - "mks": "Silacayoapan Mixtec", - "mkt": "Vamale", - "mku": "Konyanka Maninka", - "mkv": "Mafea", - "mkw": "Kituba (Congo)", - "mkx": "Kinamiging Manobo", - "mky": "East Makian", - "mkz": "Makasae", - "mla": "Malo", - "mlb": "Mbule", - "mlc": "Cao Lan", - "mle": "Manambu", - "mlf": "Mal", - "mlh": "Mape", - "mli": "Malimpung", - "mlj": "Miltu", - "mlk": "Kiwilwana", - "mll": "Malua Bay", - "mlm": "Mulam", - "mln": "Malango", - "mlo": "Mlomp", - "mlp": "Bargam", - "mlq": "Western Maninkakan", - "mlr": "Vame", - "mls": "Masalit", - "mlt": "Maltese", - "mlu": "To'abaita", - "mlv": "Mwotlap", - "mlw": "Moloko", - "mlx": "Naha'ai", - "mlz": "Malaynon", - "mma": "Mama", - "mmb": "Momina", - "mmc": "Michoacán Mazahua", - "mmd": "Maonan", - "mme": "Mae", - "mmf": "Mundat", - "mmg": "North Ambrym", - "mmh": "Mehináku", - "mmi": "Musar", - "mmj": "Majhwar", - "mmk": "Mukha-Dora", - "mml": "Man Met", - "mmm": "Maii", - "mmn": "Mamanwa", - "mmo": "Mangga Buang", - "mmp": "Siawi", - "mmq": "Musak", - "mmr": "Western Xiangxi Miao", - "mmt": "Malalamai", - "mmu": "Mmaala", - "mmv": "Miriti", - "mmw": "Emae", - "mmx": "Madak", - "mmy": "Migaama", - "mmz": "Mabaale", - "mna": "Mbula", - "mnb": "Muna", - "mnc": "Manchu", - "mnd": "Mondé", - "mne": "Naba", - "mnf": "Mundani", - "mng": "Eastern Mnong", - "mnh": "Mono (Democratic Republic of Congo)", - "mni": "Manipuri", - "mnj": "Munji", - "mnk": "Mandinka", - "mnl": "Tiale", - "mnm": "Mapena", - "mnn": "Southern Mnong", - "mnp": "Min Bei Chinese", - "mnq": "Minriq", - "mnr": "Mono (USA)", - "mns": "Mansi", - "mnu": "Mer", - "mnv": "Rennell-Bellona", - "mnw": "Mon", - "mnx": "Manikion", - "mny": "Manyawa", - "mnz": "Moni", - "moa": "Mwan", - "moc": "Mocoví", - "moe": "Montagnais", - "mog": "Mongondow", - "moh": "Mohawk", - "moi": "Mboi", - "moj": "Monzombo", - "mok": "Morori", - "mom": "Mangue", - "moo": "Monom", - "mop": "Mopán Maya", - "moq": "Mor (Bomberai Peninsula)", - "mor": "Moro", - "mos": "Mossi", - "mot": "Barí", - "mou": "Mogum", - "mov": "Mohave", - "mow": "Moi (Congo)", - "mox": "Molima", - "moy": "Shekkacho", - "moz": "Mukulu", - "mpa": "Mpoto", - "mpb": "Mullukmulluk", - "mpc": "Mangarrayi", - "mpd": "Machinere", - "mpe": "Majang", - "mpg": "Marba", - "mph": "Maung", - "mpi": "Mpade", - "mpj": "Wangkajunga", - "mpk": "Mbara (Chad)", - "mpl": "Middle Watut", - "mpm": "Yosondúa Mixtec", - "mpn": "Mindiri", - "mpo": "Miu", - "mpp": "Migabac", - "mpq": "Matís", - "mpr": "Vangunu", - "mps": "Dadibi", - "mpt": "Mian", - "mpu": "Makuráp", - "mpv": "Mungkip", - "mpw": "Mapidian", - "mpx": "Misima-Panaeati", - "mpy": "Mapia", - "mpz": "Mpi", - "mqa": "Maba (Indonesia)", - "mqb": "Mbuko", - "mqc": "Mangole", - "mqe": "Matepi", - "mqf": "Momuna", - "mqg": "Kota Bangun Kutai Malay", - "mqh": "Tlazoyaltepec Mixtec", - "mqi": "Mariri", - "mqj": "Mamasa", - "mqk": "Rajah Kabunsuwan Manobo", - "mql": "Mbelime", - "mqm": "South Marquesan", - "mqn": "Moronene", - "mqo": "Modole", - "mqp": "Manipa", - "mqq": "Minokok", - "mqr": "Mander", - "mqs": "West Makian", - "mqt": "Mok", - "mqu": "Mandari", - "mqv": "Mosimo", - "mqw": "Murupi", - "mqx": "Mamuju", - "mqy": "Manggarai", - "mqz": "Pano", - "mra": "Mlabri", - "mrb": "Marino", - "mrc": "Maricopa", - "mrd": "Western Magar", - "mrf": "Elseng", - "mrg": "Mising", - "mrh": "Mara Chin", - "mri": "Māori", - "mrj": "Western Mari", - "mrk": "Hmwaveke", - "mrl": "Mortlockese", - "mrm": "Mwerlap", - "mrn": "Cheke Holo", - "mro": "Mru", - "mrp": "Morouas", - "mrq": "North Marquesan", - "mrr": "Maria (India)", - "mrs": "Maragus", - "mrt": "Marghi Central", - "mru": "Mono (Cameroon)", - "mrv": "Mangareva", - "mrw": "Maranao", - "mrx": "Maremgi", - "mry": "Mandaya", - "mrz": "Marind", - "msb": "Masbatenyo", - "msc": "Sankaran Maninka", - "mse": "Musey", - "msf": "Mekwei", - "msg": "Moraid", - "msh": "Masikoro Malagasy", - "msi": "Sabah Malay", - "msj": "Ma (Democratic Republic of Congo)", - "msk": "Mansaka", - "msl": "Poule", - "msm": "Agusan Manobo", - "msn": "Vurës", - "mso": "Mombum", - "msp": "Maritsauá", - "msq": "Caac", - "mss": "West Masela", - "msu": "Musom", - "msv": "Maslam", - "msw": "Mansoanka", - "msx": "Moresada", - "msy": "Aruamu", - "msz": "Momare", - "mta": "Cotabato Manobo", - "mtb": "Anyin Morofo", - "mtc": "Munit", - "mtd": "Mualang", - "mte": "Mono (Solomon Islands)", - "mtf": "Murik (Papua New Guinea)", - "mtg": "Una", - "mth": "Munggui", - "mti": "Maiwa (Papua New Guinea)", - "mtj": "Moskona", - "mtk": "Mbe'", - "mtl": "Montol", - "mtm": "Mator", - "mtn": "Matagalpa", - "mto": "Totontepec Mixe", - "mtp": "Wichí Lhamtés Nocten", - "mtq": "Muong", - "mtr": "Mewari", - "mts": "Yora", - "mtt": "Mota", - "mtu": "Tututepec Mixtec", - "mtv": "Asaro'o", - "mtw": "Southern Binukidnon", - "mtx": "Tidaá Mixtec", - "mty": "Nabi", - "mua": "Mundang", - "mub": "Mubi", - "muc": "Ajumbu", - "mud": "Mednyj Aleut", - "mug": "Musgu", - "muh": "Mündü", - "mui": "Musi", - "muj": "Mabire", - "muk": "Mugom", - "mum": "Maiwala", - "muo": "Nyong", - "mup": "Malvi", - "muq": "Eastern Xiangxi Miao", - "mur": "Murle", - "mus": "Creek", - "mut": "Western Muria", - "muu": "Yaaku", - "muv": "Muthuvan", - "mux": "Bo-Ung", - "muy": "Muyang", - "muz": "Mursi", - "mva": "Manam", - "mvb": "Mattole", - "mvd": "Mamboru", - "mve": "Marwari (Pakistan)", - "mvf": "Peripheral Mongolian", - "mvg": "Yucuañe Mixtec", - "mvh": "Mulgi", - "mvi": "Miyako", - "mvk": "Mekmek", - "mvl": "Mbara (Australia)", - "mvn": "Minaveha", - "mvo": "Marovo", - "mvp": "Duri", - "mvq": "Moere", - "mvr": "Marau", - "mvs": "Massep", - "mvt": "Mpotovoro", - "mvu": "Marfa", - "mvv": "Tagal Murut", - "mvw": "Machinga", - "mvx": "Meoswar", - "mvy": "Indus Kohistani", - "mvz": "Mesqan", - "mwa": "Mwatebu", - "mwb": "Juwal", - "mwc": "Are", - "mwe": "Mwera (Chimwera)", - "mwf": "Murrinh-Patha", - "mwg": "Aiklep", - "mwh": "Mouk-Aria", - "mwi": "Ninde", - "mwk": "Kita Maninkakan", - "mwl": "Mirandese", - "mwm": "Sar", - "mwn": "Nyamwanga", - "mwo": "Central Maewo", - "mwp": "Kala Lagaw Ya", - "mwq": "Mün Chin", - "mws": "Mwimbi-Muthambi", - "mwt": "Moken", - "mwu": "Mittu", - "mwv": "Mentawai", - "mww": "Hmong Daw", - "mwz": "Moingi", - "mxa": "Northwest Oaxaca Mixtec", - "mxb": "Tezoatlán Mixtec", - "mxc": "Manyika", - "mxd": "Modang", - "mxe": "Mele-Fila", - "mxf": "Malgbe", - "mxg": "Mbangala", - "mxh": "Mvuba", - "mxi": "Mozarabic", - "mxj": "Miju-Mishmi", - "mxk": "Monumbo", - "mxl": "Maxi Gbe", - "mxm": "Meramera", - "mxn": "Moi (Indonesia)", - "mxo": "Mbowe", - "mxp": "Tlahuitoltepec Mixe", - "mxq": "Juquila Mixe", - "mxr": "Murik (Malaysia)", - "mxs": "Huitepec Mixtec", - "mxt": "Jamiltepec Mixtec", - "mxu": "Mada (Cameroon)", - "mxv": "Metlatónoc Mixtec", - "mxw": "Namo", - "mxx": "Mawukakan", - "mxy": "Southeastern Nochixtlán Mixtec", - "mxz": "Central Masela", - "mya": "Burmese", - "myb": "Mbay", - "myc": "Mayeka", - "mye": "Myene", - "myf": "Bambassi", - "myg": "Manta", - "myh": "Makah", - "myj": "Mangayat", - "myk": "Mamara Senoufo", - "myl": "Moma", - "mym": "Me'en", - "myo": "Anfillo", - "myp": "Pirahã", - "myr": "Muniche", - "mys": "Mesmes", - "myu": "Mundurukú", - "myv": "Erzya", - "myw": "Muyuw", - "myx": "Masaaba", - "myy": "Macuna", - "myz": "Classical Mandaic", - "mza": "Santa María Zacatepec Mixtec", - "mzb": "Tumzabt", - "mzd": "Malimba", - "mze": "Morawa", - "mzh": "Wichí Lhamtés Güisnay", - "mzi": "Ixcatlán Mazatec", - "mzj": "Manya", - "mzk": "Nigeria Mambila", - "mzl": "Mazatlán Mixe", - "mzm": "Mumuye", - "mzn": "Mazanderani", - "mzo": "Matipuhy", - "mzp": "Movima", - "mzq": "Mori Atas", - "mzr": "Marúbo", - "mzs": "Macanese", - "mzt": "Mintil", - "mzu": "Inapang", - "mzv": "Manza", - "mzw": "Deg", - "mzz": "Maiadomu", - "naa": "Namla", - "nab": "Southern Nambikuára", - "nac": "Narak", - "nae": "Naka'ela", - "naf": "Nabak", - "nag": "Naga Pidgin", - "naj": "Nalu", - "nak": "Nakanai", - "nal": "Nalik", - "nam": "Ngan'gityemerri", - "nan": "Min Nan Chinese", - "nao": "Naaba", - "nap": "Neapolitan", - "naq": "Nama (Namibia)", - "nar": "Iguta", - "nas": "Naasioi", - "nat": "Hungworo", - "nau": "Nauru", - "nav": "Navajo", - "naw": "Nawuri", - "nax": "Nakwi", - "nay": "Ngarrindjeri", - "naz": "Coatepec Nahuatl", - "nba": "Nyemba", - "nbb": "Ndoe", - "nbc": "Chang Naga", - "nbd": "Ngbinda", - "nbe": "Konyak Naga", - "nbh": "Ngamo", - "nbi": "Mao Naga", - "nbj": "Ngarinyman", - "nbk": "Nake", - "nbm": "Ngbaka Ma'bo", - "nbn": "Kuri", - "nbo": "Nkukoli", - "nbp": "Nnam", - "nbq": "Nggem", - "nbr": "Numana", - "nbt": "Na", - "nbu": "Rongmei Naga", - "nbv": "Ngamambo", - "nbw": "Southern Ngbandi", - "nby": "Ningera", - "nca": "Iyo", - "ncb": "Central Nicobarese", - "ncc": "Ponam", - "ncd": "Nachering", - "nce": "Yale", - "ncf": "Notsi", - "ncg": "Nisga'a", - "nch": "Central Huasteca Nahuatl", - "nci": "Nahuatl", - "ncj": "Northern Puebla Nahuatl", - "nck": "Na-kara", - "ncl": "Michoacán Nahuatl", - "ncm": "Nambo", - "ncn": "Nauna", - "nco": "Sibe", - "ncq": "Northern Katang", - "ncr": "Ncane", - "nct": "Chothe Naga", - "ncu": "Chumburung", - "ncx": "Central Puebla Nahuatl", - "ncz": "Natchez", - "nda": "Ndasa", - "ndb": "Kenswei Nsei", - "ndc": "Ndau", - "ndd": "Nde-Nsele-Nta", - "nde": "North Ndebele", - "ndg": "Ndengereko", - "ndh": "Ndali", - "ndi": "Samba Leko", - "ndj": "Ndamba", - "ndk": "Ndaka", - "ndl": "Ndolo", - "ndm": "Ndam", - "ndn": "Ngundi", - "ndo": "Ndonga", - "ndp": "Ndo", - "ndq": "Ndombe", - "ndr": "Ndoola", - "nds": "Low Saxon", - "ndt": "Ndunga", - "ndu": "Dugun", - "ndv": "Ndut", - "ndw": "Ndobo", - "ndx": "Nduga", - "ndy": "Lutos", - "ndz": "Ndogo", - "nea": "Eastern Ngad'a", - "neb": "Toura (Côte d'Ivoire)", - "nec": "Nedebang", - "nee": "Nêlêmwa-Nixumwak", - "neg": "Negidal", - "neh": "Nyenkha", - "nej": "Neko", - "nek": "Neku", - "nem": "Nemi", - "nen": "Nengone", - "nep": "Nepali (macrolanguage)", - "neq": "North Central Mixe", - "ner": "Yahadian", - "nes": "Bhoti Kinnauri", - "net": "Nete", - "nev": "Nyaheun", - "new": "Newari", - "nex": "Neme", - "ney": "Neyo", - "nez": "Nez Perce", - "nfa": "Dhao", - "nfd": "Ahwai", - "nfl": "Ayiwo", - "nfr": "Nafaanra", - "nfu": "Mfumte", - "nga": "Ngbaka", - "ngb": "Northern Ngbandi", - "ngc": "Ngombe (Democratic Republic of Congo)", - "ngd": "Ngando (Central African Republic)", - "nge": "Ngemba", - "ngg": "Ngbaka Manza", - "ngh": "Nǁng", - "ngi": "Ngizim", - "ngj": "Ngie", - "ngk": "Dalabon", - "ngl": "Lomwe", - "ngn": "Ngwo", - "ngp": "Ngulu", - "ngq": "Ngurimi", - "ngr": "Engdewu", - "ngs": "Gvoko", - "ngt": "Ngeq", - "ngu": "Guerrero Nahuatl", - "ngv": "Nagumi", - "ngw": "Ngwaba", - "ngx": "Nggwahyi", - "ngy": "Tibea", - "ngz": "Ngungwel", - "nha": "Nhanda", - "nhb": "Beng", - "nhc": "Tabasco Nahuatl", - "nhd": "Chiripá", - "nhe": "Eastern Huasteca Nahuatl", - "nhf": "Nhuwala", - "nhg": "Tetelcingo Nahuatl", - "nhh": "Nahari", - "nhi": "Zacatlán-Ahuacatlán-Tepetzintla Nahuatl", - "nhk": "Isthmus-Cosoleacaque Nahuatl", - "nhm": "Morelos Nahuatl", - "nhn": "Central Nahuatl", - "nho": "Takuu", - "nhp": "Isthmus-Pajapan Nahuatl", - "nhq": "Huaxcaleca Nahuatl", - "nhr": "Naro", - "nht": "Ometepec Nahuatl", - "nhu": "Noone", - "nhv": "Temascaltepec Nahuatl", - "nhw": "Western Huasteca Nahuatl", - "nhx": "Isthmus-Mecayapan Nahuatl", - "nhy": "Northern Oaxaca Nahuatl", - "nhz": "Santa María La Alta Nahuatl", - "nia": "Nias", - "nib": "Nakame", - "nid": "Ngandi", - "nie": "Niellim", - "nif": "Nek", - "nig": "Ngalakgan", - "nih": "Nyiha (Tanzania)", - "nii": "Nii", - "nij": "Ngaju", - "nik": "Southern Nicobarese", - "nil": "Nila", - "nim": "Nilamba", - "nin": "Ninzo", - "nio": "Nganasan", - "niq": "Nandi", - "nir": "Nimboran", - "nis": "Nimi", - "nit": "Southeastern Kolami", - "niu": "Niuean", - "niv": "Gilyak", - "niw": "Nimo", - "nix": "Hema", - "niy": "Ngiti", - "niz": "Ningil", - "nja": "Nzanyi", - "njb": "Nocte Naga", - "njh": "Lotha Naga", - "nji": "Gudanji", - "njj": "Njen", - "njl": "Njalgulgule", - "njm": "Angami Naga", - "njn": "Liangmai Naga", - "njo": "Ao Naga", - "njr": "Njerep", - "njs": "Nisa", - "nju": "Ngadjunmaya", - "njx": "Kunyi", - "njy": "Njyem", - "njz": "Nyishi", - "nka": "Nkoya", - "nkb": "Khoibu Naga", - "nkc": "Nkongho", - "nkd": "Koireng", - "nke": "Duke", - "nkg": "Nekgini", - "nkh": "Khezha Naga", - "nki": "Thangal Naga", - "nkj": "Nakai", - "nkk": "Nokuku", - "nkm": "Namat", - "nkn": "Nkangala", - "nko": "Nkonya", - "nkp": "Niuatoputapu", - "nkq": "Nkami", - "nkr": "Nukuoro", - "nks": "North Asmat", - "nkt": "Nyika (Tanzania)", - "nku": "Bouna Kulango", - "nkv": "Nyika (Malawi and Zambia)", - "nkw": "Nkutu", - "nkx": "Nkoroo", - "nkz": "Nkari", - "nla": "Ngombale", - "nlc": "Nalca", - "nld": "Dutch", - "nle": "East Nyala", - "nlg": "Gela", - "nli": "Grangali", - "nlj": "Nyali", - "nlk": "Ninia Yali", - "nll": "Nihali", - "nlm": "Mankiyali", - "nlo": "Ngul", - "nlu": "Nchumbulu", - "nlv": "Orizaba Nahuatl", - "nlx": "Nahali", - "nly": "Nyamal", - "nlz": "Nalögo", - "nma": "Maram Naga", - "nmb": "V'ënen Taut", - "nmc": "Ngam", - "nmd": "Ndumu", - "nme": "Mzieme Naga", - "nmf": "Tangkhul Naga (India)", - "nmg": "Kwasio", - "nmh": "Monsang Naga", - "nmi": "Nyam", - "nmk": "Namakura", - "nml": "Ndemli", - "nmm": "Manangba", - "nmn": "ǃXóõ", - "nmo": "Moyon Naga", - "nmp": "Nimanbur", - "nmq": "Nambya", - "nmr": "Nimbari", - "nms": "Letemboi", - "nmt": "Namonuito", - "nmu": "Northeast Maidu", - "nmv": "Ngamini", - "nmw": "Rifao", - "nmx": "Nama (Papua New Guinea)", - "nmy": "Namuyi", - "nmz": "Nawdm", - "nna": "Nyangumarta", - "nnb": "Nande", - "nnc": "Nancere", - "nnd": "West Ambae", - "nne": "Ngandyera", - "nnf": "Ngaing", - "nng": "Maring Naga", - "nnh": "Ngiemboon", - "nni": "North Nuaulu", - "nnj": "Nyangatom", - "nnk": "Nankina", - "nnl": "Northern Rengma Naga", - "nnm": "Namia", - "nnn": "Ngete", - "nnp": "Wancho Naga", - "nnq": "Ngindo", - "nnr": "Narungga", - "nnt": "Nanticoke", - "nnu": "Dwang", - "nnv": "Nugunu (Australia)", - "nnw": "Southern Nuni", - "nny": "Nyangga", - "nnz": "Nda'nda'", - "noa": "Woun Meu", - "nob": "Norwegian Bokmål", - "noc": "Nuk", - "nod": "Northern Thai", - "noe": "Nimadi", - "nof": "Nomane", - "nog": "Nogai", - "noh": "Nomu", - "noi": "Noiri", - "noj": "Nonuya", - "nok": "Nooksack", - "non": "Old Norse", - "nop": "Numanggang", - "noq": "Ngongo", - "nor": "Norwegian", - "nos": "Eastern Nisu", - "not": "Nomatsiguenga", - "nou": "Ewage-Notu", - "now": "Nyambo", - "noy": "Noy", - "noz": "Nayi", - "npa": "Nar Phu", - "nph": "Phom Naga", - "npi": "Nepali", - "npl": "Southeastern Puebla Nahuatl", - "npn": "Mondropolon", - "npo": "Pochuri Naga", - "nps": "Nipsan", - "npy": "Napu", - "nqg": "Southern Nago", - "nqk": "Kura Ede Nago", - "nql": "Ngendelengo", - "nqm": "Ndom", - "nqn": "Nen", - "nqt": "Nteng", - "nra": "Ngom", - "nrb": "Nara", - "nrc": "Noric", - "nre": "Southern Rengma Naga", - "nrf": "Jèrriais", - "nrg": "Narango", - "nri": "Chokri Naga", - "nrk": "Ngarla", - "nrl": "Ngarluma", - "nrm": "Narom", - "nrt": "Northern Kalapuya", - "nru": "Narua", - "nrz": "Lala", - "nsa": "Sangtam Naga", - "nsb": "Lower Nossob", - "nsd": "Southern Nisu", - "nse": "Nsenga", - "nsf": "Northwestern Nisu", - "nsg": "Ngasa", - "nsh": "Ngoshie", - "nsk": "Naskapi", - "nsm": "Sumi Naga", - "nsn": "Nehan", - "nso": "Sepedi", - "nsq": "Northern Sierra Miwok", - "nss": "Nali", - "nst": "Tase Naga", - "nsu": "Sierra Negra Nahuatl", - "nsw": "Navut", - "nsx": "Nsongo", - "nsy": "Nasal", - "nsz": "Nisenan", - "ntd": "Northern Tidung", - "nte": "Nathembo", - "nti": "Natioro", - "ntj": "Ngaanyatjarra", - "ntk": "Ikoma-Nata-Isenye", - "ntm": "Nateni", - "nto": "Ntomba", - "ntp": "Northern Tepehuan", - "ntr": "Delo", - "ntu": "Natügu", - "ntw": "Nottoway", - "nty": "Mantsi", - "ntz": "Natanzi", - "nua": "Yuanga", - "nuc": "Nukuini", - "nud": "Ngala", - "nue": "Ngundu", - "nuf": "Nusu", - "nug": "Nungali", - "nuh": "Ndunda", - "nui": "Ngumbi", - "nuj": "Nyole", - "nuk": "Nuu-chah-nulth", - "nul": "Nusa Laut", - "num": "Niuafo'ou", - "nun": "Anong", - "nuo": "Nguôn", - "nup": "Nupe-Nupe-Tako", - "nuq": "Nukumanu", - "nur": "Nukuria", - "nus": "Nuer", - "nut": "Nung (Viet Nam)", - "nuu": "Ngbundu", - "nuv": "Northern Nuni", - "nuw": "Nguluwan", - "nux": "Mehek", - "nuy": "Nunggubuyu", - "nuz": "Tlamacazapa Nahuatl", - "nvh": "Nasarian", - "nvm": "Namiae", - "nvo": "Nyokon", - "nwa": "Nawathinehena", - "nwb": "Nyabwa", - "nwe": "Ngwe", - "nwi": "Southwest Tanna", - "nwm": "Nyamusa-Molo", - "nwo": "Nauo", - "nwr": "Nawaru", - "nxa": "Nauete", - "nxd": "Ngando (Democratic Republic of Congo)", - "nxe": "Nage", - "nxg": "Ngad'a", - "nxi": "Nindi", - "nxl": "South Nuaulu", - "nxn": "Ngawun", - "nxo": "Ndambomo", - "nxq": "Naxi", - "nxr": "Ninggerum", - "nxx": "Nafri", - "nya": "Nyanja", - "nyb": "Nyangbo", - "nyc": "Nyanga-li", - "nyd": "Olunyole", - "nye": "Nyengo", - "nyf": "Kigiryama", - "nyg": "Nyindu", - "nyh": "Nyikina", - "nyi": "Ama (Sudan)", - "nyj": "Nyanga", - "nyk": "Nyaneka", - "nyl": "Nyeu", - "nym": "Nyamwezi", - "nyn": "Nyankole", - "nyo": "Nyoro", - "nyp": "Nyang'i", - "nyq": "Nayini", - "nyr": "Nyiha (Malawi)", - "nys": "Nyungar", - "nyt": "Nyawaygi", - "nyu": "Nyungwe", - "nyv": "Nyulnyul", - "nyw": "Nyaw", - "nyx": "Nganyaywana", - "nyy": "Nyakyusa-Ngonde", - "nza": "Tigon Mbembe", - "nzb": "Njebi", - "nzd": "Nzadi", - "nzi": "Nzima", - "nzk": "Nzakara", - "nzm": "Zeme Naga", - "nzu": "Teke-Nzikou", - "nzy": "Nzakambay", - "nzz": "Nanga Dama Dogon", - "oaa": "Orok", - "oac": "Oroch", - "oar": "Old Aramaic (up to 700 BCE)", - "obi": "Obispeño", - "obl": "Oblo", - "obo": "Obo Manobo", - "obr": "Old Burmese", - "obu": "Obulom", - "oca": "Ocaina", - "och": "Old Chinese", - "oci": "Occitan (post 1500)", - "ocu": "Atzingo Matlatzinca", - "odk": "Od", - "odt": "Old Dutch", - "odu": "Odual", - "ofo": "Ofo", - "ofs": "Old Frisian", - "ofu": "Efutop", - "ogb": "Ogbia", - "ogc": "Ogbah", - "oge": "Old Georgian", - "ogg": "Ogbogolo", - "ogo": "Khana", - "ogu": "Ogbronuagum", - "oia": "Oirata", - "oin": "Inebu One", - "ojb": "Northwestern Ojibwa", - "ojc": "Central Ojibwa", - "ojg": "Eastern Ojibwa", - "ojp": "Old Japanese", - "ojs": "Severn Ojibwa", - "ojv": "Ontong Java", - "ojw": "Western Ojibwa", - "oka": "Okanagan", - "okb": "Okobo", - "okd": "Okodia", - "oke": "Okpe (Southwestern Edo)", - "okh": "Koresh-e Rostam", - "oki": "Okiek", - "okj": "Oko-Juwoi", - "okk": "Kwamtim One", - "okn": "Oki-No-Erabu", - "okr": "Kirike", - "oks": "Oko-Eni-Osayen", - "oku": "Oku", - "okv": "Orokaiva", - "okx": "Okpe (Northwestern Edo)", - "ola": "Walungge", - "old": "Mochi", - "ole": "Olekha", - "olm": "Oloma", - "olo": "Livvi", - "olr": "Olrat", - "olu": "Kuvale", - "oma": "Omaha-Ponca", - "omb": "East Ambae", - "omc": "Mochica", - "omg": "Omagua", - "omi": "Omi", - "omk": "Omok", - "oml": "Ombo", - "omo": "Utarmbung", - "omr": "Old Marathi", - "omt": "Omotik", - "omu": "Omurano", - "omw": "South Tairora", - "omx": "Old Mon", - "ona": "Ona", - "onb": "Lingao", - "one": "Oneida", - "ong": "Olo", - "oni": "Onin", - "onj": "Onjob", - "onk": "Kabore One", - "onn": "Onobasulu", - "ono": "Onondaga", - "onp": "Sartang", - "onr": "Northern One", - "ons": "Ono", - "onu": "Unua", - "onw": "Old Nubian", - "ood": "Tohono O'odham", - "oog": "Ong", - "oon": "Önge", - "oor": "Oorlams", - "oos": "Old Ossetic", - "opa": "Okpamheri", - "opk": "Kopkaka", - "opm": "Oksapmin", - "opo": "Opao", - "opt": "Opata", - "opy": "Ofayé", - "ora": "Oroha", - "orc": "Orma", - "ore": "Orejón", - "org": "Oring", - "orh": "Oroqen", - "orn": "Orang Kanaq", - "oro": "Orokolo", - "orr": "Oruma", - "ors": "Orang Seletar", - "ort": "Adivasi Oriya", - "oru": "Ormuri", - "orv": "Old Russian", - "orw": "Oro Win", - "orx": "Oro", - "ory": "Oriya", - "orz": "Ormu", - "osa": "Osage", - "osc": "Oscan", - "osi": "Osing", - "oso": "Ososo", - "osp": "Old Spanish", - "oss": "Ossetic", - "ost": "Osatu", - "osu": "Southern One", - "osx": "Old Saxon", - "otd": "Ot Danum", - "ote": "Mezquital Otomi", - "oti": "Oti", - "otl": "Tilapa Otomi", - "otm": "Eastern Highland Otomi", - "otn": "Tenango Otomi", - "otq": "Querétaro Otomi", - "otr": "Otoro", - "ots": "Estado de México Otomi", - "ott": "Temoaya Otomi", - "otu": "Otuke", - "otw": "Ottawa", - "otx": "Texcatepec Otomi", - "oty": "Old Tamil", - "otz": "Ixtenco Otomi", - "oua": "Tagargrent", - "oub": "Glio-Oubi", - "oue": "Oune", - "oui": "Old Uighur", - "oum": "Ouma", - "owi": "Owiniga", - "owl": "Old Welsh", - "oyb": "Oy", - "oyd": "Oyda", - "oym": "Wayampi", - "oyy": "Oya'oya", - "ozm": "Koonzime", - "pab": "Parecís", - "pac": "Pacoh", - "pad": "Paumarí", - "pae": "Pagibete", - "paf": "Paranawát", - "pag": "Pangasinan", - "pah": "Tenharim", - "pai": "Pe", - "pak": "Parakanã", - "pal": "Pahlavi", - "pam": "Pampanga", - "pan": "Punjabi", - "pao": "Northern Paiute", - "pap": "Papiamento", - "paq": "Parya", - "par": "Timbisha", - "pas": "Papasena", - "pau": "Palauan", - "pav": "Pakaásnovos", - "paw": "Pawnee", - "pay": "Pech", - "paz": "Pankararú", - "pbb": "Páez", - "pbc": "Patamona", - "pbe": "Mezontla Popoloca", - "pbf": "Coyotepec Popoloca", - "pbg": "Paraujano", - "pbh": "E'ñapa Woromaipu", - "pbi": "Parkwa", - "pbl": "Mak (Nigeria)", - "pbn": "Kpasam", - "pbo": "Papel", - "pbp": "Badyara", - "pbr": "Pangwa", - "pbs": "Central Pame", - "pbt": "Southern Pashto", - "pbu": "Northern Pashto", - "pbv": "Pnar", - "pby": "Pyu (Papua New Guinea)", - "pca": "Santa Inés Ahuatempan Popoloca", - "pcb": "Pear", - "pcc": "Bouyei", - "pcd": "Picard", - "pce": "Ruching Palaung", - "pcf": "Paliyan", - "pcg": "Paniya", - "pci": "Duruwa", - "pcj": "Parenga", - "pck": "Paite Chin", - "pcl": "Pardhi", - "pcm": "Nigerian Pidgin", - "pcn": "Piti", - "pcp": "Pacahuara", - "pcw": "Pyapun", - "pda": "Anam", - "pdc": "Pennsylvania German", - "pdi": "Pa Di", - "pdn": "Podena", - "pdo": "Padoe", - "pdt": "Plautdietsch", - "pdu": "Kayan", - "pea": "Peranakan Indonesian", - "peb": "Eastern Pomo", - "ped": "Mala (Papua New Guinea)", - "pee": "Taje", - "pef": "Northeastern Pomo", - "peg": "Pengo", - "peh": "Bonan", - "pei": "Chichimeca-Jonaz", - "pej": "Northern Pomo", - "pek": "Penchal", - "pel": "Pekal", - "pem": "Phende", - "peo": "Old Persian (ca. 600-400 B.C.)", - "pep": "Kunja", - "peq": "Southern Pomo", - "pes": "Persian", - "pev": "Pémono", - "pex": "Petats", - "pey": "Petjo", - "pez": "Eastern Penan", - "pfa": "Pááfang", - "pfe": "Pere", - "pfl": "Pfaelzisch", - "pga": "Sudanese Creole Arabic", - "pgg": "Pangwali", - "pgi": "Pagi", - "pgk": "Rerep", - "pgs": "Pangseng", - "pgu": "Pagu", - "pha": "Pa-Hng", - "phd": "Phudagi", - "phg": "Phuong", - "phh": "Phukha", - "phk": "Phake", - "phl": "Phalura", - "phm": "Phimbi", - "phn": "Phoenician", - "pho": "Phunoi", - "phq": "Phana'", - "phr": "Pahari-Potwari", - "pht": "Phu Thai", - "phu": "Phuan", - "phv": "Pahlavani", - "pia": "Pima Bajo", - "pib": "Yine", - "pic": "Pinji", - "pid": "Piaroa", - "pie": "Piro", - "pif": "Pingelapese", - "pih": "Pitcairn-Norfolk", - "pii": "Pini", - "pil": "Yom", - "pim": "Powhatan", - "pin": "Piame", - "pio": "Piapoco", - "pip": "Pero", - "pir": "Piratapuyo", - "pis": "Pijin", - "pit": "Pitta Pitta", - "piu": "Pintupi-Luritja", - "piv": "Vaeakau-Taumako", - "piw": "Pimbwe", - "pix": "Piu", - "piy": "Piya-Kwonci", - "piz": "Pije", - "pjt": "Pitjantjatjara", - "pkb": "Pokomo", - "pkg": "Pak-Tong", - "pkh": "Pankhu", - "pkn": "Pakanha", - "pko": "Pökoot", - "pkp": "Pukapuka", - "pkr": "Attapady Kurumba", - "pkt": "Maleng", - "pku": "Paku", - "pla": "Miani", - "plb": "Polonombauk", - "plc": "Central Palawano", - "ple": "Palu'e", - "plg": "Pilagá", - "plh": "Paulohi", - "pli": "Pali", - "plj": "Polci", - "plk": "Kohistani Shina", - "pll": "Shwe Palaung", - "pln": "Palenquero", - "plo": "Oluta Popoluca", - "plq": "Palaic", - "plr": "Palaka Senoufo", - "pls": "San Marcos Tlalcoyalco Popoloca", - "plt": "Plateau Malagasy", - "plu": "Palikúr", - "plv": "Southwest Palawano", - "plw": "Brooke's Point Palawano", - "ply": "Bolyu", - "plz": "Paluan", - "pma": "Paama", - "pmb": "Pambia", - "pmd": "Pallanganmiddang", - "pme": "Pwaamei", - "pmf": "Pamona", - "pmh": "Māhārāṣṭri Prākrit", - "pmi": "Northern Pumi", - "pmj": "Southern Pumi", - "pmm": "Pomo", - "pmn": "Pam", - "pmo": "Pom", - "pmq": "Northern Pame", - "pmr": "Paynamar", - "pms": "Piemontese", - "pmt": "Tuamotuan", - "pmw": "Plains Miwok", - "pmx": "Poumei Naga", - "pmy": "Papuan Malay", - "pmz": "Southern Pame", - "pna": "Punan Bah-Biau", - "pnb": "Western Panjabi", - "pnc": "Pannei", - "pnd": "Mpinda", - "pne": "Western Penan", - "png": "Pongu", - "pnh": "Penrhyn", - "pni": "Aoheng", - "pnj": "Pinjarup", - "pnk": "Paunaka", - "pnl": "Paleni", - "pnm": "Punan Batu 1", - "pnn": "Pinai-Hagahai", - "pno": "Panobo", - "pnp": "Pancana", - "pnq": "Pana (Burkina Faso)", - "pnr": "Panim", - "pns": "Ponosakan", - "pnt": "Pontic", - "pnu": "Jiongnai Bunu", - "pnv": "Pinigura", - "pnw": "Panytyima", - "pnx": "Phong-Kniang", - "pny": "Pinyin", - "pnz": "Pana (Central African Republic)", - "poc": "Poqomam", - "poe": "San Juan Atzingo Popoloca", - "pof": "Poke", - "pog": "Potiguára", - "poh": "Poqomchi'", - "poi": "Highland Popoluca", - "pol": "Polish", - "pom": "Southeastern Pomo", - "pon": "Pohnpeian", - "poo": "Central Pomo", - "pop": "Pwapwâ", - "poq": "Texistepec Popoluca", - "por": "Portuguese", - "pos": "Sayula Popoluca", - "pot": "Potawatomi", - "pov": "Upper Guinea Crioulo", - "pow": "San Felipe Otlaltepec Popoloca", - "pox": "Polabian", - "poy": "Pogolo", - "ppe": "Papi", - "ppi": "Paipai", - "ppk": "Uma", - "ppl": "Pipil", - "ppm": "Papuma", - "ppn": "Papapana", - "ppo": "Folopa", - "ppp": "Pelende", - "ppq": "Pei", - "pps": "San Luís Temalacayuca Popoloca", - "ppt": "Pare", - "ppu": "Papora", - "pqa": "Pa'a", - "pqm": "Malecite-Passamaquoddy", - "prc": "Parachi", - "pre": "Principense", - "prf": "Paranan", - "prg": "Prussian", - "prh": "Porohanon", - "pri": "Paicî", - "prk": "Parauk", - "prm": "Kibiri", - "prn": "Prasuni", - "pro": "Old Provençal (to 1500)", - "prq": "Ashéninka Perené", - "prr": "Puri", - "prs": "Dari", - "prt": "Phai", - "pru": "Puragi", - "prw": "Parawen", - "prx": "Purik", - "psa": "Asue Awyu", - "pse": "Central Malay", - "psh": "Southwest Pashayi", - "psi": "Southeast Pashayi", - "psm": "Pauserna", - "psn": "Panasuan", - "psq": "Pasi", - "pss": "Kaulong", - "pst": "Central Pashto", - "psu": "Sauraseni Prākrit", - "psw": "Port Sandwich", - "psy": "Piscataway", - "pta": "Pai Tavytera", - "pth": "Pataxó Hã-Ha-Hãe", - "pti": "Wangkatha", - "ptn": "Patani", - "pto": "Zo'é", - "ptp": "Patep", - "ptr": "Piamatsina", - "ptt": "Enrekang", - "ptu": "Bambam", - "ptv": "Port Vato", - "ptw": "Pentlatch", - "pty": "Pathiya", - "pua": "Western Highland Purepecha", - "pub": "Purum", - "pud": "Punan Aput", - "pue": "Puelche", - "puf": "Punan Merah", - "pug": "Phuie", - "pui": "Puinave", - "puj": "Punan Tubu", - "pum": "Puma", - "puo": "Puoc", - "pup": "Pulabu", - "puq": "Puquina", - "pur": "Puruborá", - "puu": "Punu", - "puw": "Puluwatese", - "pux": "Puare", - "puy": "Purisimeño", - "pwa": "Pawaia", - "pwb": "Panawa", - "pwg": "Gapapaiwa", - "pwi": "Patwin", - "pwm": "Molbog", - "pwn": "Paiwan", - "pwo": "Pwo Western Karen", - "pwr": "Powari", - "pww": "Pwo Northern Karen", - "pye": "Pye Krumen", - "pym": "Fyam", - "pyn": "Poyanáwa", - "pyu": "Puyuma", - "pyx": "Pyu (Myanmar)", - "pyy": "Pyen", - "pzn": "Para Naga", - "qua": "Quapaw", - "qub": "Huallaga Huánuco Quechua", - "quc": "Quiché", - "qud": "Calderón Highland Quichua", - "quf": "Lambayeque Quechua", - "qug": "Chimborazo Highland Quichua", - "quh": "South Bolivian Quechua", - "qui": "Quileute", - "quk": "Chachapoyas Quechua", - "qul": "North Bolivian Quechua", - "qum": "Sipacapense", - "qun": "Quinault", - "qup": "Southern Pastaza Quechua", - "qur": "Yanahuanca Pasco Quechua", - "qus": "Santiago del Estero Quichua", - "quv": "Sacapulteco", - "quw": "Tena Lowland Quichua", - "qux": "Yauyos Quechua", - "quy": "Ayacucho Quechua", - "quz": "Cusco Quechua", - "qva": "Ambo-Pasco Quechua", - "qvc": "Cajamarca Quechua", - "qve": "Eastern Apurímac Quechua", - "qvh": "Huamalíes-Dos de Mayo Huánuco Quechua", - "qvi": "Imbabura Highland Quichua", - "qvj": "Loja Highland Quichua", - "qvl": "Cajatambo North Lima Quechua", - "qvm": "Margos-Yarowilca-Lauricocha Quechua", - "qvn": "North Junín Quechua", - "qvo": "Napo Lowland Quechua", - "qvp": "Pacaraos Quechua", - "qvs": "San Martín Quechua", - "qvw": "Huaylla Wanca Quechua", - "qvy": "Queyu", - "qvz": "Northern Pastaza Quichua", - "qwa": "Corongo Ancash Quechua", - "qwc": "Classical Quechua", - "qwh": "Huaylas Ancash Quechua", - "qws": "Sihuas Ancash Quechua", - "qwt": "Kwalhioqua-Tlatskanai", - "qxa": "Chiquián Ancash Quechua", - "qxc": "Chincha Quechua", - "qxh": "Panao Huánuco Quechua", - "qxl": "Salasaca Highland Quichua", - "qxn": "Northern Conchucos Ancash Quechua", - "qxo": "Southern Conchucos Ancash Quechua", - "qxp": "Puno Quechua", - "qxq": "Qashqa'i", - "qxr": "Cañar Highland Quichua", - "qxs": "Southern Qiang", - "qxt": "Santa Ana de Tusi Pasco Quechua", - "qxu": "Arequipa-La Unión Quechua", - "qxw": "Jauja Wanca Quechua", - "qyp": "Quiripi", - "raa": "Dungmali", - "rab": "Camling", - "rac": "Rasawa", - "rad": "Rade", - "raf": "Western Meohang", - "rag": "Lulogooli", - "rah": "Rabha", - "rai": "Ramoaaina", - "rak": "Tulu-Bohuai", - "ral": "Ralte", - "ram": "Canela", - "ran": "Riantana", - "rao": "Rao", - "rap": "Rapanui", - "raq": "Saam", - "rar": "Rarotongan", - "ras": "Tegali", - "rat": "Razajerdi", - "rau": "Raute", - "rav": "Sampang", - "raw": "Rawang", - "rax": "Rang", - "ray": "Rapa", - "raz": "Rahambuu", - "rbb": "Rumai Palaung", - "rcf": "Réunion Creole French", - "rdb": "Rudbari", - "rea": "Rerau", - "reb": "Rembong", - "ree": "Rejang Kayan", - "reg": "Kara (Tanzania)", - "rei": "Reli", - "rej": "Rejang", - "rel": "Rendille", - "rem": "Remo", - "ren": "Rengao", - "res": "Reshe", - "ret": "Retta", - "rey": "Reyesano", - "rga": "Roria", - "rge": "Romano-Greek", - "rgk": "Rangkas", - "rgn": "Romagnol", - "rgr": "Resígaro", - "rgs": "Southern Roglai", - "rgu": "Ringgou", - "rhg": "Rohingya", - "rhp": "Yahang", - "ria": "Riang (India)", - "rif": "Tarifit", - "ril": "Riang Lang", - "rim": "Nyaturu", - "rin": "Nungu", - "rir": "Ribun", - "rit": "Ritharrngu", - "riu": "Riung", - "rjg": "Rajong", - "rji": "Raji", - "rjs": "Rajbanshi", - "rka": "Kraol", - "rkb": "Rikbaktsa", - "rkh": "Rakahanga-Manihiki", - "rki": "Rakhine", - "rkm": "Marka", - "rkt": "Rangpuri", - "rma": "Rama", - "rmb": "Rembarrnga", - "rmc": "Carpathian Romani", - "rme": "Angloromani", - "rmf": "Kalo Finnish Romani", - "rmh": "Murkim", - "rmi": "Lomavren", - "rmk": "Romkun", - "rml": "Baltic Romani", - "rmm": "Roma", - "rmn": "Balkan Romani", - "rmo": "Sinte Romani", - "rmp": "Rempi", - "rmq": "Caló", - "rmt": "Domari", - "rmw": "Welsh Romani", - "rmx": "Romam", - "rmy": "Vlax Romani", - "rmz": "Marma", - "rnd": "Ruund", - "rng": "Ronga", - "rnl": "Ranglong", - "rnn": "Roon", - "rnp": "Rongpo", - "rnr": "Nari Nari", - "rnw": "Rungwa", - "rob": "Tae'", - "roc": "Cacgia Roglai", - "rod": "Rogo", - "roe": "Ronji", - "rof": "Rombo", - "rog": "Northern Roglai", - "roh": "Romansh", - "rol": "Romblomanon", - "ron": "Romanian", - "roo": "Rotokas", - "rop": "Kriol", - "ror": "Rongga", - "rou": "Runga", - "row": "Dela-Oenale", - "rpn": "Repanbitip", - "rpt": "Rapting", - "rri": "Ririo", - "rro": "Waima", - "rth": "Ratahan", - "rtm": "Rotuman", - "rtw": "Rathawi", - "rub": "Gungu", - "ruc": "Ruuli", - "rue": "Rusyn", - "ruf": "Luguru", - "rug": "Roviana", - "ruh": "Ruga", - "ruk": "Che", - "run": "Rundi", - "ruo": "Istro Romanian", - "rup": "Macedo-Romanian", - "ruq": "Megleno Romanian", - "rus": "Russian", - "rut": "Rutul", - "ruu": "Lanas Lobu", - "rwa": "Rawo", - "rwk": "Rwa", - "rwm": "Amba (Uganda)", - "rwo": "Rawa", - "rwr": "Marwari (India)", - "rxd": "Ngardi", - "rxw": "Karuwali", - "ryn": "Northern Amami-Oshima", - "rys": "Yaeyama", - "ryu": "Central Okinawan", - "rzh": "Rāziḥī", - "saa": "Saba", - "sab": "Buglere", - "sac": "Meskwaki", - "sad": "Sandawe", - "sae": "Sabanê", - "saf": "Safaliba", - "sag": "Sango", - "sah": "Yakut", - "saj": "Sahu", - "sak": "Sake", - "sam": "Samaritan Aramaic", - "san": "Sanskrit", - "sao": "Sause", - "saq": "Samburu", - "sar": "Saraveca", - "sas": "Sasak", - "sat": "Santali", - "sau": "Saleman", - "sav": "Saafi-Saafi", - "saw": "Sawi", - "sax": "Sa", - "say": "Saya", - "saz": "Saurashtra", - "sba": "Ngambay", - "sbb": "Simbo", - "sbc": "Kele (Papua New Guinea)", - "sbd": "Southern Samo", - "sbe": "Saliba", - "sbf": "Shabo", - "sbg": "Seget", - "sbh": "Sori-Harengan", - "sbi": "Seti", - "sbj": "Surbakhal", - "sbk": "Safwa", - "sbl": "Botolan Sambal", - "sbm": "Sagala", - "sbn": "Sindhi Bhil", - "sbo": "Sabüm", - "sbp": "Sangu (Tanzania)", - "sbq": "Sileibi", - "sbr": "Sembakung Murut", - "sbs": "Subiya", - "sbt": "Kimki", - "sbu": "Stod Bhoti", - "sbw": "Simba", - "sbx": "Seberuang", - "sby": "Soli", - "sbz": "Sara Kaba", - "scb": "Chut", - "sce": "Dongxiang", - "scf": "San Miguel Creole French", - "scg": "Sanggau", - "sch": "Sakachep", - "sci": "Sri Lankan Creole Malay", - "sck": "Sadri", - "scl": "Shina", - "scn": "Sicilian", - "sco": "Scots", - "scp": "Hyolmo", - "scq": "Sa'och", - "scs": "North Slavey", - "sct": "Southern Katang", - "scu": "Shumcho", - "scv": "Sheni", - "scw": "Sha", - "sda": "Toraja-Sa'dan", - "sdb": "Shabak", - "sdc": "Sassarese Sardinian", - "sde": "Surubu", - "sdf": "Sarli", - "sdg": "Savi", - "sdh": "Southern Kurdish", - "sdj": "Suundi", - "sdk": "Sos Kundi", - "sdn": "Gallurese Sardinian", - "sdo": "Bukar-Sadung Bidayuh", - "sdp": "Sherdukpen", - "sdr": "Oraon Sadri", - "sds": "Sened", - "sdu": "Sarudu", - "sdx": "Sibu Melanau", - "sdz": "Sallands", - "sea": "Semai", - "seb": "Shempire Senoufo", - "sec": "Sechelt", - "sed": "Sedang", - "see": "Seneca", - "sef": "Cebaara Senoufo", - "seg": "Segeju", - "seh": "Sena", - "sei": "Seri", - "sej": "Sene", - "sek": "Sekani", - "sel": "Selkup", - "sen": "Nanerigé Sénoufo", - "seo": "Suarmin", - "sep": "Sìcìté Sénoufo", - "seq": "Senara Sénoufo", - "ser": "Serrano", - "ses": "Koyraboro Senni Songhai", - "set": "Sentani", - "seu": "Serui-Laut", - "sev": "Nyarafolo Senoufo", - "sew": "Sewa Bay", - "sey": "Secoya", - "sez": "Senthang Chin", - "sfe": "Eastern Subanen", - "sfm": "Small Flowery Miao", - "sfw": "Sehwi", - "sga": "Old Irish (to 900)", - "sgb": "Mag-antsi Ayta", - "sgc": "Kipsigis", - "sgd": "Surigaonon", - "sge": "Segai", - "sgh": "Shughni", - "sgi": "Suga", - "sgk": "Sangkong", - "sgm": "Singa", - "sgp": "Singpho", - "sgr": "Sangisari", - "sgt": "Brokpake", - "sgu": "Salas", - "sgw": "Sebat Bet Gurage", - "sgy": "Sanglechi", - "sgz": "Sursurunga", - "sha": "Shall-Zwall", - "shb": "Ninam", - "shc": "Sonde", - "shd": "Kundal Shahi", - "she": "Sheko", - "shg": "Shua", - "shh": "Shoshoni", - "shi": "Tachelhit", - "shj": "Shatt", - "shk": "Shilluk", - "shl": "Shendu", - "shm": "Shahrudi", - "shn": "Shan", - "sho": "Shanga", - "shp": "Shipibo-Conibo", - "shq": "Sala", - "shr": "Shi", - "shs": "Shuswap", - "sht": "Shasta", - "shu": "Chadian Arabic", - "shv": "Shehri", - "shw": "Shwai", - "shx": "She", - "shy": "Tachawit", - "shz": "Syenara Senoufo", - "sia": "Akkala Sami", - "sib": "Sebop", - "sid": "Sidamo", - "sie": "Simaa", - "sif": "Siamou", - "sig": "Paasaal", - "sih": "Zire", - "sii": "Shom Peng", - "sij": "Numbami", - "sil": "Tumulung Sisaala", - "sim": "Mende (Papua New Guinea)", - "sin": "Sinhalese", - "sip": "Sikkimese", - "siq": "Sonia", - "sir": "Siri", - "sis": "Siuslaw", - "siu": "Sinagen", - "siv": "Sumariup", - "siw": "Siwai", - "six": "Sumau", - "siy": "Sivandi", - "siz": "Siwi", - "sja": "Epena", - "sjb": "Sajau Basap", - "sjd": "Kildin Sami", - "sje": "Pite Sami", - "sjg": "Assangori", - "sjk": "Kemi Sami", - "sjl": "Sajalong", - "sjm": "Mapun", - "sjo": "Xibe", - "sjp": "Surjapuri", - "sjr": "Siar-Lak", - "sjs": "Senhaja De Srair", - "sjt": "Ter Sami", - "sju": "Ume Sami", - "sjw": "Shawnee", - "ska": "Skagit", - "skb": "Saek", - "skc": "Ma Manda", - "skd": "Southern Sierra Miwok", - "ske": "Seke (Vanuatu)", - "skf": "Sakirabiá", - "skg": "Sakalava Malagasy", - "skh": "Sikule", - "ski": "Sika", - "skj": "Seke (Nepal)", - "skm": "Kutong", - "skn": "Kolibugan Subanon", - "sko": "Seko Tengah", - "skp": "Sekapan", - "skq": "Sininkere", - "skr": "Seraiki", - "sks": "Maia", - "skt": "Sakata", - "sku": "Sakao", - "skv": "Skou", - "skw": "Skepi Creole Dutch", - "skx": "Seko Padang", - "sky": "Sikaiana", - "skz": "Sekar", - "slc": "Sáliba", - "sld": "Sissala", - "sle": "Sholaga", - "slg": "Selungai Murut", - "slh": "Southern Puget Sound Salish", - "sli": "Lower Silesian", - "slk": "Slovak", - "sll": "Salt-Yui", - "slm": "Pangutaran Sama", - "sln": "Salinan", - "slp": "Lamaholot", - "slq": "Salchuq", - "slr": "Salar", - "slt": "Sila", - "slu": "Selaru", - "slv": "Slovenian", - "slw": "Sialum", - "slx": "Salampasu", - "sly": "Selayar", - "slz": "Ma'ya", - "sma": "Southern Sami", - "smb": "Simbari", - "smc": "Som", - "smd": "Sama", - "sme": "Northern Sami", - "smf": "Auwe", - "smg": "Simbali", - "smh": "Samei", - "smj": "Lule Saami", - "smk": "Bolinao", - "sml": "Central Sama", - "smm": "Musasa", - "smn": "Inari Sami", - "smo": "Samoan", - "smp": "Samaritan", - "smq": "Samo", - "smr": "Simeulue", - "sms": "Skolt Sami", - "smt": "Simte", - "smu": "Somray", - "smv": "Samvedi", - "smw": "Sumbawa", - "smx": "Samba", - "smy": "Semnani", - "smz": "Simeku", - "sna": "Shona", - "snb": "Sebuyau", - "snc": "Sinaugoro", - "snd": "Sindhi", - "sne": "Bau Bidayuh", - "snf": "Noon", - "sng": "Sanga (Democratic Republic of Congo)", - "sni": "Sensi", - "snj": "Riverain Sango", - "snk": "Soninke", - "snl": "Sangil", - "snm": "Southern Ma'di", - "snn": "Siona", - "sno": "Snohomish", - "snp": "Siane", - "snq": "Sangu (Gabon)", - "snr": "Sihan", - "sns": "South West Bay", - "snu": "Viid", - "snv": "Sa'ban", - "snw": "Selee", - "snx": "Sam", - "sny": "Saniyo-Hiyewe", - "snz": "Kou", - "soa": "Thai Song", - "sob": "Sobei", - "soc": "So (Democratic Republic of Congo)", - "sod": "Songoora", - "soe": "Songomeno", - "sog": "Sogdian", - "soh": "Aka", - "soi": "Sonha", - "soj": "Soi", - "sok": "Sokoro", - "sol": "Solos", - "som": "Somali", - "soo": "Songo", - "sop": "Songe", - "soq": "Kanasi", - "sor": "Somrai", - "sos": "Seeku", - "sot": "Southern Sotho", - "sou": "Southern Thai", - "sov": "Sonsorol", - "sow": "Sowanda", - "sox": "Swo", - "soy": "Miyobe", - "soz": "Temi", - "spa": "Spanish", - "spb": "Sepa (Indonesia)", - "spc": "Sapé", - "spd": "Saep", - "spe": "Sepa (Papua New Guinea)", - "spg": "Sian", - "spi": "Saponi", - "spk": "Sengo", - "spl": "Selepet", - "spm": "Akukem", - "spn": "Sanapaná", - "spo": "Spokane", - "spp": "Supyire Senoufo", - "spq": "Loreto-Ucayali Spanish", - "spr": "Saparua", - "sps": "Saposa", - "spt": "Spiti Bhoti", - "spu": "Sapuan", - "spv": "Sambalpuri", - "spy": "Sabaot", - "sqa": "Shama-Sambuga", - "sqh": "Shau", - "sqm": "Suma", - "sqn": "Susquehannock", - "sqo": "Sorkhei", - "sqq": "Sou", - "sqt": "Soqotri", - "squ": "Squamish", - "sra": "Saruga", - "srb": "Sora", - "src": "Logudorese Sardinian", - "sre": "Sara", - "srf": "Nafi", - "srg": "Sulod", - "srh": "Sarikoli", - "sri": "Siriano", - "srk": "Serudung Murut", - "srl": "Isirawa", - "srm": "Saramaccan", - "srn": "Sranan Tongo", - "sro": "Campidanese Sardinian", - "srp": "Serbian", - "srq": "Sirionó", - "srr": "Serer", - "srs": "Sarsi", - "srt": "Sauri", - "sru": "Suruí", - "srv": "Southern Sorsoganon", - "srw": "Serua", - "srx": "Sirmauri", - "sry": "Sera", - "srz": "Shahmirzadi", - "ssb": "Southern Sama", - "ssc": "Suba-Simbiti", - "ssd": "Siroi", - "sse": "Bangingih Sama", - "ssf": "Thao", - "ssg": "Seimat", - "ssh": "Shihhi Arabic", - "ssi": "Sansi", - "ssj": "Sausi", - "ssk": "Sunam", - "ssl": "Western Sisaala", - "ssm": "Semnam", - "ssn": "Waata", - "sso": "Sissano", - "ssq": "So'a", - "sss": "Sô", - "sst": "Sinasina", - "ssu": "Susuami", - "ssv": "Shark Bay", - "ssw": "Swati", - "ssx": "Samberigi", - "ssy": "Saho", - "ssz": "Sengseng", - "stb": "Northern Subanen", - "ste": "Liana-Seti", - "stf": "Seta", - "stg": "Trieng", - "sti": "Bulo Stieng", - "stj": "Matya Samo", - "stk": "Arammba", - "stl": "Stellingwerfs", - "stm": "Setaman", - "stn": "Owa", - "sto": "Stoney", - "stp": "Southeastern Tepehuan", - "stq": "Saterfriesisch", - "str": "Straits Salish", - "sts": "Shumashti", - "stt": "Budeh Stieng", - "stu": "Samtao", - "stv": "Silt'e", - "stw": "Satawalese", - "sty": "Siberian Tatar", - "sua": "Sulka", - "sub": "Suku", - "suc": "Western Subanon", - "sue": "Suena", - "sug": "Suganga", - "sui": "Suki", - "suj": "Shubi", - "suk": "Sukuma", - "sun": "Sundanese", - "suo": "Bouni", - "suq": "Tirmaga-Chai Suri", - "sur": "Mwaghavul", - "sus": "Susu", - "sut": "Subtiaba", - "suv": "Puroik", - "suw": "Sumbwa", - "sux": "Sumerian", - "suy": "Suyá", - "suz": "Sunwar", - "sva": "Svan", - "svb": "Ulau-Suain", - "svc": "Vincentian Creole English", - "sve": "Serili", - "svm": "Slavomolisano", - "svs": "Savosavo", - "swb": "Maore Comorian", - "swc": "Congo Swahili", - "swe": "Swedish", - "swf": "Sere", - "swg": "Swabian", - "swh": "Swahili", - "swi": "Sui", - "swj": "Sira", - "swk": "Malawi Sena", - "swm": "Samosa", - "swn": "Sawknah", - "swo": "Shanenawa", - "swp": "Suau", - "swq": "Sharwa", - "swr": "Saweru", - "sws": "Seluwasan", - "swt": "Sawila", - "swu": "Suwawa", - "swv": "Shekhawati", - "sww": "Sowa", - "swx": "Suruahá", - "swy": "Sarua", - "sxb": "Suba", - "sxe": "Sighu", - "sxg": "Shuhi", - "sxk": "Southern Kalapuya", - "sxn": "Sangir", - "sxr": "Saaroa", - "sxs": "Sasaru", - "sxu": "Upper Saxon", - "sxw": "Saxwe Gbe", - "sya": "Siang", - "syb": "Central Subanen", - "syc": "Classical Syriac", - "syi": "Seki", - "syk": "Sukur", - "syl": "Sylheti", - "sym": "Maya Samo", - "syn": "Senaya", - "syo": "Suoy", - "sys": "Sinyar", - "syw": "Kagate", - "syx": "Samay", - "sza": "Semelai", - "szb": "Ngalum", - "szc": "Semaq Beri", - "sze": "Seze", - "szg": "Sengele", - "szl": "Silesian", - "szn": "Sula", - "szp": "Suabo", - "szv": "Isu (Fako Division)", - "szw": "Sawai", - "szy": "Sakizaya", - "taa": "Lower Tanana", - "tab": "Tabassaran", - "tac": "Lowland Tarahumara", - "tad": "Tause", - "tae": "Tariana", - "taf": "Tapirapé", - "tag": "Tagoi", - "tah": "Tahitian", - "taj": "Eastern Tamang", - "tak": "Tala", - "tal": "Tal", - "tam": "Tamil", - "tan": "Tangale", - "tao": "Yami", - "tap": "Taabwa", - "taq": "Tamasheq", - "tar": "Central Tarahumara", - "tat": "Tatar", - "tau": "Upper Tanana", - "tav": "Tatuyo", - "taw": "Tai", - "tax": "Tamki", - "tay": "Atayal", - "taz": "Tocho", - "tba": "Aikanã", - "tbc": "Takia", - "tbd": "Kaki Ae", - "tbe": "Tanimbili", - "tbf": "Mandara", - "tbg": "North Tairora", - "tbh": "Thurawal", - "tbi": "Gaam", - "tbj": "Tiang", - "tbk": "Calamian Tagbanwa", - "tbl": "Tboli", - "tbm": "Tagbu", - "tbn": "Barro Negro Tunebo", - "tbo": "Tawala", - "tbp": "Taworta", - "tbr": "Tumtum", - "tbs": "Tanguat", - "tbt": "Tembo (Kitembo)", - "tbu": "Tubar", - "tbv": "Tobo", - "tbw": "Tagbanwa", - "tbx": "Kapin", - "tby": "Tabaru", - "tbz": "Ditammari", - "tca": "Ticuna", - "tcb": "Tanacross", - "tcc": "Datooga", - "tcd": "Tafi", - "tce": "Southern Tutchone", - "tcf": "Malinaltepec Tlapanec", - "tcg": "Tamagario", - "tch": "Turks And Caicos Creole English", - "tci": "Wára", - "tck": "Tchitchege", - "tcl": "Taman (Myanmar)", - "tcm": "Tanahmerah", - "tcn": "Tichurong", - "tco": "Taungyo", - "tcp": "Tawr Chin", - "tcq": "Kaiy", - "tcs": "Yumplatok", - "tct": "T'en", - "tcu": "Southeastern Tarahumara", - "tcw": "Tecpatlán Totonac", - "tcx": "Toda", - "tcy": "Tulu", - "tcz": "Thado Chin", - "tda": "Tagdal", - "tdb": "Panchpargania", - "tdc": "Emberá-Tadó", - "tdd": "Tai Nüa", - "tde": "Tiranige Diga Dogon", - "tdf": "Talieng", - "tdg": "Western Tamang", - "tdh": "Thulung", - "tdi": "Tomadino", - "tdj": "Tajio", - "tdk": "Tambas", - "tdl": "Sur", - "tdm": "Taruma", - "tdn": "Tondano", - "tdo": "Teme", - "tdq": "Tita", - "tdr": "Todrah", - "tds": "Doutai", - "tdt": "Tetun Dili", - "tdv": "Toro", - "tdx": "Tandroy-Mahafaly Malagasy", - "tdy": "Tadyawan", - "tea": "Temiar", - "tec": "Terik", - "ted": "Tepo Krumen", - "tee": "Huehuetla Tepehua", - "tef": "Teressa", - "teg": "Teke-Tege", - "teh": "Tehuelche", - "tei": "Torricelli", - "tek": "Ibali Teke", - "tel": "Telugu", - "tem": "Timne", - "ten": "Tama (Colombia)", - "teo": "Teso", - "tep": "Tepecano", - "teq": "Temein", - "ter": "Tereno", - "tes": "Tengger", - "tet": "Tetum", - "teu": "Soo", - "tev": "Teor", - "tew": "Tewa (USA)", - "tex": "Tennet", - "tey": "Tulishi", - "tez": "Tetserret", - "tfi": "Tofin Gbe", - "tfn": "Tanaina", - "tfo": "Tefaro", - "tfr": "Teribe", - "tft": "Ternate", - "tga": "Sagalla", - "tgb": "Tobilung", - "tgc": "Tigak", - "tgd": "Ciwogai", - "tge": "Eastern Gorkha Tamang", - "tgf": "Chalikha", - "tgh": "Tobagonian Creole English", - "tgi": "Lawunuia", - "tgj": "Tagin", - "tgk": "Tajik", - "tgl": "Tagalog", - "tgn": "Tandaganon", - "tgo": "Sudest", - "tgp": "Tangoa", - "tgq": "Tring", - "tgs": "Nume", - "tgt": "Central Tagbanwa", - "tgu": "Tanggu", - "tgw": "Tagwana Senoufo", - "tgx": "Tagish", - "tgy": "Togoyo", - "tgz": "Tagalaka", - "tha": "Thai", - "thd": "Thayore", - "the": "Chitwania Tharu", - "thf": "Thangmi", - "thh": "Northern Tarahumara", - "thi": "Tai Long", - "thk": "Tharaka", - "thl": "Dangaura Tharu", - "thm": "Aheu", - "thn": "Thachanadan", - "thp": "Thompson", - "thq": "Kochila Tharu", - "thr": "Rana Tharu", - "ths": "Thakali", - "tht": "Tahltan", - "thu": "Thuri", - "thv": "Tahaggart Tamahaq", - "thy": "Tha", - "thz": "Tayart Tamajeq", - "tia": "Tidikelt Tamazight", - "tic": "Tira", - "tif": "Tifal", - "tig": "Tigre", - "tih": "Timugon Murut", - "tii": "Tiene", - "tij": "Tilung", - "tik": "Tikar", - "til": "Tillamook", - "tim": "Timbe", - "tin": "Tindi", - "tio": "Teop", - "tip": "Trimuris", - "tiq": "Tiéfo", - "tir": "Tigrinya", - "tis": "Masadiit Itneg", - "tit": "Tinigua", - "tiu": "Adasen", - "tiv": "Tiv", - "tiw": "Tiwi", - "tix": "Southern Tiwa", - "tiy": "Tiruray", - "tiz": "Tai Hongjin", - "tja": "Tajuasohn", - "tjg": "Tunjung", - "tji": "Northern Tujia", - "tjj": "Tjungundji", - "tjl": "Tai Laing", - "tjm": "Timucua", - "tjn": "Tonjon", - "tjo": "Temacine Tamazight", - "tjp": "Tjupany", - "tjs": "Southern Tujia", - "tju": "Tjurruru", - "tkb": "Buksa", - "tkd": "Tukudede", - "tke": "Takwane", - "tkg": "Tesaka Malagasy", - "tkl": "Tokelau", - "tkm": "Takelma", - "tkn": "Toku-No-Shima", - "tkp": "Tikopia", - "tkq": "Tee", - "tkr": "Tsakhur", - "tks": "Takestani", - "tkt": "Kathoriya Tharu", - "tku": "Upper Necaxa Totonac", - "tkv": "Mur Pano", - "tkw": "Teanu", - "tkx": "Tangko", - "tkz": "Takua", - "tla": "Southwestern Tepehuan", - "tlb": "Tobelo", - "tlc": "Yecuatla Totonac", - "tld": "Talaud", - "tlf": "Telefol", - "tlg": "Tofanma", - "tli": "Tlingit", - "tlj": "Talinga-Bwisi", - "tlk": "Taloki", - "tll": "Tetela", - "tlm": "Tolomako", - "tln": "Talondo'", - "tlo": "Talodi", - "tlp": "Filomena Mata-Coahuitlán Totonac", - "tlq": "Tai Loi", - "tlr": "Talise", - "tls": "Tambotalo", - "tlt": "Teluti", - "tlu": "Tulehu", - "tlv": "Taliabu", - "tlx": "Khehek", - "tly": "Talysh", - "tma": "Tama (Chad)", - "tmb": "Katbol", - "tmc": "Tumak", - "tmd": "Haruai", - "tmf": "Toba-Maskoy", - "tmg": "Ternateño", - "tmi": "Tutuba", - "tmj": "Samarokena", - "tml": "Tamnim Citak", - "tmm": "Tai Thanh", - "tmn": "Taman (Indonesia)", - "tmo": "Temoq", - "tmq": "Tumleo", - "tmr": "Jewish Babylonian Aramaic (ca. 200-1200 CE)", - "tms": "Tima", - "tmt": "Tasmate", - "tmu": "Iau", - "tmv": "Tembo (Motembo)", - "tmw": "Temuan", - "tmy": "Tami", - "tmz": "Tamanaku", - "tna": "Tacana", - "tnb": "Western Tunebo", - "tnc": "Tanimuca-Retuarã", - "tnd": "Angosturas Tunebo", - "tng": "Tobanga", - "tnh": "Maiani", - "tni": "Tandia", - "tnk": "Kwamera", - "tnl": "Lenakel", - "tnm": "Tabla", - "tnn": "North Tanna", - "tno": "Toromono", - "tnp": "Whitesands", - "tnq": "Taino", - "tnr": "Ménik", - "tns": "Tenis", - "tnt": "Tontemboan", - "tnu": "Tay Khang", - "tnv": "Tangchangya", - "tnw": "Tonsawang", - "tnx": "Tanema", - "tny": "Tongwe", - "tnz": "Ten'edn", - "tob": "Toba", - "toc": "Coyutla Totonac", - "tod": "Toma", - "tof": "Gizrra", - "tog": "Tonga (Nyasa)", - "toh": "Gitonga", - "toi": "Tonga (Zambia)", - "toj": "Tojolabal", - "tol": "Tolowa", - "tom": "Tombulu", - "ton": "Tonga (Tonga Islands)", - "too": "Xicotepec De Juárez Totonac", - "top": "Papantla Totonac", - "toq": "Toposa", - "tor": "Togbo-Vara Banda", - "tos": "Highland Totonac", - "tou": "Tho", - "tov": "Upper Taromi", - "tow": "Jemez", - "tox": "Tobian", - "toy": "Topoiyo", - "toz": "To", - "tpa": "Taupota", - "tpc": "Azoyú Tlapanec", - "tpe": "Tippera", - "tpf": "Tarpia", - "tpg": "Kula", - "tpi": "Tok Pisin", - "tpj": "Tapieté", - "tpk": "Tupinikin", - "tpl": "Tlacoapa Tlapanec", - "tpm": "Tampulma", - "tpn": "Tupinambá", - "tpo": "Tai Pao", - "tpp": "Pisaflores Tepehua", - "tpq": "Tukpa", - "tpr": "Tuparí", - "tpt": "Tlachichilco Tepehua", - "tpu": "Tampuan", - "tpv": "Tanapag", - "tpw": "Tupí", - "tpx": "Acatepec Tlapanec", - "tpy": "Trumai", - "tpz": "Tinputz", - "tqb": "Tembé", - "tql": "Lehali", - "tqm": "Turumsa", - "tqn": "Tenino", - "tqo": "Toaripi", - "tqp": "Tomoip", - "tqq": "Tunni", - "tqr": "Torona", - "tqt": "Western Totonac", - "tqu": "Touo", - "tqw": "Tonkawa", - "tra": "Tirahi", - "trb": "Terebu", - "trc": "Copala Triqui", - "trd": "Turi", - "tre": "East Tarangan", - "trf": "Trinidadian Creole English", - "trg": "Lishán Didán", - "trh": "Turaka", - "tri": "Trió", - "trj": "Toram", - "trm": "Tregami", - "trn": "Trinitario", - "tro": "Tarao Naga", - "trp": "Kok Borok", - "trq": "San Martín Itunyoso Triqui", - "trr": "Taushiro", - "trs": "Chicahuaxtla Triqui", - "trt": "Tunggare", - "tru": "Turoyo", - "trv": "Taroko", - "trw": "Torwali", - "trx": "Tringgus-Sembaan Bidayuh", - "try": "Turung", - "trz": "Torá", - "tsa": "Tsaangi", - "tsb": "Tsamai", - "tsc": "Tswa", - "tsd": "Tsakonian", - "tsg": "Tausug", - "tsh": "Tsuvan", - "tsi": "Tsimshian", - "tsj": "Tshangla", - "tsk": "Tseku", - "tsl": "Ts'ün-Lao", - "tsn": "Setswana", - "tso": "Tsonga", - "tsp": "Northern Toussian", - "tsr": "Akei", - "tst": "Tondi Songway Kiini", - "tsu": "Tsou", - "tsv": "Tsogo", - "tsw": "Tsishingini", - "tsx": "Mubami", - "tsz": "Purepecha", - "tta": "Tutelo", - "ttb": "Gaa", - "ttc": "Tektiteko", - "ttd": "Tauade", - "tte": "Bwanabwana", - "ttf": "Tuotomb", - "ttg": "Tutong", - "tth": "Upper Ta'oih", - "tti": "Tobati", - "ttj": "Tooro", - "ttk": "Totoro", - "ttl": "Totela", - "ttm": "Northern Tutchone", - "ttn": "Towei", - "tto": "Lower Ta'oih", - "ttp": "Tombelala", - "ttq": "Tawallammat Tamajaq", - "ttr": "Tera", - "tts": "Northeastern Thai", - "ttt": "Muslim Tat", - "ttu": "Torau", - "ttv": "Titan", - "ttw": "Long Wat", - "tty": "Sikaritai", - "ttz": "Tsum", - "tua": "Wiarumus", - "tub": "Tübatulabal", - "tuc": "Mutu", - "tud": "Tuxá", - "tue": "Tuyuca", - "tuf": "Central Tunebo", - "tug": "Tunia", - "tuh": "Taulil", - "tui": "Tupuri", - "tuj": "Tugutil", - "tuk": "Turkmen", - "tul": "Tula", - "tum": "Tumbuka", - "tun": "Tunica", - "tuo": "Tucano", - "tuq": "Tedaga", - "tur": "Turkish", - "tus": "Tuscarora", - "tuu": "Tututni", - "tuv": "Turkana", - "tux": "Tuxináwa", - "tuy": "Tugen", - "tuz": "Turka", - "tva": "Vaghua", - "tvd": "Tsuvadi", - "tve": "Te'un", - "tvk": "Southeast Ambrym", - "tvl": "Tuvalu", - "tvm": "Tela-Masbuar", - "tvn": "Tavoyan", - "tvo": "Tidore", - "tvs": "Taveta", - "tvt": "Tutsa Naga", - "tvu": "Tunen", - "tvw": "Sedoa", - "tvy": "Timor Pidgin", - "twa": "Twana", - "twb": "Western Tawbuid", - "twc": "Teshenawa", - "twd": "Twents", - "twe": "Tewa (Indonesia)", - "twf": "Northern Tiwa", - "twg": "Tereweng", - "twh": "Tai Dón", - "twl": "Tawara", - "twn": "Twendi", - "two": "Tswapong", - "twp": "Ere", - "twq": "Tasawaq", - "twr": "Southwestern Tarahumara", - "twt": "Turiwára", - "twu": "Termanu", - "tww": "Tuwari", - "twx": "Tewe", - "twy": "Tawoyan", - "txa": "Tombonuo", - "txb": "Tokharian B", - "txc": "Tsetsaut", - "txe": "Totoli", - "txg": "Tangut", - "txh": "Thracian", - "txi": "Ikpeng", - "txj": "Tarjumo", - "txm": "Tomini", - "txn": "West Tarangan", - "txo": "Toto", - "txq": "Tii", - "txs": "Tonsea", - "txt": "Citak", - "txu": "Kayapó", - "txx": "Tatana", - "txy": "Tanosy Malagasy", - "tya": "Tauya", - "tye": "Kyanga", - "tyh": "O'du", - "tyi": "Teke-Tsaayi", - "tyj": "Tai Yo", - "tyn": "Kombai", - "typ": "Thaypan", - "tyr": "Tai Daeng", - "tys": "Tày Sa Pa", - "tyt": "Tày Tac", - "tyu": "Kua", - "tyv": "Tuvinian", - "tyx": "Teke-Tyee", - "tyz": "Tày", - "tzh": "Tzeltal", - "tzj": "Tz'utujil", - "tzm": "Central Atlas Tamazight", - "tzn": "Tugun", - "tzo": "Tzotzil", - "tzx": "Tabriak", - "uan": "Kuan", - "uar": "Tairuma", - "uba": "Ubang", - "ubi": "Ubi", - "ubl": "Buhi'non Bikol", - "ubr": "Ubir", - "ubu": "Umbu-Ungu", - "uby": "Ubykh", - "uda": "Uda", - "ude": "Udihe", - "udg": "Muduga", - "udi": "Udi", - "udj": "Ujir", - "udl": "Wuzlam", - "udm": "Udmurt", - "udu": "Uduk", - "ues": "Kioko", - "ufi": "Ufim", - "uga": "Ugaritic", - "ugb": "Kuku-Ugbanh", - "uge": "Ughele", - "ugo": "Ugong", - "uha": "Uhami", - "uhn": "Damal", - "uig": "Uyghur", - "uis": "Uisai", - "uiv": "Iyive", - "uji": "Tanjijili", - "uka": "Kaburi", - "ukg": "Ukuriguma", - "ukh": "Ukhwejo", - "ukp": "Ukpe-Bayobiri", - "ukq": "Ukwa", - "ukr": "Ukrainian", - "uku": "Ukue", - "ukv": "Kuku", - "ukw": "Ukwuani-Aboh-Ndoni", - "uky": "Kuuk-Yak", - "ula": "Fungwa", - "ulb": "Ulukwumi", - "ulc": "Ulch", - "ule": "Lule", - "ulf": "Usku", - "uli": "Ulithian", - "ulk": "Meriam Mir", - "ull": "Ullatan", - "ulm": "Ulumanda'", - "uln": "Unserdeutsch", - "ulu": "Uma' Lung", - "ulw": "Ulwa", - "uma": "Umatilla", - "umb": "Umbundu", - "umd": "Umbindhamu", - "umg": "Umbuygamu", - "umi": "Ukit", - "umm": "Umon", - "umn": "Makyan Naga", - "umo": "Umotína", - "ump": "Umpila", - "umr": "Umbugarla", - "ums": "Pendau", - "umu": "Munsee", - "una": "North Watut", - "une": "Uneme", - "ung": "Ngarinyin", - "uni": "Uni", - "unk": "Enawené-Nawé", - "unm": "Unami", - "unn": "Kurnai", - "unr": "Mundari", - "unu": "Unubahe", - "unz": "Unde Kaili", - "upi": "Umeda", - "upv": "Uripiv-Wala-Rano-Atchin", - "ura": "Urarina", - "urb": "Urubú-Kaapor", - "urc": "Urningangg", - "urd": "Urdu", - "ure": "Uru", - "urg": "Urigina", - "urh": "Urhobo", - "uri": "Urim", - "urk": "Urak Lawoi'", - "url": "Urali", - "urm": "Urapmin", - "urn": "Uruangnirin", - "uro": "Ura (Papua New Guinea)", - "urr": "Löyöp", - "urt": "Urat", - "uru": "Urumi", - "urv": "Uruava", - "urw": "Sop", - "urx": "Urimo", - "ury": "Orya", - "urz": "Uru-Eu-Wau-Wau", - "usa": "Usarufa", - "ush": "Ushojo", - "usi": "Usui", - "usk": "Usaghade", - "usp": "Uspanteco", - "usu": "Uya", - "uta": "Otank", - "ute": "Ute-Southern Paiute", - "utp": "Amba (Solomon Islands)", - "utr": "Etulo", - "utu": "Utu", - "uum": "Urum", - "uur": "Ura (Vanuatu)", - "uuu": "U", - "uve": "West Uvean", - "uvh": "Uri", - "uvl": "Lote", - "uwa": "Kuku-Uwanh", - "uya": "Doko-Uyanga", - "uzn": "Uzbek", - "uzs": "Southern Uzbek", - "vaa": "Vaagri Booli", - "vae": "Vale", - "vaf": "Vafsi", - "vag": "Vagla", - "vah": "Varhadi-Nagpuri", - "vai": "Vai", - "vaj": "Vasekele", - "val": "Vehes", - "vam": "Vanimo", - "van": "Valman", - "vao": "Vao", - "vap": "Vaiphei", - "var": "Huarijio", - "vas": "Vasavi", - "vau": "Vanuma", - "vav": "Varli", - "vay": "Wayu", - "vbb": "Southeast Babar", - "vec": "Venetian", - "ved": "Veddah", - "vel": "Veluws", - "vem": "Vemgo-Mabas", - "ven": "Venda", - "veo": "Ventureño", - "vep": "Veps", - "ver": "Mom Jango", - "vgr": "Vaghri", - "vgt": "Vlaamse Gebarentaal", - "vic": "Virgin Islands Creole English", - "vid": "Vidunda", - "vie": "Northern Vietnamese", - "vif": "Vili", - "vig": "Viemo", - "vil": "Vilela", - "vin": "Vinza", - "vis": "Vishavan", - "vit": "Viti", - "viv": "Iduna", - "vka": "Kariyarra", - "vkj": "Kujarge", - "vkk": "Kaur", - "vkl": "Kulisusu", - "vkm": "Kamakan", - "vko": "Kodeoha", - "vkp": "Korlai Creole Portuguese", - "vkt": "Tenggarong Kutai Malay", - "vku": "Kurrama", - "vlp": "Valpei", - "vls": "Vlaams", - "vma": "Martuyhunira", - "vmb": "Barbaram", - "vmc": "Juxtlahuaca Mixtec", - "vmd": "Mudu Koraga", - "vme": "East Masela", - "vmf": "Mainfränkisch", - "vmg": "Lungalunga", - "vmh": "Maraghei", - "vmi": "Miwa", - "vmj": "Ixtayutla Mixtec", - "vmk": "Makhuwa-Shirima", - "vml": "Malgana", - "vmm": "Mitlatongo Mixtec", - "vmp": "Soyaltepec Mazatec", - "vmq": "Soyaltepec Mixtec", - "vmr": "Marenje", - "vmu": "Muluridyi", - "vmv": "Valley Maidu", - "vmw": "Makhuwa", - "vmx": "Tamazola Mixtec", - "vmy": "Ayautla Mazatec", - "vmz": "Mazatlán Mazatec", - "vnk": "Vano", - "vnm": "Vinmavis", - "vnp": "Vunapu", - "vor": "Voro", - "vot": "Votic", - "vra": "Vera'a", - "vro": "Võro", - "vrs": "Varisi", - "vrt": "Burmbar", - "vto": "Vitou", - "vum": "Vumbu", - "vun": "Vunjo", - "vut": "Vute", - "vwa": "Awa (China)", - "waa": "Walla Walla", - "wab": "Wab", - "wac": "Wasco-Wishram", - "wad": "Wondama", - "wae": "Walser", - "wag": "Wa'ema", - "wah": "Watubela", - "waj": "Waffa", - "wal": "Wolaytta", - "wam": "Wampanoag", - "wan": "Wan", - "wao": "Wappo", - "wap": "Wapishana", - "waq": "Wagiman", - "war": "Waray (Philippines)", - "was": "Washo", - "wat": "Kaninuwa", - "wau": "Waurá", - "wav": "Waka", - "waw": "Waiwai", - "wax": "Watam", - "way": "Wayana", - "waz": "Wampur", - "wba": "Warao", - "wbb": "Wabo", - "wbe": "Waritai", - "wbf": "Wara", - "wbh": "Wanda", - "wbi": "Vwanji", - "wbj": "Alagwa", - "wbk": "Waigali", - "wbl": "Wakhi", - "wbm": "Wa", - "wbp": "Warlpiri", - "wbq": "Waddar", - "wbr": "Wagdi", - "wbt": "Warnman", - "wbv": "Wajarri", - "wbw": "Woi", - "wca": "Yanomámi", - "wci": "Waci Gbe", - "wdd": "Wandji", - "wdg": "Wadaginam", - "wdj": "Wadjiginy", - "wdu": "Wadjigu", - "wea": "Wewaw", - "wec": "Wè Western", - "wed": "Wedau", - "weh": "Weh", - "wei": "Kiunum", - "wem": "Weme Gbe", - "weo": "Wemale", - "wep": "Westphalien", - "wer": "Weri", - "wes": "Cameroon Pidgin", - "wet": "Perai", - "wew": "Wejewa", - "wfg": "Zorop", - "wga": "Wagaya", - "wgb": "Wagawaga", - "wgg": "Wangkangurru", - "wgi": "Wahgi", - "wgo": "Waigeo", - "wgu": "Wirangu", - "wgy": "Warrgamay", - "wha": "Sou Upaa", - "whg": "North Wahgi", - "whk": "Wahau Kenyah", - "wib": "Southern Toussian", - "wic": "Wichita", - "wie": "Wik-Epa", - "wig": "Wik Ngathan", - "wih": "Wik-Me'anha", - "wii": "Minidien", - "wij": "Wik-Iiyanh", - "wik": "Wikalkan", - "wil": "Wilawila", - "wim": "Wik-Mungkan", - "win": "Ho-Chunk", - "wir": "Wiraféd", - "wiu": "Wiru", - "wiv": "Vitu", - "wiy": "Wiyot", - "wja": "Waja", - "wji": "Warji", - "wka": "Kw'adza", - "wkd": "Wakde", - "wkl": "Kalanadi", - "wku": "Kunduvadi", - "wkw": "Wakawaka", - "wla": "Walio", - "wlc": "Mwali Comorian", - "wle": "Wolane", - "wlg": "Kunbarlang", - "wlh": "Welaun", - "wli": "Waioli", - "wlk": "Wailaki", - "wll": "Wali (Sudan)", - "wln": "Walloon", - "wlo": "Wolio", - "wlr": "Wailapa", - "wls": "Wallisian", - "wlu": "Wuliwuli", - "wlv": "Wichí Lhamtés Vejoz", - "wlw": "Walak", - "wlx": "Wali (Ghana)", - "wly": "Waling", - "wmb": "Wambaya", - "wmc": "Wamas", - "wmd": "Mamaindé", - "wme": "Wambule", - "wmg": "Western Minyag", - "wmh": "Waima'a", - "wmi": "Wamin", - "wmm": "Maiwa (Indonesia)", - "wmn": "Waamwang", - "wmo": "Wom (Papua New Guinea)", - "wms": "Wambon", - "wmt": "Walmajarri", - "wmw": "Mwani", - "wmx": "Womo", - "wnb": "Wanambre", - "wnc": "Wantoat", - "wnd": "Wandarang", - "wne": "Waneci", - "wng": "Wanggom", - "wni": "Ndzwani Comorian", - "wnk": "Wanukaka", - "wnm": "Wanggamala", - "wno": "Wano", - "wnp": "Wanap", - "wnu": "Usan", - "wnw": "Wintu", - "wny": "Wanyi", - "woa": "Tyaraity", - "wob": "Wè Northern", - "woc": "Wogeo", - "wod": "Wolani", - "woe": "Woleaian", - "wof": "Gambian Wolof", - "wog": "Wogamusin", - "woi": "Kamang", - "wok": "Longto", - "wol": "Wolof", - "wom": "Wom (Nigeria)", - "won": "Wongo", - "woo": "Manombai", - "wor": "Woria", - "wos": "Hanga Hundi", - "wow": "Wawonii", - "wpc": "Maco", - "wrb": "Warluwara", - "wrg": "Warungu", - "wrh": "Wiradjuri", - "wri": "Wariyangga", - "wrk": "Garrwa", - "wrl": "Warlmanpa", - "wrm": "Warumungu", - "wrn": "Warnang", - "wro": "Worrorra", - "wrp": "Waropen", - "wrr": "Wardaman", - "wrs": "Waris", - "wru": "Waru", - "wrv": "Waruna", - "wrw": "Gugu Warra", - "wrx": "Wae Rana", - "wry": "Merwari", - "wrz": "Waray (Australia)", - "wsa": "Warembori", - "wsi": "Wusi", - "wsk": "Waskia", - "wsr": "Owenia", - "wss": "Wasa", - "wsv": "Wotapuri-Katarqalai", - "wtf": "Watiwa", - "wth": "Wathawurrung", - "wti": "Berta", - "wtk": "Watakataui", - "wtm": "Mewati", - "wtw": "Wotu", - "wua": "Wikngenchera", - "wub": "Wunambal", - "wud": "Wudu", - "wuh": "Wutunhua", - "wul": "Silimo", - "wum": "Wumbvu", - "wun": "Bungu", - "wur": "Wurrugu", - "wut": "Wutung", - "wuu": "Wu Chinese", - "wuv": "Wuvulu-Aua", - "wux": "Wulna", - "wuy": "Wauyai", - "wwa": "Waama", - "wwo": "Wetamut", - "wwr": "Warrwa", - "www": "Wawa", - "wxa": "Waxianghua", - "wxw": "Wardandi", - "wya": "Wyandot", - "wyb": "Wangaaybuwan-Ngiyambaa", - "wyi": "Woiwurrung", - "wym": "Wymysorys", - "wyr": "Wayoró", - "wyy": "Western Fijian", - "xaa": "Andalusian Arabic", - "xab": "Sambe", - "xac": "Kachari", - "xad": "Adai", - "xag": "Aghwan", - "xak": "Máku", - "xal": "Oirat", - "xam": "ǀXam", - "xan": "Xamtanga", - "xap": "Apalachee", - "xar": "Karami", - "xas": "Kamas", - "xat": "Katawixi", - "xau": "Kauwera", - "xav": "Xavánte", - "xaw": "Kawaiisu", - "xay": "Kayan Mahakam", - "xbc": "Bactrian", - "xbe": "Bigambal", - "xbg": "Bunganditj", - "xbi": "Kombio", - "xbn": "Kenaboi", - "xbo": "Bolgarian", - "xbp": "Bibbulman", - "xbr": "Kambera", - "xby": "Batyala", - "xce": "Celtiberian", - "xcg": "Cisalpine Gaulish", - "xch": "Chimakum", - "xcl": "Classical Armenian", - "xcm": "Comecrudo", - "xcn": "Cotoname", - "xco": "Chorasmian", - "xcr": "Carian", - "xct": "Classical Tibetan", - "xcv": "Chuvantsy", - "xcw": "Coahuilteco", - "xcy": "Cayuse", - "xda": "Darkinyung", - "xdc": "Dacian", - "xdk": "Dharuk", - "xdo": "Kwandu", - "xdy": "Malayic Dayak", - "xeb": "Eblan", - "xed": "Hdi", - "xeg": "ǁXegwi", - "xel": "Kelo", - "xem": "Kembayan", - "xer": "Xerénte", - "xes": "Kesawai", - "xet": "Xetá", - "xeu": "Keoru-Ahia", - "xfa": "Faliscan", - "xga": "Galatian", - "xgb": "Gbin", - "xgd": "Gudang", - "xgf": "Gabrielino-Fernandeño", - "xgg": "Goreng", - "xgm": "Guwinmal", - "xgu": "Unggumi", - "xgw": "Guwa", - "xhd": "Hadrami", - "xhe": "Khetrani", - "xho": "Xhosa", - "xht": "Hattic", - "xhu": "Hurrian", - "xib": "Iberian", - "xii": "Xiri", - "xir": "Xiriâna", - "xiy": "Xipaya", - "xjb": "Minjungbal", - "xka": "Kalkoti", - "xkb": "Northern Nago", - "xkc": "Kho'ini", - "xkd": "Mendalam Kayan", - "xke": "Kereho", - "xkf": "Khengkha", - "xkg": "Kagoro", - "xkj": "Kajali", - "xkk": "Kaco'", - "xkl": "Mainstream Kenyah", - "xkn": "Kayan River Kayan", - "xkp": "Kabatei", - "xkq": "Koroni", - "xkr": "Xakriabá", - "xks": "Kumbewaha", - "xkt": "Kantosi", - "xku": "Kaamba", - "xkv": "Kgalagadi", - "xkw": "Kembra", - "xkx": "Karore", - "xky": "Uma' Lasan", - "xkz": "Kurtokha", - "xla": "Kamula", - "xlc": "Lycian", - "xld": "Lydian", - "xlo": "Loup A", - "xlp": "Lepontic", - "xls": "Lusitanian", - "xlu": "Cuneiform Luwian", - "xma": "Mushungulu", - "xmb": "Mbonga", - "xmc": "Makhuwa-Marrevone", - "xmd": "Mbudum", - "xmf": "Mingrelian", - "xmg": "Mengaka", - "xmh": "Kugu-Muminh", - "xmj": "Majera", - "xmm": "Manado Malay", - "xmp": "Kuku-Mu'inh", - "xmr": "Meroitic", - "xmt": "Matbat", - "xmu": "Kamu", - "xmv": "Tankarana Malagasy", - "xmw": "Tsimihety Malagasy", - "xmx": "Maden", - "xmy": "Mayaguduna", - "xmz": "Mori Bawah", - "xna": "Ancient North Arabian", - "xnb": "Kanakanabu", - "xng": "Middle Mongolian", - "xni": "Ngarigu", - "xnj": "Ngoni (Tanzania)", - "xnm": "Ngumbarl", - "xnn": "Northern Kankanay", - "xnq": "Ngoni (Mozambique)", - "xnr": "Kangri", - "xns": "Kanashi", - "xny": "Nyiyaparli", - "xnz": "Mattoki", - "xoc": "O'chi'chi'", - "xod": "Kokoda", - "xog": "Soga", - "xoi": "Kominimung", - "xok": "Xokleng", - "xom": "Komo (Sudan)", - "xon": "Konkomba", - "xoo": "Xukurú", - "xop": "Kopar", - "xor": "Korubo", - "xow": "Kowaki", - "xpa": "Pirriya", - "xpc": "Pecheneg", - "xpe": "Liberia Kpelle", - "xpg": "Phrygian", - "xpk": "Kulina Pano", - "xpm": "Pumpokol", - "xpo": "Pochutec", - "xpq": "Mohegan-Pequot", - "xpr": "Parthian", - "xps": "Pisidian", - "xpt": "Punthamara", - "xpu": "Punic", - "xqt": "Qatabanian", - "xra": "Krahô", - "xrb": "Eastern Karaboro", - "xrd": "Gundungurra", - "xre": "Kreye", - "xri": "Krikati-Timbira", - "xrn": "Arin", - "xru": "Marriammu", - "xrw": "Karawa", - "xsa": "Sabaean", - "xsb": "Sambal", - "xsd": "Sidetic", - "xse": "Sempan", - "xsh": "Shamang", - "xsi": "Sio", - "xsl": "South Slavey", - "xsm": "Kasem", - "xsn": "Sanga (Nigeria)", - "xsp": "Silopi", - "xsq": "Makhuwa-Saka", - "xsr": "Sherpa", - "xsu": "Sanumá", - "xsy": "Saisiyat", - "xta": "Alcozauca Mixtec", - "xtb": "Chazumba Mixtec", - "xtc": "Katcha-Kadugli-Miri", - "xtd": "Diuxi-Tilantongo Mixtec", - "xte": "Ketengban", - "xtg": "Transalpine Gaulish", - "xth": "Yitha Yitha", - "xti": "Sinicahua Mixtec", - "xtj": "San Juan Teita Mixtec", - "xtl": "Tijaltepec Mixtec", - "xtm": "Magdalena Peñasco Mixtec", - "xtn": "Northern Tlaxiaco Mixtec", - "xto": "Tokharian A", - "xtp": "San Miguel Piedras Mixtec", - "xtq": "Tumshuqese", - "xts": "Sindihui Mixtec", - "xtt": "Tacahua Mixtec", - "xtu": "Cuyamecalco Mixtec", - "xtv": "Thawa", - "xtw": "Tawandê", - "xty": "Yoloxochitl Mixtec", - "xua": "Alu Kurumba", - "xub": "Betta Kurumba", - "xud": "Umiida", - "xug": "Kunigami", - "xuj": "Jennu Kurumba", - "xul": "Nunukul", - "xum": "Umbrian", - "xun": "Unggaranggu", - "xuo": "Kuo", - "xup": "Upper Umpqua", - "xur": "Urartian", - "xut": "Kuthant", - "xuu": "Kxoe", - "xve": "Venetic", - "xvi": "Kamviri", - "xwa": "Kwaza", - "xwc": "Woccon", - "xwe": "Xwela Gbe", - "xwg": "Kwegu", - "xwk": "Wangkumara", - "xwl": "Western Xwla Gbe", - "xwr": "Kwerba Mamberamo", - "xwt": "Wotjobaluk", - "xww": "Wemba Wemba", - "xxb": "Boro (Ghana)", - "xxk": "Ke'o", - "xxm": "Minkin", - "xxr": "Koropó", - "xxt": "Tambora", - "xya": "Yaygir", - "xyb": "Yandjibara", - "xyj": "Mayi-Yapi", - "xyk": "Mayi-Kulan", - "xyt": "Mayi-Thakurti", - "xyy": "Yorta Yorta", - "xzh": "Zhang-Zhung", - "yaa": "Yaminahua", - "yab": "Yuhup", - "yac": "Pass Valley Yali", - "yad": "Yagua", - "yae": "Pumé", - "yaf": "Yaka (Democratic Republic of Congo)", - "yag": "Yámana", - "yah": "Yazgulyam", - "yai": "Yagnobi", - "yaj": "Banda-Yangere", - "yak": "Yakama", - "yal": "Yalunka", - "yam": "Yamba", - "yan": "Mayangna", - "yao": "Yao", - "yap": "Yapese", - "yaq": "Yaqui", - "yar": "Yabarana", - "yas": "Nugunu (Cameroon)", - "yat": "Yambeta", - "yau": "Yuwana", - "yav": "Yangben", - "yaw": "Yawalapití", - "yay": "Agwagwune", - "yaz": "Lokaa", - "yba": "Yala", - "ybb": "Yemba", - "ybe": "West Yugur", - "ybh": "Yakha", - "ybi": "Yamphu", - "ybj": "Hasha", - "ybk": "Bokha", - "ybl": "Yukuben", - "ybm": "Yaben", - "ybn": "Yabaâna", - "ybo": "Yabong", - "ybx": "Yawiyo", - "yby": "Yaweyuha", - "ych": "Chesu", - "ycl": "Lolopo", - "ycn": "Yucuna", - "ycp": "Chepya", - "yda": "Yanda", - "ydd": "Eastern Yiddish", - "yde": "Yangum Dey", - "ydg": "Yidgha", - "ydk": "Yoidik", - "yea": "Ravula", - "yee": "Yimas", - "yei": "Yeni", - "yej": "Yevanic", - "yel": "Yela", - "yer": "Tarok", - "yes": "Nyankpa", - "yet": "Yetfa", - "yeu": "Yerukula", - "yev": "Yapunda", - "yey": "Yeyi", - "yga": "Malyangapa", - "ygl": "Yangum Gel", - "ygm": "Yagomi", - "ygp": "Gepo", - "ygr": "Yagaria", - "ygw": "Yagwoia", - "yha": "Baha Buyang", - "yhd": "Judeo-Iraqi Arabic", - "yhl": "Hlepho Phowa", - "yia": "Yinggarda", - "yif": "Ache", - "yig": "Wusa Nasu", - "yih": "Western Yiddish", - "yii": "Yidiny", - "yij": "Yindjibarndi", - "yik": "Dongshanba Lalo", - "yil": "Yindjilandji", - "yim": "Yimchungru Naga", - "yin": "Yinchia", - "yip": "Pholo", - "yiq": "Miqie", - "yir": "North Awyu", - "yis": "Yis", - "yit": "Eastern Lalu", - "yiu": "Awu", - "yiv": "Northern Nisu", - "yix": "Axi Yi", - "yiz": "Azhe", - "yka": "Yakan", - "ykg": "Northern Yukaghir", - "yki": "Yoke", - "ykk": "Yakaikeke", - "ykl": "Khlula", - "ykm": "Kap", - "ykn": "Kua-nsi", - "yko": "Yasa", - "ykr": "Yekora", - "ykt": "Kathu", - "yku": "Kuamasi", - "yky": "Yakoma", - "yla": "Yaul", - "yle": "Yele", - "ylg": "Yelogu", - "yli": "Angguruk Yali", - "yll": "Yil", - "ylm": "Limi", - "yln": "Langnian Buyang", - "ylo": "Naluo Yi", - "ylr": "Yalarnnga", - "ylu": "Aribwaung", - "yly": "Nyelâyu", - "ymb": "Yambes", - "ymc": "Southern Muji", - "ymd": "Muda", - "yme": "Yameo", - "ymh": "Mili", - "ymi": "Moji", - "ymk": "Makwe", - "yml": "Iamalele", - "ymm": "Maay", - "ymn": "Yamna", - "ymo": "Yangum Mon", - "ymp": "Yamap", - "ymq": "Qila Muji", - "ymr": "Malasar", - "ymx": "Northern Muji", - "ymz": "Muzi", - "yna": "Aluo", - "ynd": "Yandruwandha", - "yng": "Yango", - "ynk": "Naukan Yupik", - "ynl": "Yangulam", - "ynn": "Yana", - "yno": "Yong", - "ynq": "Yendang", - "yns": "Yansi", - "ynu": "Yahuna", - "yob": "Yoba", - "yog": "Yogad", - "yoi": "Yonaguni", - "yok": "Yokuts", - "yom": "Yombe", - "yon": "Yongkom", - "yor": "Yoruba", - "yot": "Yotti", - "yox": "Yoron", - "yoy": "Yoy", - "ypa": "Phala", - "ypb": "Labo Phowa", - "ypg": "Phola", - "yph": "Phupha", - "ypm": "Phuma", - "ypn": "Ani Phowa", - "ypo": "Alo Phola", - "ypp": "Phupa", - "ypz": "Phuza", - "yra": "Yerakai", - "yrb": "Yareba", - "yre": "Yaouré", - "yrk": "Nenets", - "yrl": "Nhengatu", - "yrn": "Yerong", - "yro": "Yaroamë", - "yrw": "Yarawata", - "yry": "Yarluyandi", - "ysd": "Samatao", - "ysg": "Sonaga", - "ysn": "Sani", - "yso": "Nisi (China)", - "ysr": "Sirenik Yupik", - "yss": "Yessan-Mayo", - "ysy": "Sanie", - "yta": "Talu", - "ytl": "Tanglang", - "ytp": "Thopho", - "ytw": "Yout Wam", - "yua": "Yucateco", - "yub": "Yugambal", - "yuc": "Yuchi", - "yud": "Judeo-Tripolitanian Arabic", - "yue": "Cantonese Chinese", - "yuf": "Havasupai-Walapai-Yavapai", - "yug": "Yug", - "yui": "Yurutí", - "yuj": "Karkar-Yuri", - "yuk": "Yuki", - "yul": "Yulu", - "yum": "Quechan", - "yun": "Bena (Nigeria)", - "yup": "Yukpa", - "yuq": "Yuqui", - "yur": "Yurok", - "yut": "Yopno", - "yuw": "Yau (Morobe Province)", - "yux": "Southern Yukaghir", - "yuy": "East Yugur", - "yuz": "Yuracare", - "yva": "Yawa", - "yvt": "Yavitero", - "ywa": "Kalou", - "ywg": "Yinhawangka", - "ywl": "Western Lalu", - "ywn": "Yawanawa", - "ywq": "Wuding-Luquan Yi", - "ywr": "Yawuru", - "ywt": "Xishanba Lalo", - "ywu": "Wumeng Nasu", - "yww": "Yawarawarga", - "yxg": "Yagara", - "yxl": "Yardliyawarra", - "yxm": "Yinwum", - "yxy": "Yabula Yabula", - "yyr": "Yir Yoront", - "yyu": "Yau (Sandaun Province)", - "yyz": "Ayizi", - "yzg": "E'ma Buyang", - "yzk": "Zokhuo", - "zaa": "Sierra de Juárez Zapotec", - "zab": "Western Tlacolula Valley Zapotec", - "zac": "Ocotlán Zapotec", - "zad": "Cajonos Zapotec", - "zae": "Yareni Zapotec", - "zaf": "Ayoquesco Zapotec", - "zag": "Zaghawa", - "zah": "Zangwal", - "zai": "Isthmus Zapotec", - "zaj": "Zaramo", - "zak": "Zanaki", - "zal": "Zauzou", - "zam": "Miahuatlán Zapotec", - "zao": "Ozolotepec Zapotec", - "zaq": "Aloápam Zapotec", - "zar": "Rincón Zapotec", - "zas": "Santo Domingo Albarradas Zapotec", - "zat": "Tabaa Zapotec", - "zau": "Zangskari", - "zav": "Yatzachi Zapotec", - "zaw": "Mitla Zapotec", - "zax": "Xadani Zapotec", - "zay": "Zayse-Zergulla", - "zaz": "Zari", - "zbc": "Central Berawan", - "zbe": "East Berawan", - "zbt": "Batui", - "zbu": "Bu (Bauchi State)", - "zbw": "West Berawan", - "zca": "Coatecas Altas Zapotec", - "zch": "Central Hongshuihe Zhuang", - "zdj": "Ngazidja Comorian", - "zea": "Zeeuws", - "zeg": "Zenag", - "zeh": "Eastern Hongshuihe Zhuang", - "zen": "Zenaga", - "zga": "Kinga", - "zgb": "Guibei Zhuang", - "zgm": "Minz Zhuang", - "zgn": "Guibian Zhuang", - "zgr": "Magori", - "zhb": "Zhaba", - "zhd": "Dai Zhuang", - "zhi": "Zhire", - "zhn": "Nong Zhuang", - "zhw": "Zhoa", - "zia": "Zia", - "zik": "Zimakani", - "zil": "Zialo", - "zim": "Mesme", - "zin": "Zinza", - "ziw": "Zigula", - "ziz": "Zizilivakan", - "zka": "Kaimbulawa", - "zkk": "Karankawa", - "zko": "Kott", - "zkp": "São Paulo Kaingáng", - "zkr": "Zakhring", - "zkt": "Kitan", - "zku": "Kaurna", - "zla": "Zula", - "zlj": "Liujiang Zhuang", - "zlm": "Malay", - "zln": "Lianshan Zhuang", - "zlq": "Liuqian Zhuang", - "zma": "Manda (Australia)", - "zmb": "Zimba", - "zmc": "Margany", - "zmd": "Maridan", - "zme": "Mangerr", - "zmf": "Mfinu", - "zmg": "Marti Ke", - "zmh": "Makolkol", - "zmi": "Negeri Sembilan Malay", - "zmj": "Maridjabin", - "zmk": "Mandandanyi", - "zml": "Matngala", - "zmm": "Marramaninyshi", - "zmn": "Mbangwe", - "zmo": "Molo", - "zmp": "Mpuono", - "zmq": "Mituku", - "zmr": "Maranunggu", - "zms": "Mbesa", - "zmt": "Maringarr", - "zmu": "Muruwari", - "zmv": "Mbariman-Gudhinma", - "zmw": "Mbo (Democratic Republic of Congo)", - "zmx": "Bomitaba", - "zmy": "Mariyedi", - "zmz": "Mbandja", - "zna": "Zan Gula", - "zne": "Zande", - "zng": "Mang", - "zns": "Mangas", - "zoc": "Copainalá Zoque", - "zoh": "Chimalapa Zoque", - "zom": "Zou", - "zoo": "Asunción Mixtepec Zapotec", - "zoq": "Tabasco Zoque", - "zor": "Rayón Zoque", - "zos": "Francisco León Zoque", - "zpa": "Lachiguiri Zapotec", - "zpb": "Yautepec Zapotec", - "zpc": "Choapan Zapotec", - "zpd": "Southeastern Ixtlán Zapotec", - "zpe": "Petapa Zapotec", - "zpf": "San Pedro Quiatoni Zapotec", - "zpg": "Guevea De Humboldt Zapotec", - "zph": "Totomachapan Zapotec", - "zpi": "Santa María Quiegolani Zapotec", - "zpj": "Quiavicuzas Zapotec", - "zpk": "Tlacolulita Zapotec", - "zpl": "Lachixío Zapotec", - "zpm": "Mixtepec Zapotec", - "zpn": "Santa Inés Yatzechi Zapotec", - "zpo": "Amatlán Zapotec", - "zpp": "El Alto Zapotec", - "zpq": "Zoogocho Zapotec", - "zpr": "Santiago Xanica Zapotec", - "zps": "Coatlán Zapotec", - "zpt": "San Vicente Coatlán Zapotec", - "zpu": "Yalálag Zapotec", - "zpv": "Chichicapan Zapotec", - "zpw": "Zaniza Zapotec", - "zpx": "San Baltazar Loxicha Zapotec", - "zpy": "Mazaltepec Zapotec", - "zpz": "Texmelucan Zapotec", - "zqe": "Qiubei Zhuang", - "zrn": "Zerenkel", - "zro": "Záparo", - "zrs": "Mairasi", - "zsa": "Sarasira", - "zsm": "Standard Malay", - "zsr": "Southern Rincon Zapotec", - "zsu": "Sukurum", - "zte": "Elotepec Zapotec", - "ztg": "Xanaguía Zapotec", - "ztl": "Lapaguía-Guivini Zapotec", - "ztm": "San Agustín Mixtepec Zapotec", - "ztn": "Santa Catarina Albarradas Zapotec", - "ztp": "Loxicha Zapotec", - "ztq": "Quioquitani-Quierí Zapotec", - "zts": "Tilquiapan Zapotec", - "ztt": "Tejalapan Zapotec", - "ztu": "Güilá Zapotec", - "ztx": "Zaachila Zapotec", - "zty": "Yatee Zapotec", - "zua": "Zeem", - "zuh": "Tokano", - "zul": "Zulu", - "zum": "Kumzari", - "zun": "Zuni", - "zuy": "Zumaya", - "zwa": "Zay", - "zyb": "Yongbei Zhuang", - "zyg": "Yang Zhuang", - "zyj": "Youjiang Zhuang", - "zyn": "Yongnan Zhuang", - "zyp": "Zyphe Chin", - "zzj": "Zuojiang Zhuang", - "en-us": "American English", - "en-sc": "Scottish English", - "fr-be": "Belgian French", - "fr-sw": "Swiss French", - "pt-br": "Brazilian Portuguese", - "spa-lat": "Latin American Spanish", - "vi-ctr": "Central Vietnamese", - "vi-so": "Southern Vietnamese" -} \ No newline at end of file diff --git a/Preprocessing/multilinguality/visualize_distances.py b/Preprocessing/multilinguality/visualize_distances.py new file mode 100644 index 0000000000000000000000000000000000000000..fe46cec2fb9a3a61ba0bbd19dd1e27fcfa656af2 --- /dev/null +++ b/Preprocessing/multilinguality/visualize_distances.py @@ -0,0 +1,206 @@ +import os +import pickle + +import matplotlib.pyplot as plt +import networkx as nx +import torch +from tqdm import tqdm + +from Modules.ToucanTTS.InferenceToucanTTS import ToucanTTS +from Utility.utils import load_json_from_path + +distance_types = ["tree", "asp", "map", "learned", "l1"] +modes = ["plot_all", "plot_neighbors"] +neighbor = "Latin" +num_neighbors = 12 +distance_type = distance_types[0] # switch here +mode = modes[1] +edge_threshold = 0.01 +# TODO histograms to figure out a good threshold + +cache_root = "." +supervised_iso_codes = load_json_from_path(os.path.join(cache_root, "supervised_languages.json")) + +if distance_type == "l1": + iso_codes_to_ids = load_json_from_path(os.path.join(cache_root, "iso_lookup.json"))[-1] + model_path = "../../Models/ToucanTTS_Meta/best.pt" + checkpoint = torch.load(model_path, map_location='cpu') + embedding_provider = ToucanTTS(weights=checkpoint["model"], config=checkpoint["config"]).encoder.language_embedding + embedding_provider.requires_grad_(False) + l1_dist = dict() + seen_langs = set() + for lang_1 in supervised_iso_codes: + if lang_1 not in seen_langs: + seen_langs.add(lang_1) + l1_dist[lang_1] = dict() + for lang_2 in supervised_iso_codes: + if lang_2 not in seen_langs: # it's symmetric + l1_dist[lang_1][lang_2] = torch.nn.functional.mse_loss(embedding_provider(torch.LongTensor([iso_codes_to_ids[lang_1]])).squeeze(), embedding_provider(torch.LongTensor([iso_codes_to_ids[lang_2]])).squeeze()) + largest_value_l1_dist = 0.0 + for _, values in l1_dist.items(): + for _, value in values.items(): + largest_value_l1_dist = max(largest_value_l1_dist, value) + for key1 in l1_dist: + for key2 in l1_dist[key1]: + l1_dist[key1][key2] = l1_dist[key1][key2] / largest_value_l1_dist + distance_measure = l1_dist + +if distance_type == "tree": + tree_lookup_path = os.path.join(cache_root, "lang_1_to_lang_2_to_tree_dist.json") + tree_dist = load_json_from_path(tree_lookup_path) + distance_measure = tree_dist + +if distance_type == "map": + map_lookup_path = os.path.join(cache_root, "lang_1_to_lang_2_to_map_dist.json") + map_dist = load_json_from_path(map_lookup_path) + largest_value_map_dist = 0.0 + for _, values in map_dist.items(): + for _, value in values.items(): + largest_value_map_dist = max(largest_value_map_dist, value) + for key1 in map_dist: + for key2 in map_dist[key1]: + map_dist[key1][key2] = map_dist[key1][key2] / largest_value_map_dist + distance_measure = map_dist + +if distance_type == "learned": + learned_lookup_path = os.path.join(cache_root, "lang_1_to_lang_2_to_map_dist.json") + learned_dist = load_json_from_path(learned_lookup_path) + largest_value_learned_dist = 0.0 + for _, values in learned_dist.items(): + for _, value in values.items(): + largest_value_learned_dist = max(largest_value_learned_dist, value) + for key1 in learned_dist: + for key2 in learned_dist[key1]: + learned_dist[key1][key2] = learned_dist[key1][key2] / largest_value_learned_dist + distance_measure = learned_dist + +if distance_type == "asp": + asp_dict_path = os.path.join(cache_root, "asp_dict.pkl") + with open(asp_dict_path, 'rb') as dictfile: + asp_sim = pickle.load(dictfile) + lang_list = list(asp_sim.keys()) + asp_dist = dict() + seen_langs = set() + for lang_1 in lang_list: + if lang_1 not in seen_langs: + seen_langs.add(lang_1) + asp_dist[lang_1] = dict() + for index, lang_2 in enumerate(lang_list): + if lang_2 not in seen_langs: # it's symmetric + asp_dist[lang_1][lang_2] = 1 - asp_sim[lang_1][index] + distance_measure = asp_dist + +iso_codes_to_names = load_json_from_path(os.path.join(cache_root, "iso_to_fullname.json")) +distances = list() + +for lang_1 in distance_measure: + if lang_1 not in iso_codes_to_names: + continue + if lang_1 not in supervised_iso_codes and iso_codes_to_names[lang_1] != neighbor: + continue + for lang_2 in distance_measure[lang_1]: + try: + if lang_2 not in supervised_iso_codes and iso_codes_to_names[lang_2] != neighbor: + continue + except KeyError: + continue + distances.append((iso_codes_to_names[lang_1], iso_codes_to_names[lang_2], distance_measure[lang_1][lang_2])) + +# Create a graph +G = nx.Graph() + +# Add edges along with distances as weights +min_dist = min(d for _, _, d in distances) +max_dist = max(d for _, _, d in distances) +normalized_distances = [(entity1, entity2, (d - min_dist) / (max_dist - min_dist)) for entity1, entity2, d in distances] + +if mode == "plot_neighbors": + fullnames = list() + fullnames.append(neighbor) + for code in supervised_iso_codes: + fullnames.append(iso_codes_to_names[code]) + supervised_iso_codes = fullnames + d_dist = list() + for entity1, entity2, d in tqdm(normalized_distances): + if (neighbor == entity2 or neighbor == entity1) and (entity1 in supervised_iso_codes and entity2 in supervised_iso_codes): + if entity1 != entity2: + d_dist.append(d) + thresh = sorted(d_dist)[num_neighbors] + # distance_scores = sorted(d_dist)[:num_neighbors] + neighbors = list() + for entity1, entity2, d in tqdm(normalized_distances): + if (d < thresh and (neighbor == entity2 or neighbor == entity1)) and (entity1 in supervised_iso_codes and entity2 in supervised_iso_codes): + neighbors.append(entity1) + neighbors.append(entity2) + unique_neighbors = list(set(neighbors)) + unique_neighbors.remove(neighbor) + for entity1, entity2, d in tqdm(normalized_distances): + if (neighbor == entity2 or neighbor == entity1) and (entity1 in supervised_iso_codes and entity2 in supervised_iso_codes): + if entity1 != entity2 and d < thresh: + spring_tension = ((thresh - d) ** 2) * 20000 # for vis purposes + print(f"{d}-->{spring_tension}") + G.add_edge(entity1, entity2, weight=spring_tension) + for entity1, entity2, d in tqdm(normalized_distances): + if (entity2 in unique_neighbors and entity1 in unique_neighbors) and (entity1 in supervised_iso_codes and entity2 in supervised_iso_codes): + if entity1 != entity2: + spring_tension = 1 - d + G.add_edge(entity1, entity2, weight=spring_tension) + + # Draw the graph + pos = nx.spring_layout(G, weight="weight") # Positions for all nodes + edges = G.edges(data=True) + + # Draw nodes + nx.draw_networkx_nodes(G, pos, node_size=1, alpha=0.01) + + # Draw edges with labels + edges_connected_to_specific_node = [(u, v) for u, v in G.edges() if u == neighbor or v == neighbor] + # nx.draw_networkx_edges(G, pos, alpha=0.1) + nx.draw_networkx_edges(G, pos, edgelist=edges_connected_to_specific_node, edge_color='red', alpha=0.3, width=3) + for u, v, d in edges: + if u == neighbor or v == neighbor: + nx.draw_networkx_edge_labels(G, pos, edge_labels={(u, v): round((thresh - (d['weight'] / 20000) ** (1 / 2)) * 10, 2)}, font_color="red", alpha=0.3) # reverse modifications + else: + pass + # nx.draw_networkx_edge_labels(G, pos, edge_labels={(u, v): d['weight']}) + + # Draw node labels + nx.draw_networkx_labels(G, pos, font_size=14, font_family='sans-serif', font_color='green') + nx.draw_networkx_labels(G, pos, labels={neighbor: neighbor}, font_size=14, font_family='sans-serif', font_color='red') + + plt.title(f'Graph of {distance_type} Distances') + + plt.subplots_adjust(left=0, right=1, top=1, bottom=0) + plt.tight_layout(pad=0) + + plt.savefig("avg.png", dpi=300) + plt.show() + + + +elif mode == "plot_all": + for entity1, entity2, d in tqdm(normalized_distances): + if d < edge_threshold and entity1 != entity2: + spring_tension = edge_threshold - d + G.add_edge(entity1, entity2, weight=spring_tension) + + # Draw the graph + pos = nx.spring_layout(G, weight="weight") # Positions for all nodes + edges = G.edges(data=True) + + # Draw nodes + nx.draw_networkx_nodes(G, pos, node_size=1, alpha=0.01) + + # Draw edges with labels + nx.draw_networkx_edges(G, pos, alpha=0.1, edge_color="blue") + # nx.draw_networkx_edge_labels(G, pos, edge_labels={(u, v): d['weight'] for u, v, d in edges}) + + # Draw node labels + nx.draw_networkx_labels(G, pos, font_size=10, font_family='sans-serif') + + plt.title(f'Graph of {distance_type} Distances') + + plt.subplots_adjust(left=0, right=1, top=1, bottom=0) + plt.tight_layout(pad=0) + + plt.show() diff --git a/Utility/Scorer.py b/Utility/Scorer.py index b28b8c31a183fde4e28e6c484cedad3c1ecc16c2..52bb4262b5f58c3c78ef7f6384d277ea6bf0bc3a 100644 --- a/Utility/Scorer.py +++ b/Utility/Scorer.py @@ -13,7 +13,7 @@ import torch import torch.multiprocessing from tqdm import tqdm -from Architectures.ToucanTTS.ToucanTTS import ToucanTTS +from Modules.ToucanTTS.ToucanTTS import ToucanTTS from Preprocessing.AudioPreprocessor import AudioPreprocessor from Preprocessing.EnCodecAudioPreprocessor import CodecAudioPreprocessor from Utility.corpus_preparation import prepare_tts_corpus diff --git a/Utility/corpus_preparation.py b/Utility/corpus_preparation.py index 3ee46661875bb3a96d04e354838a33e520c7b15c..c55fbfc5b1d5427eea01307d5352df7c8cfa9354 100644 --- a/Utility/corpus_preparation.py +++ b/Utility/corpus_preparation.py @@ -1,8 +1,8 @@ import torch.multiprocessing -from Architectures.Aligner.CodecAlignerDataset import CodecAlignerDataset -from Architectures.Aligner.autoaligner_train_loop import train_loop as train_aligner -from Architectures.ToucanTTS.TTSDataset import TTSDataset +from Modules.Aligner.CodecAlignerDataset import CodecAlignerDataset +from Modules.Aligner.autoaligner_train_loop import train_loop as train_aligner +from Modules.ToucanTTS.TTSDataset import TTSDataset from Utility.path_to_transcript_dicts import * from Utility.storage_config import MODELS_DIR diff --git a/Utility/storage_config.py b/Utility/storage_config.py deleted file mode 100644 index 06343b26cdf38b1d075d3402b23529ba2bba5e85..0000000000000000000000000000000000000000 --- a/Utility/storage_config.py +++ /dev/null @@ -1,2 +0,0 @@ -MODELS_DIR = "Models/" -PREPROCESSING_DIR = "Corpora/" diff --git a/Utility/utils.py b/Utility/utils.py index d10a432cb5143c21fa23e3d245b00e0053bb507e..88698fc12a91feeee41f28ef0a0cc5190cc664f5 100644 --- a/Utility/utils.py +++ b/Utility/utils.py @@ -11,7 +11,7 @@ import torch import torch.multiprocessing from matplotlib.lines import Line2D -import Architectures.GeneralLayers.ConditionalLayerNorm +import Modules.GeneralLayers.ConditionalLayerNorm from Preprocessing.TextFrontend import ArticulatoryCombinedTextFrontend from Preprocessing.TextFrontend import get_language_id @@ -338,8 +338,8 @@ def initialize(model, init): for m in model.modules(): if isinstance(m, (torch.nn.Embedding, torch.nn.LayerNorm, - Architectures.GeneralLayers.ConditionalLayerNorm.ConditionalLayerNorm, - Architectures.GeneralLayers.ConditionalLayerNorm.SequentialWrappableConditionalLayerNorm + Modules.GeneralLayers.ConditionalLayerNorm.ConditionalLayerNorm, + Modules.GeneralLayers.ConditionalLayerNorm.SequentialWrappableConditionalLayerNorm )): m.reset_parameters() diff --git a/app.py b/app.py index 7cd2ee885e08025ba129c7c1286c0ffc3eb3a5c2..c25c7475315d34b3d516a7afef3cc834efd7c6e1 100644 --- a/app.py +++ b/app.py @@ -3,11 +3,16 @@ import torch.cuda from InferenceInterfaces.ControllableInterface import ControllableInterface from Utility.utils import float2pcm +from Utility.utils import load_json_from_path class TTSWebUI: - def __init__(self, gpu_id="cpu", title="Controllable Text-to-Speech with IMS Toucan", article="", available_artificial_voices=1000): + def __init__(self, gpu_id="cpu", title="Stochastic Speech Synthesis with ToucanTTS", article="", available_artificial_voices=1000, path_to_iso_list="Preprocessing/multilinguality/iso_to_fullname.json"): + iso_to_name = load_json_from_path(path_to_iso_list) + text_selection = [f"{iso_to_name[iso_code]} ({iso_code})" for iso_code in iso_to_name] + # accent_selection = [f"{iso_to_name[iso_code]} Accent ({iso_code})" for iso_code in iso_to_name] + self.controllable_ui = ControllableInterface(gpu_id=gpu_id, available_artificial_voices=available_artificial_voices) self.iface = gr.Interface(fn=self.read, @@ -15,14 +20,20 @@ class TTSWebUI: placeholder="write what you want the synthesis to read here...", value="What I cannot create, I do not understand.", label="Text input"), + gr.Dropdown(text_selection, + type="value", + value='English (eng)', + label="Select the Language of the Text (type on your keyboard to find it quickly)"), gr.Audio(type="filepath", show_label=True, container=True, label="Voice to Clone (if left empty, will use an artificial voice instead)"), - gr.Slider(minimum=0.0, maximum=0.8, step=0.1, value=0.4, label="Prosody Creativity"), - gr.Slider(minimum=0.7, maximum=1.3, step=0.1, value=1.0, label="Duration Scale"), gr.Slider(minimum=0, maximum=available_artificial_voices, step=1, value=279, label="Random Seed for the artificial Voice"), - gr.Slider(minimum=-10.0, maximum=10.0, step=0.1, value=0.0, label="Femininity / Masculinity of artificial Voice"), - gr.Slider(minimum=-10.0, maximum=10.0, step=0.1, value=0.0, label="Voice Depth of artificial Voice") + gr.Slider(minimum=0.0, maximum=0.8, step=0.1, value=0.1, label="Prosody Creativity"), + gr.Slider(minimum=0.7, maximum=1.3, step=0.1, value=1.0, label="Duration Scale"), + # gr.Slider(minimum=0.5, maximum=1.5, step=0.1, value=1.0, label="Pitch Variance Scale"), + # gr.Slider(minimum=0.5, maximum=1.5, step=0.1, value=1.0, label="Energy Variance Scale"), + gr.Slider(minimum=-10.0, maximum=10.0, step=0.1, value=0.0, label="Femininity / Masculinity"), + gr.Slider(minimum=-10.0, maximum=10.0, step=0.1, value=0.0, label="Voice Depth") ], outputs=[gr.Audio(type="numpy", label="Speech"), gr.Image(label="Visualization")], @@ -34,28 +45,33 @@ class TTSWebUI: def read(self, prompt, - audio, + language, + reference_audio, + voice_seed, prosody_creativity, duration_scaling_factor, - voice_seed, + # pitch_variance_scale, + # energy_variance_scale, emb1, emb2 ): sr, wav, fig = self.controllable_ui.read(prompt, - audio, + reference_audio, + language.split(" ")[-1].split("(")[1].split(")")[0], + language.split(" ")[-1].split("(")[1].split(")")[0], voice_seed, prosody_creativity, duration_scaling_factor, 1., - 1., - 1., + 1.0, + 1.0, emb1, emb2, 0., 0., 0., 0., - -24.) + -18.) return (sr, float2pcm(wav)), fig diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index ddc27337d6791433b12df7658126035e0989b021..0000000000000000000000000000000000000000 Binary files a/requirements.txt and /dev/null differ