Kousubha, We have done this already, here is the patch.
Thanks, Savitra Sirohi Nucsoft OSS labs http://www.osslabs.biz This is available only on the masthead search box in the OPAC. User has to enter a word in english and press space or return to transliterate the word. The destination language can be selected from a drop down list. User can temporarily turn on/off the feature by using "ctrl +g". A system preference - GoogleIndicTransliteration can be used to turn on this feature. --- koha-tmpl/opac-tmpl/prog/en/css/opac.css | 5 +++ .../opac-tmpl/prog/en/includes/doc-head-close.inc | 5 +++ koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc | 4 +- .../prog/en/js/googleindictransliteration.js | 29 ++++++++++++++++++++ opac/opac-main.pl | 5 +++ opac/opac-search.pl | 5 +++ 6 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 koha-tmpl/opac-tmpl/prog/en/js/googleindictransliteration.js diff --git a/koha-tmpl/opac-tmpl/prog/en/css/opac.css b/koha-tmpl/opac-tmpl/prog/en/css/opac.css index de320d6..0c5c8d6 100644 --- a/koha-tmpl/opac-tmpl/prog/en/css/opac.css +++ b/koha-tmpl/opac-tmpl/prog/en/css/opac.css @@ -1097,6 +1097,11 @@ float : right; width: 100%; } +#translControl{ +float : left; +padding-left : .4em; +} + .clearfix:after { content: "."; display: block; diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc index 2238fba..eeed1a5 100644 --- a/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc +++ b/koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc @@ -80,3 +80,8 @@ //]]> </script><!-- /TMPL_IF --> <link rel="unapi-server" type="application/xml" title="unAPI" href="<!-- TMPL_VAR NAME="OPACBaseURL" -->/cgi-bin/koha/unapi" /> +<!-- TMPL_IF NAME="GoogleIndicTransliteration" --> + <script type="text/javascript" src="http://www.google.com/jsapi"></script> + <script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/js/googleindictransliteration.js"></script> +<!-- /TMPL_IF --> + diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc b/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc index b118d18..058615b 100644 --- a/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc +++ b/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc @@ -55,9 +55,9 @@ <option value="callnum">Call Number</option> <!-- /TMPL_IF --></select> <!-- TMPL_IF NAME="ms_value" --> - <input type="text" name="q" value="<!-- TMPL_VAR ESCAPE="HTML" NAME="ms_value" -->" class="left" style="width: 35%; font-size: 111%;" /> + <input type="text" id = "transl1" name="q" value="<!-- TMPL_VAR ESCAPE="HTML" NAME="ms_value" -->" class="left" style="width: 35%; font-size: 100%;"/><div id="translControl"></div> <!-- TMPL_ELSE --> - <input type="text" name="q" class="left" style="width: 35%; font-size: 111%;" /> + <input type="text" id = "transl1" name="q" class="left" style="width: 35%; font-size: 100%;"/><div id="translControl"></div> <!-- /TMPL_IF --> <!-- TMPL_UNLESS NAME="opac_limit_override" --> <!-- TMPL_IF name="mylibraryfirst" --> diff --git a/koha-tmpl/opac-tmpl/prog/en/js/googleindictransliteration.js b/koha-tmpl/opac-tmpl/prog/en/js/googleindictransliteration.js new file mode 100644 index 0000000..414cadd --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/js/googleindictransliteration.js @@ -0,0 +1,29 @@ + // Load the Google Transliteration API + google.load("elements", "1", { + packages: "transliteration" + }); + + function onLoad() { + var options = { + sourceLanguage: 'en', + destinationLanguage: ['hi','kn','ml','ta','te'], + shortcutKey: 'ctrl+g', + transliterationEnabled: true + }; + + // Create an instance on TransliterationControl with the required + // options. + var control = + new google.elements.transliteration.TransliterationControl(options); + + // Enable transliteration in the textfields with the given ids. + var ids = [ "transl1" ]; + control.makeTransliteratable(ids); + + // Show the transliteration control which can be used to toggle between + // English and Hindi and also choose other destination language. + control.showControl('translControl'); + } + google.setOnLoadCallback(onLoad); + + diff --git a/opac/opac-main.pl b/opac/opac-main.pl index 5a56db0..1f4d8d5 100755 --- a/opac/opac-main.pl +++ b/opac/opac-main.pl @@ -56,4 +56,9 @@ $template->param( koha_news_count => $koha_news_count ); +# If GoogleIndicTransliteration system preference is On Set paramter to load Google's javascript in OPAC search screens +if (C4::Context->preference('GoogleIndicTransliteration')) { + $template->param('GoogleIndicTransliteration' => 1); +} + output_html_with_http_headers $input, $cookie, $template->output; diff --git a/opac/opac-search.pl b/opac/opac-search.pl index ae7f4ea..e1e66a9 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -640,4 +640,9 @@ if ($cgi->param('format') && $cgi->param('format') =~ /rss/) { $content_type = 'html' } +# If GoogleIndicTransliteration system preference is On Set paramter to load Google's javascript in OPAC search screens +if (C4::Context->preference('GoogleIndicTransliteration')) { + $template->param('GoogleIndicTransliteration' => 1); +} + output_with_http_headers $cgi, $cookie, $template->output, $content_type; -- 1.5.6 On Mon, Oct 5, 2009 at 7:03 PM, Koustubha Kale <kmk...@anantcorp.com> wrote: > Hi all, > > I need a bit of help > > I am trying to integrate google transliteration with koha opac search > box. This makes it easier to search indian language keywords for > english keyboard users. > > I have it working with Firefox at www.granthalaya.org; but in IE I > dont get the language selection box. The transliteration still works > but the language selection dropdown does not appear. I cant make out > anything from the error message displayed either. The error says > "line: 40 char: 243 unexpected call to method or property access.Code > : 0" If I use the same google transliteration code in a simple html > page in IE it works. So I am doubly puzzled so as to where to look for > the problem. What could it be? > > Can someone please have a look at the site in both IE and Firefox and > suggest something? > > Regards, > Koustubha Kale > Anant Corporation > > Contact Details : > Address : 103, Armaan Residency, R. W Sawant Road, Nr. Golden Dyes > Naka, Thane (w), > Maharashtra, India, Pin : 400601. > TeleFax : +91-22-21720108, +91-22-21720109 > Mobile : +919820715876 > Website : http://www.anantcorp.com > Blog : http://www.anantcorp.com/blog/?author=2 > _______________________________________________ > Koha-devel mailing list > Koha-devel@lists.koha.org > http://lists.koha.org/mailman/listinfo/koha-devel > _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha.org http://lists.koha.org/mailman/listinfo/koha-devel