emptyfm

Listen to your favorite FM Radio station from your browser.
Log | Files | Refs | README | LICENSE

commit 2b5e651922e30196026e662c7720a5a6fb089279
Author: Nirmal Kumar R <tildezero@gmail.com>
Date:   Tue, 19 Mar 2024 18:01:39 +0530

Initial commit

Diffstat:
Aemptyfm.js | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aemptyfm.svg | 3+++
Aindex.html | 96+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aiso-3166-1-alpha2-countrycode.json | 248+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aiso-639-lang.json | 186+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 615 insertions(+), 0 deletions(-)

diff --git a/emptyfm.js b/emptyfm.js @@ -0,0 +1,82 @@ +let player; + +document.addEventListener('DOMContentLoaded', function () { + player = videojs('emptyfm'); + player.play(); +}); + +async function fetchFMStations() { + let countrySelect = document.getElementById("countryCode"); + let countryCode = countrySelect.value; + + let languagesSelect = document.getElementById("languages"); + let langCode = languagesSelect.value; + + let queryParams; + + if (!countryCode && !langCode) { + alert("You must choose either country or language, or both if you wish."); + return; + } + else if (!countryCode) { + queryParams = "language=" + langCode + "&hidebroken=true&order=clickcount&reverse=true" + } + else if (!langCode) { + queryParams = "countrycode=" + countryCode + "&hidebroken=true&order=clickcount&reverse=true" + } + else { + queryParams = "countrycode=" + countryCode + "&language=" + langCode + "&hidebroken=true&order=clickcount&reverse=true" + } + + const response = await fetch("https://de1.api.radio-browser.info/json/stations/search?" + queryParams); + const stations = await response.json(); + console.log(stations); + + changeSource(stations[1].url); +} + +function changeSource(url) { + player = videojs('emptyfm'); + player.src({ type: 'application/x-mpegURL', src: url }); + player.play(); +} + +function listCountries() { + fetch('./iso-3166-1-alpha2-countrycode.json') + .then((response) => response.json()) + .then((json) => { + for (var k in json) { + if (json.hasOwnProperty(k)) { + let selectElem = document.getElementById("countryCode"); + + let option = document.createElement("option"); + option.text = json[k]; + option.value = k; + + selectElem.appendChild(option); + } + } + }) +} + +function listLanguages() { + fetch('./iso-639-lang.json') + .then((response) => response.json()) + .then((json) => { + for (var k in json) { + if (json.hasOwnProperty(k)) { + let selectElem = document.getElementById("languages"); + + let option = document.createElement("option"); + option.text = json[k]; + option.value = k; + + selectElem.appendChild(option); + } + } + }) +} + +listCountries(); +listLanguages(); + diff --git a/emptyfm.svg b/emptyfm.svg @@ -0,0 +1,3 @@ +<svg width="121" height="29" viewBox="0 0 121 29" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M4.4082 14.5156C4.66211 15.7682 5.20378 16.7796 6.0332 17.5498C6.86263 18.32 7.83171 18.7051 8.94043 18.7051C10.0492 18.7051 11.1663 18.2269 12.292 17.2705C12.7152 17.5498 12.9733 17.8799 13.0664 18.2607C12.2878 19.1663 11.1367 19.8138 9.61328 20.2031C8.99544 20.3639 8.28027 20.4443 7.46777 20.4443C6.66374 20.4443 5.83008 20.2962 4.9668 20C4.10352 19.7122 3.3291 19.2891 2.64355 18.7305C1.96647 18.1719 1.42904 17.4398 1.03125 16.5342C0.633464 15.6201 0.43457 14.6087 0.43457 13.5C0.43457 12.3913 0.637695 11.3883 1.04395 10.4912C1.4502 9.58561 1.98763 8.84505 2.65625 8.26953C4.05273 7.05924 5.65234 6.4541 7.45508 6.4541C9.03776 6.4541 10.4089 6.88151 11.5684 7.73633C12.127 8.15951 12.5713 8.70964 12.9014 9.38672C13.2399 10.0553 13.4092 10.8128 13.4092 11.6592C13.4092 13.1064 12.931 13.8682 11.9746 13.9443L4.4082 14.5156ZM9.99414 11.2783C9.99414 10.2712 9.71484 9.48405 9.15625 8.91699C8.59766 8.34993 7.86556 8.06641 6.95996 8.06641C6.05436 8.06641 5.36882 8.49382 4.90332 9.34863C4.43783 10.195 4.20508 11.3714 4.20508 12.8779C6.3125 12.6494 8.2168 12.4082 9.91797 12.1543C9.96875 11.8496 9.99414 11.5576 9.99414 11.2783ZM26.1426 13.4492L26.1553 12.6748C26.1553 11.2783 26.0283 10.3431 25.7744 9.86914C25.529 9.39518 25.0635 9.1582 24.3779 9.1582C23.9632 9.1582 23.5104 9.31055 23.0195 9.61523C22.5286 9.91146 21.8896 10.3896 21.1025 11.0498C21.111 11.5661 21.1152 12.7806 21.1152 14.6934C21.1152 16.5977 21.111 18.3665 21.1025 20C20.2139 20.1777 19.4437 20.2666 18.792 20.2666C18.1403 20.2666 17.6029 20.1862 17.1797 20.0254C17.2897 18.1042 17.3447 16.3607 17.3447 14.7949C17.3447 13.2207 17.3151 11.5745 17.2559 9.85645C17.2559 9.21322 17.0189 8.84082 16.5449 8.73926C16.2572 8.64616 15.8509 8.57845 15.3262 8.53613C15.3177 8.48535 15.305 8.42611 15.2881 8.3584C15.2796 8.28223 15.2712 8.22298 15.2627 8.18066C15.2458 8.06217 15.2373 7.96061 15.2373 7.87598C15.2373 7.79134 15.2415 7.71517 15.25 7.64746C16.5111 6.9196 18.0303 6.55566 19.8076 6.55566C19.9684 6.55566 20.2012 6.56413 20.5059 6.58105C20.7005 6.88574 20.8317 7.33431 20.8994 7.92676C20.9671 8.51074 21.0179 8.92122 21.0518 9.1582C22.516 7.82096 23.7812 6.99154 24.8477 6.66992C25.3385 6.52604 25.8167 6.4541 26.2822 6.4541C26.7477 6.4541 27.1624 6.50065 27.5264 6.59375C27.8988 6.67839 28.2458 6.81803 28.5674 7.0127C29.2445 7.42741 29.6169 8.12565 29.6846 9.10742C31.2419 7.33854 32.9642 6.4541 34.8516 6.4541C35.9095 6.4541 36.7389 6.72493 37.3398 7.2666C38 7.87598 38.3301 9.0651 38.3301 10.834C38.3301 11.5618 38.2708 12.5986 38.1523 13.9443C38.0339 15.2816 37.9746 16.4919 37.9746 17.5752C37.9746 17.7952 38.1312 17.9645 38.4443 18.083C38.7575 18.2015 39.0622 18.2607 39.3584 18.2607C39.6631 18.2607 39.8704 18.2438 39.9805 18.21C40.0905 18.4723 40.1455 18.6882 40.1455 18.8574C40.1455 19.0267 40.1328 19.1494 40.1074 19.2256C38.7279 20.0889 37.5895 20.5205 36.6924 20.5205C35.2282 20.5205 34.4961 19.3525 34.4961 17.0166L34.6611 12.5098C34.6611 11.2233 34.5511 10.3473 34.3311 9.88184C34.111 9.41634 33.7132 9.18359 33.1377 9.18359C32.0459 9.18359 30.9033 9.69564 29.71 10.7197C29.7607 16.0264 29.8369 19.0521 29.9385 19.7969C29.0329 20.0508 28.2965 20.1777 27.7295 20.1777C27.1709 20.1777 26.5911 20.11 25.9902 19.9746C25.9818 19.8053 25.9775 19.5387 25.9775 19.1748L26.1426 13.4492ZM43.4971 28.2393C43.6663 26.555 43.751 23.6393 43.751 19.4922C43.751 15.3366 43.6325 12.1162 43.3955 9.83105C43.3447 8.95931 42.8665 8.48535 41.9609 8.40918C41.9525 8.3584 41.9398 8.29915 41.9229 8.23145C41.9144 8.15527 41.9059 8.09603 41.8975 8.05371C41.8805 7.93522 41.8721 7.83366 41.8721 7.74902C41.8721 7.66439 41.8763 7.58822 41.8848 7.52051C43.0104 7.08887 43.9287 6.8265 44.6396 6.7334C45.3506 6.63184 45.8669 6.58105 46.1885 6.58105C46.5186 6.58105 46.7217 6.58105 46.7979 6.58105C46.9925 6.87728 47.1237 7.42318 47.1914 8.21875C47.7754 7.68555 48.4567 7.26237 49.2354 6.94922C50.0225 6.63607 50.7546 6.47949 51.4316 6.47949C52.1172 6.47949 52.7096 6.53451 53.209 6.64453C53.7083 6.74609 54.1992 6.94076 54.6816 7.22852C55.1725 7.50781 55.5957 7.87174 55.9512 8.32031C56.8229 9.42057 57.2588 10.9906 57.2588 13.0303C57.2588 14.0036 57.1064 14.9092 56.8018 15.7471C56.4971 16.585 56.0951 17.2917 55.5957 17.8672C55.1048 18.4427 54.542 18.9336 53.9072 19.3398C52.68 20.127 51.457 20.5205 50.2383 20.5205C49.0195 20.5205 48.0378 20.3978 47.293 20.1523C47.293 21.752 47.276 24.473 47.2422 28.3154C46.472 28.4508 45.778 28.5186 45.1602 28.5186C44.5508 28.5186 43.9964 28.4255 43.4971 28.2393ZM47.2422 9.57715C47.276 11.693 47.293 14.6722 47.293 18.5146C47.8177 18.7093 48.4144 18.8066 49.083 18.8066C49.7601 18.8066 50.3271 18.7008 50.7842 18.4893C51.2412 18.2692 51.6686 17.9476 52.0664 17.5244C52.9382 16.585 53.374 15.1673 53.374 13.2715C53.374 11.3164 52.972 9.99609 52.168 9.31055C51.5671 8.79427 50.8223 8.53613 49.9336 8.53613C49.0534 8.53613 48.1562 8.88314 47.2422 9.57715ZM67.0977 17.4482C67.4023 17.7275 67.5758 18.0153 67.6182 18.3115C66.501 19.7334 65.2103 20.4443 63.7461 20.4443C62.7897 20.4443 62.1126 20.0635 61.7148 19.3018C61.3763 18.6331 61.1689 17.4863 61.0928 15.8613C61.0251 13.3223 60.9912 10.9567 60.9912 8.76465C60.1279 8.73079 59.599 8.68848 59.4043 8.6377C59.362 8.56999 59.3408 8.32031 59.3408 7.88867C59.3408 7.45703 59.362 7.22005 59.4043 7.17773L61.0166 7.02539C61.0166 6.84766 61.042 5.99707 61.0928 4.47363C61.516 4.04199 62.1338 3.71191 62.9463 3.4834C63.7673 3.24642 64.4951 3.12793 65.1299 3.12793C65.0114 4.2028 64.9141 5.50195 64.8379 7.02539C65.1172 7.03385 65.9593 7.08464 67.3643 7.17773C67.4066 7.32161 67.4277 7.59668 67.4277 8.00293C67.4277 8.40918 67.4066 8.65462 67.3643 8.73926C66.5856 8.84082 65.7181 8.9043 64.7617 8.92969C64.7279 9.93685 64.7109 11.2106 64.7109 12.751C64.7109 14.2829 64.7448 15.7301 64.8125 17.0928C64.8379 17.6175 65.1003 17.8799 65.5996 17.8799C66.1074 17.8799 66.6068 17.736 67.0977 17.4482ZM71.4014 23.5928C71.4945 23.9398 71.6553 24.2487 71.8838 24.5195C72.1208 24.7988 72.4085 24.9385 72.7471 24.9385C73.2972 24.9385 73.8092 24.5745 74.2832 23.8467C74.7572 23.1273 75.1634 22.1117 75.502 20.7998C75.3327 20.3174 74.8587 19.2298 74.0801 17.5371C73.3099 15.8444 72.4001 14.0417 71.3506 12.1289C70.1742 9.99609 69.3109 8.83659 68.7607 8.65039C68.6338 8.60807 68.4941 8.58268 68.3418 8.57422C68.1979 8.56576 68.071 8.55729 67.9609 8.54883C67.8424 8.54036 67.7663 8.53613 67.7324 8.53613C67.6732 8.12142 67.6436 7.88867 67.6436 7.83789C67.6436 7.77865 67.6478 7.71517 67.6562 7.64746C69.0189 6.88574 70.2884 6.50488 71.4648 6.50488C71.9642 6.50488 72.4466 6.60221 72.9121 6.79688C73.3776 6.99154 73.9827 7.98177 74.7275 9.76758C75.4808 11.5449 76.3314 14.1686 77.2793 17.6387C78.388 13.8978 79.2513 10.8636 79.8691 8.53613C80.0469 7.85905 80.36 7.34701 80.8086 7C81.2656 6.65299 81.71 6.47949 82.1416 6.47949C83.3942 6.47949 84.1898 6.96615 84.5283 7.93945C84.4268 7.93945 84.2236 8.10026 83.9189 8.42188C83.6227 8.73503 83.2969 9.16667 82.9414 9.7168C82.5859 10.2585 82.1924 10.9948 81.7607 11.9258C81.3376 12.8568 80.944 13.8132 80.5801 14.7949C80.2246 15.7767 79.8353 16.8262 79.4121 17.9434C78.9889 19.0521 78.5785 20.11 78.1807 21.1172C77.7913 22.1328 77.3555 23.1104 76.873 24.0498C76.3906 24.9893 75.9082 25.7975 75.4258 26.4746C74.9434 27.1602 74.4017 27.7061 73.8008 28.1123C73.1999 28.527 72.6159 28.7344 72.0488 28.7344C71.4902 28.7344 71.0247 28.654 70.6523 28.4932C70.2884 28.3408 70.0049 28.1335 69.8018 27.8711C69.4124 27.3379 69.2178 26.7581 69.2178 26.1318C69.2178 25.514 69.4251 24.9723 69.8398 24.5068C70.263 24.0413 70.7835 23.7367 71.4014 23.5928ZM90.9395 8.11719L93.8086 8.23145C94.054 8.23145 94.2318 8.22721 94.3418 8.21875C94.3757 8.21875 94.3926 8.48112 94.3926 9.00586C94.3926 9.52214 94.3757 9.78027 94.3418 9.78027C93.3516 9.89876 92.2174 9.95801 90.9395 9.95801C90.9395 15.3747 91.0241 18.7135 91.1934 19.9746C90.7617 20.1523 90.1566 20.2412 89.3779 20.2412C88.5993 20.2412 87.9307 20.1608 87.3721 20C87.2874 15.9714 87.2451 12.5732 87.2451 9.80566C86.5003 9.72103 85.8402 9.67871 85.2646 9.67871C85.2223 9.611 85.2012 9.36133 85.2012 8.92969C85.2012 8.49805 85.2223 8.26107 85.2646 8.21875C85.8402 8.14258 86.5003 8.0918 87.2451 8.06641C87.279 6.43294 87.3044 5.41309 87.3213 5.00684C87.3382 4.60059 87.4482 4.08431 87.6514 3.45801C87.8545 2.82324 88.1084 2.30273 88.4131 1.89648C88.7262 1.48177 89.0859 1.13477 89.4922 0.855469C90.237 0.35612 91.0495 0.106445 91.9297 0.106445C92.8184 0.106445 93.5547 0.195312 94.1387 0.373047C94.7227 0.550781 95.1966 0.859701 95.5605 1.2998C95.9245 1.73145 96.1064 2.27311 96.1064 2.9248C96.1064 3.56803 95.9499 4.10124 95.6367 4.52441C95.3236 4.94759 94.8242 5.15918 94.1387 5.15918C93.8255 5.15918 93.5378 5.09993 93.2754 4.98145C93.0215 4.86296 92.8395 4.75293 92.7295 4.65137C92.6279 4.54134 92.5771 4.47363 92.5771 4.44824C92.6364 4.17741 92.666 3.83887 92.666 3.43262C92.666 3.02637 92.5645 2.66243 92.3613 2.34082C92.1582 2.01074 91.8704 1.8457 91.498 1.8457C91.1257 1.8457 90.8294 1.98112 90.6094 2.25195C90.3978 2.51432 90.292 2.86133 90.292 3.29297C90.292 3.72461 90.3978 4.38053 90.6094 5.26074C90.8294 6.14095 90.9395 6.73763 90.9395 7.05078V8.11719ZM106.91 13.4492L106.923 12.6748C106.923 11.2783 106.796 10.3431 106.542 9.86914C106.297 9.39518 105.831 9.1582 105.146 9.1582C104.731 9.1582 104.278 9.31055 103.787 9.61523C103.296 9.91146 102.657 10.3896 101.87 11.0498C101.879 11.5661 101.883 12.7806 101.883 14.6934C101.883 16.5977 101.879 18.3665 101.87 20C100.981 20.1777 100.211 20.2666 99.5596 20.2666C98.9079 20.2666 98.3704 20.1862 97.9473 20.0254C98.0573 18.1042 98.1123 16.3607 98.1123 14.7949C98.1123 13.2207 98.0827 11.5745 98.0234 9.85645C98.0234 9.21322 97.7865 8.84082 97.3125 8.73926C97.0247 8.64616 96.6185 8.57845 96.0938 8.53613C96.0853 8.48535 96.0726 8.42611 96.0557 8.3584C96.0472 8.28223 96.0387 8.22298 96.0303 8.18066C96.0133 8.06217 96.0049 7.96061 96.0049 7.87598C96.0049 7.79134 96.0091 7.71517 96.0176 7.64746C97.2786 6.9196 98.7979 6.55566 100.575 6.55566C100.736 6.55566 100.969 6.56413 101.273 6.58105C101.468 6.88574 101.599 7.33431 101.667 7.92676C101.735 8.51074 101.785 8.92122 101.819 9.1582C103.284 7.82096 104.549 6.99154 105.615 6.66992C106.106 6.52604 106.584 6.4541 107.05 6.4541C107.515 6.4541 107.93 6.50065 108.294 6.59375C108.666 6.67839 109.013 6.81803 109.335 7.0127C110.012 7.42741 110.384 8.12565 110.452 9.10742C112.009 7.33854 113.732 6.4541 115.619 6.4541C116.677 6.4541 117.507 6.72493 118.107 7.2666C118.768 7.87598 119.098 9.0651 119.098 10.834C119.098 11.5618 119.038 12.5986 118.92 13.9443C118.801 15.2816 118.742 16.4919 118.742 17.5752C118.742 17.7952 118.899 17.9645 119.212 18.083C119.525 18.2015 119.83 18.2607 120.126 18.2607C120.431 18.2607 120.638 18.2438 120.748 18.21C120.858 18.4723 120.913 18.6882 120.913 18.8574C120.913 19.0267 120.9 19.1494 120.875 19.2256C119.495 20.0889 118.357 20.5205 117.46 20.5205C115.996 20.5205 115.264 19.3525 115.264 17.0166L115.429 12.5098C115.429 11.2233 115.319 10.3473 115.099 9.88184C114.879 9.41634 114.481 9.18359 113.905 9.18359C112.813 9.18359 111.671 9.69564 110.478 10.7197C110.528 16.0264 110.604 19.0521 110.706 19.7969C109.8 20.0508 109.064 20.1777 108.497 20.1777C107.938 20.1777 107.359 20.11 106.758 19.9746C106.749 19.8053 106.745 19.5387 106.745 19.1748L106.91 13.4492Z" fill="#BF3939"/> +</svg> diff --git a/index.html b/index.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset=utf-8 /> + <title>emptyfm - Listen to your favorite FM radio</title> + <link href="https://vjs.zencdn.net/8.10.0/video-js.css" rel="stylesheet" /> + <style> + body { + max-width: 1080px; + margin: 0 auto; + padding: 2.5em; + font-family: sans-serif; + font-size: 17px; + color: #222; + background-color: #FCE3A5; + } + + header { + margin: 2em auto; + padding: 1em; + border: 3px solid #444; + background-color: #E97C7C; + box-sizing: border-box; + } + + .form-item { + margin: 1em; + } + + .form-item:last-child { + margin-top: 2em; + } + + select, + button { + height: 32px; + font-size: 17px; + box-sizing: border-box; + } + + button { + padding: 0 1em; + background: #15C; + border: 1px solid #000; + color: white; + cursor: pointer; + } + </style> +</head> +<body> + <div class="logo"> + <a href="/"><img src="emptyfm.svg" /></a> + </div> + + <header> + <div class="form-item"> + <label for="countryCode">Choose a country:</label> + <select name="country_code" id="countryCode"> + <option value="" selected>None</option> + </select> + </div> + + <div class="form-item"> + <label for="languages">Choose a language:</label> + <select name="languages" id="languages"> + <option value="" selected>None</option> + </select> + </div> + + <div class="form-item"> + <button onclick="fetchFMStations()">Find stations</button> + </div> + </header> + + + <video + id="emptyfm" + class="video-js vjs-default-skin vjs-16-9" + controls + preload="auto" + poster="https://img.freepik.com/free-photo/radio-nature-concept_23-2150246091.jpg?w=740&t=st=1710837307~exp=1710837907~hmac=406857451731b48b11d0cb06346e6346e3891e5392c09cb977e77901e6432826" + autoplay="true" + muted="muted" + data-setup="{}" + > + <source + src="https://air.pc.cdn.bitgravity.com/air/live/pbaudio051/playlist.m3u8" + type="application/x-mpegURL"> + </video> + + <script src="https://vjs.zencdn.net/8.10.0/video.min.js"></script> + <script src="https://unpkg.com/browse/@videojs/http-streaming@2.6.0/dist/videojs-http-streaming.min.js"></script> + + <script src="emptyfm.js"></script> +</body> +</html> diff --git a/iso-3166-1-alpha2-countrycode.json b/iso-3166-1-alpha2-countrycode.json @@ -0,0 +1,248 @@ +{ + "AF": "Afghanistan", + "AX": "Aland Islands", + "AL": "Albania", + "DZ": "Algeria", + "AS": "American Samoa", + "AD": "Andorra", + "AO": "Angola", + "AI": "Anguilla", + "AQ": "Antarctica", + "AG": "Antigua And Barbuda", + "AR": "Argentina", + "AM": "Armenia", + "AW": "Aruba", + "AU": "Australia", + "AT": "Austria", + "AZ": "Azerbaijan", + "BS": "Bahamas", + "BH": "Bahrain", + "BD": "Bangladesh", + "BB": "Barbados", + "BY": "Belarus", + "BE": "Belgium", + "BZ": "Belize", + "BJ": "Benin", + "BM": "Bermuda", + "BT": "Bhutan", + "BO": "Bolivia", + "BA": "Bosnia And Herzegovina", + "BW": "Botswana", + "BV": "Bouvet Island", + "BR": "Brazil", + "IO": "British Indian Ocean Territory", + "BN": "Brunei Darussalam", + "BG": "Bulgaria", + "BF": "Burkina Faso", + "BI": "Burundi", + "KH": "Cambodia", + "CM": "Cameroon", + "CA": "Canada", + "CV": "Cape Verde", + "KY": "Cayman Islands", + "CF": "Central African Republic", + "TD": "Chad", + "CL": "Chile", + "CN": "China", + "CX": "Christmas Island", + "CC": "Cocos (Keeling) Islands", + "CO": "Colombia", + "KM": "Comoros", + "CG": "Congo", + "CD": "Congo, Democratic Republic", + "CK": "Cook Islands", + "CR": "Costa Rica", + "CI": "Cote D\"Ivoire", + "HR": "Croatia", + "CU": "Cuba", + "CY": "Cyprus", + "CZ": "Czech Republic", + "DK": "Denmark", + "DJ": "Djibouti", + "DM": "Dominica", + "DO": "Dominican Republic", + "EC": "Ecuador", + "EG": "Egypt", + "SV": "El Salvador", + "GQ": "Equatorial Guinea", + "ER": "Eritrea", + "EE": "Estonia", + "ET": "Ethiopia", + "FK": "Falkland Islands (Malvinas)", + "FO": "Faroe Islands", + "FJ": "Fiji", + "FI": "Finland", + "FR": "France", + "GF": "French Guiana", + "PF": "French Polynesia", + "TF": "French Southern Territories", + "GA": "Gabon", + "GM": "Gambia", + "GE": "Georgia", + "DE": "Germany", + "GH": "Ghana", + "GI": "Gibraltar", + "GR": "Greece", + "GL": "Greenland", + "GD": "Grenada", + "GP": "Guadeloupe", + "GU": "Guam", + "GT": "Guatemala", + "GG": "Guernsey", + "GN": "Guinea", + "GW": "Guinea-Bissau", + "GY": "Guyana", + "HT": "Haiti", + "HM": "Heard Island & Mcdonald Islands", + "VA": "Holy See (Vatican City State)", + "HN": "Honduras", + "HK": "Hong Kong", + "HU": "Hungary", + "IS": "Iceland", + "IN": "India", + "ID": "Indonesia", + "IR": "Iran, Islamic Republic Of", + "IQ": "Iraq", + "IE": "Ireland", + "IM": "Isle Of Man", + "IL": "Israel", + "IT": "Italy", + "JM": "Jamaica", + "JP": "Japan", + "JE": "Jersey", + "JO": "Jordan", + "KZ": "Kazakhstan", + "KE": "Kenya", + "KI": "Kiribati", + "KR": "Korea", + "KP": "North Korea", + "KW": "Kuwait", + "KG": "Kyrgyzstan", + "LA": "Lao People\"s Democratic Republic", + "LV": "Latvia", + "LB": "Lebanon", + "LS": "Lesotho", + "LR": "Liberia", + "LY": "Libyan Arab Jamahiriya", + "LI": "Liechtenstein", + "LT": "Lithuania", + "LU": "Luxembourg", + "MO": "Macao", + "MK": "Macedonia", + "MG": "Madagascar", + "MW": "Malawi", + "MY": "Malaysia", + "MV": "Maldives", + "ML": "Mali", + "MT": "Malta", + "MH": "Marshall Islands", + "MQ": "Martinique", + "MR": "Mauritania", + "MU": "Mauritius", + "YT": "Mayotte", + "MX": "Mexico", + "FM": "Micronesia, Federated States Of", + "MD": "Moldova", + "MC": "Monaco", + "MN": "Mongolia", + "ME": "Montenegro", + "MS": "Montserrat", + "MA": "Morocco", + "MZ": "Mozambique", + "MM": "Myanmar", + "NA": "Namibia", + "NR": "Nauru", + "NP": "Nepal", + "NL": "Netherlands", + "AN": "Netherlands Antilles", + "NC": "New Caledonia", + "NZ": "New Zealand", + "NI": "Nicaragua", + "NE": "Niger", + "NG": "Nigeria", + "NU": "Niue", + "NF": "Norfolk Island", + "MP": "Northern Mariana Islands", + "NO": "Norway", + "OM": "Oman", + "PK": "Pakistan", + "PW": "Palau", + "PS": "Palestinian Territory, Occupied", + "PA": "Panama", + "PG": "Papua New Guinea", + "PY": "Paraguay", + "PE": "Peru", + "PH": "Philippines", + "PN": "Pitcairn", + "PL": "Poland", + "PT": "Portugal", + "PR": "Puerto Rico", + "QA": "Qatar", + "RE": "Reunion", + "RO": "Romania", + "RU": "Russian Federation", + "RW": "Rwanda", + "BL": "Saint Barthelemy", + "SH": "Saint Helena", + "KN": "Saint Kitts And Nevis", + "LC": "Saint Lucia", + "MF": "Saint Martin", + "PM": "Saint Pierre And Miquelon", + "VC": "Saint Vincent And Grenadines", + "WS": "Samoa", + "SM": "San Marino", + "ST": "Sao Tome And Principe", + "SA": "Saudi Arabia", + "SN": "Senegal", + "RS": "Serbia", + "SC": "Seychelles", + "SL": "Sierra Leone", + "SG": "Singapore", + "SK": "Slovakia", + "SI": "Slovenia", + "SB": "Solomon Islands", + "SO": "Somalia", + "ZA": "South Africa", + "GS": "South Georgia And Sandwich Isl.", + "ES": "Spain", + "LK": "Sri Lanka", + "SD": "Sudan", + "SR": "Suriname", + "SJ": "Svalbard And Jan Mayen", + "SZ": "Swaziland", + "SE": "Sweden", + "CH": "Switzerland", + "SY": "Syrian Arab Republic", + "TW": "Taiwan", + "TJ": "Tajikistan", + "TZ": "Tanzania", + "TH": "Thailand", + "TL": "Timor-Leste", + "TG": "Togo", + "TK": "Tokelau", + "TO": "Tonga", + "TT": "Trinidad And Tobago", + "TN": "Tunisia", + "TR": "Turkey", + "TM": "Turkmenistan", + "TC": "Turks And Caicos Islands", + "TV": "Tuvalu", + "UG": "Uganda", + "UA": "Ukraine", + "AE": "United Arab Emirates", + "GB": "United Kingdom", + "US": "United States", + "UM": "United States Outlying Islands", + "UY": "Uruguay", + "UZ": "Uzbekistan", + "VU": "Vanuatu", + "VE": "Venezuela", + "VN": "Vietnam", + "VG": "Virgin Islands, British", + "VI": "Virgin Islands, U.S.", + "WF": "Wallis And Futuna", + "EH": "Western Sahara", + "YE": "Yemen", + "ZM": "Zambia", + "ZW": "Zimbabwe" +} diff --git a/iso-639-lang.json b/iso-639-lang.json @@ -0,0 +1,186 @@ +{ + "aa": "Afar", + "ab": "Abkhazian", + "ae": "Avestan", + "af": "Afrikaans", + "ak": "Akan", + "am": "Amharic", + "an": "Aragonese", + "ar": "Arabic", + "as": "Assamese", + "av": "Avaric", + "ay": "Aymara", + "az": "Azerbaijani", + "ba": "Bashkir", + "be": "Belarusian", + "bg": "Bulgarian", + "bh": "Bihari languages", + "bi": "Bislama", + "bm": "Bambara", + "bn": "Bengali", + "bo": "Tibetan", + "br": "Breton", + "bs": "Bosnian", + "ca": "Catalan", + "ce": "Chechen", + "ch": "Chamorro", + "co": "Corsican", + "cr": "Cree", + "cs": "Czech", + "cu": "Church Slavic", + "cv": "Chuvash", + "cy": "Welsh", + "da": "Danish", + "de": "German", + "dv": "Maldivian", + "dz": "Dzongkha", + "ee": "Ewe", + "el": "Greek", + "en": "English", + "eo": "Esperanto", + "es": "Spanish", + "et": "Estonian", + "eu": "Basque", + "fa": "Persian", + "ff": "Fulah", + "fi": "Finnish", + "fj": "Fijian", + "fo": "Faroese", + "fr": "French", + "fy": "Western Frisian", + "ga": "Irish", + "gd": "Gaelic", + "gl": "Galician", + "gn": "Guarani", + "gu": "Gujarati", + "gv": "Manx", + "ha": "Hausa", + "he": "Hebrew", + "hi": "Hindi", + "ho": "Hiri Motu", + "hr": "Croatian", + "ht": "Haitian", + "hu": "Hungarian", + "hy": "Armenian", + "hz": "Herero", + "ia": "Interlingua", + "id": "Indonesian", + "ie": "Interlingue", + "ig": "Igbo", + "ii": "Sichuan Yi", + "ik": "Inupiaq", + "io": "Ido", + "is": "Icelandic", + "it": "Italian", + "iu": "Inuktitut", + "ja": "Japanese", + "jv": "Javanese", + "ka": "Georgian", + "kg": "Kongo", + "ki": "Kikuyu", + "kj": "Kuanyama", + "kk": "Kazakh", + "kl": "Kalaallisut", + "km": "Central Khmer", + "kn": "Kannada", + "ko": "Korean", + "kr": "Kanuri", + "ks": "Kashmiri", + "ku": "Kurdish", + "kv": "Komi", + "kw": "Cornish", + "ky": "Kirghiz", + "la": "Latin", + "lb": "Luxembourgish", + "lg": "Ganda", + "li": "Limburgan", + "ln": "Lingala", + "lo": "Lao", + "lt": "Lithuanian", + "lu": "Luba-Katanga", + "lv": "Latvian", + "mg": "Malagasy", + "mh": "Marshallese", + "mi": "Maori", + "mk": "Macedonian", + "ml": "Malayalam", + "mn": "Mongolian", + "mr": "Marathi", + "ms": "Malay", + "mt": "Maltese", + "my": "Burmese", + "na": "Nauru", + "nb": "Norwegian", + "nd": "North Ndebele", + "ne": "Nepali", + "ng": "Ndonga", + "nl": "Dutch", + "nn": "Norwegian", + "no": "Norwegian", + "nr": "South Ndebele", + "nv": "Navajo", + "ny": "Chichewa", + "oc": "Occitan", + "oj": "Ojibwa", + "om": "Oromo", + "or": "Oriya", + "os": "Ossetic", + "pa": "Panjabi", + "pi": "Pali", + "pl": "Polish", + "ps": "Pushto", + "pt": "Portuguese", + "qu": "Quechua", + "rm": "Romansh", + "rn": "Rundi", + "ro": "Romanian", + "ru": "Russian", + "rw": "Kinyarwanda", + "sa": "Sanskrit", + "sc": "Sardinian", + "sd": "Sindhi", + "se": "Northern Sami", + "sg": "Sango", + "si": "Sinhala", + "sk": "Slovak", + "sl": "Slovenian", + "sm": "Samoan", + "sn": "Shona", + "so": "Somali", + "sq": "Albanian", + "sr": "Serbian", + "ss": "Swati", + "st": "Sotho, Southern", + "su": "Sundanese", + "sv": "Swedish", + "sw": "Swahili", + "ta": "Tamil", + "te": "Telugu", + "tg": "Tajik", + "th": "Thai", + "ti": "Tigrinya", + "tk": "Turkmen", + "tl": "Tagalog", + "tn": "Tswana", + "to": "Tonga", + "tr": "Turkish", + "ts": "Tsonga", + "tt": "Tatar", + "tw": "Twi", + "ty": "Tahitian", + "ug": "Uighur", + "uk": "Ukrainian", + "ur": "Urdu", + "uz": "Uzbek", + "ve": "Venda", + "vi": "Vietnamese", + "vo": "Volapük", + "wa": "Walloon", + "wo": "Wolof", + "xh": "Xhosa", + "yi": "Yiddish", + "yo": "Yoruba", + "za": "Zhuang", + "zh": "Chinese", + "zu": "Zulu" +}