Localizable.strings 无法在列表中工作

Localizable.strings not working inside a List

为了演示我的 SwiftUI 本地化问题,我准备了 a simple test project at Github:

显示 ContentView.swift 中的游戏列表:

List($vm.currentGames, id: \.self) { $gameNumber in
    NavigationLink(
            destination: GameView(gameNumber: gameNumber)
        ) {
        Text("game-number #\(gameNumber)")
    }
}

来自 GamesViewModel.swift:

class GamesViewModel: ObservableObject /*, WebSocketDelegate */ {
    @Published var currentGames: [Int] = [20, 30]
    @Published var displayedGame: Int = 0

对于德语、英语、俄语的本地化,我添加了 Localizable.strings:

"app-title" = "Wähle ein Spiel!";
"update-games" = "Spiele erneuern";
"join-random-game" = "Zufallsspiel beitreten";
"game-number #%d" = "Spiel #%d";

虽然前 3 个条目运行良好(您可以在上面的屏幕截图中看到它们作为应用程序标题和 2 个按钮标签),但最后一个条目不起作用(在屏幕截图中以红色箭头显示),

我试过很多东西都不成功:

没有任何帮助,请问这里有什么问题吗?

更新:

我在 Hacking with Swift 论坛上收到了很好的建议。

数字格式可能存在错误,至少以下内容适用于字符串。

List($vm.currentGames, id: \.self) { $gameNumber in
    NavigationLink(
        destination: GameView(gameNumber: gameNumber)
    ) {
        Text("game-number #\(String(gameNumber))")  // << here !!
    }
}

.strings

中的组合
"game-number #%@" = "Game #%@";
"game-number #%@" = "Spiel #%@";
"game-number #%@" = "Игра #%@";

测试 Xcode 13 / iOS 15