我正在尝试为我的SwiftUI项目生成一个字符串文件。我在我的项目目录中运行这个命令:
find . -name "*.swift" | xargs genstrings -SwiftUI -o resources/en.lproj
然而,genstrings似乎不能捕获按钮初始化器中的字符串。对于此视图:
VStack {
Text("Hello")
Button("Tap me") {
// action
}
Text("Hi")
}输出的.strings文件将仅包含:
/* No comment provided by engineer. */
"Hello" = "Hello";
/* No comment provided by engineer. */
"Hi" = "Hi";我知道我可以用这种方式编写按钮来让它工作:
Button(action: {}, label: {
Text("Button")
})但是我发现不能使用方便的init是很烦人的。那么这是基因串中的bug吗?还是我错过了什么?我知道手册只在-SwiftUI选项描述中提到了Text()初始化器,但我看到它也适用于TextField。
我还尝试了xcrun extractLocStrings和xcodebuild -exportLocalizations =>相同的行为。
显式地使用LocalizedStringKey并不能使genstring更好地工作。
发布于 2021-02-18 05:21:55
尝试将字符串包装在LocalizedStringKey中:
Button(LocalizedStringKey("I matter internationally"), action: { print("I'm a big global deal!") })https://stackoverflow.com/questions/66242742
复制相似问题