Tree:
8b3a108558
16.05.x
16.11.x
17.05.x
17.11.x
18.05.x
18.11.x
19.05.x
19.11.x
20.05.x
20.11.x
21.05.x
21.11.x
22.05.x
22.11.x
23.05.x
23.11.x
24.05.x
3.0.x
3.10.x
3.12.x
3.14.x
3.16.x
3.18.x
3.2.x
3.20.x
3.22.x
3.4.x
3.6.x
3.6.x-maint/testing
3.6.x-rmaint/testing
3.8.x
MM-OPAC/theme_dep
main
new/bootstrap-opac
new_12478_elasticsearch
3.0.5_rc1
3.02.02
R_1-1-1RC1
R_1-2-1
R_1-2-1RC6
R_1-2-2
R_1-2-2RC4
R_1-2-3
R_1-2-3RC11
R_1-2-3RC12
R_1-2-3RC13
R_1-2-3RC14
R_1-2-3RC15
R_1-2-3RC16
R_1-2-3RC17
R_1-2-3RC18
R_1-2-3RC20
R_1-2-3RC21
R_1-2-3RC22
R_1-2-3RC23
R_1-2-3RC25
R_1-2-3RC26
R_1-2-3RC5
R_1-3-0
R_1-3-1
R_1-3-2
R_1-3-3
R_1-9-0
R_1-9-1
R_1-9-2
R_1-9-3
R_2-0-0
R_2-0-0RC1
R_2-0-0RC2
R_2-0-0RC3
R_2-0-0RC4
R_2-0-0pre1
R_2-0-0pre2
R_2-0-0pre3
R_2-0-0pre4
R_2-0-0pre5
R_2-1
R_2-2-6
R_2-2-6RC2
R_2-2-6RC3
R_2-2-6RC4
R_2-2-7
R_2-2-9
R_2-3-0
R_2-4
R_2_2_4
R_2_2_5
R_2_2_6_RC
dev_week
html_template_pro
rel_3_0_5
v16.05.00
v16.05.00-beta
v16.05.01
v16.05.02
v16.05.02-01
v16.05.03
v16.05.04
v16.05.05
v16.05.05-01
v16.05.06
v16.05.06-01
v16.05.07
v16.05.08
v16.05.09
v16.05.10
v16.05.11
v16.05.12
v16.05.13
v16.05.14
v16.05.15
v16.05.16
v16.05.17
v16.05.18
v16.05.19
v16.11.00
v16.11.01
v16.11.02
v16.11.03
v16.11.04
v16.11.05
v16.11.06
v16.11.07
v16.11.08
v16.11.09
v16.11.10
v16.11.11
v16.11.11-1
v16.11.12
v16.11.13
v16.11.14
v16.11.15
v16.11.16
v17.05.00
v17.05.01
v17.05.02
v17.05.03
v17.05.04
v17.05.05
v17.05.06
v17.05.07
v17.05.08
v17.05.09
v17.05.10
v17.05.11
v17.05.12
v17.05.13
v17.05.14
v17.11.00
v17.11.01
v17.11.02
v17.11.03
v17.11.04
v17.11.05
v17.11.06
v17.11.07
v17.11.08
v17.11.09
v17.11.10
v17.11.11
v17.11.12
v17.11.13
v17.11.14
v17.11.15
v17.11.16
v17.11.17
v17.11.18
v18.05.00
v18.05.00-rc1
v18.05.00-rc2
v18.05.01
v18.05.02
v18.05.03
v18.05.04
v18.05.05
v18.05.06
v18.05.07
v18.05.08
v18.05.09
v18.05.10
v18.05.11
v18.05.12
v18.05.13
v18.05.14
v18.11.00
v18.11.01
v18.11.02
v18.11.03
v18.11.04
v18.11.05
v18.11.06
v18.11.07
v18.11.08
v18.11.09
v18.11.10
v18.11.11
v18.11.12
v18.11.13
v18.11.14
v18.11.15
v18.11.16
v19.05.00
v19.05.01
v19.05.02
v19.05.03
v19.05.04
v19.05.05
v19.05.05-1
v19.05.06
v19.05.07
v19.05.08
v19.05.09
v19.05.10
v19.05.11
v19.05.12
v19.05.13
v19.05.14
v19.05.15
v19.05.16
v19.05.17
v19.11.00
v19.11.01
v19.11.02
v19.11.03
v19.11.04
v19.11.05
v19.11.06
v19.11.07
v19.11.08
v19.11.09
v19.11.10
v19.11.11
v19.11.12
v19.11.13
v19.11.14
v19.11.15
v19.11.16
v19.11.17
v19.11.18
v19.11.18-2
v19.11.19
v19.11.20
v19.11.21
v19.11.22
v19.11.23
v19.11.24
v19.11.25
v19.11.26
v19.11.27
v19.11.28
v19.11.29
v20.05.00
v20.05.01
v20.05.02
v20.05.03
v20.05.04
v20.05.05
v20.05.06
v20.05.07
v20.05.08
v20.05.09
v20.05.10
v20.05.11
v20.05.12
v20.05.13
v20.05.14
v20.05.15
v20.05.16
v20.05.17
v20.05.18
v20.11.00
v20.11.01
v20.11.02
v20.11.03
v20.11.04
v20.11.05
v20.11.06
v20.11.07
v20.11.08
v20.11.09
v20.11.10
v20.11.11
v20.11.12
v20.11.13
v20.11.15
v20.11.16
v20.11.17
v20.11.18
v20.11.19
v21.05.00
v21.05.01
v21.05.02
v21.05.03
v21.05.04
v21.05.05
v21.05.06
v21.05.07
v21.05.08
v21.05.09
v21.05.10
v21.05.11
v21.05.12
v21.05.13
v21.05.14
v21.05.15
v21.05.16
v21.05.17
v21.05.18
v21.05.19
v21.05.20
v21.05.21
v21.05.22
v21.05.22-1
v21.05.22-2
v21.11.00
v21.11.01
v21.11.02
v21.11.03
v21.11.04
v21.11.04-1
v21.11.05
v21.11.06
v21.11.07
v21.11.08
v21.11.09
v21.11.10
v21.11.11
v21.11.12
v21.11.13
v21.11.14
v21.11.15
v21.11.16
v21.11.17
v21.11.18
v21.11.19
v21.11.20
v21.11.21
v21.11.21-1
v21.11.22
v21.11.23
v21.11.24
v21.11.25
v21.11.26
v22.05.00
v22.05.01
v22.05.02
v22.05.03
v22.05.03-1
v22.05.04
v22.05.05
v22.05.05-01
v22.05.06
v22.05.07
v22.05.08
v22.05.09
v22.05.10
v22.05.11
v22.05.12
v22.05.13
v22.05.14
v22.05.15
v22.05.16
v22.05.17
v22.05.18
v22.05.19
v22.05.20
v22.05.20-2
v22.05.21
v22.11.00
v22.11.01
v22.11.02
v22.11.03
v22.11.04
v22.11.05
v22.11.05-1
v22.11.06
v22.11.07
v22.11.08
v22.11.09
v22.11.10
v22.11.11
v22.11.12
v22.11.13
v22.11.14
v22.11.15
v22.11.15-1
v22.11.16
v22.11.16-1
v22.11.17
v23.05.00
v23.05.01
v23.05.02
v23.05.03
v23.05.04
v23.05.05
v23.05.06
v23.05.07
v23.05.08
v23.05.09
v23.05.09-01
v23.05.10
v23.05.10-02
v23.05.11
v23.11.00
v23.11.01
v23.11.02
v23.11.03
v23.11.04
v23.11.04-4
v23.11.05
v24.05.00
v3.0.6
v3.00.00
v3.00.00-alpha
v3.00.00-beta
v3.00.00-beta2
v3.00.00-stableRC1
v3.00.01-stable
v3.00.01-stable_update
v3.00.01.005
v3.00.02-final
v3.00.02-stable
v3.00.03
v3.00.04
v3.00.04_final
v3.00.04_fixed
v3.00.05
v3.00.06
v3.02.00
v3.02.00-alpha
v3.02.00-alpha2
v3.02.00-beta
v3.02.00-rc
v3.02.01
v3.02.03
v3.02.04
v3.02.05
v3.02.06
v3.02.07
v3.02.08
v3.02.09
v3.02.10
v3.02.11
v3.04.00
v3.04.01
v3.04.02
v3.04.03
v3.04.04
v3.04.05
v3.04.06
v3.04.07
v3.04.08
v3.06.00
v3.06.01
v3.06.02
v3.06.03
v3.06.04
v3.06.05
v3.06.06
v3.06.07
v3.06.08
v3.06.09
v3.06.10
v3.06.10.000
v3.06.11
v3.06.12.000
v3.08.00
v3.08.01
v3.08.02
v3.08.03
v3.08.04
v3.08.05
v3.08.06
v3.08.07
v3.08.08
v3.08.09
v3.08.10
v3.08.11
v3.08.12
v3.08.13
v3.08.14
v3.08.15
v3.08.16
v3.08.17
v3.08.18
v3.08.19
v3.08.20
v3.08.21
v3.08.22
v3.08.23
v3.08.24
v3.10.00
v3.10.01
v3.10.02
v3.10.03
v3.10.04
v3.10.05
v3.10.06
v3.10.07
v3.10.08
v3.10.09
v3.10.10
v3.10.11
v3.10.12
v3.10.13
v3.12.00
v3.12.00-alpha
v3.12.00-alpha2
v3.12.00-beta1
v3.12.00-beta3
v3.12.00-rc1
v3.12.00-rc2
v3.12.00-rc3
v3.12.01
v3.12.02
v3.12.03
v3.12.04
v3.12.05
v3.12.06
v3.12.07
v3.12.08
v3.12.09
v3.12.10
v3.12.11
v3.12.12
v3.12.13
v3.12.14
v3.12.15
v3.14.00
v3.14.00-alpha1
v3.14.00-alpha2
v3.14.00-beta
v3.14.01
v3.14.02
v3.14.03
v3.14.04
v3.14.05
v3.14.06
v3.14.07
v3.14.08
v3.14.09
v3.14.10
v3.14.11
v3.14.12
v3.14.13
v3.14.14
v3.14.15
v3.14.16
v3.14.17
v3.16.00
v3.16.00-beta
v3.16.00-pkg
v3.16.00-rc
v3.16.01
v3.16.02
v3.16.03
v3.16.04
v3.16.05
v3.16.05.1
v3.16.06
v3.16.07
v3.16.08
v3.16.09
v3.16.10
v3.16.11
v3.16.12
v3.16.13
v3.16.14
v3.16.15
v3.18.00
v3.18.00-beta
v3.18.01
v3.18.02
v3.18.03
v3.18.04
v3.18.05
v3.18.05.1
v3.18.06
v3.18.06-3
v3.18.07
v3.18.08
v3.18.09
v3.18.10
v3.18.11
v3.18.12
v3.18.13
v3.20.00
v3.20.00-beta
v3.20.01
v3.20.02
v3.20.03
v3.20.04
v3.20.05
v3.20.06
v3.20.07
v3.20.07.1
v3.20.08
v3.20.09
v3.20.10
v3.20.11
v3.20.12
v3.20.13
v3.20.14
v3.20.15
v3.22.00
v3.22.00-beta
v3.22.01
v3.22.02
v3.22.03
v3.22.04
v3.22.05
v3.22.06
v3.22.07
v3.22.08
v3.22.09
v3.22.10
v3.22.11
v3.22.12
v3.22.13
v3.22.14
v3.22.15
v3.22.16
v3.22.17
v3.22.18
v3.22.19
v3.22.20
v3.22.21
v3.8.16
version-1-2-0
version-1-2-1
${ noResults }
9 Commits (8b3a1085587d3275a95a5a1a4a84591e6f3ed034)
Author | SHA1 | Message | Date |
---|---|---|---|
Julian Maurice |
6028c92c7b
|
Bug 25517: Look in all possible places for MO files
On a 'dev' install, MO files will be installed in <intranetdir>/misc/translator/po On 'standard' and 'single' installs, they will be installed in <intranetdir>/../../misc/translator/po This patch makes Koha::I18N try to use the "dev" directory first, and fallback to the "standard" directory. If none of these directories exist, it dies. Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> |
4 years ago |
Jonathan Druart | 3bd68dace9 |
Bug 15395: Use POSIX::setlocale
To keep compatibility with jessie (that have Message::Locales 1.23, so without setlocale) Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> |
6 years ago |
Julian Maurice | 7ada579ae0 |
Bug 15395: Do not use nl_putenv, use $ENV instead
nl_putenv is only useful on Windows systems Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> |
6 years ago |
Julian Maurice | d708255c7a |
Bug 15395: Allow correct handling of plural translation
Locale::Maketext does not allow correct handling of plural translation for languages that have more than one plural forms. Locale::Messages does. So Koha::I18N is now a wrapper around Locale::Messages, just like Locale::TextDomain, and export the same symbols as Locale::TextDomain. You can refer to documentation of Locale::TextDomain to know how to use exported subroutines. Example usage: __("Hi") __x("Hi {name}", name => 'Bob') __n("item", "items", $num_items) __nx("one item", "{count} items", $num_items, count => $num_items) __p("Bibliographic record", "item") This patch also brings Koha::I18N power to Template::Toolkit templates by adding a TT plugin. This plugin can be used like this: [%# USE the plugin and define some macros %] [% PROCESS 'i18n.inc' %] [%# tn is the equivalent of __n %] [%# macro names can't start with underscore, t is for "translate" %] [% tn('item', 'items', num_items) %] Extraction of strings from templates is a bit complicated and use Template::Parser and PPI. Template is compiled into Perl code and then analyzed by PPI. It is slow, but should be correct even with complex constructions. Remove dependency to Locale::Maketext and Locale::Maketext::Lexicon Add dependency to Locale::Messages and PPI Test plan for translation in Perl code: 1. Open a .pl script or .pm module with your favorite text editor 2. Add 'use Koha::I18N;' in the beginning of file 3. Use one of the subroutines exported by Koha::I18N and be sure to have a way to visualize the result (pass result to the template for example, or simply warn and watch the log file) 4. cd misc/translator && ./translate update fr-FR # try other languages 5. Open misc/translator/po/fr-FR-messages.po and translate your string(s) You may need to change the "Plural-Forms" header. See https://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html 6. ./translate install fr-FR 7. Use your web browser to go to the page that should display the translation, change language and verify the translation is correct 8. prove t/Koha/I18N.t Test plan for translation in templates: 1. Open a template file (.tt or .inc) with your favorite text editor 2. Add the PROCESS directive mentioned above in the beginning of file 3. Use one of the t* macros defined in i18n.inc. They are used like their "__" equivalent, with one difference: the 'x' variants take a hashref instead of a hash as last parameter 4. cd misc/translator && ./translate update fr-FR 5. Open misc/translator/po/fr-FR-messages.po and translate your string(s) 6. ./translate install fr-FR 7. Use your web browser to go to the page that should display the translation, change language and verify the translation is correct Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> |
9 years ago |
Galen Charlton | e4f2326063 |
Bug 11848: (follow-up) update license statment
Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
10 years ago |
Julian Maurice | d24b24adee |
Bug 11848: Make Koha::I18N easier to use
Instead of writing use CGI; use Koha::I18N; my $cgi = new CGI; my $lh = Koha::I18N->get_handle_from_context($cgi, 'intranet'); print $lh->maketext('my translatable text'); you can now write use Koha::I18N; print gettext('my translatable text'); Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
10 years ago |
Marcel de Rooy | fe32727fc5 |
Bug 8044: (follow-up) ensure Modern::Perl is imported first
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
11 years ago |
Julian Maurice | 061cff837d |
Bug 8044: (follow-up) add copyright block and use Modern::Perl
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
12 years ago |
Julian Maurice | 114f3dd499 |
Bug 8044: new module for translating strings in Perl source files
You have to use the new module Koha::I18N Code example: use Koha::I18N; use CGI; my $input = new CGI; my $lh = Koha::I18N->get_handle_from_context($input, 'intranet'); print $lh->maketext("Localized string!"); PO files are in misc/translator/po/LANG-messages.po. Creation of PO files are integrated to existing workflow, so to create PO file for a language, just run in misc/translator: ./translate create LANG To update: ./translate update LANG You can then translate the PO with your favorite editor. Strings will be localized at runtime. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Works as advertised. Some details needing further attention noted on bug report. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> |
12 years ago |