/****************************************************************
   This file was created automatically by `FlexCat 1.5'
   from "CompactPlayer.cd".

   Do NOT edit by hand!
****************************************************************/

#if defined(__SASC)  ||  defined(_DCC)
#include <proto/locale.h>
#elif defined(__GNUC__)
#include <inline/locale.h>
#else
#include <clib/locale_protos.h>
#endif




static LONG CompactPlayer_Version = 0;
static const STRPTR CompactPlayer_BuiltInLanguage = (STRPTR) "english";

struct FC_Type
{   LONG   ID;
    STRPTR Str;
};


const struct FC_Type _CDPANEL_FAIL = { 0, "Failed to create custom gadget class" };
const struct FC_Type _TIMER_FAIL = { 1, "Can't initialize timer" };
const struct FC_Type _DEVICE_FAIL = { 2, "Device %s/%ld is not a CD-ROM" };
const struct FC_Type _TRACK_NUM = { 3, "Track %-2ld" };
const struct FC_Type _UNKNOWN_ARTIST = { 4, "Unknown artist" };
const struct FC_Type _UNKNOWN_TITLE = { 5, "Unknown title" };
const struct FC_Type _ERROR_TITLE = { 6, "CompactPlayer Error" };
const struct FC_Type _ERROR_BUTTON = { 7, "Oops" };
const struct FC_Type _DEVICE_INCOMPATIBLE = { 8, "Device %s is listed as incompatible." };
const struct FC_Type _PLEASE_WAIT = { 9, "Please wait..." };
const struct FC_Type _ERROR = { 10, "« Error »" };
const struct FC_Type _CONFIGURATION = { 11, "Configuration" };
const struct FC_Type _B_USE_THIS = { 12, "_Use this" };
const struct FC_Type _TITLE_COPYRIGHT = { 13, "CompactPlayer Copyright 1995 Osma Ahvenlampi" };
const struct FC_Type _GUI_FAIL = { 14, "Failed to create GUI" };
const struct FC_Type _STR_ARTIST = { 15, "_Artist" };
const struct FC_Type _STR_TITLE = { 16, "_Title" };
const struct FC_Type _SAVE_TITLES = { 17, "_Save titles" };
const struct FC_Type _TITLE_EDITOR = { 18, "Title Editor" };
const struct FC_Type _MENU_PROJECT = { 19, "Project" };
const struct FC_Type _MENU_DEVICE = { 20, "D\000Select device" };
const struct FC_Type _MENU_TITLES = { 21, "E\000Edit titles" };
const struct FC_Type _MENU_ICONIFY = { 22, "I\000Iconify" };
const struct FC_Type _MENU_QUIT = { 23, "Q\000Quit" };
const struct FC_Type _B_TITLES = { 24, "_TITLES" };
const struct FC_Type _B_PROGR = { 25, "_PROGR" };
const struct FC_Type _COMPACTPLAYER = { 26, "CompactPlayer" };
const struct FC_Type _FONTS_FAIL = { 27, "Failed to open fonts" };
const struct FC_Type _SCSI_FAIL = { 28, "Failed to initialize SCSI functions (device %s unit %ld)" };


static struct Catalog *CompactPlayer_Catalog = NULL;

void OpenCompactPlayerCatalog(struct Locale *loc, STRPTR language)
{ LONG tag, tagarg;
  extern struct Library *LocaleBase;
  extern void CloseCompactPlayerCatalog(void);

  CloseCompactPlayerCatalog(); /* Not needed if the programmer pairs OpenCompactPlayerCatalog
		       and CloseCompactPlayerCatalog right, but does no harm.  */

  if (LocaleBase != NULL  &&  CompactPlayer_Catalog == NULL)
  { if (language == NULL)
    { tag = TAG_IGNORE;
    }
    else
    { tag = OC_Language;
      tagarg = (LONG) language;
    }
    CompactPlayer_Catalog = OpenCatalog(loc, (STRPTR) "CompactPlayer.catalog",
				OC_BuiltInLanguage, CompactPlayer_BuiltInLanguage,
				tag, tagarg,
				OC_Version, CompactPlayer_Version,
				TAG_DONE);
  }
}

void CloseCompactPlayerCatalog(void)
{ if (LocaleBase != NULL)
  { CloseCatalog(CompactPlayer_Catalog);
  }
  CompactPlayer_Catalog = NULL;
}

STRPTR GetCompactPlayerString(APTR fcstr)
{ STRPTR defaultstr;
  LONG strnum;

  strnum = ((struct FC_Type *) fcstr)->ID;
  defaultstr = ((struct FC_Type *) fcstr)->Str;

  return(CompactPlayer_Catalog ? GetCatalogStr(CompactPlayer_Catalog, strnum, defaultstr) :
		      defaultstr);
}
