Internationalization (or localization) is the ability to customize an app for the local language without having to change the source code. In the Dabo framework, we've strived to wrap all strings in a localization function, which by convention in the Python world at least is named simply with the underscore character: _().
Here is a post from the dabo-dev list that helps explain our approach:
> Since you both appear to be working - could someone explain the > following code: >raise dException.NoRecordsException, _("No rows to sort.")> The part I don't understand is the underscore?
In the Python world, _() is the standard name for the internationalization function: it takes a string and, depending on the settings, returns the proper localized translation of the original. In Dabo, it is nothing more than a placeholder for now; if we get some international developers involved in the future, they can write translations and hook them into the dLocalize program, allowing for localized apps without having to mess with the source code.
Look at the top of any file where you see the underscore function; it will have a line like:
from dabo.dLocalize import _