TODO 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. tinygettext API related stuff
  2. =============================
  3. * translate, translate_ctxt, translate_ctxt_plural, ... could be
  4. unified via overloading, not sure if that is a good idea. For the
  5. same reason add_translation() could be de-overloaded, to
  6. add_translation_ctxt, ...
  7. `Note that an empty context string and an absent msgctxt line do not mean the same thing.'
  8. https://www.gnu.org/software/gettext/manual/gettext.html
  9. * iconv handling needs cleanup and more flexibility, since some
  10. systems don't provide iconv or only through SDL
  11. * Customizability could use grouping and documentation or other means
  12. to make it more obvious:
  13. - POParser::pedantic
  14. - iconv (???)
  15. - logging (log_callback(std::string))
  16. * handle errors better, not with log_* stream, cases of errors:
  17. - couldn't translate
  18. - collision while adding translation
  19. - failure to open file or directory
  20. - unknown language
  21. - iconv failure to convert charset
  22. * ABI management/freezing. If tinygettext is to benefit other projects,
  23. it should be able to provide a stable API (and, better, ABI).
  24. tinygettext implementation details
  25. ----------------------------------
  26. * with PluralForms moved into Dictionary a lot of the Langugae stuff
  27. is pointless
  28. * get rid of goto
  29. * POParser can handle Big5, but needs testing.
  30. Big5 is one byte for ASCII letters and two bytes for chinese ones,
  31. this means some two byte characters collide with '\', some .po files
  32. seem to escape the \ properly so that the string can be read as
  33. usual, while others don't.
  34. * _() -> getext() (gettext default)
  35. N_(id) -> gettext_noop(id) (gettext default)
  36. C_(ctxt, id) -> pgettext(ctxt, id) (Gnome does this: http://library.gnome.org/devel/glib/2.16/glib-I18N.html#Q-:CAPS)
  37. NC_(ctxt, id) -> pgettext(ctxt, id) (Gnome does this: http://library.gnome.org/devel/glib/2.16/glib-I18N.html#Q-:CAPS)
  38. Random Unimportant Stuff
  39. ------------------------
  40. * support for .gmo files would be cool
  41. tinygettext Documentation
  42. -------------------------
  43. * recommend a way to handle translation of speech and other data files
  44. * document how to use tinygettext and make it work like gettext