[280] | 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 | |
---|
| 10 | char *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 |
---|
| 97 | string 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 |
---|
| 138 | string trans_section(string sec) |
---|
| 139 | { |
---|
| 140 | return dgettext("synaptic", sec.c_str()); |
---|
| 141 | } |
---|
| 142 | #endif |
---|