X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ad07eebb0b4afe4af8170dedefb9b782f3ab2d98..b851020978ce04ef22b2d985967be1948ca794b3:/doc/plugins/contrib/linguas.mdwn?ds=inline diff --git a/doc/plugins/contrib/linguas.mdwn b/doc/plugins/contrib/linguas.mdwn index 6dcffffc8..0d05c0864 100644 --- a/doc/plugins/contrib/linguas.mdwn +++ b/doc/plugins/contrib/linguas.mdwn @@ -1,7 +1,9 @@ +[[template id=plugin name=linguas author="Jordà Polo"]] + Linguas ======= -Linguas is a plugin for [ikiwiki](http://ikiwiki.kitenet.net/) that +Linguas is a plugin for [ikiwiki](http://ikiwiki.info/) that allows translations of wiki pages. Download: [linguas.pm](http://wiki.ettin.org/files/linguas.pm) (2006-08-21). @@ -13,14 +15,14 @@ Translatable pages and translations must have the following format: `pagename.$LANG`, where `$LANG` is a ISO639-1 (two-letter) language code. To enable linguas, add the following line in the source code of the page: - [[linguas ]] + \[[linguas ]] Note that linguas is only required in one of the pages (the original, for instance); the rest of translations will be automatically updated. Additionally, it is also possible to specify the title of the translation: - [[linguas title="Translated title"]] + \[[linguas title="Translated title"]] Template @@ -49,12 +51,55 @@ it in ikiwiki.setup, though some problems were found while trying to do so. (Actually, defining hash-like arguments from the command like works fine, but it fails from ikiwiki.setup.) + > My guess about this is that it's because of the way Setup/Standard.pm + > untaints the config items from the file. It has code to handle arrays, + > but not hashes or more complex data structures. --[[Joey]] + + > > Right. With this simple + > > [patch](http://wiki.ettin.org/files/hash_setup.patch) it seems to + > > work. However, note that 1) it only allows simple hashes, hashes of + > > hashes will not work (I don't think getops can handle complex hashes + > > anyway); 2) I don't really know when/why you call + > > `possibly_foolish_untaint()`; and 3) I'm no perl guru ;). --Jordà + + > > > It's good. Applied.. + * Wiki links to other translated pages require the full page name including the `.$LANG`. It should be possible to link automatically to pages with the same `.$LANG`, but that would probably require some changes in IkiWiki. (I'm not sure though, I still haven't looked at it... any hints?) + > Have you considered using the form ll/page? This would let more usual + > linking rules apply amoung pages without needing to specify the + > language. I'm not sure if you're supporting browser content + > negotiation, or whether that other layout would be harder to support it + > though. --[[Joey]] + + > > Actually, I'm happy with the way it works now (and yeah, it is very + > > easy to take advantage of content negotiation). I just wanted + > > something simple to translatte a single page (or a few pages), not + > > the entire wiki. I'm not even sure it is a good idea to have fully + > > multilingual wikis, in most cases I would go for a different wiki + > > for each language. That said, I think it is an interesting idea, so + > > I'll take a look when I have the time. Thanks for your comments. + > > --Jordà + +* The changes to htmllink in ikiwiki 1.44 broke this plugin. +The following fixes it: + + --- linguas.pm.orig 2006-08-23 19:07:04.000000000 +0200 + +++ linguas.pm 2007-03-24 01:53:18.000000000 +0100 + @@ -100,7 +100,7 @@ + if (exists $linguas{$2} && defined $linguas{$2}) { + $link = $linguas{$2}{'name'}; + } + - push @links, IkiWiki::htmllink($page, $destpage, $trans, 0, 0, $link); + + push @links, IkiWiki::htmllink($page, $destpage, $trans, noimageinline => 0, forcesubpage => 0, linktext => $link); + } + + my $otherlinguas = 'Translations:'; + Examples --------