Hello,

I have also chosen to write a forum in Ruby, and the solution I came up with
for i18n is that the templates should not include program-determined
user-visible strings. What that basically means is that the task of
translating the message isn't in the template files but in the program.

For example, using an Amrita-like system, I would do something like

	exp_data = { :login_string => i18n("Login") }
	# Expand <span id="login_string"/> or somesuch.

where i18n is just a wrapper for gettext from the Ruby GetText library.

This eases the job of reproducing similar messages for template writers, since
user-visible strings are now kept in the program.

As for different languages via preferences, I originally thought of doing this
but a friend has convinced me that it's pointless to have a forum run on more
than one language at one time. A forum run in Germany will have all its posts
in German anyhow, what's the point of having the menus in English (and
vice-versa)?
-- 
Lo-lee-ta: the tip of the tongue taking a trip of three
  steps down the palate to tap, at three, on the teeth.
Lo. Lee. Ta.               GUO Shu-yu <shu / rufuran.org>