Translate Koha into Indian languages

Eight regional languages in India were placed in the Koha translation project. Hindi and Telugu translation is almost finished, and other languages work is in progress. Except for Hindi and Telugu, no other Indian languages received community participation in the translation process.

How to participate in Koha translation

Koha Software community maintains an online platform for translation activities. The Koha translation website is available at The Koha software community uses free software called Pootle to manage translations. Each version of Koha is treated as a project and contains languages and translation files. Translation entries are saved in .po files and multiple .po files for different modules of Koha ILS. You can participate in translation activities by creating an account on the website. No technical knowledge is required to participate in translation activities.

Select the language (e.g. Malayalam) from the top of the website. Translation work on the four Koha editions is underway at the same time. 

Select the latest version of Koha for translation. Enter into the translation activities by clicking on the Koha version. When a new version of Koha is released, the current translation entries carry over to the latest one.

The translation entries are stored in different files. For ease of translation, lines related to various modules such as online catalogue, staff interface, messages and installer are stored in separate files. Clicking on the file link will allow you to enter into the file and view the lines to be translated.

Click on the Untranslated link, and it will list out the entries that need a translation. Translate the highlighted entries. 

Translate the highlighted English entries. Type the translated entries in the regional language in the box. Use Google Chrome browser, and the  Input Tools extension (Google Input Tools) to input translated entries. The translated entry can be submitted by clicking on the Submit / Suggest button. Suggested translations become part of the Malayalam translation once approved by the Administrator.

If there is a variable in the entries, it should be left as it is. Numbers, amounts, dates, etc., appear in the variable position. %s can be found where the variable appears. Even if you change the structure of the lines, add the variable note in the desired position. Do not delete the variable part.

When the translation of each line is complete, the next line is highlighted for translation.

Participation in the Koha translation project does not require technical expertise. Best collaboration space for LIS students and professionals. Participation in the Koha translation project helps the students and professionals acquaint themselves with Free Software’s sharing culture. Become a contributor and help in Koha translation.

Install Elasticsearch for Koha

Zebra is the default search engine with Koha. Koha project preparing to adopt Elasticsearch as the default search in the near future. Koha users can try Elasticsearch with Koha. Elasticsearch offers speed and more functionality than its counterparts and is considered an innovative search engine suitable to match the latest requirements. 

Here is the installation manual of Elasticsearch for Koha. I prepared this manual by receiving inspiration from the installation manual prepared by Dr Mohan Raj Pradhan, Professor (Retired), Department of Library and Information Science, Tribhuvan University, Nepal. I tried the installation of ElasticSearch on Ubuntu 20.04 LTS. Install the Koha before the implementation of Elasticsearch. Try the Elasticsearch installation on a test machine, not on Koha production computer.

Install the Koha dependencies and the Java JDK

sudo apt install koha-elasticsearch openjdk-11-jdk-headless

Installation of Elasticsearch

Elasticsearch 7 is the latest version. But Koha is not ready to adopt version 7. Koha uses Elasticsearch version 6.
sudo wget -qO - | sudo apt-key add -
sudo echo "deb stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
sudo apt-get update && sudo apt-get install elasticsearch

Configure Elasticsearch for auto start

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

Install the analysis-icu plugin

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

Restart the Elasticsearch server

sudo systemctl start elasticsearch.service

Check running status of Elasticsearch

Wait a few seconds then check if it is running correctly
sudo apt install curl
curl localhost:9200
curl http://localhost:9200/_cluster/health?pretty

Check installed Elasticsearch version

cd /usr/share/elasticsearch
sudo ./bin/elasticsearch --version

Change Search engine in Koha

Administration > Global system preferences > Administration > Search engine.

Rebuild search index

sudo koha-elasticsearch --rebuild -d library

Elasticsearch in Koha

Backup with auto delete old files

Auto deletion of old backup files is helpful to save limited cloud space.
Here is a shell script to schedule the backup with a time stamp. As per the instructions in the script, it keeps three days of backup and deletes previous files to save space. This method is convenient to work with cloud storage with limited space (e.g. Dropbox). 
Follow the instructions below to schedule the backup.

Download the shell script

Copy the shell script to the home folder. Open the shell script and make changes to the Koha database, username, password and location of the backup. The timestamp of the database also appears on the backup file name. Give the number of days the backup keep.

Move the shell script to /usr/local/bin

sudo cp /usr/local/bin

Give the necessary permission to the shell script,

cd /usr/local/bin
sudo chmod +x

Create the cronjob entry of the backup. Apply the following command on the terminal.

crontab -e

Copy the below lines to the bottom part of the crontab file.

#Koha backup
10 20 * * * /usr/local/bin/

Change the timing of the backup, here backup take at 8:10 PM.

QR Code GLabels template

QR Code is better than a barcode in terms of technology and data storage. We can make use of QR code on all types of labels (e.g. spine, Membership card). Here is a GLabels template make use of like a spine label.

Install GLabels

sudo apt install glabels

Download the GLabels template from here and extract it. One template file and a CSV file inside the folder. Users can enter book details in a CSV file. The template file designed for self-adhesive label A4 paper (65 labels). 

Libraries can find and buy QR Code scanner from local suppliers and online shopping sites like Amazon. Such scanners support both barcode and QR Code scanning. 

Courtesy: QR Code GLabel template created by Mr. Subeesh Gopinathan, Librarian, St. Mary’s Women’s College for Teacher Education, Thiruvalla, Kerala State-689101.

Share Koha usage statistics

Koha users can share the installation details with the Koha community. It helps the developers and other community members to get an idea of Koha installations in all regions. The facility is available at Koha Administration > Additional parameters > Share your usage statistics,

Enter the details of the library. The details sent to the website maintained by the Koha community, The global usage statistics of Koha available on the website.

Why accounts related old reports do not work with the latest version of Koha?

New changes in data structure regarding fines and fees available with the release of Koha version 19.11. Koha used
accounttype table to accommodate payment statuses. The table accounttype no more available with Koha version since 19.11. The reports used values in accounttype do not work with the recent version of Koha upgraded from the old one. 
The new two tables are available to accommodate income and expenses (Fines, fees, Refund etc) for libraries are credit_type_code and the debit_type_code. The codes in the two tables can be check at Administration > Accounting. Koha users need to use the codes in  credit_type_code and the debit_type_code tables to generate reports.

Following is a report which generates the overdue paid by patrons in a date range. I have highlighted where the credit_type_code to display payments made by patrons.

SELECT b.cardnumber AS 'Card Number',b.surname AS 'Name',FORMAT(ABS(a.amount), 2) AS 'Amount'
FROM borrowers b
JOIN accountlines a
WHERE b.borrowernumber = a.borrowernumber AND a.credit_type_code = 'payment' AND BETWEEN <<Between (YYYY-MM-dd)|date>> AND <<and (YYYY-MM-DD |date>> AND b.branchcode=<<Enter patrons library|branches>> AND categorycode LIKE <<Enter Category borrowers|categorycode>>

Make changes in the accounts reports created with Koha versions before 19.11. Otherwise, the reports with the old status codes will fail to work.