Czy ktoś może mi pomóc? Nie mogę znaleźć żadnego opisu lokalizacji w interfejsie Swift. Czy ktoś może na przykład udzielić porady lub lepszego przykładu lokalizacji Text()
?
źródło
Czy ktoś może mi pomóc? Nie mogę znaleźć żadnego opisu lokalizacji w interfejsie Swift. Czy ktoś może na przykład udzielić porady lub lepszego przykładu lokalizacji Text()
?
Gdy spojrzysz na dokumentację dotyczącą tekstu, zobaczysz, że do inicjatora zabiera on LocalizedStringKey, a nie ciąg znaków:
init(_ key: LocalizedStringKey, tableName: String? = nil, bundle: Bundle? = nil, comment: StaticString? = nil)
To sprawia, że lokalizacja jest bardzo prosta. Wszystko co musisz zrobić to:
Po wybraniu opcji Localizable.strings zobaczysz, że zawiera pliki dla języka oryginalnego i języka, który właśnie dodałeś. Tam umieszczasz swoje tłumaczenia, tj. Zlokalizowane pary tekstowe.
Jeśli masz taki tekst, to Twoja aplikacja:
Text("Hello World!")
Musisz teraz dodać do swoich Localizable.strings swoje tłumaczenia:
dla twojego podstawowego języka:
"Hello World!" = "Hello World!";
i dla drugiego języka (w tym przypadku niemieckiego):
"Hello World!" = "Hallo Welt!";
Aby zobaczyć swoje podglądy, możesz je zdefiniować w następujący sposób:
struct ContentViewView_Previews: PreviewProvider {
static var previews: some View {
ForEach(["en", "de"], id: \.self) { id in
ContentView()
.environment(\.locale, .init(identifier: id))
}
}
}
Aby uzyskać szybki plik interfejsu użytkownika, wystarczy wstawić klucz ciągu z pliku .strings lokalizacji
importuj SwiftUI
i to jest przykład z pliku .strings
wynik jest tutaj
źródło
Aby zlokalizować aplikację, potrzebujesz:
źródło
Aby użyć Localazable w SwiftUI, możesz wykonać następujące czynności:
zaimportuj SwiftUI, aby użyć LocalizedStringKey w swoich plikach
źródło