Ich entwickle eine IOS-App mit Xamarin in Visual Studio. Ich versuche, meine Main.storyboard-Datei und die Standarddatei LaunchScreen.xib zu lokalisieren, aber ich kann es nicht funktionieren lassen.Xamarin iOS Storyboard-Lokalisierung
Ich habe die Dokumentation here und ich habe auch die Beispiel-App (die funktioniert gut) ausgeführt. Ich habe die Struktur des Projekts kopiert und viele Dateien überprüft, aber ich kann meine Strings nicht innerhalb der Storyboard- oder XIB-Dateien (LaunchScreen.xib) lokalisieren.
Das ist mein Info.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>MyApp</string>
<key>CFBundleIdentifier</key>
<string>it.company.myapp</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>9.0</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIMainStoryboardFile~ipad</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>CFBundleDevelopmentRegion</key>
<string>it</string>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
</array>
</dict>
</plist>
Und dies ist ein Screenshot von meiner Projektstruktur:
ich, dass Storyboard Lokalisierung IDs wie „KID sein sollte gesehen haben -c2-rCX ". Dies gilt für meine LaunchScreen.xib-Datei, aber nicht für die Main.storyboard-Datei, die einfache numerische IDs wie "192", "193" usw. hat. Könnte das das Problem sein?
Was fehlt mir?
ich verdoppeln würde diese Ids in Xcode Interface Builder überprüfen. Öffne das Storyboard in IB (Rechtsklick -> Öffnen mit -> Interface Builder). Wählen Sie 1 der Beschriftungen/Schaltflächen/etc aus und suchen Sie dann auf der Registerkarte "Identity Inspector" auf der rechten Seite (das kleine Kästchen in der Mitte) die "Objekt-ID". Das ist die ID, die von Ihrer Main.strings-Datei verwendet wird. Diese Zahlen klingen falsch, aber ich weiß es nicht. – dylansturg
@DylanS Ich habe auf Xcode IB überprüft. Die IDs sind jetzt die gleichen, aber, wenn ich eine andere ui-Komponente (ein Label, eine Schaltfläche ecc) hinzufüge, erzeugt IB eine korrekte ID wie "kId-c2-rCX". Visual Studio generiert simpel numerische ID auch mit einer frischen leeren Storyboard-Datei. Ist das ein Visual Studio Bug? – Androidian
Ich habe versucht, meine Storyboard-Datei direkt von xcode IB zu erstellen (die korrekte IDs generieren), aber die Storyboard-Lokalisierung funktioniert immer noch nicht :( – Androidian