Language Switching

Those who are experienced DBT users who work with foreign languages should read this Topic very carefully.

Those who are not experienced foreign language users should at least study the Introduction.


It is important to appreciate that there are usually two different ways of transcribing foreign language text into braille within the same document - sometimes more.

Method 1:

Many existing users will be familiar with applying DBT Styles to foreign language text. Using a style applies braille translation rules as laid down by the braille authority for the main document language.

Method 2:

Apply braille translation rules as laid down by the braille authority of the language you wish produced.


In the following simple example, the word "Caf" is translated three different ways. First, by simply using the word in English/American text as an isolated French word that has been borrowed into English. Second, by applying DBT's "French" style to the word, and third by switching to French/Unified as it would appear in a French document.

Image shows exampole of the word "Cafe" using English, French Style and Frech Language braille tables.

Note that in the first instance, dot 6 indicates an upper case letter c, while the e acute is shown by the dot 4 accent sign followed by the letter e.

In the second, the e acute is now shown purely as all six dots.

And in the third, instead of dot 6, the French capital sign is used, dots 46, while the e acute remains as all six dots.

Which should I use?

The choice depends on what your local rules are and who the document is for. Clearly, if you were writing in French braille to someone in France or Canada who reads fluent French Unified braille, they would appreciate proper French.

Now for the Technical Part

[lnb~X] - switches the base translation table from the current table to the one corresponding to the designator X. The initial base translation table is determined by the selection under Document / Translation Table, which normally is implicit in the template chosen when the file is created.

When an [lnb~X] code is encountered within a file, the effect is to change to a new table that controls translation until another [lnb~X] or plain [lnb] code is encountered. If there is no such code, that table continues until the end of the file.

A plain [lnb] code causes a switch back to the translation table that was in effect just prior to the most recent [lnb~X] that has not already been terminated by a balancing [lnb]. In other words, the pair [lnb~X] ... [lnb] can be used to enclose text that is to be processed using table X within a larger body of text that is otherwise processed by some other table, and such pairs can be "nested".

As an example, suppose we have a file that was created using the Spanish template and the Document / Translation table menu selection remains "Spanish," and that the file contains the following sequence of text and codes:

... text a ... [lnb~eng-xueb] ... text b ... [lnb~qip] ... text c ... lnb] ... text d ... [lnb] ... text e

Then we would expect text segments a and e to be processed using the Spanish table, segments b and d to be processed using the English (Unified) (UEB) table, and segment c to be processed using the International Phonetic Alphabet (IPA) table.

When any table switch occurs, whether by [lnb~X] or [lnb], the effects of any persistent translation codes, such as grade switches or "technical notation" declarations, are terminated. The default states for the table that takes control after the [lnb~X] or [lnb] are put into effect, even if those states were altered when that same table was in control for some earlier segment in the same file.

Note that some of the default states for the initial translation table may have been altered by the "initial" style, and that the "initial" style is implicitly invoked only at the very beginning of the file. For this and other reasons, it is usually advisable to use [lnb~X] ... [lnb] within suitably constructed styles rather than as direct codes.

Finally, it is important not to confuse [lnb~...] with [lng~...]. The latter is for switching to "secondary languages" that are supported within the same base translation table. A base translation table typically reflects translation rules as defined by a particular national or regional authority. For example, the English (American) tables reflect the rules defined by the Braille Authority of North America (BANA). BANA has defined rules for putting French text into braille that make sense for English-speaking American students of French, but those rules are different from the braille rules that are customary in France itself. If you have French text that you want processed according to BANA, then you want one of the English (American) tables to be in control and would use [lng~fra] to select French as a "secondary" language. If, on the other hand, you have French text that you want put into braille according to French customs, then of course you want the French table to be in control.

You can find the table designator codes, alphabetically by language name, by following the link below. Note that the first three letters of the table designator correspond to the ISO 639-3 language code, where appropriate. In some cases, a hyphen and additional letter(s) serve to distinguish tables for different codes serving the same language, or historical codes that remain temporarily available for compatibility purposes:

For the full list of languages in alphabetical order, complete with table designators, click here.