Schiebe Puzzle iPhone Spiel
Gestern wurde ein einfaches Schiebe Puzzle Spiel im AppStore online gestellt. Es ist in Deutsch, Englisch, Spanisch, Französisch, Italienisch und Portugisisch verfügbar.



Gestern wurde ein einfaches Schiebe Puzzle Spiel im AppStore online gestellt. Es ist in Deutsch, Englisch, Spanisch, Französisch, Italienisch und Portugisisch verfügbar.



Wenn man in seiner UITableView keine Border Linien angezeigt haben möchte muss folgender Code in den UITableViewController eingefügt werden:
- (void)viewDidLoad { self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; }
Mit
self.tableView.separatorColor
kann man die Farbe der Linie anpassen.
Einen schnellen und Code sparenden Weg um das frame Attribut und damit die Position eines Objekt in Cocoa zu ändern bietet die CGRectOffset Funktion;
meinObjekt.frame = CGRectOffset( meinObjekt.frame, dx, dy);
verschiebt um die Werte in den float Parametern dx und dy.
“Bundesverfassung” enthält die Bundesverfassung der Schweizerischen Eidgenossenschaft vom 27. September 2009 in Deutsch, Französisch, Italienisch und Englisch. Die Sprache kann jederzeit geändert werden. Einzelne Artikel können in einer extra Favoritenliste gespeichert werden. Eine Suche über die Artikelnamen ist möglich.
Bundestag bietet einen Überblick über alle 622 Mitglieder des 17. deutschen Bundestags.
Aufgelistet nach Fraktionen, Bundesländern sowie Wahlkreisen. Zusätzlich ist eine Gesamtliste integriert.
Zu jedem Mitglied gibt es eine Kurzbiografie und ein Foto. Weiterhin können Notizen zu jedem Abgeordneten angelegt werden.
Eine neue App im iTunes Store informiert über Produktwarnungen der Europäischen Union. Enthalten sind alle Warnungen aus 2009 und es werden wöchentliche Updates bereitgestellt.
Da von der EU nur Informationen auf Englisch bereitgestellt werden können zur Zeit leider keine Übersetzungen angeboten werden.
Für die NET-LINE Online-Dienste GmbH wurde eine iPhone App realisiert welche kostenlos im Store zum Download bereit steht:


Hier gibt es eine Base64 Implementierung als Erweiterung von NSData für das iPhone.
Unter der Lokalisierung einer Anwendung versteht man allgemein die Übersetzung und Anpassung der Oberfläche in eine andere Spache. Wie das in XCode für XIB Dateien und im Quellcode durchgeführt wird soll dieses kleine Beispiel zeigen.
Wir starten mit einem neuen Projekt und wählen als Vorlage das View-based Application Template. Als Name habe ich LocalizationTest gewählt.
Wir öffnen die LocalizationTestViewController.h Datei und erweitern die Interface Definition um 2 UILabels:
@interface LocalizationTestViewController : UIViewController { IBOutlet UILabel *label1; IBOutlet UILabel *label2; }
Als nächstes öffnen wir den Interface Builder durch Doppelklick auf die LocalizationTestViewController.xib Datei und fügen dort 3 UILabel Controls hinzu. Die ersten beiden verlinken wir durch CTRL-Klick und ziehen auf das File’s Owner Objekt mit den beiden Definitionen im View Controller label1 und label2. Das dritte Label füllen wir mit statischem englischen Text.
Wir gehen zurück in XCode und öffnen das Info Fenster für LocalizationTestViewController.xib. Unten links im General Tab befindet sich der Make File Lokalizable Button. Durch Klicken des Buttons wird für die .xib Datei die englische Default Loaklisierung angelegt. Durch Klick auf den Add Lokalization Button wird eine neue Version für die angegebene Sprache erstellt. Dafür müssen die 2 Buchstaben ISO Codes verwendet werden.
Im XCode ist jetzt ein kleiner Pfeil zum Aufklappen vor der LocalizationTestViewController.xib Datei aufgetaucht. Darunter finden wir die .xib Dateien für die angelegten Sprachen. Diese können normal geöffnet und bearbeitet werden. In unserem Fall ersetzen wir den englischen Text des dritten Labels durch einen deutschen. An den ersten beiden brauchen wir keine Änderung durchführen da wir deren Inhalt dynamisch im Code ändern werden.
Damit ist der erste Teil der Lokalisierung abgeschlossen.
Als nächstes erweitern wir die viewDidLoad Methode in LocalizationTestViewController.m um folgenden Code:
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { NSLocale* curentLocale = [NSLocale currentLocale]; label1.text = [NSString stringWithFormat: NSLocalizedString(@"The current locale is: %@", @"String used to display the current locale."), [curentLocale displayNameForKey:NSLocaleIdentifier value:[curentLocale localeIdentifier]]]; label2.text = NSLocalizedString(@"This is my default value.", @"This is a comment about my default value string."); [super viewDidLoad]; }
Die wichtigste Funktion hier ist NSLocalizedString. Der erste Parameter ist der Key für die Sprachen Dateien und fungiert auch als Default Wert. Der zweite Parameter ist ein Kommentar, der später in der generierten Sprach Datei erscheint.
Für das erste UILabel erzeugen wir einen lokalosierbaren String mit Platzhalter, an dem wir das vom Benutzer eingestellte Local mit Hilfe der NSLocale Klasse ausgeben.
Für das zweite UILabel erzeugen wir mit einem einfacheren Beispiel nur einen einfachen String zur Ausgabe.
Um jetzt die Strings im Code zu lokalisieren müssen wir XCode leider verlassen. Wir öffnen ein Terminal Fenster und springen in das Hauptverzeichnis der Anwendung. Dort führen wir das folgende Kommando aus:
genstrings Classes/*.mDies erzeugt uns die Datei Localizable.strings mit folgendem Inhalt:
/* String used to display the current locale. */ "The current locale is: %@" = "The current locale is: %@"; /* This is a comment about my default value string. */ "This is my default value." = "This is my default value.";
Diese müssen wir jetzt unserem Projekt hinzufügen. Wir klicken dafür mit der rechten Maustaste auf den Reources Ordner und wählen Add existing File und dann Localizable.strings aus. Als Text Encoding wählen wir UTF-16.
Der weitere Ablauf ist analog der Lokalisierung der .xib Datei. Wir öffnen das Info Fenster für Localizable.strings, klicken auf Make File Lokalizable, dann auf den Add Lokalization Button und fügen dann de hinzu.
Jetzt öffnen wir die deutsche Version von Localizable.strings und ändern diese entsprechend ab:
/* String used to display the current locale. */ "The current locale is: %@" = "Das aktuelle Schema ist: %@"; /* This is a comment about my default value string. */ "This is my default value." = "Das ist mein Default Wert.";
Damit haben wir auch die Lokalisierung des Quellcode abgeschlossen.
Das XCode Projekt findet ihr hier.