localized custom content - can't seem to find a way to overwrite set views

my site will be in 3 languages. I'm using a resource bundle for the
global translations, mostly stuff that falls in the header and footer.
the main content will need to be custom content for each language.
since i'm new to MVC type apps and new to CB, not sure how i can
accomplish this.

normally i would you have:
+about/index.cfm
+about/index_fr_ca.cfm
+about/index_es_us.cfm
the URL request, regardless of which locale is set, is always
localhost/about/. but if locale is set to fr_ca then my process will
output the content of index_fr_ca.cfm. plus, if locale fr_ca is set
and index_fr_ca.cfm doesn't exist then by default index.cfm is used.

in CB, a PRERENDER interceptor would be great here. I could have my
views like this;
+views/about
+views/fr_ca/about
+views/es_us/about

and interceptor could do this:

currentView = getCurrentView(); <---- not sure how i can grab this
if(getfwLocale() neq getSetting("defaultLocale"))
setView("#getfwLocale()#/#currentView#"); <--- will override current
view

in this prerender process i can also override current layout if
needed.

I don't know what is the standard way of doing something like this.
any ideas?

To accomplish my goal I can set my Views according to locale in each
of my handlers and call a udf. This works fine.

How would you guys output custom html content per locale?

As in “footer” or “header” content?

No, as in "main" content. For footer and header content I will be
using resource bundles "#getResource("MyBusiness.OverviewMessage")#

For the main content I want to output entire language-specific CFM
pages. I was over thinking for a solution, but something as simple as
this worked for me:

setView("#getfwLocale()#/MyBusiness/Overview");

my views:
+views
+---en_US
+------MyBusiness
+---------Overview
+---fr_CA
+------MyBusiness
+---------Overview

***erase my previous comment about using a udf.