If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.


Property:Language (lexicon)

From BoxMatrix

BoxMatrix >> Lexicon >> Internationalisation >> Language @ BoxMatrix   -   IRC-Chat   -   Translate: de es fr it nl pl
News Selectors Models Accessories Components Environment Config Commands System Webif Software Develop Lexicon Community Project Media

Computer FRITZ I18N Telephony Smarthome Internet Protocols Multimedia Formats Hardware Software Research

Name-Collision - multiple objects in this wiki use the name Language!
Language (avmenv) The computed system Language setting.
Language (lexicon) System for communication between humans.


Goto:   FRITZ!OS   -   SMW-Browser


A Language is a local or global system for written or spoken communication between humans.
There are thousands of Languages and even more dialects.

Each Country or Region on this world defined one or more official Languages.

The top 10 spoken languages on the world are: - first + second language speakers:[1]

  • English - 1.452 billion
  • Mandarin - 1.118 billion
  • Hindi - 602.2 million
  • Spanish - 548.3 million
  • French - 274.1 million
  • Arabic - 274.0 million
  • Bengali - 272.7 million
  • Russian - 258.2 million
  • Portuguese - 257.7 million

English turned the primary language for global communication in the Internet.

Many written Languages use special Characters which require a matching Charset to encode them.


FRITZ!OS uses the Language (avmenv) variable for the system wide Language setting.
Language_is_default is set to no if Language (avmenv) is set from the language (bootenv) variable, otherwise it is yes.

Both Language variables use the lowercase ISO 639-1 standard 2-Character language code:

Click any Language above or see the Language-Selector for a filterable list of Languages supported by each model .


Most Box-Models up to generation x1xx (ie: 7170) and most Telekom-Derivatives only support a single Language, German.
Initially these were only sold in Germany, but later AVM also sold variants for Switzerland and Austria with German interface.

For the fb, 1020, fbf, fbfw, 7050, 7140 and 7170 AVM also sold single Language English variants for the international market.


The first models supporting 5 Languages were the international models 5113 and 7113int.
The only Telekom-Derivative which supports 2 Languages is the w503vmk for Macedonia.

Besides this most models since generation x2xx (ie 7270) support 5 to 7 languages in their international variants.
All model variants for the German market only supported German Language for long time.

This has been changed since Labor r74082+ when AVM made firmware compatible to both the German and international
variants of models instead of maintaining separate versions.

FRITZ!OS with multi Language support has the CONFIG_MULTI_LANGUAGE variable set to y, regardless of which Languages
are installed, so also for the German only variant of it.


To simplify translation AVM splitted the files which form the Webinterface from the Language specific output they create.
This is managed by HTML-Text databases for each supported Language:

HTML-Text is accessed via /etc/htmltext.db (static), which is a symlink to /var/htmltext.db (temp) to be writable, which again is
a symlink to the HTML-Text db for the currently selected Language, created by rc.conf.

The insertion of the text is done using SSI, performed by libtiinterpreter.so, which is used wherever translated text is needed
in FRITZ!OS, not only for the Webinterface.


Changing the Language is done by the setlanguage script, which expects one argument, the ISO 639-1 language code:

setlanguage <lang>

If htmltext_<lang>.db does not exist setlanguage does nothing and terminates with exit code -1.
Otherwise setlanguage sets the language variable in the Bootloader-Environment to <lang>.
If the Language variable in AVM-Environment already equals <lang> setlanguage terminates with exit code 1.
Otherwise setlanguage terminates with exit code 0 which makes the caller perform a reboot.

The Webinterface handles the list of availlable Languages in the language ui-module, which is maintained by libcmapi.so.
Starting with fw 7.39 this module also handles the current Language setting in:


Before fw 7.39 this setting was handled in the box ui-module, also maintained by libcmapi.so:


Changing the value of these keys will make libcmapi.so call setlanguage.

setlanguage is also called by firmwarecfg, tr069fwupdate, libtr069.so and by the tffs init script.



Information is currently being retrieved from the backend.