9e9088049c
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>
235 lines
12 KiB
Text
235 lines
12 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
||
<title>Koha › Acquisitions › [% IF ( opsearch ) %]Order from external source[% ELSE %]Order from external source › 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> › <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> › <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> › <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> › [% IF ( opsearch ) %]Order from external source[% ELSE %]<a href="/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=[% booksellerid %]&basketno=[% basketno %]">Order from external source</a> › 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 %]&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> </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&importid=[% breeding_loo.breedingid %]" rel="gb_page_center[600,500]">Preview card</a> <a href="/cgi-bin/koha/acqui/neworderempty.pl?frameworkcode=[% frameworkcode %]&breedingid=[% breeding_loo.breedingid %]&booksellerid=[% booksellerid %]&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&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 %]&breedingid=[% breeding_loo.breedingid %]&booksellerid=[% booksellerid %]&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>
|
||
|