Código fonte
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>EmojiSound Multi-Language</title>
<style>
body {
font-family: "Arial", Sans-Serif;
font-size: 22pt;
}
</style>
</head>
<body><b>How Emojis Sound in</b><BR>
<label for="lang">language: </label>
<select name="lang" id="lang" onchange="gen()">
<option value="pt">🇧🇷 Portuguese</option>
<option value="es">🇪🇸 Spanish</option>
<option value="fr">🇫🇷 French</option>
<option value="it">🇮🇹 Italian</option>
<option value="ru">🇷🇺 Russian</option>
<option value="en-US">🇺🇸 English US</option>
<option value="en-GB">🇬🇧 English UK</option>
<option value="de-DE">🇩🇪 German</option>
<option value="ja">🇯🇵 Japanese</option>
<option value="zh">🇨🇳 Chinese</option>
</select><br>
<input type="checkbox" id="mobile" name="mobile" checked="true" onchange="gen()">
<label for="mobile">mobile</label>
<input type="checkbox" id="dark" name="dark" onchange="d()" />
<label for="dark">dark mode</label>
<p style='font-family: "Lucida Console", "Courier New", monospace; font-size: 26pt; cursor: crosshair;' id="out"></p>
<script>
gen();
function gen() {
l=get("lang").value;
M=n=>String.fromCodePoint(n);
if (get("mobile").checked) sa="<table><tr>",sb="</td><td ",sc="</tr><tr>",sd="</td></tr></table>";
else sa=sc=sd="",sb="</b><b ";
for(o=''+sa,i=0;i<1792;o+=(sb+`onclick="speechSynthesis.speak(b=new SpeechSynthesisUtterance('${a=M(z)}'),b.lang='${l}',b)">`+a+(i%8?'':sc)))z=127744+i++; // simple codes
for(o+=sd+sa,i=0;i<676;i++) o+=(sb+`onclick="speechSynthesis.speak(b=new SpeechSynthesisUtterance('${a=M( 0x1F1E6+~~(i/26)%26)+M(0x1F1E6+i%26) }'),b.lang='${l}',b)">`+a+(i%8?'':sc)); // country flags
put(o+sd);
}
function d() {
dm = get("dark").checked;
document.body.style.color = dm?"white":"black";
document.body.style.backgroundColor = dm?"black":"white";
}
function get(o) { return document.getElementById(o); }
function put(o) { get("out").innerHTML=o; }
</script></body></html>