Basic Usage
The basic usage is similar towml::des::navbar
.
Most normal navbars should also work with
navbar-FH.wml
.
The preparation for splicing is mostly done by
navbar:render
(something may happen during the definition
if a language is defined with the short attribute, but
navbar-FH.wml
should take care of this).
navbar-FH.wml
produces splices for all languages that are
defined when navbar:render
is called.
Specifying Language Versions
Thetxt
, alt
and hint
attributes of navbar:button
take a syntax that is similar
to languages defined with the short attribute.
In addition, a default value may be specified similar to the
lang:star:
syntax.
The attributes url
and img
of
navbar:button
now have a syntax similar to
lang:star:href:
, except that the character #
is used for language substitution, since *
is already
used for the img
attribute.
If the url
or img
given is relative, the
link will be set to the default page, unless the language specific
page exists. As a result, you may have to run wmk -f
twice if you add a version of a page in a new language.
If you don't use the automatic
button creation facility you better take care that at least the
default images exist, if you use images at all.
A typical navbar:button
definition might look like this:
<navbar:button url=index.#.html|index.html img=ind.#.*.png|ind.*.png txt="<de: Leitseite><en: Homepage>|Leitseite">If a default language is defined (see below), you may omit the specific definition for this language:
<navbar:button url=index.#.html|index.html img=ind.#.*.png|ind.*.png txt="<en: Homepage>|Leitseite">or you may omit the default and the specific definition for that language will be used as the default:
<navbar:button url=index.#.html|index.html img=ind.#.*.png|ind.*.png txt="<de: Leitseite><en: Homepage>">Otherwise, the first specified language will be used as the default, ore the whole string if
navbar-FH.wml
can't find anything
it understands.
Note that all these attributes should only contain plain text and no other tags!
Default Languages
There is a new attributedefaultlanguage
to
navbar:define
If set, the default values of all
parameters are used for this language, instead of the properly
substituted ones.
Say, you have a button with img=ind.#.*.png|ind.*.png
, and you
generate slices for de
, en
and
es
.
This will normally give you html-files with references to
ind.de.n.png
, ind.de.o.png
,
ind.en.n.png
and so on, if these images exist or are
created, and to
ind.n.png
etc. otherwise.
If you set defaultlanguage=de
, all occurences of
ind.de.*.png
etc. will also be replaced by
ind.*.png
.
Similarily you can have
<name>.html
for the german pages and
<name>.en.html
for the english pages, and in case a
page is not available in all languages, things should fall back to the
default language fairly automagically.
This may or may not be a useful feature depending on your
requirements.
I implemented it because my site is mostly all german and I didn't
want to change the existing urls of the type
<name>.html
to <name>.de.html
when I translated some of my pages.
Strange Things
There is an attributelanguages
to
navbar:render
, which allows you to produces navbars for
splices in languages that are not defined in your document. It's
probably pretty useless, but it was easy to implement, and you never
know.