]> git.lyx.org Git - lyx.git/blob - src/language.h
Angus inseterror patch + Dekel mathed fix + added language_country code and
[lyx.git] / src / language.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ====================================================== 
4  * 
5  *           LyX, The Document Processor
6  *        
7  *           Copyright 1995 Matthias Ettrich
8  *           Copyright 1995-2000 The LyX Team.
9  *
10  * ====================================================== */
11
12 #ifndef LANGUAGE_H
13 #define LANGUAGE_H
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include <map>
20 #include "LString.h"
21
22 class Encoding;
23
24 ///
25 class Language {
26 public:
27         ///
28         Language() : RightToLeft_(false) {}
29         ///
30         Language(string const & l, string const & d,
31                  bool rtl, Encoding const * e, string const & c)
32                 : lang_(l), display_(d), RightToLeft_(rtl) , encoding_(e),
33                   code_(c)
34                 {}
35         ///
36         string const & lang() const {
37                 return lang_;
38         }
39         ///
40         string const & display() const {
41                 return display_;
42         }
43         ///
44         bool RightToLeft() const {
45                 return RightToLeft_;
46         }
47         ///
48         Encoding const * encoding() const {
49                 return encoding_;
50         }
51         ///
52         string const & code() const {
53                 return code_;
54         }
55 private:
56         ///
57         string lang_;
58         ///
59         string display_;
60         ///
61         bool RightToLeft_;
62         ///
63         Encoding const * encoding_;
64         ///
65         string code_;
66 };
67
68 #if 0
69 ///
70 bool operator==(Language const & l1, Language const & l2) 
71 {
72         return l1.lang == l2.lang
73                 && l1.display_ == l2.display_
74                 && l1.RightToLeft_ == l2.RightToLeft_
75                 && l1.encoding_ == l2.encoding_;
76 }
77
78 ///
79 bool operator!=(Language const l1, Language const & l2)
80 {
81         return !(l1 == l2);
82
83 }
84 #endif
85 ///
86 typedef std::map<string, Language> Languages;
87 ///
88 extern Languages languages;
89 ///
90 extern Language const * default_language;
91 ///
92 extern Language const *ignore_language;
93
94 #endif