NGUNI (XHOSA/ZULU) Flag of South Africa

Table Designator


This is the technical description of a DBT Translation table. If you want more general information about languages and template choices, please see the list of templates.

Initially, the language table for braille translation is determined by the selected template, and may be changed using the Document / Translation Tables menu. Using those menus does not require use of the table designator. However, to switch to a different translation table partway through a file, one must enter a DBT code and the designator for the table to switch to. For switching secondary languages within a base language table, see the [lng~X] command. For switching from one base language to another, see the [lnb~...] command.

Functional Summary

The Nguni (Xhosa/Zulu) tables support print-to-braille translation of Xhosa- and/or Zulu-language literary text, in either grade 2 (contracted) or grade 1 (uncontracted) braille, according to the Unified Nguni Braille standard developed circa 2007-2010.

Special Requirements and Limitations

True braille-to-print translation is not supported. This means that it is not generally useful to translate a Xhosa or Zulu braille file to print. It also means that the "translated line" will typically contain gibberish when viewing the braille file. You may prefer to turn off the "translated line" under the View menu, or even under Global/Default if you wish it to be off by default.

Secondary Languages Supported

Several other languages may be entered and treated in grade 1 "Nguni context", using the [lng...] code to switch. For instance, [lng~fr] (or [lng~fra]) would introduce a French passage to be treated as French grade 1 for the letters and accented letters (but with Nguni punctuation and indicators). That passage would be terminated, i.e. reverting to Nguni, at [lng] (or [lng~ng]or [lng~ngu]) or [lng~xh]) or [lng~xho]) or [lng~zu]) or [lng~zul]) or [lng~qng]). The available languages other than Nguni/Xhosa/Zulu, together with their associated "lng" codes, are:

af (or afr) -- Afrikaans

de (or deu) -- German

en (or eng) -- English

es (or esp) -- Spanish

fi -- Finnish

fr (or fra) -- French

it (or ita) -- Italian

la (or lat) -- Latin

nl -- Dutch

pt -- Portuguese

sv -- Swedish

sw -- Swahili

Note that in addition to the above-listed "secondary languages" supported within the Nguni (Xhosa/Zulu) table itself, it is also possible to switch to any of the available translation tables listed in DBT. (See the [lnb~...] code below.)

Technical Braille Codes Supported

No separate technical braille codes are supported. Unified Nguni itself incorporates technical notation such as for mathematics, science and computer material in a manner consistent with Unified English Braille (UEB), and so no separate technical code is needed for such material. The method for entering mathematics and other technical notation is the same as for UEB.

It is also possible to switch to any of the available translation tables listed in DBT (see the [lnb~...]code below), many of which do support various technical codes, such as for mathematics or computer notation, or which support “unified” treatment of technical notation as well as literary text in the base language associated with the table.

Supported DBT Translation Codes

The following DBT translation codes are available when using the Nguni (Xhosa/Zulu) table. Any other translation codes used will be ignored, or indeed may cause unexpected results. If using an alternative translation table, i.e when switching to another base language table by means of the[lnb~...] code, please refer to the relevant topic and available codes for that table.


[ab] is equivalent to [g2]



[bline] -- ignored.



[enclis] -- ignored.







[fte~s] (end of script typeform)




[fts~s] (start of script typeform)


[g1] -- switches to grade 1 as the "prevailing grade", but does not insert any grade 1 indicator.

[g2] -- resumes grade 2 as the "prevailing grade," but does not insert any indicator. (Grade 2 is the normal prevailing grade.)



[in] is equivalent to [g1]





[lnb~...] (for switching to another base [primary] language table)


[lng~...] (see "Secondary Languages Supported," above)







[rmn] -- ignored



[tce] -- allowed but not needed (ignored).

[tcs] -- allowed but not needed (ignored).

[te] -- terminates the grade 1 passage initiated by [ts], inserting grade 1 passage termination indicator, if the prevailing mode is grade 2, and resumes the prevailing grade as established by [g1] or [g2].



[ts] initiates "technical notation," i.e. a "grade 1 passage," inserting the grade 1 passage indicator if the prevailing mode as established by [g1] or [g2] is grade 2, and establishes grade 1 translation.



[uce](see [ucs])

[ucl0~"] establishes that the ordinary keyboard double quote (U+0022) is to be interpreted flexibly, i.e. as an opening quote or a closing quote according to the immediate context. This is the default (initial) condition.

[ucl1~"] establishes that the ordinary keyboard double quote (U+0022) is to be interpreted literally, i.e. as a nondirectional double quote, and translated as such.

[ucs] marks the beginning of a capital passage when it is desirable to override the automatic logic for determining capital passages. All letters between [ucs] ... [uce] pairs are treated as capitals regardless of their actual case.



[uoq] causes the prevailing quote marks to be "unset," which is the default (initial) condition. When the prevailing quote marks are unset, the first actual quote mark (of those listed above) next encountered in the file determines the prevailing quote mark for the rest of the file unless until a subsequent [uoq...] command is encountered.

[uoq~"] or [uoq~0022] sets the prevailing (or "outer") opening and closing quote to the ordinary keyboard double-quote ("), i.e. U+0022. (This command is incompatible with [ucl1~"], which causes that kind of quote to be treated as nondirectional.)

[uoq~`] or [uoq~0060] sets the prevailing opening and closing quote to the grave accent character (`), i.e. U+0060.

[uoq~«] or [uoq~00ab] sets the prevailing opening quote to the left-pointing double angle quotation mark («), i.e. U+00ab, and the prevailing closing quote to the corresponding right-pointing mark.

[uoq~»] or [uoq~00bb] sets the prevailing opening quote to the right-pointing double angle quotation mark (»), i.e. U+00bb, and the prevailing closing quote to the corresponding left-pointing mark.

Generally speaking, any need to use a [uoq...] command would be very rare, as the default behavior should establish the actual quote pattern (e.g. single outer, double inner, or vice versa) correctly and provide the correct treatment automatically.


[vrn] cancels the effect of [vrn~ida], restoring the default, formal, treatment of dashes and hyphens, e.g. any surrounding spaces are preserved in the braille.

[vrn~ida] establishes a mode wherein dashes are treated informally. Specifically, a space at either end of a dash is not preserved in the braille, and double hyphens and spaced single hyphens are treated as full dashes (i.e. em-dashes).


Characters Supported

The table is designed to work with the following groups of characters:

All ASCII printable characters

Accented letters and punctuation marks typical of Xhosa or Zulu

Accented characters and punctuation marks typical of French, German, Italian, Spanish, and Portuguese

British pound, Japanese yen, Euro, and other miscellaneous signs (DUSCI pages D+ec..., D+ed..., D+ee..., D+f5...)

Mathematical signs, shapes, etc. (DUSCI pages D+df..., D+e2..., D+e5..., D+ef..., D+f0..., D+f1...)

The above is a general guide only (see "General Notes" section at the beginning of this document).

References, History and Credits

Earlier "pre-unified" Nguni (Xhosa/Zulu) tables were developed from April 1991 at the Institute for the Blind, Worcester, South Africa, and at the South Africa Blind Workers Organization (SABWO), Johannesburg, with the assistance of Duxbury Systems, Inc. Subsequently those tables were maintained mainly by Mr. Christo de Klerk with the help of Mr. Jan Bam, with occasional assistance from Duxbury.

These "Unified" tables were initially developed from January 2007 through June 2010 by Mr. Christo de Klerk with the assistance of Duxbury Systems, Inc.

(Documentation reviewed July 2010)