home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 4 / CD_Magazyn_EXEC_nr_4.iso / Recent / dev / c / apputil.lha / apputil / localize.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-11-04  |  951 b   |  52 lines

  1. /*
  2.  * localize.c
  3.  * ==========
  4.  * Utility functions for localization.
  5.  *
  6.  * Copyright (C) 1999-2000 Håkan L. Younes (lorens@hem.passagen.se)
  7.  */
  8.  
  9. #include <proto/exec.h>
  10. #include <proto/locale.h>
  11.  
  12. #include "apputil.h"
  13.  
  14.  
  15. struct LocaleInfo {
  16.   APTR li_LocaleBase;
  17.   APTR li_Catalog;
  18. };
  19.  
  20.  
  21. extern STRPTR __asm GetString(register __a0 struct LocaleInfo *li,
  22.                   register __d0 ULONG id);
  23.  
  24.  
  25. static struct LocaleInfo li;
  26.  
  27. #define LocaleBase li.li_LocaleBase
  28.  
  29.  
  30. VOID InitLocaleInfo(STRPTR catalog, STRPTR language, UWORD version) {
  31.   li.li_LocaleBase = OpenLibrary("locale.library", 38L);
  32.   if (li.li_LocaleBase != NULL) {
  33.     li.li_Catalog = OpenCatalog(NULL, catalog,
  34.                 OC_Language, language,
  35.                 OC_Version, version,
  36.                 TAG_DONE);
  37.   }
  38. }
  39.  
  40.  
  41. VOID DisposeLocaleInfo(VOID) {
  42.   if (li.li_LocaleBase != NULL) {
  43.     CloseCatalog(li.li_Catalog);
  44.     CloseLibrary(li.li_LocaleBase);
  45.   }
  46. }
  47.  
  48.  
  49. STRPTR GetLocString(ULONG strId) {
  50.   return GetString(&li, strId);
  51. }
  52.