Bibliothèque JavaScript pour taper Hindi avec des claviers internationaux

Je développe un site Web utilisant HTML5 et AngularJS . Je veux développer un site en langue hindi. Une exigence est que le site devrait permettre d'entrer du texte dans l'alphabet Devanagari même dans les appareils qui n'ont pas le clavier approprié.

Il y a quelque temps, je liaisons à chaud avec un bookmarklet Microsoft qui n'est plus disponible ( http://ilit.microsoft.com/Bookmarklet/Script/Hindi.js ) qui convertirait de l'anglais vers l'hindi: vous tapez "kya" puis obtenez le correspondant Personnages hindiens.

Pouvez-vous proposer des outils pour faire de même, en utilisant cet autre système?

Télécharger le code de http://www.gamabhana.com/?q=node/3

Extraire le dossier téléchargé. Maintenant, votre dossier contient le contenu suivant Entrez la description de l'image ici

Gamabhana_js possède tous les fichiers js dont vous avez besoin. Ouvrez l'index.html dans le navigateur et entrez quelque chose dans la zone de texte. Ensuite, vous pouvez voir les polices Hindi correspondantes au lieu de l'anglais. Vous pouvez modifier ce fichier d'index et l'utiliser en fonction de vos besoins.

Voici un exemple de code que j'ai édité Si je clique sur hindi puis je recevrai les polices Hindi au lieu de l'anglais

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script language="JavaScript" type="text/javascript" src="./gamabhana_js/GA1000.js"></script> <script language="JavaScript" type="text/javascript" src="./gamabhana_js/GA0010.js"></script> <script language="JavaScript" type="text/javascript" src="./gamabhana_js/GA0640.js"></script> <script language="JavaScript" type="text/javascript" src="./gamabhana_js/gamabhanaLib.js"></script> <script language="JavaScript" type="text/javascript" src="./gamabhana_js/fileio.js"></script> <script language="JavaScript" type="text/javascript" > gw1=null; var hindi=false; function myCustomOnInit() { try{ if(hindi==true){ gw1= new gamabhanaPhoneticHandler("elm1_ifr",'__devanagari__','__roman__','#gamabhana#'); gw1.MrAutoCor=true; GphRegisterForMasterUpdates(gw1); } } catch(e){} } function LanguageList_onchange() { gw1.SetPriLanguage(document.getElementById('LanguageList1').value); } function arrangekbhelp() { document.getElementById('kbhelpdiv').style.left=(window.document.body.clientWidth-400) + "px"; if((window.document.body.clientWidth-400)<0) document.getElementById('kbhelpdiv').style.left=0 + "px"; } function hindi1(){ hindi=true; myCustomOnInit(); } function togglekbhelp() { arrangekbhelp(); if(document.getElementById('kbhelpdiv').style.display=='block') document.getElementById('kbhelpdiv').style.display='none'; else document.getElementById('kbhelpdiv').style.display='block'; return; } window.onresize=arrangekbhelp; </script> <!-- TinyMCE --> <script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ // General options mode : "textareas", theme : "advanced", plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,template", // Theme options theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect,langselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Example content CSS (should be your site CSS) content_css : "css/content.css", oninit : "myCustomOnInit", // Drop lists for link/image/media/template dialogs template_external_list_url : "lists/template_list.js", external_link_list_url : "lists/link_list.js", external_image_list_url : "lists/image_list.js", media_external_list_url : "lists/media_list.js", // Replace values for the template plugin template_replace_values : { username : "omkar", staffid : "9383" } }); </script> <!-- /TinyMCE --> </head> <body> <form> <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%"> </textarea> </form> <button onclick="hindi1()">Hindi</button> </body> </html>