Does your fix actually work? Because I'd have said it only affects the matching (unnecessarily), but not what is passed and would thus have made the change one line below à la `@lang = $1.downcase`.

In case I'm mistaken, can you explain to me how it works?