Switch translation cache lang outside of gdt in C

* tta/C/main/translations.c (cache_translate_string): handle a NULL
lang_translation.

* html_cache_translate_string (html_cache_translate_string),
tta/C/main/translations.c (get_lang_translation): have
get_lang_translation return a LANG_TRANSLATION.  Update callers.

* tta/C/convert/html_converter_finish.c (html_reset_converter),
tta/C/main/converter_types.h (CONVERTER), tta/C/main/translations.c
(translation_cache, get_lang_translation):
modify translations caches lang lists be a list of pointer to avoid having
pointers invalidated by realloc.

* tta/C/convert/convert_html.c (html_translate_names),
tta/C/convert/converter.c (set_converter_init_information)
(converter_expand_today, converter_translated_command_tree),
tta/C/convert/format_html.c (html_convert_heading_command)
(html_convert_def_line_type), tta/C/main/convert_to_text.c
(copy_options_for_convert_text, text_set_language)
(convert_def_line, convert_to_text_internal),
tta/C/main/convert_to_text.h (TEXT_OPTIONS),
tta/C/main/convert_utils.c (switch_lang_translations, expand_today)
(definition_category_tree, cdt_tree, translated_command_tree),
tta/C/main/converter_types.h (CONVERTER), tta/C/main/translations.c
(gdt_tree, pgdt_tree), tta/C/structuring_transfo/structuring.c
(new_complete_node_menu, new_detailmenu),
tta/C/structuring_transfo/transformations.c
(complete_tree_nodes_missing_menu, regenerate_master_menu): add
current_lang_translations field in converters and
switch_lang_translations function.  Switch lang translation cache when
getting information on document language.  Pass a LANG_TRANSLATION to
gdt_tree and similar instead of the language, update callers.  Pass
directly the debug level in argument to new_complete_node_menu instead
of options.

* tta/C/parsetexi/indices.c (lang_translations, complete_indices): use
a separate translations cache.
17 files changed