@@ -, +, @@
and into basket.js
- Update a translation:
> cd misc/translator
> perl translate update fr-FR
- Open the corresponding .po file for the strings pulled from
JavaScript e.g. misc/translator/po/fr-FR-messages-js.po
- Locate strings pulled from bootstrap/js/basket.js for
translation, e.g.:
#: koha-tmpl/opac-tmpl/bootstrap/js/basket.js:89
msgid "Your cart is currently empty"
msgstr ""
- Edit the "msgstr" string however you want (it's just for testing)
- Install the updated translation:
> perl translate install fr-FR
---
.../bootstrap/en/includes/doc-head-close.inc | 8 ++++
.../bootstrap/en/includes/opac-bottom.inc | 15 +-------
koha-tmpl/opac-tmpl/bootstrap/js/basket.js | 44 +++++++++++-----------
3 files changed, 31 insertions(+), 36 deletions(-)
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/includes/doc-head-close.inc
@@ -54,9 +54,17 @@
+
+[% IF lang && lang != 'en' %]
+ [% Asset.js(lang _ '/js/locale_data.js') | $raw %]
+[% END %]
+[% Asset.js('js/Gettext.js') | $raw %]
+[% Asset.js('js/i18n.js') | $raw %]
+
[% Asset.js("lib/modernizr.min.js") | $raw %]
[% Asset.css("lib/font-awesome/css/font-awesome.min.css") | $raw %]
[% PROCESS 'html_helpers.inc' %]
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-bottom.inc
@@ -150,20 +150,7 @@ $.widget.bridge('uitooltip', $.ui.tooltip);
var MSG_CANCEL_HOLD = _("Cancel");
var MSG_CANCEL_HOLD_CONFIRM = _("Are you sure you want to cancel this hold?");
var MSG_ON_HOLD = _("On hold");
- [% IF Koha.Preference( 'opacbookbag' ) == 1 or Koha.Preference( 'virtualshelves' ) == 1 %]
- var MSG_BASKET_EMPTY = _("Your cart is currently empty");
- var MSG_RECORD_IN_BASKET = _("The item is already in your cart");
- var MSG_RECORD_ADDED = _("The item has been added to your cart");
- var MSG_RECORD_REMOVED = _("The item has been removed from your cart");
- var MSG_NRECORDS_ADDED = _(" item(s) added to your cart");
- var MSG_NRECORDS_IN_BASKET = _("already in your cart");
- var MSG_NO_RECORD_SELECTED = _("No item was selected");
- var MSG_NO_RECORD_ADDED = _("No item was added to your cart");
- var MSG_CONFIRM_DEL_BASKET = _("Are you sure you want to empty your cart?");
- var MSG_CONFIRM_DEL_RECORDS = _("Are you sure you want to remove the selected items?");
- var MSG_ITEM_IN_CART = _("In your cart");
- var MSG_ITEM_NOT_IN_CART = _("Add to cart");
- [% END %]
+
[% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) %]
var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
var MSG_TAG_ALL_BAD = _("Error! Your tag was entirely markup code. It was NOT added. Please try again with plain text.");
--- a/koha-tmpl/opac-tmpl/bootstrap/js/basket.js
+++ a/koha-tmpl/opac-tmpl/bootstrap/js/basket.js
@@ -1,4 +1,4 @@
-/* global MSG_BASKET_EMPTY MSG_RECORD_IN_BASKET MSG_RECORD_ADDED MSG_NRECORDS_IN_BASKET MSG_NRECORDS_ADDED MSG_NO_RECORD_SELECTED MSG_NO_RECORD_ADDED MSG_RECORD_REMOVED MSG_CONFIRM_DEL_BASKET MSG_CONFIRM_DEL_RECORDS MSG_ITEM_IN_CART MSG_ITEM_NOT_IN_CART */
+/* global __ __p */
//////////////////////////////////////////////////////////////////////////////
// BASIC FUNCTIONS FOR COOKIE MANAGEMENT //
@@ -86,7 +86,7 @@ function openBasket() {
if (window.focus) {basket.focus()}
}
else {
- showCartUpdate(MSG_BASKET_EMPTY);
+ showCartUpdate( __("Your cart is currently empty") );
}
}
@@ -115,7 +115,7 @@ function addRecord(val, selection,NoMsgAlert) {
return 0;
}
if (! NoMsgAlert ) {
- showCartUpdate(MSG_RECORD_IN_BASKET);
+ showCartUpdate( __p("Bibliographic record", "The item is already in your cart") );
}
}
else {
@@ -132,7 +132,7 @@ function addRecord(val, selection,NoMsgAlert) {
return 1;
}
if (! NoMsgAlert ) {
- showCartUpdate(MSG_RECORD_ADDED);
+ showCartUpdate( __p("Bibliographic record", "The item has been added to your cart") );
updateLink(val,"add");
}
@@ -189,18 +189,18 @@ function addSelRecords(valSel) { // function for adding a selection of biblios t
var msg = "";
if (nbAdd) {
if (i > nbAdd) {
- msg = nbAdd+" "+MSG_NRECORDS_ADDED+", "+(i-nbAdd)+" "+MSG_NRECORDS_IN_BASKET;
+ msg = nbAdd+" "+ __p("Bibliographic record", " item(s) added to your cart") +", "+(i-nbAdd)+" " + __("already in your cart");
}
else {
- msg = nbAdd+" "+MSG_NRECORDS_ADDED;
+ msg = nbAdd+" "+ __p("Bibliographic record", " item(s) added to your cart");
}
}
else {
if (i < 1) {
- msg = MSG_NO_RECORD_SELECTED;
+ msg = __p("Bibliographic record", "No item was selected");
}
else {
- msg = MSG_NO_RECORD_ADDED+" ("+MSG_NRECORDS_IN_BASKET+") !";
+ msg = __p("Bibliographic record", "No item was added to your cart") + " (" + __("already in your cart") + ") !";
}
}
showCartUpdate(msg);
@@ -241,7 +241,7 @@ function delSingleRecord(biblionumber){
writeCookie( nameCookie, valCookie );
updateBasket( arrayRecords.length-1 );
updateLink(biblionumber,"del");
- showCartUpdate(MSG_RECORD_REMOVED);
+ showCartUpdate( __p("Bibliographic record", "The item has been removed from your cart") );
}
function delSelRecords() {
@@ -268,7 +268,7 @@ function delSelRecords() {
if (str2.length == 0) { // equivalent to emptying the basket
var rep = false;
- rep = confirm(MSG_CONFIRM_DEL_BASKET);
+ rep = confirm( __("Are you sure you want to empty your cart?") );
if (rep) {
delCookie(nameCookie);
document.location = "about:blank";
@@ -293,7 +293,7 @@ function delSelRecords() {
document.location = "/cgi-bin/koha/opac-basket.pl?" + strCookie;
}
else {
- alert(MSG_NO_RECORD_SELECTED);
+ alert( __p("Bibliographic record", "No item was selected") );
}
}
@@ -324,7 +324,7 @@ function delBasket() {
var nameCookie = "bib_list";
var rep = false;
- rep = confirm(MSG_CONFIRM_DEL_BASKET);
+ rep = confirm( __("Are you sure you want to empty your cart?") );
if (rep) {
delCookie(nameCookie);
updateAllLinks(top.opener);
@@ -338,7 +338,7 @@ function delBasket() {
function quit() {
if (document.myform.records.value) {
var rep = false;
- rep = confirm(MSG_CONFIRM_DEL_RECORDS);
+ rep = confirm( __p("Bibliographic records", "Are you sure you want to remove the selected items?") );
if (rep) {
delSelRecords();
}
@@ -388,7 +388,7 @@ function holdSel() {
parent.opener.document.location = "/cgi-bin/koha/opac-reserve.pl?biblionumbers=" + items;
window.close();
} else {
- alert(MSG_NO_RECORD_SELECTED);
+ alert( __p("Bibliographic record", "No item was selected") );
}
}
@@ -420,7 +420,7 @@ function addSelToShelf() {
var loc = "/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber="+items;
var shelf = open(loc, "shelf", optWin);
} else {
- alert(MSG_NO_RECORD_SELECTED);
+ alert( __p("Bibliographic record", "No item was selected") );
}
}
@@ -434,7 +434,7 @@ function vShelfAdd() {
bibs.push("biblionumber=" + document.bookbag_form.biblionumber[i].value);
}
}
- if (bibs.length == 0) { showListsUpdate(MSG_NO_RECORD_SELECTED); }
+ if (bibs.length == 0) { showListsUpdate( __p("Bibliographic record", "No item was selected") ); }
return bibs.join("&");
} else {
if (document.bookbag_form.biblionumber.checked) {
@@ -466,18 +466,18 @@ function hideCart(){
function updateLink(val,op,target){
if(target){
if(op == "add"){
- target.$("a.cart"+val).html( " " + MSG_ITEM_IN_CART ).addClass("incart");
+ target.$("a.cart"+val).html( " " + __("In your cart") ).addClass("incart");
target.$("a.cartR"+val).show();
} else {
- target.$("a.cart"+val).html( " " + MSG_ITEM_NOT_IN_CART ).removeClass("incart").addClass("addtocart cart"+val);
+ target.$("a.cart"+val).html( " " + __("Add to cart") ).removeClass("incart").addClass("addtocart cart"+val);
target.$("a.cartR"+val).hide();
}
} else {
if(op == "add"){
- $("a.cart"+val).html( " " + MSG_ITEM_IN_CART ).addClass("incart");
+ $("a.cart"+val).html( " " + __("In your cart") ).addClass("incart");
$("a.cartR"+val).show();
} else {
- $("a.cart"+val).html( " " + MSG_ITEM_NOT_IN_CART ).removeClass("incart").addClass("addtocart cart"+val);
+ $("a.cart"+val).html( " " + __("Add to cart") ).removeClass("incart").addClass("addtocart cart"+val);
$("a.cartR"+val).hide();
}
}
@@ -485,10 +485,10 @@ function updateLink(val,op,target){
function updateAllLinks(target){
if(target){
- target.$("a.incart").html( " " + MSG_ITEM_NOT_IN_CART ).removeClass("incart").addClass("addtocart");
+ target.$("a.incart").html( " " + __("Add to cart") ).removeClass("incart").addClass("addtocart");
target.$("a.cartRemove").hide();
} else {
- $("a.incart").html( " " + MSG_ITEM_NOT_IN_CART ).removeClass("incart").addClass("addtocart");
+ $("a.incart").html( " " + __("Add to cart") ).removeClass("incart").addClass("addtocart");
$("a.cartRemove").hide();
}
}
--