/****************************************************************
   This file was created automatically by `KitCat V1.1'
   Do NOT edit by hand!
****************************************************************/

#ifndef CAT_H
#include "CAT.h"
#endif  /*  !CAT_H           */

#ifndef CLIB_LOCALE_PROTOS_H
#include <clib/locale_protos.h>
#endif  /*  !CLIB_LOCALE_PROTOS_H   */

#ifdef AZTEC_C
#ifndef __PRAGMAS_LOCALE_LIB_H
#include <pragmas/locale_lib.h>
#endif /*   !PRAGMAS_LOCALE_LIB_H   */
#endif /*   AZTEC_C                 */

static LONG DITO_latinumVersion = 1;
static const STRPTR DITO_latinumBuiltInLanguage = (STRPTR) "deutsch";

struct KCDITO_latinumArrayType
{   LONG    cca_ID;
    STRPTR  cca_Str;
};

static const struct KCDITO_latinumArrayType KCDITO_latinumArray [] =
{
    {m_language, (STRPTR)m_language_STR},
    {m_description, (STRPTR)m_description_STR},
    {m_grammar, (STRPTR)m_grammar_STR},
    {m_remark, (STRPTR)m_remark_STR},
    {m_genitiv, (STRPTR)m_genitiv_STR},
    {m_gen0, (STRPTR)m_gen0_STR},
    {m_gen1, (STRPTR)m_gen1_STR},
    {m_gen2, (STRPTR)m_gen2_STR},
    {m_adj0, (STRPTR)m_adj0_STR},
    {m_adj1, (STRPTR)m_adj1_STR},
    {m_adj2, (STRPTR)m_adj2_STR},
    {m_verb0, (STRPTR)m_verb0_STR},
    {m_verb1, (STRPTR)m_verb1_STR},
    {m_verb2, (STRPTR)m_verb2_STR},
    {m_part0, (STRPTR)m_part0_STR},
    {m_part1, (STRPTR)m_part1_STR},
    {m_part2, (STRPTR)m_part2_STR},
    {m_part3, (STRPTR)m_part3_STR},
};

  extern struct Library *LocaleBase;

static struct Catalog *DITO_latinumCatalog = NULL;
void OpenDITO_latinumCatalog(struct Locale *loc, STRPTR language)
{ LONG tag, tagarg;
  CloseDITO_latinumCatalog();
  if (language == NULL)
  { tag = TAG_IGNORE;
  }
  else
  { tag = OC_Language;
    tagarg = (LONG) language;
  }
  if (LocaleBase != NULL  &&  DITO_latinumCatalog == NULL)
  { DITO_latinumCatalog = OpenCatalog(loc, (STRPTR) "DITO_latinum.catalog",
                             OC_BuiltInLanguage, DITO_latinumBuiltInLanguage,
                             tag, tagarg,
                             OC_Version, DITO_latinumVersion,
                             TAG_DONE);
  }
}

void CloseDITO_latinumCatalog(void)
{ if (LocaleBase != NULL)
    CloseCatalog(DITO_latinumCatalog);
  DITO_latinumCatalog = NULL;
}

STRPTR GetDITO_latinumString(LONG strnum)
{ STRPTR defaultstr = NULL;
  LONG i;

  for (i = 0;  i < sizeof(KCDITO_latinumArray)/sizeof(struct KCDITO_latinumArrayType);  i++)
    { if (KCDITO_latinumArray[i].cca_ID == strnum)
      { defaultstr = KCDITO_latinumArray[i].cca_Str;
        break;
      }
    }
  if (DITO_latinumCatalog == NULL)
  { return(defaultstr);
  }
  return(GetCatalogStr(DITO_latinumCatalog, strnum, defaultstr));
}
