intl.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include <libintl.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <strings.h>
  5. #include <errno.h>
  6. char *gettext(const char *msgid)
  7. {
  8. return (char *) msgid;
  9. }
  10. char *dgettext(const char *domainname, const char *msgid)
  11. {
  12. return (char *) msgid;
  13. }
  14. char *dcgettext(const char *domainname, const char *msgid, int category)
  15. {
  16. return (char *) msgid;
  17. }
  18. char *ngettext(const char *msgid1, const char *msgid2, unsigned long int n)
  19. {
  20. return (char *) ((n == 1) ? msgid1 : msgid2);
  21. }
  22. char *dngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n)
  23. {
  24. return (char *) ((n == 1) ? msgid1 : msgid2);
  25. }
  26. char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category)
  27. {
  28. return (char *) ((n == 1) ? msgid1 : msgid2);
  29. }
  30. char *textdomain(const char *domainname)
  31. {
  32. static const char default_str[] = "messages";
  33. if (domainname && *domainname && strcmp(domainname, default_str)) {
  34. errno = EINVAL;
  35. return NULL;
  36. }
  37. return (char *) default_str;
  38. }
  39. char *bindtextdomain(const char *domainname, const char *dirname)
  40. {
  41. static const char dir[] = "/";
  42. if (!domainname || !*domainname
  43. || (dirname && ((dirname[0] != '/') || dirname[1]))
  44. ) {
  45. errno = EINVAL;
  46. return NULL;
  47. }
  48. return (char *) dir;
  49. }
  50. char *bind_textdomain_codeset(const char *domainname, const char *codeset)
  51. {
  52. if (!domainname || !*domainname || (codeset && strcasecmp(codeset, "UTF-8"))) {
  53. errno = EINVAL;
  54. }
  55. return NULL;
  56. }