I18N: I guess we are talking about something *TOTALLY* different. What I'm saying is, it is bad coding style to mandate a string to be a localized string. You do this. In the parameter you are saying "/pvt/home selva-theme.Home". This is in the parameter and in the tcl procedure you say: [_ name] where name is the second part of the parameter which is "selva-theme.Home". Now comes the occasional user that has heard he can change the number of subnavbars using this parameter. He wants to add "/contacts Contacts". He does not care about I18N, it is a plain english site. You approach will result in "MESSAGE KEY missing: Contacts". This is why you should never take a string and run it through [_ ] unless you are 100% sure it will be a valid message key.
As for relying on other packages, well, fine with me, but keep one thing in mind. You will force translators to translate the *exactly* same string twice, because you are running this on OpenACS 5.1.5. It would be considerably better to take the 5.2 acs-subsite catalog file and store it in 5.1.5.
Blank-Master changes from OpenACS version to OpenACS version, so unless there is a compelling reason not to use it, one should. Probably this is why DS is broken on my 5.2 install.
As for the rest, fine with me and we could start a new thread :).
P.S.: I'm not sure how long .LRN will run on 5.1, but I think it should move to 5.2 within this year, as it already works beautifully on 5.2 and there a considerable enhancements in 5.2 that make development easier.