Bug 11262 - Don't require hardcoded translations for seasonal numbering pattern to work
Summary: Don't require hardcoded translations for seasonal numbering pattern to work
Status: CLOSED FIXED
Alias: None
Product: Koha
Classification: Unclassified
Component: Serials (show other bugs)
Version: 3.14
Hardware: All All
: P5 - low major (vote)
Target Milestone: ---
Assignee: Jonathan Druart
QA Contact: Testopia
URL:
Whiteboard:
Keywords: rel_3_16_candidate
: 11264 (view as bug list)
Depends on: 7688 11263
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-17 22:29 UTC by Katrin Fischer
Modified: 2014-12-07 20:07 UTC (History)
6 users (show)

See Also:
Change sponsored?: ---
Patch complexity: Small patch
Bot Control: ---
When did the bot last check this:
Who signed the patch off:
Text to go in the release notes:
Version(s) released in:


Attachments
Bug 11262: saeson, month name and day name are not translatable with the right way (8.12 KB, patch)
2013-11-19 14:15 UTC, Jonathan Druart
Details | Diff | Splinter Review
Bug 11262: saeson, month name and day name are not translatable with the right way (8.09 KB, patch)
2013-11-25 08:30 UTC, Jonathan Druart
Details | Diff | Splinter Review
[SIGNED-OFF] Bug 11262: saeson, month name and day name are not translatable with the right way (8.43 KB, patch)
2013-11-25 14:18 UTC, Bernardo Gonzalez Kriegel
Details | Diff | Splinter Review
Bug 11262 - Don't require hardcoded translations for seasonal numbering pattern to work (8.54 KB, patch)
2013-12-06 12:56 UTC, Kyle M Hall
Details | Diff | Splinter Review
[PASSED QA] Bug 11262 - Don't require hardcoded translations for seasonal numbering pattern to work (8.65 KB, patch)
2013-12-11 21:48 UTC, Katrin Fischer
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Katrin Fischer 2013-11-17 22:29:53 UTC
http://git.koha-community.org/gitweb/?p=koha.git;a=blob;f=C4/Serials.pm;hb=73d4ac9bab051a7c12677d427f669c092469f4df#l2688

Currently the translations for seasons are hardcoded into the .pm file. 
We need an interface to allow people to define their translations.
Maybe we could use authorized values or another completely new table.

For 3.14 I will be working on a patch to add German translations, but we need to do this a nicer way long term for people not able to go into the code and change things or provide patches.
Comment 1 Liz Rea 2013-11-18 03:37:42 UTC
I think this should be a blocker for 3.16 - these terms should be translatable through the regular translation methods.
Comment 2 Jonathan Druart 2013-11-19 13:29:18 UTC
*** Bug 11264 has been marked as a duplicate of this bug. ***
Comment 3 Jonathan Druart 2013-11-19 14:15:42 UTC Comment hidden (obsolete)
Comment 4 Bernardo Gonzalez Kriegel 2013-11-24 23:14:59 UTC
Sorry, but this patch was generated on top of Bug 11264, which will never be in master :(

On line 2693 of your C4/Serials.pm is

"de"=> [qw(Frühling Sommer Herbst Winter)],
Comment 5 Bernardo Gonzalez Kriegel 2013-11-24 23:47:24 UTC
I tested it anyway, on top of Bug 11265 and (fixed) Bug 11263,
after resolve conflict with 11264

Good and bad news:

good) No need to translate, English seasons are already on PO files

bad) Your strings are not translated. They need to be between HTML tags.
For example on line 61 of 
koha-tmpl/intranet-tmpl/prog/en/modules/serials/showpredictionpattern.tt

61                      Spring[% matches.join("") %]

is ignored by translate script.

If you change that to

61                      <span>Spring</span>[% matches.join("") %]

then is translated.

Sorry again
Comment 6 Jonathan Druart 2013-11-25 08:28:44 UTC
(In reply to Bernardo Gonzalez Kriegel from comment #5)
> bad) Your strings are not translated. They need to be between HTML tags.

I will submit a new patch.

> then is translated.
> 
> Sorry again

No worries. Thanks for testing!
Comment 7 Jonathan Druart 2013-11-25 08:30:08 UTC Comment hidden (obsolete)
Comment 8 Bernardo Gonzalez Kriegel 2013-11-25 13:48:57 UTC
Jonathan, I made a huge mistake in my test. Your first patch is correct. 
If you don't mind I'll obsolete the second and get back the first.

Tested it well and works.
Comment 9 Bernardo Gonzalez Kriegel 2013-11-25 14:18:43 UTC Comment hidden (obsolete)
Comment 10 Kyle M Hall 2013-12-06 12:56:42 UTC Comment hidden (obsolete)
Comment 11 Katrin Fischer 2013-12-11 21:48:06 UTC
Created attachment 23473 [details] [review]
[PASSED QA] Bug 11262 - Don't require hardcoded translations for seasonal numbering pattern to work

This patch removes the use of POSIX::strftime which is based on the
locales of the system.
The DateTime module translates month and day name with success, without
any locale installed.
For the saesons, I use the way used in Koha: write the word in
templates. On this way the translate script will match them and allow
translators to translate them.

This patch adds a regression: the season names are not translated
following the locale selected.
This could be done when bug 8044 will be pushed.

Test plan:
0/ Update your po files and translate the season name.
1/ Create a numbering pattern using season.
example:
Name: Seasonal
Numbering formula: {X}
X: Season, Add=1, Every=1, Set back to 0 when more than 3, formatting
"name of season"
And test the prediction pattern with:
frequency: 1/3 month
First issue : 2013-09-21
length: 12 months
X begins with 2 (21th Septembre is Fall)
2/ Click on the test pattern button, you should get:
Fall       21/09/2013
Winter     21/12/2013
Spring     21/03/2014
Summer     21/06/2014

Change the locale and verify the season names are *not* translated.
Change the Koha language and verify the season names are translated.

3/ Create a numbering pattern using day or month name.
example:
Name: day
Numbering formula: {X}
X: day, Add=1, Every=1, Set back to 0 when more than 6, formatting "name
of day"
Frequency: 1/day
First issue: 2013-11-18
length: 1 month
X begins with 0
You should get:
Monday  18/11/2013
Tuesday     19/11/2013
Wednesday   20/11/2013
[...]
Sunday      15/12/2013
Monday      16/12/2013
Tuesday     17/12/2013

change the locale and verify the day names are translated.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described. No koha-qa errors

Tested on top of Bug 11265 and Bug 11263,
and solved merge conflict

Updating PO file gives seasons to translate.
Tested using seasons, day and month

Only note is different behavior
1) To use seasons you need to use staff in desired language
2) To use day and month only need to select locale

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
No regressions found. Passes koha-qa.pl, t and xt

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested this again on top of 11263 and it works as described.
Comment 12 Katrin Fischer 2013-12-11 21:49:50 UTC
I'd like this a bit better if selecting 'seasonal' would deactivate the 'locale' option so there is no confusion. Or a bit more simple: add a hint to the locale that it won't work with seasonal currently.
Comment 13 Galen Charlton 2014-05-05 05:08:30 UTC
Pushed to master.  Thanks, Jonathan!