lyx_mirror/src/language.h

82 lines
1.4 KiB
C
Raw Normal View History

// -*- C++ -*-
/* This file is part of
* ======================================================
*
* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
* Copyright 1995-2000 The LyX Team.
*
* ====================================================== */
#ifndef LANGUAGE_H
#define LANGUAGE_H
#ifdef __GNUG__
#pragma interface
#endif
#include <map>
#include "LString.h"
class Encoding;
///
class Language {
public:
///
Language() : RightToLeft_(false) {}
///
Language(string const & l, string const & d, bool rtl, Encoding const * e)
: lang_(l), display_(d), RightToLeft_(rtl) , encoding_(e) {}
///
string const & lang() const {
return lang_;
}
///
string const & display() const {
return display_;
}
///
bool RightToLeft() const {
return RightToLeft_;
}
///
Encoding const * encoding() const {
return encoding_;
}
private:
///
string lang_;
///
string display_;
///
bool RightToLeft_;
///
Encoding const * encoding_;
};
#if 0
bool operator==(Language const & l1, Language const & l2)
{
return l1.lang == l2.lang
&& l1.display_ == l2.display_
&& l1.RightToLeft_ == l2.RightToLeft_
&& l1.encoding_ == l2.encoding_;
}
bool operator!=(Language const l1, Language const & l2)
{
return !(l1 == l2);
}
#endif
typedef std::map<string, Language> Languages;
extern Languages languages;
extern Language const * default_language;
extern Language const *ignore_language;
#endif