]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/contrib/linguas.mdwn
Merge remote branch 'smcv/ready/link-types'
[git.ikiwiki.info.git] / doc / plugins / contrib / linguas.mdwn
index 0ddf59e223f82e6d0167cc3161b0c57ba7310819..84ece042e4e694d6fad0e52d9005a6e0423e426a 100644 (file)
@@ -1,10 +1,18 @@
+[[!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).
+Download: [linguas.pm](http://ettin.org/pub/ikiwiki/linguas.pm) (2006-08-21).
+
+Note that even though it is still available for download, this plugin is no
+longer actively maintained. If you are interested in multilingual wiki pages, you
+can also take a look at other approaches such as [[todo/l10n]], [[plugins/po]],
+or Lars Wirzenius's
+[Static website, with translations, using IkiWiki](http://liw.iki.fi/liw/log/2007-05.html#20070528b).
 
 Usage
 -----
@@ -13,14 +21,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,20 +57,51 @@ 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://ettin.org/pub/ikiwiki/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?)
 
-
-Examples
---------
-
-* [Linguas](http://wiki.ettin.org/linguas.en.html). A page with the same
-content than this one.
-
-* [Hello in some languages](http://wiki.ettin.org/hello/hello.en.html). The
-translations were taken from [Hello in many
-languages](http://www.omniglot.com/language/phrases/hello.htm) and from
-the [Debian](http://www.debian.org/) website.
+  > 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:';