Now that we can translate strings in JavaScript we can eliminate files like additem.js.inc which we only needed for translatability.
Created attachment 108745 [details] [review] Bug 25317: Move translatable strings out of additem.js.inc This patch moves the definition of translatable strings out of additem.js.inc and into additem.js using the new JS i81n function. additem.js.inc is removed, being obsolete. To test: When creating an order: - Go to Administration -> System preferences and set "AcqCreateItem" to "when placing an order." - Apply the patch and go to Acquisitions -> Vendor -> Add to basket -> From a new (empty) record. - In the "Item" section, confirm that the buttons at the bottom of the form are correct: "Add item," "Clear," and "Add multiple items." - Click "Add multiple items." The placeholder in the revealed form field should read "Number of items to add." The corresponding button should be labeled "Add." - You should see a note, "NOTE: Fields listed in the 'UniqueItemsFields' system preference will not be copied." - Fill out the item entry form and add a number to the "multiple items" field. Click "Add." - A table of items should be displayed with "Edit" and "Delete" buttons for each new item. - Click one of the "Edit" buttons. The item form should be populated with the item's data, with an "Update item" button at the bottom. When receiving an order: - Go to Administration -> System preferences and set "AcqCreateItem" to "when receiving an order." - Go to Acquisitions -> Vendor -> Receive shipments. - Select or create an invoice. - Click "Receive" on an order which has a quantity greater than 1. - Add two items, duplicating in each at least one value which is marked as unique by the "UniqueItemFields" system preference (e.g. fill in the same barcode number for each item). - Click "Save." You should get an alert about duplicated values, and there should be an alert message on the page, "barcode 'XXX' is duplicated." - Edit one of the two items and change the barcode to one which already exists in your database. - Click "Save." An alert message should be shown on the page, "barcode 'XXX' already exists in the database." - Note: I was unable to find out how to trigger this error, "You can't receive any more items." It may be obsolete. TESTING TRANSLATABILITY - Update a translation, e.g. fr-FR: > cd misc/translator > perl translate update fr-FR - Open the corresponding .po file for JavaScript strings, e.g. misc/translator/po/fr-FR-messages-js.po - Locate strings pulled from koha-tmpl/intranet-tmpl/prog/js/additem.js for translation, e.g.: msgid "Add multiple items" msgstr "" - Edit the "msgstr" string however you want (it's just for testing). - Install the updated translation: > perl translate install fr-FR - Switch to your newly translated language in the staff client and repeat the test plan above. The translated strings should appear.
Created attachment 110810 [details] [review] Bug 25317: Move translatable strings out of additem.js.inc This patch moves the definition of translatable strings out of additem.js.inc and into additem.js using the new JS i81n function. additem.js.inc is removed, being obsolete. To test: When creating an order: - Go to Administration -> System preferences and set "AcqCreateItem" to "when placing an order." - Apply the patch and go to Acquisitions -> Vendor -> Add to basket -> From a new (empty) record. - In the "Item" section, confirm that the buttons at the bottom of the form are correct: "Add item," "Clear," and "Add multiple items." - Click "Add multiple items." The placeholder in the revealed form field should read "Number of items to add." The corresponding button should be labeled "Add." - You should see a note, "NOTE: Fields listed in the 'UniqueItemsFields' system preference will not be copied." - Fill out the item entry form and add a number to the "multiple items" field. Click "Add." - A table of items should be displayed with "Edit" and "Delete" buttons for each new item. - Click one of the "Edit" buttons. The item form should be populated with the item's data, with an "Update item" button at the bottom. When receiving an order: - Go to Administration -> System preferences and set "AcqCreateItem" to "when receiving an order." - Go to Acquisitions -> Vendor -> Receive shipments. - Select or create an invoice. - Click "Receive" on an order which has a quantity greater than 1. - Add two items, duplicating in each at least one value which is marked as unique by the "UniqueItemFields" system preference (e.g. fill in the same barcode number for each item). - Click "Save." You should get an alert about duplicated values, and there should be an alert message on the page, "barcode 'XXX' is duplicated." - Edit one of the two items and change the barcode to one which already exists in your database. - Click "Save." An alert message should be shown on the page, "barcode 'XXX' already exists in the database." - Note: I was unable to find out how to trigger this error, "You can't receive any more items." It may be obsolete. TESTING TRANSLATABILITY - Update a translation, e.g. fr-FR: > cd misc/translator > perl translate update fr-FR - Open the corresponding .po file for JavaScript strings, e.g. misc/translator/po/fr-FR-messages-js.po - Locate strings pulled from koha-tmpl/intranet-tmpl/prog/js/additem.js for translation, e.g.: msgid "Add multiple items" msgstr "" - Edit the "msgstr" string however you want (it's just for testing). - Install the updated translation: > perl translate install fr-FR - Switch to your newly translated language in the staff client and repeat the test plan above. The translated strings should appear. Signed-off-by: David Nind <david@davidnind.com>
Just a note: In some cases it could be nice to move the variables into the translation as it would allow the translators to change the sequence of words/structure of the sentence: fieldname + " '" + sorted_arr[i] + "' " + __("is duplicated")
Created attachment 110829 [details] [review] Bug 25317: Move translatable strings out of additem.js.inc This patch moves the definition of translatable strings out of additem.js.inc and into additem.js using the new JS i81n function. additem.js.inc is removed, being obsolete. To test: When creating an order: - Go to Administration -> System preferences and set "AcqCreateItem" to "when placing an order." - Apply the patch and go to Acquisitions -> Vendor -> Add to basket -> From a new (empty) record. - In the "Item" section, confirm that the buttons at the bottom of the form are correct: "Add item," "Clear," and "Add multiple items." - Click "Add multiple items." The placeholder in the revealed form field should read "Number of items to add." The corresponding button should be labeled "Add." - You should see a note, "NOTE: Fields listed in the 'UniqueItemsFields' system preference will not be copied." - Fill out the item entry form and add a number to the "multiple items" field. Click "Add." - A table of items should be displayed with "Edit" and "Delete" buttons for each new item. - Click one of the "Edit" buttons. The item form should be populated with the item's data, with an "Update item" button at the bottom. When receiving an order: - Go to Administration -> System preferences and set "AcqCreateItem" to "when receiving an order." - Go to Acquisitions -> Vendor -> Receive shipments. - Select or create an invoice. - Click "Receive" on an order which has a quantity greater than 1. - Add two items, duplicating in each at least one value which is marked as unique by the "UniqueItemFields" system preference (e.g. fill in the same barcode number for each item). - Click "Save." You should get an alert about duplicated values, and there should be an alert message on the page, "barcode 'XXX' is duplicated." - Edit one of the two items and change the barcode to one which already exists in your database. - Click "Save." An alert message should be shown on the page, "barcode 'XXX' already exists in the database." - Note: I was unable to find out how to trigger this error, "You can't receive any more items." It may be obsolete. TESTING TRANSLATABILITY - Update a translation, e.g. fr-FR: > cd misc/translator > perl translate update fr-FR - Open the corresponding .po file for JavaScript strings, e.g. misc/translator/po/fr-FR-messages-js.po - Locate strings pulled from koha-tmpl/intranet-tmpl/prog/js/additem.js for translation, e.g.: msgid "Add multiple items" msgstr "" - Edit the "msgstr" string however you want (it's just for testing). - Install the updated translation: > perl translate install fr-FR - Switch to your newly translated language in the staff client and repeat the test plan above. The translated strings should appear. Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Pushed to master for 20.11, thanks to everybody involved!
backported to 20.05.x for 20.05.05
enhancement, not backported to 19.11.x
> - You should see a note, "NOTE: Fields listed in the 'UniqueItemsFields' system preference will not be copied." Where is coming from this syspref?
(In reply to Jonathan Druart from comment #8) > > - You should see a note, "NOTE: Fields listed in the 'UniqueItemsFields' > system preference will not be copied." > > Where is coming from this syspref? Ok, it's a typo "UniqueItemFields"