From: intrigeri Date: Wed, 12 Nov 2008 00:08:57 +0000 (+0100) Subject: Merge commit 'upstream/po' into prv/po X-Git-Tag: 3.15~342 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/b19d0d3d245c7c2b605ac6c972c73c909a941db4?hp=-c Merge commit 'upstream/po' into prv/po --- b19d0d3d245c7c2b605ac6c972c73c909a941db4 diff --combined doc/plugins/po.mdwn index 125a9b016,5cac86d26..eeeabe730 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@@ -299,6 -299,8 +299,8 @@@ means the `Text` module only variables; they seem safe to me, but someone more expert than me will need to check. Joey? + > Freaky code, but seems ok due to use of `quotementa`. + ##### Text::WrapI18N `Text::WrapI18N` can cause DoS (see the @@@ -318,6 -320,34 +320,34 @@@ in this field. Joey? [[--intrigeri] > familiar with. I can learn and do it, in case no Perl wizard > volunteers to provide the po4a patch. [[--intrigeri]] + >> That doesn't really need to be in a BEGIN. This patch moves it to + >> `import`, and makes this disable wrap18n: + >> `use Locale::Po4a::Common q{nowrapi18n}` --[[Joey]] + +
+ --- /usr/share/perl5/Locale/Po4a/Common.pm	2008-07-21 14:54:52.000000000 -0400
+ +++ Common.pm	2008-11-11 18:27:34.000000000 -0500
+ @@ -30,8 +30,16 @@
+  use strict;
+  use warnings;
+  
+ -BEGIN {
+ -    if (eval { require Text::WrapI18N }) {
+ +sub import {
+ +    my $class=shift;
+ +    my $wrapi18n=1;
+ +    if ($_[0] eq 'nowrapi18n') {
+ +    	shift;
+ +	$wrapi18n=0;
+ +    }
+ +    $class->export_to_level(1, $class, @_);
+ +
+ +    if ($wrapi18n && eval { require Text::WrapI18N }) {
+      
+          # Don't bother determining the wrap column if we cannot wrap.
+          my $col=$ENV{COLUMNS};
+ 
+ ##### Term::ReadKey `Term::ReadKey` is not a hard dependency in our case, *i.e.* po4a @@@ -404,6 -434,9 +434,9 @@@ an Perl seems to exit cleanly, and an incomplete PO file is written on disk. I not sure whether if this is a bug in Perl or in `Po.pm`. + > It's fairly standard perl behavior when fed malformed utf-8. As long as it doesn't + > crash ikiwiki, it's probably acceptable. Ikiwiki can do some similar things itself when fed malformed utf-8 (doesn't crash tho) --[[Joey]] + #### po4a-translate `po4a-translate` uses more or less the same po4a features as our @@@ -463,37 -496,20 +496,37 @@@ gettext/po4a rough corner into the Pot file, and let it propagate; should be fixed in `773de05a7a1ee68d2bed173367cf5e716884945a`, time will tell. -Page titles in links --------------------- +Better links +------------ + +### Subpages + +On a translation page, links to subpages should actually be links to +the master page's subpages. They currently appear as broken links. -To use the page titles set with the [meta](plugins/meta) plugin when +### Page title in links + +To use the page titles set with the [[meta|plugins/meta]] plugin when rendering links would be very much nicer, than the current "filename.LL" format. This is actually a duplicate for [[bugs/pagetitle_function_does_not_respect_meta_titles]]. +Going to work on this in my `meta` branch. + +### Translation status in links + +See [[contrib/po]]. + +### Backlinks + +They are not updated when the source page changes (e.g. meta title). + Page formats ------------ Markdown is well supported, great, but what about others? -The [po](plugins/po) uses `Locale::Po4a::Text` for every page format; +The [[po|plugins/po]] uses `Locale::Po4a::Text` for every page format; this can be expected to work out of the box with most other wiki-like formats supported by ikiwiki. Some of their ad-hoc syntax might be parsed in a strange way, but the worst problems I can imagine would be @@@ -519,8 -535,8 +552,8 @@@ A new `cansave` type of hook would be n Note: committing to the underlying repository is a way to bypass this check. -Broken links ------------- +Creating new pages on the web +----------------------------- See [[contrib/po]]. @@@ -528,5 -544,5 +561,5 @@@ Documentatio ------------- Maybe write separate documentation depending on the people it targets: -translators, wiki administrators, hackers. This plugin is maybe -complex enough to deserve this. +translators, wiki administrators, hackers. This plugin may be complex +enough to deserve this.