Apache's content negotiation transparently redirects any old URL (page.html) to
the new one, depending on the client preferred language (i.e. a German browser
will be fed with page.html.de). Transition to this naming convention is then
really smooth.
This naming convention allows one to deliberately display the master page, even
if her browser is configured for another language.
Signed-off-by: intrigeri <intrigeri@boum.org>
my $page=$params{page};
my $ext=$params{ext};
my $page=$params{page};
my $ext=$params{ext};
- if (! IkiWiki::PageSpec::match_istranslation($page, $page)) {
- return;
- }
-
- my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
- if (! $config{usedirs} || $page eq 'index') {
- return $masterpage.".".$ext.".".$lang;
+ if (IkiWiki::PageSpec::match_istranslation($page, $page)) {
+ my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
+ if (! $config{usedirs} || $page eq 'index') {
+ return $masterpage . "." . $ext . "." . $lang;
+ }
+ else {
+ return $masterpage . "/index." . $ext . "." . $lang;
+ }
- return $masterpage."/index.".$ext.".".$lang;
+ if (! $config{usedirs} || $page eq 'index') {
+ return $page . "." . $ext . "." . $config{po_master_language}{code};
+ }
+ else {
+ return $page . "/index." . $ext . "." . $config{po_master_language}{code};
+ }
Example: `bla/page.mdwn` is a "master" Markdown page written in
English; if `usedirs` is enabled, it is rendered as
Example: `bla/page.mdwn` is a "master" Markdown page written in
English; if `usedirs` is enabled, it is rendered as
-`bla/page/index.html`, else as `bla/page.html`.
+`bla/page/index.html.en`, else as `bla/page.html.en`.
Translations of a "master" page into a "slave" language are called
"slave" pages, and is a in gettext PO format. PO is thus promoted to
Translations of a "master" page into a "slave" language are called
"slave" pages, and is a in gettext PO format. PO is thus promoted to
When `usedirs` is enabled, one has to set `DirectoryIndex index` for
the wiki context.
When `usedirs` is enabled, one has to set `DirectoryIndex index` for
the wiki context.
-Setting `DefaultLanguage LL` for the wiki context can be needed, to
-ensure `bla/page/index.html` is served as `Content-Language: LL`
-(replace `LL` with your default MIME language).
+Setting `DefaultLanguage LL` (replace `LL` with your default MIME
+language) for the wiki context can be needed, to ensure
+`bla/page/index.html.en` is served as `Content-Language: LL`.
+**FIXME**: is it still needed with the new `.html.en` naming convention?