Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/z3950_search.tt
Pasi Kallinen 9e9088049c Bug 12138 - Use placeholders in translatable Javascript strings
Currently translating Javascript strings with variables in them is hard,
because the strings are created from separate parts. For example:

 _("Are you sure you want to delete the") + " " + count + " " +
_("attached items?")

This is translated in two different parts, and the translator cannot
affect the place where the count-variable is.

Now, if the javascript strings allowed placeholders, similar to how the
template strings do, the above could be written as:

_("Are you sure you want to delete the %s attached
items?").format(count)

This would make translation much easier.

Attached patch adds a Javascript string formatter, and changes all the
concatenated translatable JS strings used in intranet to use that.

To test:
1) cd misc/translator
2) perl translate update xx-YY
3) grep ^msgid po/xx-YY-i-staff-t-prog-v-3006000.po | sort | uniq >
xx-YY-pre
4) apply patch
5) perl translate update xx-YY
6) grep ^msgid po/xx-YY-i-staff-t-prog-v-3006000.po | sort | uniq >
xx-YY-post
7) compare the files: diff -Nurd xx-YY-pre xx-yy-post | less
   should show the javascript strings that changed.
8) Test the UIs where the formatted js strings are used.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

I tested *most* of the changed files. There were some instances where it
wasn't clear to me how to trigger the warnings which were modified,
especially tags/review.tt, admin/manage-marc-import.tt, and holidays.tt.
Everything I was able to test worked correctly.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

Works nicely, no regressions found. Thx!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-27 21:24:04 +00:00

235 lines
12 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions &rsaquo; [% IF ( opsearch ) %]Order from external source[% ELSE %]Order from external source &rsaquo; Search results[% END %]</title>
[% INCLUDE 'greybox.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
var resultst = $("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable": false },
{ "aTargets": [ 1 ], "sType": "nsb-nse" },
],
"aaSorting": [[ 1, "asc" ]],
"bPaginate": false
} ) );
$("#CheckAll").click(function(){
$(".checkboxed").checkCheckboxes();
return false;
});
$("#CheckNone").click(function(){
$(".checkboxed").unCheckCheckboxes();
return false;
});
$("#closemenu").click(function(e){
$(".linktools").hide();
$("tr").removeClass("selected");
});
/* Inline edit/delete links */
$("td").click(function(event){
var $tgt = $(event.target);
$(".linktools").hide();
$("tr").removeClass("selected");
if($tgt.is("a")||$tgt.is(":nth-child(5)")||$tgt.is(":nth-child(6)")||$tgt.is(":nth-child(7)")||$tgt.is(":nth-child(8)")){
return true;
} else {
var position = $(this).offset();
var top = position.top+5;
var left = position.left+5;
$(".linktools",row).show().css("position","absolute").css("top",top).css("left",left);
}
var row = $(this).parent();
row.addClass("selected");
});
});
[% IF ( total_pages ) %]
function validate_goto_page(){
var page = $('#goto_page').val();
if(isNaN(page)) {
alert(_("The page entered is not a number."));
return false;
}
else if(page < 1 || page > [% total_pages %] ) {
alert(_("The page should be a number between 1 and %s.").format([% total_pages %]));
return false;
}
else {
return true;
}
}
[% END %]
//]]>
</script>
<style type="text/css">
.linktools { background-color:#FFF;border-top:1px solid #DDD; border-left: 1px solid #DDD; border-right: 1px solid #666; border-bottom:1px solid #666;display: none; white-space: nowrap;}
.linktools a { font-size : 85%; text-decoration:none; padding:.3em;;background-color:#FFF; display:block;float:left;border-right:1px solid #DDD;}
.linktools a:hover { background-color:#EEE;color:#CC3300;border-right:1px solid #CCC;}
tr.selected { background-color : #FFFFCC; } tr.selected td { background-color : transparent !important; }
</style>
</head>
<body id="acq_z3950_search" class="acq">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo; [% IF ( opsearch ) %]Order from external source[% ELSE %]<a href="/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Order from external source</a> &rsaquo; Search results[% END %]</div>
<div id="doc3" class="yui-t7">
<div id="bd">
[% IF ( opsearch ) %]
<h2>Order from external source</h2>
<form method="post" action="z3950_search.pl" name="f" class="checkboxed">
<input type="hidden" name="op" id="op" value="do_search" />
<div class="yui-g">
<div class="yui-u first">
<fieldset class="rows">
<ol><li><label for="searchtitle">Title: </label> <input type="text" id="searchtitle" name="title" value="[% title |html %]" class="focus" /></li>
<li><label for="isbn">ISBN: </label> <input type="text" id="isbn" name="isbn" value="[% isbn %]" /></li>
<li><label for="lccall">LC call number: </label> <input type="text" id="lccall" name="lccall" value="" /></li>
<li><label for="controlnumber">Control no.: </label> <input type="text" id="controlnumber" name="controlnumber" value="" /></li>
</ol>
</fieldset>
</div>
<div class="yui-u">
<fieldset class="rows">
<ol>
<li><label for="author">Author: </label> <input type="text" id="author" name="author" value="[% author %]" /></li>
<li><label for="issn">ISSN: </label> <input type="text" id="issn" name="issn" value="[% issn %]" /></li>
<li> <label for="subject">Subject heading: </label> <input type="text" id="subject" name="subject" value="" /></li>
<li><label for="dewey">Dewey: </label> <input type="text" id="dewey" name="dewey" value="" /></li></ol></fieldset>
<fieldset class="rows" >
<ol>
<li>
<label for="frameworkcode" >Select used MARC framework:</label>
<select id="frameworkcode" name="frameworkcode" >
<option value="">Default</option>
[% FOREACH frameworkcodeloo IN frameworkcodeloop %]
[% IF ( frameworkcodeloo.active ) %]
<option value="[% frameworkcodeloo.value %]" selected="selected" >[% frameworkcodeloo.frameworktext %]</option>
[% ELSE %]
<option value="[% frameworkcodeloo.value %]" >[% frameworkcodeloo.frameworktext %]</option>
[% END %]
[% END %]
</select>
</li>
</ol>
</fieldset>
<input type="hidden" name="biblionumber" value="[% biblionumber %]" />
<input type="hidden" name="basketno" value="[% basketno %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
</div>
</div>
<div class="yui-g">
<h2>Search targets <span style="display: inline; font-size: 70%; padding-left: 1em;"><span class="checkall"><a id="CheckAll" href="#">Select all</a></span><span class="clearall"><a id="CheckNone" href="#">Clear all</a></span></span></h2>
[% FOREACH serverloo IN serverloop %]
<p>
[% IF ( serverloo.checked ) %]
<input type="checkbox" name="id" id="z3950_[% serverloo.id %]" value="[% serverloo.id %]" checked="checked" />
[% ELSE %]
<input type="checkbox" name="id" id="z3950_[% serverloo.id %]" value="[% serverloo.id %]" />
[% END %]
<label for="z3950_[% serverloo.id %]">[% serverloo.name %] [[% serverloo.host %]]</label>
</p>
[% END %]
<fieldset class="action"><input type="submit" class="submit" value="Search" onclick="cursor :'wait'"/> <a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Cancel</a></fieldset>
</div>
</form>
[% ELSE %]
<h2>Search results</h2>
[% IF ( breeding_loop ) %]
<table id="resultst">
<thead> <tr>
<th>Server</th>
<th>Title</th>
<th>Author</th>
<th>ISBN</th>
<th>LCCN</th>
<th>Preview</th>
<th>&nbsp;</th>
</tr></thead>
<tbody>[% FOREACH breeding_loo IN breeding_loop %]
[% IF ( breeding_loo.breedingid ) %]
[% IF ( breeding_loo.toggle ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
<td>[% breeding_loo.server %] <div class="linktools"><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid %]" rel="gb_page_center[600,500]">Preview MARC</a> <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;importid=[% breeding_loo.breedingid %]" rel="gb_page_center[600,500]">Preview card</a> <a href="/cgi-bin/koha/acqui/neworderempty.pl?frameworkcode=[% frameworkcode %]&amp;breedingid=[% breeding_loo.breedingid %]&amp;booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Order</a> <a href="#" id="closemenu" title="Close this menu"> X </a></div></td>
<td>[% breeding_loo.title |html %]</td>
<td>[% breeding_loo.author %]</td>
<td>[% breeding_loo.isbn %]</td>
<td>[% breeding_loo.lccn %]</td>
<td><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;importid=[% breeding_loo.breedingid %]" title="Card" rel="gb_page_center[600,500]">Card</a></td>
<td><a href="/cgi-bin/koha/acqui/neworderempty.pl?frameworkcode=[% frameworkcode %]&amp;breedingid=[% breeding_loo.breedingid %]&amp;booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Order</a></td>
</tr>
[% END %]
[% END %]</tbody>
</table>
<form method="post" action="z3950_search.pl" id="page_form" name="page_form" class="checkboxed">
<input type="hidden" name="op" id="op" value="do_search" />
<input type="hidden" name="current_page" id="current_page" value="[% current_page %]" />
<input type="hidden" id="searchtitle" name="title" value="[% title |html %]" />
<input type="hidden" id="isbn" name="isbn" value="[% isbn %]" />
<input type="hidden" id="lccall" name="lccall" value="[% lccall %]" />
<input type="hidden" id="author" name="author" value="[% author %]" />
<input type="hidden" id="subject" name="subject" value="[% subject %]" />
<input type="hidden" id="dewey" name="dewey" value="[% dewey %]" />
<input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
<input type="hidden" name="biblionumber" value="[% biblionumber %]" />
<input type="hidden" name="controlnumber" value="[% controlnumber %]" />
<input type="hidden" name="basketno" value="[% basketno %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
[% FOREACH server IN servers %]
<input type="hidden" name="id" id="z3950_[% server.id %]" value="[% server.id %]" />
[% END %]
[% IF ( show_prevbutton ) %]
<input type="button" name="changepage_prev" value="Previous Page" onclick="$('#current_page').val([% current_page %]-1);$('#page_form').submit();" />
[% END %]
Page [% current_page %] / [% total_pages %]
[% IF ( show_nextbutton ) %]
<input type="button" name="changepage_next" value="Next Page" onclick="$('#current_page').val([% current_page %]+1);$('#page_form').submit();" />
[% END %]
<br />Go to page : <input id="goto_page" name="goto_page" value="[% current_page %]" size="4" /><input type="submit" name="changepage_goto" onclick="return validate_goto_page();" value="Go" />
</form>
[% ELSE %]
[% IF ( emptyserverlist ) %]
<div class="dialog alert">You didn't select any Z39.50 target.</div>
[% ELSE %]
[% IF ( errconn ) %]
<div class="dialog alert">
<ul>
[% FOREACH errcon IN errconn %]
<li>Connection failed to [% errcon.server %]</li>
[% END %]
</ul>
</div>
[% END %]
[% END %]
<div class="dialog message">Nothing found. <a href="javascript: history.back()">Try another search</a>.</div>
[% END %]
[% END %]
</div>
</div>
[% IF ( numberpending ) %]<h3 align="center">Still [% numberpending %] servers to search</h3>[% END %]
</body>
</html>