8< ----- snip ----- > > This is one possible scenario although there is always the risk of > changing words that are in normal strings. Another point is that > ideally this should be made transparent and the "localized" ruby file > should first require a specific module which does the processing > before ruby evaluates the rest of the file. Is this possible? > > e.g. something like > > ------------------------------------- > require 'french_ruby' > > i = 0 > tantque i < 5 > affiche i > fin > ------------------------------------- > > would be transparently transformed internally into this before it is > executed > > ------------------------------------- > i = 0 > while i < 5 > print i > end > ------------------------------------- > > Laurent > > but what happens when they do require 'french_ruby' while = 0 # while is not a keyword in french_ruby! tantque while < 5 affiche while fin When translated to ruby_en that would turn into while = 0 while while < 5 print while end So there are 2 options that I see: 1) learn the keywords and avoid them - which goes against the idea of the localization 2) to a reverse localization - while-> tantque and tantque->while, which would create tantque = 0 while tantque < 5 print tantque end This of course will create confusion if read by a person whose native language is french, so the translation should only be done on runtime.