I18N: Use recursion instead of iteration