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>
79 lines
2.4 KiB
Text
79 lines
2.4 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Basket User Search</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
|
|
<style type="text/css">
|
|
#custom-doc {
|
|
width:44.46em;
|
|
*width:43.39em;
|
|
min-width:578px;
|
|
margin:auto;
|
|
text-align:left;
|
|
}
|
|
</style>
|
|
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
// modify parent window owner element
|
|
function add_user(borrowernumber, borrowername) {
|
|
var p = window.opener;
|
|
if(p.add_basket_user(borrowernumber, borrowername) < 0) {
|
|
alert(_("Borrower '%s' is already in the list.").format(borrowername));
|
|
}
|
|
}
|
|
//]]>
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
<div id="custom-doc" class="yui-t7">
|
|
<div id="bd">
|
|
<div class="yui-g">
|
|
|
|
<h3>Search for Basket User</h3>
|
|
<form action="/cgi-bin/koha/acqui/aqbasketuser_search.pl" method="post">
|
|
<fieldset>
|
|
<input type="hidden" name="op" id="op" value="do_search" />
|
|
<input type="text" name="q" id="q" value="[% q %]" class="focus" />
|
|
<input type="submit" class="button" value="Search" />
|
|
</fieldset>
|
|
<div class="hint">Only staff with superlibrarian or acquisitions permissions (or order_manage permission if granular permissions are enabled) are returned in the search results</div>
|
|
</form>
|
|
|
|
[% IF (q) %]
|
|
<p>Searched for <span class="ex">[% q %]</span>, [% nresults %] patron(s) found.</p>
|
|
[% END %]
|
|
[% IF ( users_loop ) %]
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Cardnumber</th>
|
|
<th>Name</th>
|
|
<th>Branch</th>
|
|
<th>Categorycode</th>
|
|
<th>Select?</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH user IN users_loop %]
|
|
[% IF ( user.toggle ) %]
|
|
<tr>
|
|
[% ELSE %]
|
|
<tr class="highlight">
|
|
[% END %]
|
|
<td>[% user.cardnumber %]</td>
|
|
<td>[% user.surname %], [% user.firstname %]</td>
|
|
<td>[% user.branchcode %]</td>
|
|
<td>[% user.categorycode %]</td>
|
|
<td>
|
|
<a style="cursor:pointer" onclick="add_user('[% user.borrowernumber %]', '[% user.firstname %] [% user.surname %]');">Add</a>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</table>
|
|
[% END %]
|
|
|
|
<div id="closewindow"><a href="#" class="close">Close</a></div>
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|