[Koha-devel] Template::Toolkit and Translations

dcook at prosentient.com.au dcook at prosentient.com.au
Tue Apr 27 01:44:47 CEST 2021


Hi Julian,

I like part of what you've suggested here. I still think that putting languages (with codes and name in native text) in the database is a good idea, as it allows the ability to add languages to Koha without a code change. Unless Koha is going to be perfectly comprehensive with languages, I think that libraries need to be able to add their own languages to the database.

But I'd be fine with putting the translations of languages into Perl rather than Template::Toolkit. 

I've found the barrier to entry for Koha translations to be too high, so I can't keep track of all the different _(), __(), _t(), etc functions across the different file types, but if your suggestion for Koha::Languages works using that __() syntax, then I'm fine with it. 

David Cook
Software Engineer
Prosentient Systems
Suite 7.03
6a Glen St
Milsons Point NSW 2061
Australia

Office: 02 9212 0899
Online: 02 8005 0595

-----Original Message-----
From: Koha-devel <koha-devel-bounces at lists.koha-community.org> On Behalf Of Julian Maurice
Sent: Monday, 26 April 2021 8:17 PM
To: koha-devel at lists.koha-community.org
Subject: Re: [Koha-devel] Template::Toolkit and Translations

Hi David,

I think that language descriptions would be best in a Perl module, so that they can be used everywhere (perl and templates).

For instance:

package Koha::Languages;
use Koha::I18N;
sub getLanguages {
     return {
         en => __('English'),
         fr => __('French'),
     }
}

And if the original description is needed, we can do the same but without the __() translation.

sub getLanguagesDescriptionsInTheirOwnLanguage {
     return {
         en => 'English',
         fr => 'Français',
     }
}

Le 26/04/2021 à 02:44, dcook at prosentient.com.au a écrit :
> Hi all,
> 
> While I mostly work in English, I occasionally do support libraries in 
> other languages like French, Arabic, and Chinese. And more recently 
> I’ve been looking at the Languages dropdown in the OPAC advanced search.
> 
> In the templates, I notice that we often translate HTML, but what if 
> we translated strings for a Template::Toolkit data structure instead?
> 
> Consider the following:
> 
> [% BLOCK en %]Anglais[% END %]
> 
> [% BLOCK fr %]Français[% END %]
> 
> [% langs.en = INCLUDE en %]
> 
> [% langs.fr = INCLUDE fr %]
> 
> I suppose it’s not very beautiful, but the translation process should 
> be simple and in the end we have a re-usable hash map rather than static HTML.
> 
> As I commented on Bug 12017
> (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12017
> <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12017>), we 
> could have a database table of language codes with native language 
> names, and then iterate through that and use the hash map of 
> translations to provide the translations. Since we’re not producing 
> HTML, we could flexibly reuse this language data in various different 
> contexts. Whether it’s the Languages dropdown in the OPAC advanced 
> search, the language selector, or whatever.
> 
> We could probably use this concept in other places as well where we 
> need translations but we don’t want to be bound to HTML.
> 
> What do people think? I’m not wedded to the idea, but it’s something 
> that crossed my mind this morning, when I looked at the large switch 
> statements at
> https://bugs.koha-community.org/bugzilla3/page.cgi?id=splinter.html&bu
> g=12017&attachment=40285 
> <https://bugs.koha-community.org/bugzilla3/page.cgi?id=splinter.html&bug=12017&attachment=40285>.
> 
> 
> (To that end, I would also suggest a theme-independent 
> Template::Toolkit include directory, but that’s another story…)
> 
> David Cook
> 
> Software Engineer
> 
> Prosentient Systems
> 
> Suite 7.03
> 
> 6a Glen St
> 
> Milsons Point NSW 2061
> 
> Australia
> 
> Office: 02 9212 0899
> 
> Online: 02 8005 0595
> 
> 
> _______________________________________________
> Koha-devel mailing list
> Koha-devel at lists.koha-community.org
> https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> website : https://www.koha-community.org/ git : 
> https://git.koha-community.org/ bugs : 
> https://bugs.koha-community.org/
> 

--
Julian Maurice
BibLibre
_______________________________________________
Koha-devel mailing list
Koha-devel at lists.koha-community.org
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
website : https://www.koha-community.org/ git : https://git.koha-community.org/ bugs : https://bugs.koha-community.org/




More information about the Koha-devel mailing list