Den 17. jan. 2007 kl. 13.39 skrev Sjur Moshagen:
Now, it *continues* to work with plain content like index.jspwiki.
But as soon as I localise it to index.no.jspwiki, I get a file-not-
found error. I don't understand why... :-(
I found a pattern, and a (clumsy) work-around:
It seems the i18n matcher needs to have a default/fallback file.
Adding a file index.jspwiki will let the other localised two be
accessible.
The next thought was that this was caused by a parameter in the main
sitemap, so I changed $FORREST_HOME/main/webapp/sitemap.xmap to read
in the LocaleMatcher config section:
<use-blank-locale>false</use-blank-locale>
(it used to be true in my local copy).
According to the Cocoon docs it should now NOT be looking for a
fallback document. But it still does - I get the following error
message as long as I don't have a fallback file:
Request URI
adm/positions/software_engineer.html
cause
/Users/sjur/Documents/xtdoc/sd/src/documentation/content/xdocs/adm/
positions/software_engineer.xml (No such file or directory)
The workaround is thus to make sure I have a(n empty) fallback
document. Then i18n with wiki files seems to work as it should.
On the other hand, when having a mixture of localised and non-
localised files, we also need to have access to those non-localised
files. Thus, we need to leave the use-blank-locale parameter true,
otherwise Forrest will give a file-not-found error on all non-
localised files! Since there was no actual difference between the two
settings, that should not be a problem.
Please note that it does normally not make sense to have a fallback
document for wiki documents. Since the wiki format is text-only (no
markup), there is no explicit information about the human language
used in a particular file within the document content. Thus, to
detect the language used for further processing (language override
menu, whatever), the filename is the *only* place where it is
possible to encode this info.
The question remains why I get a file not found error when leaving
out the fallback document. LocaleMatcher has a fallback language
specified, which it could/should use to look up a file, if nothing
else is found. Thus, as long as one of the localised files is the
default language, there should be no error.
Sjur