Это все или я что-то забыл?
Далее, какие за и против использования внутреннего представления в wide-char? Если в программе не требуется обработка текста (максимум - сортировка введенных строк), то не лучше ли не делать лишние трансляции (mbstowcs/wcstombs)?
Если требуется хранить текст в UTF-8, то нормально ли использовать для перекодировки iconv, получая текущую кодировку через nl_langinfo(CODESET)?
Насколько прозрачна поддержка i18n и UTF-8 в библиотеках GUI (Gtk, Qt)?