Let me try to separate the aspects involved:
1. there is the specification aspect, the WHAT should be done.
In my opinion there should not be the need to modify all references to docu files.
This is a lot of files and even a larger lot of occurences.
If we consider a state of partial translation, there will be references from untranslated files
to translated files, and such references should of course open the translated docu.
This goal can be achieved easily, no matter HOW it is implemented:
The existing StdCmds.OpenBrowser references "<Subsys>/Docu/<Name>" should be interpreted
as references to the selected language with a fallback to the default language.
In addition to that there may be the need to open a language specific docu file
as "<Subsys>/Docu/<lang>/<Name>". This is not yet supported in my approach but could be added.
The * notation ("<Subsys>/Docu/*/<Name>") is an undocumented and unused feature of BB 1.6. It is not required
and has therefore been dropped in my approach. If there is a good reason, it could also be supported.
2. there is the implementation aspect, the HOW is it done.
My current approach avoids a FileExists() function because it does not exist in BB1.6.
Helmut's approach implements a FileExists() function on top of dir.LocList. This is what I tried to avoid
because it has a linear runtime behavior and not a constant one.
If we assume something like a FileExists() function, we can of course do the changes in a way that is closer
to the old code and I would actually prefer that.
I remember a discussion initiated by Robert where he asked for something like a FileExists() function
(see
http://community.blackboxframework.org/ ... obert#p564).
May be it is time to really think about such a function. It would be fairly easy to do, I guess.
- Josef