Testing

From ProgClub
Revision as of 02:35, 23 September 2019 by John (talk | contribs) (Integers)
Jump to: navigation, search

The purpose of this page is to collect values for use in automated testing. The focus is PHP, so there are only signed integers. The sister library to these notes is PHPBOM, we use some of its constants below.

Various

  • null,
  • true, false,
  • 0, ~0, ~1,
  • 0.0, -0.0, -0.1, 0.1, BOM_NEG_INF, BOM_POS_INF, BOM_NAN,
  • '', ' ', 'true', 'false', 'yes', 'no', 'maybe', '-1', '0', '1', '0.0', '0.1', '1.0',
  • "\x00",
  • "\t", "\t\t", "1\t2\t3\t4",
  • "\n", "\n\n", "1\n2\n3\n",
  • "\n1", "\n\n2", "\n\n\n3",
  • "\r\n", "\r\n\r\n", "1\r\n2\r\n3\r\n",
  • "\r", "\r\n\n", "1\r\n2\n3\r\n",
  • "1\t2\t3\t4\n5\t6\t7\t8\n9\t10\t11\t12",
  • "1\t2\t3\t4\n5\t6\t7\t8\n9\t10\t11\t12\n",
  • '日本語', '¯\_(ツ)_/¯',
  • new stdClass(), new DateTime(),
  • function( $val ) { return $val; },

Integers

Zero (int)

  • 0,

8-bit int

  • 1, 2, 3, 4, 5, 6, 7, 8, 9,
  • 10, 11, 12, 13, 15, 16, 17, 31, 32, 33, 37, 42, 63, 64, 65, 69, 73, 99,
  • 100, 101, 127,
  • -1, -2, -3, -4, -5, -6, -7, -8, -9,
  • -10, -11, -12, -13, -15, -16, -17, -31, -32, -33, -37, -42, -63, -64, -65, -69, -73, -99,
  • -100, -101, -127, -128,

8-bit uint

  • 1, 2, 3, 4, 5, 6, 7, 8, 9,
  • 10, 11, 12, 13, 15, 16, 17, 31, 32, 33, 37, 42, 63, 64, 65, 69, 73, 99,
  • 100, 101, 127, 128, 129, 199, 200, 201, 255,

16-bit int

  • 128, 129, 199, 200, 201, 255, 256, 257, 499, 500, 501, 511, 512, 513, 999,
  • 1000, 1001, 1023, 1024, 1025, 1337, 2047, 2048, 2049, 4095, 4096, 4097, 4999, 5000, 5001, 8191, 8192, 8193, 9999,
  • 10000, 10001, 16383, 16384, 16385, 19999, 20000, 20001, 32767,
  • -257, -499, -500, -501, -511, -512, -513, -999,
  • -1000, -1001, -1023, -1024, -1025, -1337, -2047, -2048, -2049, -4095, -4096, -4097, -4999, -5000, -5001, -8191, -8192, -8193, -9999,
  • -10000, -10001, -16383, -16384, -16385, -19999, -20000, -20001, -32767, -32768,

16-bit uint

  • 128, 129, 199, 200, 201, 255, 256, 257, 499, 500, 501, 511, 512, 513, 999,
  • 1000, 1001, 1023, 1024, 1025, 1337, 2047, 2048, 2049, 4095, 4096, 4097, 4999, 5000, 5001, 8191, 8192, 8193, 9999,
  • 10000, 10001, 16383, 16384, 16385, 19999, 20000, 20001, 32767, 32768, 32769, 49999, 50000, 50001, 65535,

24-bit int

  • 32768, 32769, 49999, 50000, 50001, 65535, 65536, 65537, 99999,
  • 100000, 100001, 131071, 131072, 131073, 199999, 200000, 200001, 262143, 262144, 262145, 299999, 300000, 300001, 524287, 524288, 524289, 999999,
  • 1000000, 1000001, 1048575, 1048576, 1048577, 1999999, 2000000, 2000001, 2097151, 2097152, 2097153, 2999999, 3000000, 3000001, 3999999,
  • 4000000, 4000001, 4194303, 4194304, 4194305, 4999999, 5000000, 5000001, 8388607,
  • -32769, -49999, -50000, -50001, -65535, -65536, -65537, -99999,
  • -100000, -100001, -131071, -131072, -131073, -199999, -200000, -200001, -262143, -262144, -262145, -299999, -300000, -300001, -524287, -524288, -524289, -999999,
  • -1000000, -1000001, -1048575, -1048576, -1048577, -1999999, -2000000, -2000001, -2097151, -2097152, -2097153, -2999999, -3000000, -3000001, -3999999,
  • -4000000, -4000001, -4194303, -4194304, -4194305, -4999999, -5000000, -5000001, -8388607, -8388608

24-bit uint

  • 32768, 32769, 49999, 50000, 50001, 65535, 65536, 65537, 99999,
  • 100000, 100001, 131071, 131072, 131073, 199999, 200000, 200001, 262143, 262144, 262145, 299999, 300000, 300001, 524287, 524288, 524289, 999999,
  • 1000000, 1000001, 1048575, 1048576, 1048577, 1999999, 2000000, 2000001, 2097151, 2097152, 2097153, 2999999, 3000000, 3000001, 3999999,
  • 4000000, 4000001, 4194303, 4194304, 4194305, 4999999, 5000000, 5000001, 8388607,
  • 8388608, 8388609, 9999999, 10000000, 10000001, 16777215,

32-bit int

  • 8388608, 8388609, 9999999,
  • 10000000, 10000001, 16777215, 16777216, 16777217, 33554431, 33554432, 33554433, 67108863, 67108864, 67108865, 99999999,
  • 100000000, 100000001, 134217727, 134217728, 134217729, 268435455, 268435456, 268435457, 536870911, 536870912, 536870913, 999999999,
  • 1000000000, 1000000001, 1073741823, 1073741824, 1073741825, 2147483647,

, -8388609, -9999999,

  • -10000000, -10000001, -16777215, -16777216, -16777217, -33554431, -33554432, -33554433, -67108863, -67108864, -67108865, -99999999,
  • -100000000, -100000001, -134217727, -134217728, -134217729, -268435455, -268435456, -268435457, -536870911, -536870912, -536870913, -999999999,
  • -1000000000, -1000000001, -1073741823, -1073741824, -1073741825, -2147483647, -2147483648,

32-bit uint

  • 8388608, 8388609, 9999999,
  • 10000000, 10000001, 16777215, 16777216, 16777217, 33554431, 33554432, 33554433, 67108863, 67108864, 67108865, 99999999,
  • 100000000, 100000001, 134217727, 134217728, 134217729, 268435455, 268435456, 268435457, 536870911, 536870912, 536870913, 999999999,
  • 1000000000, 1000000001, 1073741823, 1073741824, 1073741825, 2147483647, 2147483648, 2147483649, 4294967295,

64-bit int

  • 2147483648, 2147483649, 4294967295, 4294967296, 4294967297, 8589934591, 8589934592, 8589934593, 9999999999,
  • 10000000000, 10000000001, 17179869183, 17179869184, 17179869185, 34359738367, 34359738368, 34359738369, 68719476735, 68719476736, 68719476737, 99999999999,
  • 100000000000, 100000000001, 137438953471, 137438953472, 137438953473, 274877906943, 274877906944, 274877906945, 549755813887, 549755813888, 549755813889, 999999999999,
  • 1000000000000, 1000000000001, 9999999999999,
  • 10000000000000, 10000000000001, 99999999999999,
  • 100000000000000, 100000000000001, 999999999999999,
  • 1000000000000000, 1000000000000001, 9999999999999999,
  • 10000000000000000, 10000000000000001, 99999999999999999,
  • 100000000000000000, 100000000000000001, 999999999999999999,
  • 1000000000000000000, 1000000000000000001, 9223372036854775807,
  • -2147483649, -4294967295, -4294967296, -4294967297, -8589934591, -8589934592, -8589934593, -9999999999,
  • -10000000000, -10000000001, -17179869183, -17179869184, -17179869185, -34359738367, -34359738368, -34359738369, -68719476735, -68719476736, -68719476737, -99999999999,
  • -100000000000, -100000000001, -137438953471, -137438953472, -137438953473, -274877906943, -274877906944, -274877906945, -549755813887, -549755813888, -549755813889, -999999999999,
  • -1000000000000, -1000000000001, -9999999999999,
  • -10000000000000, -10000000000001, -99999999999999,
  • -100000000000000, -100000000000001, -999999999999999,
  • -1000000000000000, -1000000000000001, -9999999999999999,
  • -10000000000000000, -10000000000000001, -99999999999999999,
  • -100000000000000000, -100000000000000001, -999999999999999999,
  • -1000000000000000000, -1000000000000000001, -9223372036854775807, -9223372036854775808,

64-bit unit

NOTE: there is no unsigned 64-bit int in PHP so we don't test those. They can happen in the database but need to be treated as strings in PHP.

Floats

Zero (float)

  • 0.0,
  • -0.0,

Positive 32-bit floats

Negative 32-bit floats

Positive 64-bit floats

Negative 64-bit floats

Strings

  • /* low punctuation */ ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/',
  • /* mid punctuation */ ':', ';', '<', '=', '>', '?', '@',
  • /* high punctuation */ '[', '\\', ']', '^', '_', '`',
  • /* end punctuation */ '{', '|', '}', '~',
  • /* non-breaking spaces (UTF8) */ "\xc2\xa0", "A\xc2\xa0B\xc2\xa0C",

TODO: list all language names in their native tongue.

TODO: list all country names in a map using the native tongue, e.g. [ 'au' => 'Australia', ... ]

TODO: test inclusion of Byte Order Marks (BOM).

TODO: test ASCII control chars and x00.

TODO: combining diacritics

TODO: objects that implement __toString()

TODO: objects that don't implement __toString() (should fail)

Arrays

Array (list)

  • [],
  • [ null ],
  • [ true, false ],
  • [ 0, ~0, ~1 ],
  • [ 0.0, -0.0, -0.1, 0.1, BOM_NEG_INF, BOM_POS_INF, BOM_NAN ],
  • [ '', ' ', 'true', 'false', 'yes', 'no', 'maybe', '-1', '0', '1', '0.0', '0.1', '1.0' ],
  • [ new stdClass(), new DateTime() ],
  • [ function( $val ) { return $val; } ],

Array (map)

  • [ 'a' => null ],
  • [ 'a' => true, 'b' => false ],
  • [ 'a' => 0, 'b' => ~0, 'c' => ~1 ],
  • [ 'a' => 0.0, 'b' => -0.0, 'c' => -0.1, 'd' => 0.1, 'e' => BOM_INF_NEG, 'f' => BOM_INF_POS, 'g' => BOM_NAN ],
  • [ 'a' => '', 'b' => ' ', 'c' => 'true', 'd' => 'false', 'e' => 'yes', 'f' => 'no', 'g' => 'maybe', 'h' => '-1', 'i' => '0', 'j' => '1', 'k' => '0.0', 'l' => '0.1', 'm' => '1.0' ],
  • [ 'a' => new stdClass(), 'b' => new DateTime() ],
  • [ 'a' => function( $val ) { return $val; } ],

Array (map with empty key)

  • [ '' => null ],
  • [ '' => true, 'b' => false ],
  • [ '' => 0, 'b' => ~0, 'c' => ~1 ],
  • [ '' => 0.0, 'b' => -0.0, 'c' => -0.1, 'd' => 0.1, 'e' => BOM_INF_NEG, 'f' => BOM_INF_POS, 'g' => BOM_NAN ],
  • [ '' => '', 'b' => 'true', 'c' => 'false', 'd' => 'yes', 'e' => 'no', 'f' => 'maybe', 'g' => '-1', 'h' => '0', 'i' => '1', 'j' => '0.0', 'k' => '0.1', 'l' => '1.0' ],
  • [ '' => new stdClass(), 'b' => new DateTime() ],
  • [ '' => function( $val ) { return $val; } ],

Array (map with space key)

  • [ ' ' => null ],
  • [ ' ' => true, 'b' => false ],
  • [ ' ' => 0, 'b' => ~0, 'c' => ~1 ],
  • [ ' ' => 0.0, 'b' => -0.0, 'c' => -0.1, 'd' => 0.1, 'e' => BOM_INF_NEG, 'f' => BOM_INF_POS, 'g' => BOM_NAN ],
  • [ ' ' => '', 'b' => ' ', 'c' => 'true', 'd' => 'false', 'e' => 'yes', 'f' => 'no', 'g' => 'maybe', 'h' => '-1', 'i' => '0', 'j' => '1', 'k' => '0.0', 'l' => '0.1', 'm' => '1.0' ],
  • [ ' ' => new stdClass(), 'b' => new DateTime() ],
  • [ ' ' => function( $val ) { return $val; } ],

Array (weird keys)

  • [ null => 'null', ],
  • [ true => 'true', ],
  • [ false => 'false', ],
  • [ null => 'null', true => 'true', ],
  • [ null => 'null', false => 'false', ],
  • [ null => 'null', true => 'true', false => 'false', ],

Names

Languages

Here is a list of languages in English and native tongue taken from omniglot. This is available in PHPBOM as $bom_languages.

{ "Abaza": "абаза бызшва (abaza bəzš˚a)", "Abenaki": "Alnôba", "Abkhaz": "аҧсуа бызшәа (aṗsua byzš˚a)", "Abui": "Abui tanga", "Achang": "Ngachang", "Acehnese": "Bahsa Acèh\nبهسا اچيه", "Acheron": "Acheron", "Achi": "Achi'", "Acholi": "Lwo", "Achuar-Shiwiar": "Achuár chícham\nShiwiar", "Achumawi": "ís siwa wó disi", "Adaizan": "Tenánat Hadéyas", "Adamaua Fulfulde": "Fulfulde", "Adyghe": "адыгэбзэ (adəgăbză)", "Adzera": "Adzera", "Afar": "ʿAfár af", "Afrikaans": "Afrikaans", "Aghul": "агъул чӀал (Ağul ç'al)", "Aguacateco": "Qa'yol", "Aguaruna": "Awajún", "Ahom": "Ahom", "Ainu": "アイヌ イタク / Aynu itak", "Ajië": "Waawilûû", "Akan": "akan", "Akhvakh": "Ашвaлъи мицIи (Ašval'i mic'i)", "Akkadian": "𒀝𒅗𒁺𒌑 (Akkadû)", "Aklan": "Inakeanon / Binisaya", "Akurio": "Akuriyó", "Alabama": "Albaamo innaaɬiilka", "Albanian": "shqip\ngjuha shqipe", "Aleut": "Unangam tunuu", "Algonquin": "Anicinâbemowin", "Alsatian": "Ëlsässisch", "Altay": "Алтай тили (Altay tili)", "Alur": "Lur", "Amahuaca": "Amahuaca", "Amarakaeri": "Amarakaeri", "Amarasi": "Amarasi", "Amele": "Sona", "Amharic": "ኣማርኛ (amarəñña)", "Amis": "Pangcah", "Andi": "мицци (Micci)", "Andoa": "Andoa", "Angami": "Angami", "Anuki": "Anuki", "Anutan": "Te Taranga Pakaanuta", "Apache": "Ndéé", "Apma": "Apma", "Arabela": "Tapweyokwaka", "Arabic (Algerian)": "دزيري / جزائري\n(dziri / jza'iri)", "Arabic (Cypriot)": "Σάννα / Sánna", "Arabic (Egyptian)": "اللغة المصرية العامية\n[elˈloɣæ l.mɑsˤˈɾejjɑ l.ʕæmˈmejjæ]\n- Egyptian colloquial language\nاللهجة المصرية\nEgyptian dialect - [elˈlæhɡæ l.mɑsˤˈɾejjɑ]\nمصري\nEgyptian - [ˈmɑsˤɾi]\nاللغة المصرية الحديثة\n[elˈloɣæ l.mɑsˤˈɾejjɑ l.ħæˈdiːsæ]\n- Modern Egyptian Language", "Arabic (Lebanese)": "اللبنانية\n(el libnénïet)", "Arabic (Modern Standard)": "اللغة العربية الفصحى\n(al-lughah al-ʻArabīyah al-fuṣḥá)", "Arabic (Moroccan)": "الدارجة\n(eddarija)", "Arabic (Syrian)": "اللهجة العربيّة السورىّة\n(el-lahjeẗ el-‛arabīyeẗ es-sūrīyé)", "Arabic (Tunisian)": "Tounsi / تونسي", "Aragonese": "Aragonés", "Arakanese": "ရခိုင်ဘာသာ", "Araki": "Araki", "Aramaic (Ancient)": "לשנא ארמיא\n(Ləšānā ’Aramāyā’)", "Aramaic (Syriac)": "ܠܫܢܐ ܤܘܪܝܝܐ\n(lešānā surjājā)", "Aramaic (Neo-)": "ܐܬܘܪܝܐ\n(ātûrāyâ)\nܣܘܪܬ\n(sûret)", "Aranese": "Aranés", "Arapaho": "Hinono'eitiit", "Arawak": "Lokono", "Arbëresh": "Arbërisht", "Archi": "Аршаттен чӀат (apšatten č’at)", "Argobba": "ዓርጎባ", "Are": "Mukawa", "Arikara": "Sáhniš", "Aringa": "Mukawa", "Armenian": "Հայերէն (Hayeren)\nՀայերեն լեզու (Hayeren lezou)", "Aromanian (Vlach)": "Armâneaşti", "Arrernte": "Arrernte angkentye", "Arvanitic": "αρbε̰ρίσ̈τ (arbërisht)", "Asháninka": "Asháninka", "Ashéninka": "Ashéninka", "Assamese": "অসমীয়া (Ôxômiya)", "Assiniboine": "Nakoda", "(Neo-)Assyrian": "ܐܵܬ݂ܘܼܪܵܝܲܐ ܠܸܫܵܢܵܐ\n(Lišānā Āshûrāya)", "Asturian": "Asturianu", "Atayal": "Atayal", "Atikamekw": "Atikamekw", "Auhelawa": "Kurada", "Avar": "магIарул мацI (ma'arul mats)\nавар мацӀ (avar maċ)", "Avestan": "(din dabireh) 𐬛𐬍𐬥 𐬛𐬀𐬠𐬌𐬫𐬭𐬵", "Avokaya": "Avokaya", "Awadhi": "अवधी", "Awara": "Awara", "Awing": "Mbwe'wi", "Awngi": "አውጚ", "Aymara": "aymar aru", "Äynu": "(äynu) ئهﻳنوُ", "Azerbaijani": "Azərbaycan dili\nАзәрбајҹан дили\nآذربايجانجا ديلي", "Babine-Witsuwit'en": "Babine-Witsuwit'en", "Badaga": "படகா / ಬಡಗ (badaga)", "Bagatha": "Bagatha", "Bagvalal": "къIaваннаб мицци (q'avannab micci)", "Bai": "Baip‧ngvp‧zix", "Baka": "Baip‧ngvp‧zix", "Balinese": "Basa Bali", "Balkar (Karachay-Balkar)": "малкъар/балкъар (malqar/balqar)\nкъарачай-малкъар тил (karačay-malqar til)", "Balti": "སྦལ་འཐུས་ / بلتی", "Baluchi": "(baluchi) بلوچی", "Bambara": "Bamanankan", "Bamum": "Shüpamom", "Baniwa": "Tapuya", "Bantawa": "Bantawa", "Barai": "Barai", "Bari": "Karo, Kutuk", "Bartangi": "Bartangi ziv", "Bashkir": "башҡорт теле (bašḵort tele)", "Basque": "euskara", "Bassa": "ɓasaá", "Batak Dairi": "Pakpak", "Batak Karo": "Cakap Karo", "Batak Mandailing": "Saro Mandailing", "Batak Simalungun": "Sahap Simalungun", "Batak Toba": "Batak Toba", "Batsbi": "ბაცბურ მოტტ (bacbur moṭṭ)", "Bavarian": "Bairisch", "Bavarian (Central)": "Donaubairisch", "Bavarian (Northern)": "Oberpfälzisch", "Bavarian (Southern)": "Alpenbairisch", "Beaver": "ᑕᓀᖚ / Dane-zaa Záágéʔ", "Beja": "Badāwīyä\nبداوية", "Belarusian": "Беларуская мова (Bielaruskaja mova)", "Beli": "’Bëlï", "Bemba": "iciBemba\nciBemba\nichiBemba\nchiBemba", "Bench": "bèntʂ nòn", "Bengali": "বাংলা (baɛṅlā)", "Bezhta": "бежкьалас миц", "Bhojpuri": "भोजपुरी (bʰojpurī)", "Biete": "Biete", "Bikol": "Bikol/Bicol", "Biloxi": "Tanêksąyaa ade", "Bima": "Nggahi Mbojo", "Bislama": "Bislama", "Bisu": "Bisu", "Blackfoot": "ᑯᖾᖹ (Pikuni)\nᖿᐟᖻᐟ (Kainai)\nᓱᖽᐧᖿ (Siksika)", "Blagar": "Blagar", "Blin": "ብሊን (bi.li.nə)", "Bodo": "बड़ो (boṛo)", "Bokar": "Bokar", "Bolinao": "Binu-Bolinao", "Bongo": "Bongo", "Bora": "Bora", "Bosnian": "bosanski / босански", "Botlikh": "Буйхалъи мицӏцӏи\n(Bujxal'i mic'c'i)", "Bouyei": "Haasqyaix", "Breton": "ar brezhoneg\nbrezhoneg", "Budukh": "Будад мез (budad mez)", "Buginese": "ᨅᨔ ᨕᨘᨁᨗ (basa ugi)", "Buhid": "ᝊᝓᝑᝒᝇ (buhid)", "Buhutu": "Buhutu", "Bulgarian": "български (bãlgarski)\nбългарски език (bãlgarski ezik)", "Bundjalung": "Yugambeh-Bundjalung", "Burmese": "ဗမာစကား (bama saka)", "Burushaski": "(burū́šaskī) بروشسکی", "Buryat": "буряад хэлэн (burǎad hêlên)", "Busa": "Bisã", "Bushi": "Shibushi\nKibushi", "Bhutanese": "རྫོང་ཁ (dzongkha)", "Carrier": "ᑐᑊᘁᗕᑋᗸ (Dulkw’ahke)", "Catalan": "català", "Cayuga": "Goyogo̱hó:nǫ’", "Cebuano": "Sinugboanon\nSugboanon", "Central Dusun": "Boros Dusun", "Chagatai": "(Jağatāy) جغتای", "Chaha": "ቸሃ", "Chamorro": "chamoru", "Chechen": "Нохчийн мотт (Noxchiin mott)", "Cherokee": "ᏣᎳᎩ (tsalagi)", "Cheyenne": "Tsėhesenėstsestotse\nTsisinstsistots", "Chichewa": "Chicheŵa", "Chickasaw": "Chikasha", "Chinese": "中文 (zhōngwén)", "Chinese\n(Cantonese)": "廣東話 [广东话] (gwóngdōngwá)\n粵語 [粤语] (yuetyuh)", "Chinese\n(Dungan)": "хуэйзў йүян\n东干语 (dōnggānyǔ)", "Chinese\n(Gan)": "赣语 (gànyŭ)\n江西话 (jiāngxī huà)", "Chinese\n(Hakka)": "客家話 [客家话] (hak7ga1fa5 / hak7ga1wa3)\n客話 [客话] (hak7fa5 / hak7wa3)\n土廣東話 [土广东话] (tu3gong3dung1wa3)\n𠊎話 [𠊎话] (ngai2wa3)", "Chinese\n(Mandarin)": "普通話 [普通话] (pŭtōnghùa)\n國語 [国语] (gúoyŭ)\n華語 [华语] (húayŭ)", "Chinese\n(Shanghainese)": "上海闲话 (Zanhe-ëwo)", "Chinese\n(Taiwanese)": "台語 (dai5-ngi2)\n台灣話 (dai5-uan5-ue7)", "Chinese\n(Teochew)": "潮州話 (Diojiu Ue)", "Chinese\n(Xiang)": "湘语 (xiāngyŭ)\n湖南话 (húnánhuà)", "Chipewyan": "Dëne Sųłiné\nᑌᓀᓲᒢᕄᓀ", "Choctaw": "Chahta Anumpa", "Coastal Kadazan": "Boos Kadazan", "Comanche": "numu tekwapu", "Cornish": "Kernewek\nKernowek\nKernuak\nCurnoack", "Corsican": "corsu", "Cree": "ᓀᐦᐃᔭᐍᐏᐣ (Nēhiyawēwin)\nᓀᐦᐃᔭᐤ (Nēhiyaw)", "Creek": "Maskoki\nMvskokē empunakv", "Croatian": "Hrvatski", "Czech": "čeština\nčeský jazyk", "Dakota": "Dakȟótiyapi - Yankton Dakota\nDakhótiyapi - Santee Dakota", "Dangme": "adangbɛ", "Danish": "dansk", "Dargwa": "дарган мез (dargan mez)", "Dari": "(dari) درى", "Dinka": "Thuɔŋjäŋ", "Ditidaht": "diid̓iitidq", "Dungan": "хуэйзў йүян (xuejzu jyjan)\nлохуэй (lohuêĭ)", "Dutch": "Nederlands", "Dzongkha (Bhutanese)": "རྫོང་ཁ (dzongkha)", "English (Old) / Anglo-Saxon": "Ænglisc", "Erzya": "эрзянь кель (erzjaņ keļ)", "Estonian": "eesti keel", "Esperanto": "Esperanto", "Ewe": "Eʋegbe", "Eyak": "I·ya·q", "Faroese": "Føroyskt", "Fijian": "Vakaviti", "Finnish": "suomi\nsuomen kieli", "Flemish": "Vlaams", "Fon": "fɔngbè", "French": "français", "Frisian (North)": "Noordfreesk (Wiedingharde)\nNordfrasch (Mooring/Böökingharde)\nNordfriisk (Sylt)\nNuurdfresk (Föhr)\nNuurdfriisk (Helgoland)", "Frisian (West)": "Frysk", "Friulan": "furlan\nmarilenghe", "Fula": "fulfulde", "Ga": "Gã", "Galician": "Galego", "Ganda": "LùGáànda", "Ge'ez": "ግዕዝ (gəʿəz)", "Genoese": "zeneize\nzeneisei", "Georgian": "ქართული (kʻartʻuli)\nქართული ენა (kʻartʻuli ena)", "German": "Deutsch", "Godoberi": "ГъибдилӀи мицци", "Gooniyandi": "Guniandi", "Greek": "ελληνικά (ellēniká)", "Greenlandic": "Kalaallisut\nKalaallit oqaasii", "Guernsey Norman": "Dgèrnésiais", "Guarani": "Avañe'ẽ", "Gujarati": "ગુજરાતી (gujarātī)", "Gwich'in": "Gwich'in", "Haida": "Xaat Kíl", "Haitian Creole": "Kreyòl ayisyen", "Hän": "Häł gołan", "Harari": "ሃራሪ", "Hausa": "(ḥawsa) حَوْسَ", "Hawaiian": "ʻōlelo Hawaiʻi", "Hebrew": "(ivrit) עברית\nעִבְרִית", "Herero": "Otjiherero", "Hindi": "हिन्दी (hindī)", "Huambisa": "Wampís", "Hungarian": "magyar\nmagyar nyelv", "Icelandic": "Íslenska", "Igbo": "igbo", "Ilocano": "ilokano", "Indonesian": "Bahasa Indonesia", "Ingush": "гӀалгӀай мотт\nġalġay mott", "Inuktitut": "ᐃᓄᒃᑎᑐᑦ (inuktitut)", "Iñupiaq": "Inupiatun", "Irish (Gaelic)": "Gaeilge (na hÉireann)\nAn Ghaeilge", "Italian": "italiano", "Japanese": "日本語 (nihongo)", "Javanese": "baṣa Jawa", "Jersey Norman": "Jèrriais", "Kabardian": "къэбэрдеибзэ (ḳêbêrdeibzê)", "Kabyle": "Taqbaylit\nثاقبايليث", "Kadazandusun": "Boros Kadazandusun\nBoos Kadazandusun", "Kaingang": "kanhgág", "Kannada": "ಕನ್ನಡ (kannaḍa)", "Kanuri": "kanuri", "Kapampangan": "Kapampangan", "Karakalpak": "қарақалпақ тили (ḳaraḳalpaḳ tili)", "Karelian": "Karjalan kieli", "Kashmiri": "कॉशुर\nكٲشُر", "Kashubian": "kaszëbsczi jãzëk", "Kawaiisu": "Nüwü'abigidü", "Kazakh": "Қазақ тілі\nQazaq tili\nقازاق ٴتىلى", "Khakas": "Хакас тілі\nKhakas tîlî", "Khmer": "ភាសាខ្មែរ (bhāsā khmɛ̄r)", "Khoekhoe": "Khoekhoegowab\nNama", "Kikuyu": "Gĩkũyũ", "Kinyarwanda": "Ikinyarwanda", "Kiribati": "taetae ni Kiribati", "Kirundi": "íkiRǔndi", "Komi": "коми кыв (komi kyv)", "Kongo": "Kikongo", "Konkani": "कोंकणी (kōṅkaṇī)\nಕೊಂಕಣಿ (koṅkaṇi)", "Korean": "한국어 [韓國語] (han-guk-eo)", "Kumyk": "Къумукъ тил (Qumuq til)", "Kurdish": "Kurdí\nکوردی\nк’öрди", "Kven": "Kainun kieli", "Kwanyama": "kuanyama", "Kyrgyz": "(kyrgyz) قىرعىز\n(kyrgyz tili) قىرعىز تىلى", "Ladin": "Ladin", "Ladino": "(djudeo-espanyol) ג'ודיאו–איספאניי", "Lahnda": "ਲਹਿੰਦੀ (lhĩdī)", "Lakota": "Lakȟótiyapi", "Lao": "ພາສາລາວ (pháasaa láo)", "Latin": "Lingua Latina", "Latvian": "latviešu valoda", "Laz": "ლაზური ნენა\nLazuri nena", "Lezgian": "лезги чӀал (lezgi čʼal)", "Limburgish": "Lèmburgs", "Lingala": "lingála", "Lithuanian": "lietuvių kalba", "Livonian": "Līvõ kēļ", "Lombard": "Lombard\nLumbaart", "Low German/Low Saxon": "Plattdüütsch\nNedderdüütsch\nNeddersassisch", "Luo": "Dholuo", "Luxembourgish": "Lëtzebuergesch", "Maasai/Maa": "ɔl Maa", "Macedonian": "македонски (Makedonski)\nмакедонски јазик (makedonski jazik)", "Maldivian": "ދިވެހި (dhivehi)", "Maithili": "मैथिली (mɛtʰilī)", "Makah": "qʷi·qʷi·diččaq", "Malagasy": "Fiteny Malagasy", "Malay": "Bahasa melayu", "Malayalam": "മലയാളം (malayāḷam)", "Maltese": "Malti", "Mandinka": "Mandingo\nلغة مندنكا", "Manipuri": "মৈইতৈইলোন", "Mansi": "Маньси (Man'si)", "Manx": "Gaelg/Gailck (Vanninagh)\nYn Ghaelg\nY Ghailck", "Māori": "te Reo Māori", "Marathi": "मराठी (marāṭhī)", "Mari/Cheremis": "марий йылме (marij jəlme)", "Marshallese": "Kajin M̧ajeļ\nKajin Majōl", "Menominee": "Mamaceqtaw", "Mirandese": "lhéngua mirandesa", "Mohawk": "Kanien'keha", "Moksha": "мокшень кяль (mokšeņ kjaļ)", "Moldovan": "лимба молдовеняскэ (limba moldovenească)", "Mongolian": "Монгол (Mongol)\nМонгол хэл (Mongol khel)\nᠮᠣᠨᠭᠭᠣᠯ ᠬᠡᠯᠡ (Mongɣol kele)", "Montagnais": "Innu-Aimun", "Nahuatl": "nāhuatl\nnawatlahtolli", "Naskapi": "ᓇᔅᑲᐱ (naskapi)\nInnu Aimun", "Nauruan": "Ekakairũ Naoero", "Navajo": "Diné Bizaad\nDinék'ehjí", "Occitan": "Occitan", "Oshiwambo": "OshiWambo", "Nepali": "नेपाली (nēpālī)", "Newari": "नेपाल भाषा (nepāl bʰāṣā)", "Niuean": "ko e vagahau Niuē\nfaka-Niue", "Nogai": "ногай тили (nogay tili)", "Noongar": "Nyungaa-wangka", "Northern Sotho": "Sesotho sa Leboa", "Norwegian": "norsk", "Nyamwezi": "kinyamwezi", "Nyoro": "runyoro", "Odia": "ଓଡ଼ିଆ (ōṛiyā)", "Ojibwe": "ᐊᓂᔑᓇᐯᒧᐏᐣ (Anishinaabemowin)\nᐅᒋᐺᒧᐎᓐ (Ojibwemowin)", "Old English": "Ænglisc", "Old Norse": "Dǫnsk tunga (ᛏᚢᚾᛋᚴ ᛏᚢᚾᚴᛆ)", "O'odham": "O'odham ñiok", "Oromo": "ኦሮሞ፞ (Oromoo)", "Ossetian": "ирон ӕвзаг (iron ævzag)", "Palauan": "tekoi ra Belau", "Pali": "पालि (pāli)", "Papiamento": "Papiamentu", "Pashto": "(paṧto) پښتو", "Persian": "(fārsī) فارسى", "Piedmontese": "Piemonteis", "Polish": "polski\njęzyk polski\npolszczyzna", "Portuguese": "português", "Punjabi": "ਪੰਜਾਬੀ / ﺏﺎﺠﻨﭘ (panjābi)", "Quechua": "Qhichwa", "Raga": "Raga", "Rapanui": "rapanui\npepito ote henua", "Rarotongan": "Māori Kūki 'Āirani\nreo ipukarea", "Romanian": "limba română\nromân", "Romansh": "rumantsch", "Romani": "रोमानो (romānī)", "Rotuman": "Faeag Rotuma", "Russian": "Русский язык (Russkij jazyk)", "Ruthenian": "Rusyn / Русин", "Saami (Inari)": "anarâškielâ", "Sámi (Kildin)": "Кӣллт са̄мь кӣлл", "Sámi (Lule)": "julevsámegiella", "Sámi (North)": "davvisámegiella\nsámegiellaa", "Sámi (Pite)": "bidumsámegiella", "Sámi (Skolt)": "Sääˊmǩiõll\nNuõrttsää’m", "Sámi (South)": "Åarjelsaemien gïele", "Sámi (Ter)": "Са̄мь кӣлл\nsaa'mekiill", "Sámi (Ume)": "Ubmejensámien giella", "Santali": "संथाली (sãtʰālī)", "Samoan": "Gagana Samoa", "Sango": "Yângâ tî Sängö", "Sanskrit": "संस्कृतम् (saṃskṛtam)\nसंस्कृता भाषा (saṃskṛtā bhāṣā)", "Sardinian": "Limba Sarda\nsardu", "Sark Norman": "Sèrtchais\nSerquiaise", "Scots": "Scots leid\nLallans\nDoric", "Scottish Gaelic": "Gàidhlig (na h-Alba)\na' Ghàidhlig", "Selkup": "шӧльӄумыт әты (šöļǩumyt ǝty)", "Serbian": "српски (srpski)\nсрпски језик (srpski jezik)", "Shavante": "aʼuwẽ mreme", "Shawnee": "Sawanwa", "Shona": "chiShona", "Shor": "Шор тили (Šor tili)", "Sicilian": "sicilianu", "Sidamo": "Sidámo 'Afó", "Silesian": "ślůnsko godka\nślůnski", "Sindhi": "(sindhī) سنڌي", "Sinhala": "සිංහල (sĩhala)", "Silt'e": "ስልጥኘ", "Slovak": "slovenčina", "Slovenian": "slovenščina", "Somali": "af Soomaali", "Soninke": "soninkanxaane", "Sorbian (Lower)": "dolnoserbski", "Sorbian (Upper)": "hornjoserbsce", "Southern Sotho": "seSotho", "South Slavey": "ᑌᓀ ᒐ\nDene-thah\nDené Dháh\nDene Zhatıé", "Spanish": "español\ncastellano", "Sundanese": "Basa Sunda", "Svan": "ლუშნუ ნინ (lušnu nin)", "Swabish": "Schwäbisch", "Swahili": "Kiswahili", "Swati": "siSwati", "Swedish": "svenska", "Swiss German": "Schwyzerdütsch", "Sylheti": "ꠍꠤꠟꠐꠤ / • ছিলটী", "Syriac": "(Lishana Suryaya) ܠܫܵܢܵܐ ܣܘܪܝܝܐ", "Tabassaran": "табасаран чIал (tabasaran čʼal)", "Tagalog": "Tagalog", "Tahitian": "te reo tahiti\nte reo Māʼohi", "Tai Nüa": "ᥖᥭᥰᥖᥬᥳᥑᥨᥒᥰ", "Tajik": "тоҷики\ntoçikī\nتاجيكي", "Tamahaq": "Tamahaq", "Tamasheq": "Tafaghist", "Tamazight": "Tamaziɣt", "Tamil": "தமிழ் (tamiḻ)", "Tatar": "татарча\ntatar tele\nتاتارچا (tatarça)", "Telugu": "తెలుగు (telugu)", "Tetum": "Tetun, Lia-Tetun", "Thai": "ภาษาไทย (paasaa-tai)", "Tibetan": "བོད་སྐད་ (pö-gay)", "Tigre": "ትግረ (tigre)\nትግሬ (tigrē)\nኻሳ (Xasa)", "Tigrinya": "ትግርኛ (təgərəña)", "Tlingit": "Lingít", "Tok Pisin": "Tok Pisin", "Tonga": "chiTonga", "Tongan": "Faka-Tonga\nlea fakatonga", "Torwali": "توروالى", "Tsez": "цез мец (cez mec)", "Tsonga": "xiTsonga", "Tswana": "Setswana", "Tumbuka": "chiTumbuka", "Turkish": "Türkçe", "Turkmen": "түркmенче (türkmençe)\nтүркмен дили (türkmen dili)", "Tuscarora": "Sgarooreh’\nSkarù∙rę’", "Tuvaluan": "Te 'gana Tūvalu", "Tuvan": "Тыва дыл\nTyva dyl", "Twi": "twi", "Udmurt": "удмурт кыл (udmurt kyl)", "Ukrainian": "Українська (Ukrajins'ka)\nукраїнська мова (ukrayins'ka mova)", "Urdu": "(urdū) اردو", "Uyghur": "ئۇيغۇرچە / Уйғурчә / Uyghurche\nئۇيغۇر تىلى / Уйғур тили / Uyghur tili", "Uzbek": "أۇزبېك ﺗﻴﻠی o'zbek tili ўзбек тили (o‘zbek tili)", "Venda": "tshiVenḓa", "Venetian": "vèneto", "Veps": "vepsän kel’", "Vietnamese": "tiếng việt (㗂越)", "Võro": "võro kiilʼ", "Votic": "Vadjaa tšeeli", "Walloon": "walon", "Waray-Waray": "Wáray-Wáray\nWinaray\nLineyte-Samarnon", "Welsh": "Cymraeg\nY Gymraeg", "Wiradjuri": "Wirraayjuurray\nWirraaydhuurray", "Wolof": "Wollof", "Xamtanga": "ኃምታጛ", "Xhosa": "isiXhosa", "Yagua": "Nijyamïï Nikyejaada", "Yi": "ꆇꉙ", "Yiddish": "(Yidish) ײִדיש", "Yindjibarndi": "Indjibandi", "Yolngu": "Yolŋu matha", "Yoruba": "Yorùbá", "Yupik": "Yup'ik/Юпик\nUngazighmiistun (Central Siberian Yupik)\nYup'igtun (Central Alaskan Yupik)", "Zhuang": "Vaƅcueŋƅ\nVahcuengh", "Zulu": "isiZulu", "Zuñi": "Shiwi'ma" }

Continents

Here is a list of continents in native tongue taken from omniglot. This is available in PHPBOM as $bom_continents.

{ "Antarctica": "Dutch, English", "Antarktis": "German", "Sydpolen / Antarktis\nDronning Maud-land": "Norwegian\n(Queen Maud's Land - name of the territory claimed by Norway)", "Antártida": "Spanish", "L'Antarctique": "French", "Antártica/Antárctida": "Portuguese", "Antartide": "Italian", "Антарктида (Antarktida)": "Russian", "南極洲 [南极洲] (nánjízhōu)": "Chinese (Mandarin)", "南極大陸 (nankyokutairiku)": "Japanese", "Aforika": "Tswana", "Africa": "English, Italian", "Afrika": "Afrikaans, German, Hausa, Igbo, Malagasy, Ndebele, Northern Sotho, Somali, Southern Sotho, Swahili, Swazi, Tsonga", "África": "Portuguese, Spanish", "አፍሪቃ (Äfriqa)": "Amharic, Tigrinya", "Afriki": "Bambara", "L'Afrique": "French", "Ⲁⲫⲣⲩⲕⲓⲁ̀ (Aḟrykià)": "Coptic", "Afurika": "Venda", "إِفْرِيقِيَا (Ifrīqiyā)": "Arabic", "iAfrika": "Xhosa, Zulu", "danh từ": "Vietnamese", "アジア (Ajia)": "Japanese", "Asia": "English, Spanish", "Ásia": "Portuguese", "L'Asie": "French", "Asien": "German", "आशिया (Āśiyā)": "Hindi, Marathi", "Asya": "Cebuano, Tagalog, Turkish", "아시아 (Asia)": "Korean", "เอเซีย (ay-see-a)": "Thai", "Ази (Azi)": "Mongolian", "Азия (Azija)": "Russian", "ايشيا": "Urdu", "قارهء اسيا": "Farsi", "亞洲 [亚洲] (Yàzhōu)": "Chinese (Mandarin)", "An Eoraip": "Irish (Gaelic)", "An Roinn Eòrpa": "Scottish Gaelic", "Avropa": "Azeri, Crimean Tatar", "Avrupa": "Turkish", "Eiropa": "Bavarian", "Eiropā": "Latvian", "Eoropa": "Venetian", "Eropa": "Franco-Provençal", "Eurohpá": "North Sámi", "Europa": "Aragonese, Aromanian, Asturian, Basque, Breton, Catalan, Cornish, Corsican, Danish, Dutch, Flemish, Friulian, Galician, German, Italian, Latin, Luxembourgish, Norwegian, Polish, Portuguese, Romanian, Romansh, Romany, Sardinian, Saterland Frisian, Sicilian, Sorbian, Spanish, Swedish", "Eùropa": "Kashubian", "Európa": "Hungarian, Slovak", "Euròpa": "Occitan", "Єѵрѡпа (Eūrōpa)": "Church Slavonic", "Europą": "Lithuanian", "Euroopa": "Estonian, North Frisian", "Eurooppa": "Finnish", "Europe": "Croatian, English, Scots", "Euruopa": "Samogitian", "Evrop": "Veps", "Evropa": "Albanian, Czech, Faroese, Slovenian", "Европа (Evropa)": "Bulgarian, Macedonian, Russian, Ukrainian", "(Evropa) איברופה": "Ladino", "Evropë": "Albanian", "Evrópa": "Icelandic", "Ewrop": "Welsh", "Ewropa": "Maltese", "Еўропа (Ewropa)": "Belarusian", "Ευρώπη (Eyrṓpī)": "Greek", "Jeropa": "West Frisian", "L'Europe": "French", "Õuruupa": "Võro", "Uropa": "Extremaduran", "Urope": "Picard, Walloon", "Ûrope": "Norman", "Yn Oarpey / Yn Europey": "Manx (Gaelic)", "'Amelika-'Akau": "Hawaiian", "América del Norte / Norteamérica": "Spanish", "América do Norte": "Portuguese", "ᐊᒥᐊᕆᑲ ᑐᓄᕕᐊᖅ\n(aamiaarika tunuviaaq)": "Inuktitut", "Ixachitlān Mictlāmpa": "Nahuatl", "L'Amérique du Nord": "French", "Nordamerika": "German", "North America": "English", "ᏧᏴᏢ ᎠᎹᏰᏟ\n(tsuyvtlv amayetli)": "Cherokee", "Oceania": "English", "Oceanía": "Spanish", "Oceânia": "Portuguese", "Océanie": "French", "Ozeanien": "German", "América del Sur / Suramérica": "Spanish", "América do Sul": "Portuguese", "L'Amérique du Sud": "French", "Ñembyamérika": "Guarani", "South America": "English", "Südamerika": "German", "Urin Awya Yala": "Quechua" }