source: projects/synaptic/trunk/common/sections_trans.cc @ 280

Revision 280, 5.4 KB checked in by yasumichi, 15 years ago (diff)

first import

Line 
1/* sections_trans.cc - translate debian sections into friendlier names
2 *  (c) 2004 Michael Vogt
3 * 
4 */
5
6#include <libintl.h>
7
8#include "sections_trans.h"
9
10char *transtable[][2] = {
11   // TRANSLATORS: Alias for the Debian package section "admin"
12   {"admin", _("System Administration")},
13   // TRANSLATORS: Alias for the Debian package section "base"
14   {"base", _("Base System")},
15   // TRANSLATORS: Alias for the Debian package section "comm"
16   {"comm", _("Communication")},
17   // TRANSLATORS: Alias for the Debian package section "devel"
18   {"devel", _("Development")},
19   // TRANSLATORS: Alias for the Debian package section "doc"
20   {"doc", _("Documentation")},
21   // TRANSLATORS: Alias for the Debian package section "editors"
22   {"editors", _("Editors")},
23   // TRANSLATORS: Alias for the Debian package section "electronics"
24   {"electronics", _("Electronics")},
25   // TRANSLATORS: Alias for the Debian package section "emmbedded"
26   {"embedded", _("Embedded Devices")},
27   // TRANSLATORS: Alias for the Debian package section "games"
28   {"games", _("Games and Amusement")},
29   // TRANSLATORS: Alias for the Debian package section "gnome"
30   {"gnome", _("GNOME Desktop Environment")},
31   // TRANSLATORS: Alias for the Debian package section "graphics"
32   {"graphics", _("Graphics")},
33   // TRANSLATORS: Alias for the Debian package section "hamradio"
34   {"hamradio", _("Amateur Radio")},
35   // TRANSLATORS: Alias for the Debian package section "interpreters"
36   {"interpreters", _("Interpreted Computer Languages")},
37   // TRANSLATORS: Alias for the Debian package section "KDE"
38   {"kde", _("KDE Desktop Environment")},
39   // TRANSLATORS: Alias for the Debian package section "libdevel"
40   {"libdevel", _("Libraries - Development")},
41   // TRANSLATORS: Alias for the Debian package section "libs"
42   {"libs", _("Libraries")},
43   // TRANSLATORS: Alias for the Debian package section "mail"
44   {"mail", _("Email")},
45   // TRANSLATORS: Alias for the Debian package section "math"
46   {"math", _("Mathematics")},
47   // TRANSLATORS: Alias for the Debian package section "misc"
48   {"misc", _("Miscellaneous - Text Based")},
49   // TRANSLATORS: Alias for the Debian package section "net"
50   {"net", _("Networking")},
51   // TRANSLATORS: Alias for the Debian package section "news"
52   {"news", _("Newsgroup")},
53   // TRANSLATORS: Alias for the Debian package section "oldlibs"
54   {"oldlibs", _("Libraries - Old")},
55   // TRANSLATORS: Alias for the Debian package section "otherosfs"
56   {"otherosfs", _("Cross Platform")},
57   // TRANSLATORS: Alias for the Debian package section "perl"
58   {"perl", _("Perl Programming Language")},
59   // TRANSLATORS: Alias for the Debian package section "python"
60   {"python", _("Python Programming Language")},
61   // TRANSLATORS: Alias for the Debian package section "science"
62   {"science", _("Science")},
63   // TRANSLATORS: Alias for the Debian package section "shells"
64   {"shells", _("Shells")},
65   // TRANSLATORS: Alias for the Debian package section "sound"
66   {"sound", _("Multimedia")},
67   // TRANSLATORS: Alias for the Debian package section "tex"
68   {"tex", _("TeX Authoring")},
69   // TRANSLATORS: Alias for the Debian package section "text"
70   {"text", _("Word Processing")},
71   // TRANSLATORS: Alias for the Debian package section "utils"
72   {"utils", _("Utilities")},
73   // TRANSLATORS: Alias for the Debian package section "web"
74   {"web", _("World Wide Web")},
75   // TRANSLATORS: Alias for the Debian package section "x11"
76   {"x11", _("Miscellaneous  - Graphical")},
77   // TRANSLATORS: The section of the package is not known
78   {"unknown", _("Unknown")},
79   // TRANSLATORS: Alias for the Debian package section "alien"
80   {"alien", _("Converted From RPM by Alien")},
81
82   // TRANSLATORS: Alias for the Debian package section "non-US"
83   //              Export to the outside of the USA is not allowed
84   //              or restricted
85   {"non-US", _("Restricted On Export")},
86   // TRANSLATORS: Alias for the Debian package section "non free"
87   {"non-free", _("non free")},
88   // TRANSLATORS: Alias for the Debian package section "contrib"
89   //              Free software that depends on non-free software
90   {"contrib", _("contrib")},
91   //{"non-free",_("<i>(non free)</i>")},
92   //{"contrib",_("<i>(contrib)</i>")},
93   {NULL, NULL}
94};
95
96#ifndef HAVE_RPM
97string trans_section(string sec)
98{
99   string str = sec;
100   string suffix;
101   // baaaa, special case for stupid debian package naming
102   if (str == "non-US/non-free") {
103      str = _("Restricted On Export");
104      suffix = _("non free");
105   }
106   if (str == "non-US/non-free") {
107      str = _("Restricted On Export");
108      suffix = _("contrib");
109   }
110   // if we have something like "contrib/web", make "contrib" the
111   // suffix and translate it independently
112   string::size_type n = str.find("/");
113   if (n != string::npos) {
114      suffix = str.substr(0, n);
115      str.erase(0, n + 1);
116      for (int i = 0; transtable[i][0] != NULL; i++) {
117         if (suffix == transtable[i][0]) {
118            suffix = _(transtable[i][1]);
119            break;
120         }
121      }
122   }
123   for (int i = 0; transtable[i][0] != NULL; i++) {
124      if (str == transtable[i][0]) {
125         str = _(transtable[i][1]);
126         break;
127      }
128   }
129   // if we have a suffix, add it
130   if (!suffix.empty()) {
131      ostringstream out;
132      ioprintf(out, "%s (%s)", str.c_str(), suffix.c_str());
133      str = out.str();
134   }
135   return str;
136}
137#else
138string trans_section(string sec)
139{
140   return dgettext("synaptic", sec.c_str());
141}
142#endif
Note: See TracBrowser for help on using the repository browser.