From: Jay Freeman (saurik) Date: Sun, 19 Apr 2009 01:43:30 +0000 (+0000) Subject: Various localization fixes. X-Git-Tag: v1.0.3366~285 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/b1ce61ecebc8b20d0cf4a71efb3392680faede53 Various localization fixes. --- diff --git a/Cydia.app/English.lproj/Localizable.strings b/Cydia.app/English.lproj/Localizable.strings index e83bf86b..2a736b90 100644 --- a/Cydia.app/English.lproj/Localizable.strings +++ b/Cydia.app/English.lproj/Localizable.strings @@ -96,9 +96,11 @@ "MANAGE" = "Manage"; "MODIFY" = "Modify"; "MORE_INFORMATION" = "More Information"; +"MORE_PACKAGE_SOURCS" = "More Package Sources"; "NAME" = "Name"; "NETWORK_ERROR" = "Network Error"; "NEVER_OR_UNKNOWN" = "Never or Unknown"; +"NEW" = "New"; "NEW_AT" = "New at %@"; "NEW_INSTALL" = "New Install"; "NO_SECTION" = "(No Section)"; @@ -116,6 +118,7 @@ "PACKAGES_EX" = "View or remove packages you previously installed."; "PARENTHETICAL" = "%@ (%@)"; "PASSWORD" = "password"; +"PRODUCTS" = "Products"; "PURGE" = "Purge"; "Q_D" = "Q'd"; "QUEUED_FOR" = "Queued for %@"; @@ -168,7 +171,7 @@ "SUBMIT" = "Submit"; "SUPPORT_KNOWN_ISSUES" = "Support & Known Issues"; "TEMPORARY_IGNORE" = "Ignore (Temporary)"; -"THANK YOU" = "Thank You"; +"THANK_YOU" = "Thank You"; "QUEUE" = "Queue"; "UNABLE_TO_COMPLY" = "Unable to Comply"; "UNABLE_TO_COMPLY_EX" = "This operation requires the removal of one or more packages that are required for the continued operation of either Cydia or iPhoneOS. In order to continue and force this operation you will need to be activate the Advanced mode under to continue and force this operation you will need to be activate the Advanced mode under Settings."; diff --git a/Cydia.app/German.lproj/Localizable.strings b/Cydia.app/German.lproj/Localizable.strings new file mode 100644 index 00000000..e762621b --- /dev/null +++ b/Cydia.app/German.lproj/Localizable.strings @@ -0,0 +1,193 @@ +"ABOUT" = "Über"; +"ABOUT_CYDIA" = "Über Cydia Installer"; +"ACCEPT_NEW_COPY" = "Die neue Kopie akzeptieren"; +"ADD" = "Hinzufügen"; +"ADD_ANYWAY" = "Trotzdem hinzufügen"; +"ADD_SOURCE" = "Quelle hinzufügen"; +"ADMINISTRATIVE_INFORMATION" = "Administrative Information"; +"ADVANCED_SEARCH" = "Erweiterte Suche"; +"ALL_PACKAGES" = "Alle Pakete"; +"APPLE" = "Apple"; +"AUTHOR" = "Autor"; +"AVAILABLE_UPGRADES" = "Vorhandene Aktualisierungen"; +"BROWSER" = "Browser"; +"CANCEL" = "Abbrechen"; +"CANCEL_CLEAR" = "Abbrechen und leeren"; +"CANCEL_OPERATION" = "Vorgang abbrechen"; +"CANNOT_COMPLY" = "Ausführen nicht möglich"; +"CANNOT_COMPLY_EX" = "Die gewünschten Änderungen können wegen notwendiger Abhängigkeiten oder Konflikten, die nicht automatisch behoben werden können, nicht durchgeführt werden."; +"CANNOT_LOCATE_PACKAGE" = "Paket kann nicht gefunden werden"; +"CHANGE_PACKAGE_SETTINGS" = "Paket-Einstellungen ändern"; +"CHANGES" = "Änderungen"; +"CLEAR" = "Leeren"; +"CLOSE" = "Schließen"; +"CLOSE_CYDIA" = "Cydia beenden (neustarten)"; +"COLON_DELIMITED" = "%@: %@"; +"COMMA_DELIMITED" = "%@, %@"; +"COMING_SOON" = "Bald verfügbar!"; +"COMPLETE" = "Fertig"; +"COMPLETE_UPGRADE" = "Aktualisierung fertigstellen"; +"CONFIGURATION_UPGRADE" = "Aktualisierung konfigurieren"; +"CONFIGURATION_UPGRADE_EX" = "Die folgende Datei wurde sowohl durch den Paket-Inhaber als auch von Ihnen (oder für Sie von einem Skript) geändert."; +"COMMERCIAL_APPLICATIONS" = "Kommerzielle Programme"; +"CONFIRM" = "Bestätigen"; +"CONSOLE_PACKAGE" = "Dies ist ein Konsolen-Paket!"; +"CONSOLE_UTILITIES_DAEMONS" = "Konsolen-Erweiterungen & Prozesse"; +"CONTINUE_QUEUING" = "Weiter auswählen"; +"CREDITS" = "Credits"; +"CYDIA_STORE" = "Cydia Store"; +"DETAILS" = "Details"; +"DEVELOPER" = "Entwickler"; +"DEVELOPER_EX" = "Keine Filter"; +"DEVELOPER_MAILING_LISTS" = "Entwickler Rundmail-Liste"; +"DEVELOPERS_ONLY" = "Für Entwickler"; +"DISK_FREEING" = "Freigegebener Speicherplatz"; +"DISK_USING" = "Speicherplatz-Verbrauch"; +"DONATE_USING" = "Spenden via %@"; +"DONE" = "Fertig"; +"DOWNGRADE" = "Downgrade"; +"DOWNLOADING" = "Herunterladen"; +"EDIT" = "Bearbeiten"; +"ENTER_APT_URL" = "Cydia/APT URL eingeben"; +"ENTERED_BY_USER" = "Durch Benutzer eingegeben"; +"ERROR" = "Fehler"; +"ERROR_MESSAGE" = "Fehler: %@"; +"ESSENTIAL_UPGRADE" = "Wichtige Aktualisierung"; +"ESSENTIAL_UPGRADES" = "%d wichtige Aktualisierungen"; +"ESSENTIAL_UPGRADE_EX" = "Ein oder mehr wichtige Pakete sind veraltet, was zu Fehlern führen kann. Es wird empfohlen die Aktualisierungen zu installieren."; +"EXPANDED_SIZE" = "Entpackte Größe"; +"EXPERT" = "Experte"; +"FEATURED_PACKAGES" = "Vorgeschlagene Pakete"; +"FAQ" = "FAQ"; +"FILES" = "Dateien"; +"FILES_INSTALLED_TO" = "Dateien installiert nach %@"; +"FILESYSTEM_CONTENT" = "Inhalt des Dateisystems"; +"FOLLOW_ON_TWITTER" = "Folge %@ auf Twitter"; +"FORCE_REMOVAL" = "Löschen erzwingen"; +"FORCIBLY_CLEAR" = "Leeren erzwingen"; +"FREE_APPLICATIONS" = "Kostenlose Programme"; +"FREE_EXTENSIONS" = "Kostenlose Erweiterungen"; +"FREQUENTLY_ASKED_QUESTIONS" = "Häufig gestellte Fragen (FAQ)"; +"FROM" = "von %@"; +"FROWNY_PANTS" = "Tote Hosen"; +"FUTURE_FEATURE_ROADMAP" = "Übersicht geplanter Funktionen"; +"HACKER" = "Hacker"; +"HACKER_EX" = "+ Kommandozeile"; +"HALFINSTALLED_PACKAGE" = "Halb-installiertes Paket"; +"HALFINSTALLED_PACKAGES" = "%d Halb-installierte Pakete"; +"HALFINSTALLED_PACKAGE_EX" = "Wenn die an Pakete gebundenen Skripte Probleme machen, werden sie in einem schlechten Status (halb eingestellt oder halb installiert) zurückgelassen. Diese Fehler bleiben dauerhaft und erzeugen weitere Probleme. Diese fehlerhaften Skripte und Pakete können entfernt werden."; +"HOME" = "Start"; +"ID" = "ID"; +"IGNORE_UPGRADES" = "Aktualisierungen ignorieren"; +"IGNORED_UPGRADES" = "Ignorierte Aktualisierungen"; +"ILLEGAL_PACKAGE_IDENTIFIER" = "Unerlaubte Paket-Kennung"; +"INSTALL" = "Installieren"; +"INSTALL_BY_SECTION" = "Installieren nach Kategorie"; +"INSTALLED" = "Installiert"; +"INSTALLED_BY_PACKAGE" = "Installiert nach Pakete"; +"INSTALLED_DETAILS" = "Installierte Pakete"; +"INSTALLED_FILES" = "Installierte Dateien"; +"KEEP_OLD_COPY" = "Meine alte Kopie behalten"; +"LOADING" = "Lade"; +"LOADING_DATA" = "Lade Daten"; +"LOCAL" = "Lokal"; +"LOGIN" = "Anmeldung"; +"MAINTAINER" = "Kontakt"; +"MANAGE" = "Verwalten"; +"MODIFY" = "Verändern"; +"MORE_INFORMATION" = "Mehr Informationen"; +"MORE_PACKAGE_SOURCS" = "More Package Sources" ; +"NAME" = "Name"; +"NETWORK_ERROR" = "Netzwerk-Fehler"; +"NEVER_OR_UNKNOWN" = "Nie oder unbekannt"; +"NEW" = "New" ; +"NEW_AT" = "Neu um %@"; +"NEW_INSTALL" = "Neue Installation"; +"NO_SECTION" = "(Keine Kategorie)"; +"NOT_RATED" = "Nicht bewertet"; +"NODE" = "Notiz"; +"NOT_REPOSITORY" = "Quelle konnte nicht gefunden werden"; +"NOT_REPOSITORY_EX" = "Die angegebene Quelle konnte nicht gefunden werden. Dies könnte passieren, wenn eine Installer-Quelle hinzugefügt wird (diese werden nicht unterstützt). Auch kann dieses Programm nur mit exakten, vollständigen URLs umgehen. Falls Sie eine Quelle hosten und Probleme haben kontaktieren Sie bitte den Autor von Cydia bei Fragen."; +"OK" = "OK"; +"OKAY" = "Okay"; +"PACKAGE_CANNOT_BE_FOUND" = "Das Paket %@ kann in den aktuellen Quellen nicht gefunden werden. Ich schlage vor, mehr Quellen hinzuzufügen."; +"PACKAGE_DAMAGED" = "Paket beschädigt"; +"PACKAGE_DETAILS" = "Paketdetails"; +"PACKAGE_QUEUE" = "Paket-Warteschlange"; +"PACKAGES" = "Pakete"; +"PACKAGES_EX" = "Bereits installierte Pakete ansehen oder löschen."; +"PARENTHETICAL" = "%@ (%@)"; +"PASSWORD" = "Passwort"; +"PRODUCTS" = "Produkte"; +"PURGE" = "Leeren"; +"Q_D" = "S"; +"QUEUED_FOR" = "In Warteschlange für %@"; +"REBOOT_DEVICE" = "Gerät neustarten"; +"RECENT_CHANGES_UPDATES" = "Neueste Änderungen/Aktualisierungen"; +"RECOMMENDED_BOOKS" = "Empfohlene Bücher"; +"REFRESH" = "Aktualisieren"; +"REINSTALL" = "Neu installieren"; +"RELOAD" = "Neu laden"; +"RELOAD_SPRINGBOARD" = "SpringBoard neu laden"; +"RELOADING_DATA" = "Lade neue Daten"; +"REMOVE" = "Entfernen"; +"REMOVING_ESSENTIALS" = "Grundlegende Pakete löschen"; +"REMOVING_ESSENTIALS_EX" = "Diese Aktion erfordert das Löschen eines oder mehrerer Pakete die notwendig für die Funktionalität von Cydia oder iPhoneOS sind. Wenn Sie fortsetzen, können Sie ggf. Cydia nicht mehr benutzen um den Schaden zu beheben."; +"REPAIRING" = "Reparieren"; +"REPOSITORY_SIGNATURE" = "Quellen-Signatur anzeigen"; +"REQUEST_ADVERTISING_SPACE" = "Werbefläche beantragen"; +"REQUIREMENTS_FOR_LISTING" = "Bedingungen für's Aufnehmen"; +"RESTART_SPRINGBOARD" = "SpringBoard neu starten"; +"RESUBMIT_FORM" = "Sind Sie sicher, dass Sie das Formular erneut senden möchten?"; +"RESUMING_AT" = "Wiederaufnahme bei"; +"RETURN_TO_CYDIA" = "Zu Cydia zurückkehren"; +"ROLE_EX" = "Nicht alle in Cydia erhältlichen Pakete sind für alle Benutzer gedacht. Bitte stufen Sie sich ein, sodass Cydia hilfreiche Filter anwenden kann.\n\nDiese Einstellung kann in den \"Einstellungen\" unter \"Verwalten\" geändert werden."; +"RUNNING" = "Aktiv"; +"SAFE" = "Sicher"; +"SAMPLE" = "Beispiel"; +"SCREENSHOT" = "Bildschirmfoto"; +"SCREENSHOTS" = "Bildschirmfotos"; +"SEARCH" = "Suche"; +"SEARCH_EX" = "Paket Name & Beschreibung"; +"SECTION" = "Kategorie"; +"SECTION_VISIBILITY" = "Sichtbarkeit der Kategorien"; +"SECTIONS" = "Kategorien"; +"SEE_WHAT_CHANGED" = "Änderungen sehen"; +"SETTINGS" = "Einstellungen"; +"SHOW_ALL_CHANGES" = "Alle Änderungen zeigen"; +"SHOW_ALL_CHANGES_EX" = "Änderungen zeigt nur Aktualisierungen zu installierten Paketen an um Spam von Paket-Herstellern zu reduzieren. Aktivieren Sie dies, um Aktualisierungen zu diesem Paket zu sehen, obwohl es nicht installiert ist."; +"SIGNED_PACKAGE" = "Dieses Paket wurde signiert."; +"SIMPLE" = "Einfach"; +"SLASH_DELIMITED" = "%@ / %@"; +"SOURCE_DETAILS" = "Information zur Quelle"; +"SOURCE_WARNING" = "Quellen Warnung"; +"SOURCES" = "Quellen"; +"SOURCES_EX" = "Aktuelle Quellen anzeigen und eigene hinzufügen."; +"SPONSOR" = "Sponsor"; +"SPONSORING_PRODUCTS" = "Sponsoring Produkte"; +"STATISTICS" = "Statistik"; +"STORAGE" = "Speicherplatz"; +"STORAGE_EX" = "Nachsehen, wieviel Speicherplatz für neue Pakete vorhanden ist."; +"SUBMIT" = "Absenden"; +"SUPPORT_KNOWN_ISSUES" = "Unterstützung & bekannte Probleme"; +"TEMPORARY_IGNORE" = "Ignorieren (temporär)"; +"THANK_YOU" = "Danke"; +"QUEUE" = "Warteschlange"; +"UNABLE_TO_COMPLY" = "Operation nicht möglich"; +"UNABLE_TO_COMPLY_EX" = "Diese Aktion erfordert das Löschen eines oder mehrerer Pakete die notwendig für die Funktionalität von Cydia oder iPhoneOS sind. Um fortzufahren und diese Aktion zu erzwingen muss der Fortgeschrittenen-Modus in den Einstellungen aktiviert sein."; +"UNABLE_TO_LOAD" = "Laden nicht möglich"; +"UNKNOWN" = "Unbekannt"; +"UNSAFE" = "Unsicher"; +"UPDATING_DATABASE" = "Datenbank aktualisieren"; +"UPDATING_SOURCES" = "Quellen aktualisieren"; +"UPGRADE" = "Aktualisierung"; +"UPGRADE_ESSENTIAL" = "Wichtige Pakete aktualisieren"; +"USER" = "Benutzer"; +"USER_EX" = "Nur Grafische"; +"USER_GUIDES" = "Benutzer-Handbücher"; +"USERNAME" = "Benutzername"; +"VERIFICATION_ERROR" = "Fehler beim Überprüfen"; +"VERIFYING_URL" = "URL überprüfen"; +"VERSION" = "Version"; +"WELCOME_TO_CYDIA" = "Willkommen zu Cydia™"; +"WHO_ARE_YOU" = "Wer sind Sie?"; diff --git a/Cydia.app/German.lproj/Sections.strings b/Cydia.app/German.lproj/Sections.strings new file mode 100644 index 00000000..61e2d59e --- /dev/null +++ b/Cydia.app/German.lproj/Sections.strings @@ -0,0 +1,45 @@ +"Administration" = ""; +"App Addoms" = ""; +"Archiving" = ""; +"Battery" = ""; +"Carrier Bundles" = ""; +"Carriers" = ""; +"Complete" = ""; +"Data Storage" = ""; +"Development" = ""; +"Dialer" = ""; +"Dictionaries" = ""; +"Dock" = ""; +"eBooks" = ""; +"Education" = ""; +"Emulation" = ""; +"Entertainment" = ""; +"Games" = ""; +"Icy" = ""; +"Java" = ""; +"Keyboards" = ""; +"Localization" = ""; +"LockScreen" = ""; +"Messaging" = ""; +"Multimedia" = ""; +"Networking" = ""; +"Notifications" = ""; +"Packaging" = ""; +"Productivity" = ""; +"Repositories" = ""; +"Ringtones" = ""; +"Scripting" = ""; +"Security" = ""; +"Sliders" = ""; +"SMS" = ""; +"System" = ""; +"Terminal Support" = ""; +"Text Editors" = ""; +"Themes" = ""; +"Toys" = ""; +"Tweaks" = ""; +"Utilities" = ""; +"Wallpaper" = ""; +"Weather" = ""; +"WebClips" = ""; +"Widgets" = ""; diff --git a/Cydia.app/Sections.plist b/Cydia.app/Sections.plist index f5e87975..351747c2 100644 --- a/Cydia.app/Sections.plist +++ b/Cydia.app/Sections.plist @@ -39,6 +39,36 @@ Carrier_Bundles + Messages + + Rename + Messaging + + + Utilites + + Rename + Utilities + + + Themes_(Lockscreen) + + Rename + Themes_(LockScreen) + + + Themes_(Complet) + + Rename + Themes_(Complete) + + + Wallpapers + + Rename + Wallpaper + + Messageing Rename diff --git a/Cydia.app/manage.html b/Cydia.app/manage.html index 5b692790..e1de252b 100644 --- a/Cydia.app/manage.html +++ b/Cydia.app/manage.html @@ -28,52 +28,42 @@ } a.giant-button { + background-color: rgba(0, 0, 0, .15); + -webkit-border-radius: 10px; color: #193250; display: block; margin: 10px; text-decoration: none; } - a.giant-button > div.contents { - position: absolute; - text-align: left; - width: 300px; - -webkit-background-size: 75px auto; - z-index: 2; - } - - a.giant-button > div.contents > img { + a.giant-button > img { + display: inline-block; float: left; height: 80px; - margin: 10px; + margin: 10px -10px 0 10px; width: 80px; vertical-align: middle; } + a.giant-button > div.contents { + display: inline-block; + width: 190px; + margin: 5px 10px 17px 10px; + } + a.giant-button > div.contents > label { display: block; - float: left; - font-size: 30px; - margin: 10px 0 4px 4px; + font-size: 28px; + margin: 8px 0 8px 0; text-align: center; text-shadow: rgba(200, 200, 200, 0.75) 1px 1px 0; - width: 180px; } a.giant-button > div.contents > div { display: block; - float: left; font-size: 14px; margin-left: 4px; text-align: center; - width: 180px; - } - - a.giant-button > div.background { - background-color: #000000; - height: 98px; - opacity: 0.15; - -webkit-border-radius: 10px; }
@@ -81,33 +71,27 @@ diff --git a/Cydia.mm b/Cydia.mm index 3daeb454..2784d00b 100644 --- a/Cydia.mm +++ b/Cydia.mm @@ -389,6 +389,7 @@ extern NSString * const kCAFilterNearest; #define ForRelease 0 #define ForSaurik (0 && !ForRelease) #define LogBrowser (1 && !ForRelease) +#define TrackResize (0 && !ForRelease) #define ManualRefresh (1 && !ForRelease) #define ShowInternals (0 && !ForRelease) #define IgnoreInstall (0 && !ForRelease) @@ -966,6 +967,7 @@ static const NSString *Product_ = nil; static const NSString *Safari_ = nil; CFLocaleRef Locale_; +NSArray *Languages_; CGColorSpaceRef space_; bool bootstrap_; @@ -1029,7 +1031,14 @@ NSString *StripVersion(NSString *version) { } NSString *LocalizeSection(NSString *section) { - return section; + static Pcre title_r("^(.*?) \\((.*)\\)$"); + if (title_r(section)) + return [NSString stringWithFormat:CYLocalize("PARENTHETICAL"), + LocalizeSection(title_r[1]), + LocalizeSection(title_r[2]) + ]; + + return [[NSBundle mainBundle] localizedStringForKey:section value:nil table:@"Sections"]; } NSString *Simplify(NSString *title) { @@ -1044,7 +1053,7 @@ NSString *Simplify(NSString *title) { if (paren_r(data, size)) return Simplify(paren_r[1]); - static Pcre title_r("^(.*?) \\(.*\\)$"); + static Pcre title_r("^(.*?) \\((.*)\\)$"); if (title_r(data, size)) return Simplify(title_r[1]); @@ -1912,9 +1921,15 @@ uint32_t PackageChangesRadix(Package *self, void *) { } + (Package *) packageWithIterator:(pkgCache::PkgIterator)iterator withZone:(NSZone *)zone inPool:(apr_pool_t *)pool database:(Database *)database { - pkgCache::VerIterator version([database policy]->GetCandidateVer(iterator)); + pkgCache::VerIterator version; + + _profile(Package$packageWithIterator$GetCandidateVer) + version = [database policy]->GetCandidateVer(iterator); + _end + if (version.end()) return nil; + return [[[Package alloc] initWithVersion:version withZone:zone @@ -4652,6 +4667,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { [self setPopupHook:nil]; WebThreadUnlock(); + //[self yieldToSelector:@selector(callFunction:) withObject:special_]; [super callFunction:special_]; } } @@ -5767,7 +5783,6 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { [cancel_ addTarget:self action:@selector(_onCancel) forControlEvents:UIControlEventTouchUpInside]; CGRect frame = [cancel_ frame]; - frame.size.width = 65; frame.origin.x = ovrrect.size.width - frame.size.width - 5; frame.origin.y = (ovrrect.size.height - frame.size.height) / 2; [cancel_ setFrame:frame]; @@ -7390,7 +7405,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { @"home-dn.png", kUIButtonBarButtonSelectedInfo, [NSNumber numberWithInt:1], kUIButtonBarButtonTag, self, kUIButtonBarButtonTarget, - CYLocalize("HOME"), kUIButtonBarButtonTitle, + @"Cydia", kUIButtonBarButtonTitle, @"0", kUIButtonBarButtonType, nil], @@ -7744,9 +7759,6 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { Font18Bold_ = [[UIFont boldSystemFontOfSize:18] retain]; Font22Bold_ = [[UIFont boldSystemFontOfSize:22] retain]; - _assert(pkgInitConfig(*_config)); - _assert(pkgInitSystem(*_config, _system)); - tag_ = 1; essential_ = [[NSMutableArray alloc] initWithCapacity:4]; @@ -7906,9 +7918,17 @@ int main(int argc, char *argv[]) { _pooled /* }}} */ /* Set Locale {{{ */ Locale_ = CFLocaleCopyCurrent(); - - CFStringRef locale(CFLocaleGetIdentifier(Locale_)); - setenv("LANG", [(NSString *) locale UTF8String], true); + Languages_ = [NSLocale preferredLanguages]; + //CFStringRef locale(CFLocaleGetIdentifier(Locale_)); + NSLog(@"%@", [Languages_ description]); + const char *lang; + if (Languages_ == nil || [Languages_ count] == 0) + lang = NULL; + else + lang = [[Languages_ objectAtIndex:0] UTF8String]; + setenv("LANG", lang, true); + //std::setlocale(LC_ALL, lang); + NSLog(@"Setting Language: %s", lang); /* }}} */ // XXX: apr_app_initialize? @@ -8057,6 +8077,12 @@ int main(int argc, char *argv[]) { _pooled _assert(errno == ENOENT); } + _assert(pkgInitConfig(*_config)); + _assert(pkgInitSystem(*_config, _system)); + + if (lang != NULL) + _config->Set("APT::Acquire::Translation", lang); + /* Color Choices {{{ */ space_ = CGColorSpaceCreateDeviceRGB();