Я получаю сообщение об ошибке Bad entry in file
при использовании командной строки genstrings
для каждого вызова NSLocalizedString
, использующего параметр tableName
См. следующий пример при попытке создать локализованные строки (из Firefox-iOS)
find . -name *.swift | xargs genstrings -o en.lproj
Неверная запись в файле ./StorageTests/TestSQLiteHistory.swift (строка = 100): аргумент не является буквальной строкой.
Неверная запись в файле ./StorageTests/TestSQLiteHistory.swift (строка = 101): аргумент не является буквальной строкой.
Неверная запись в файле ./StorageTests/TestSQLiteHistory.swift (строка = 102): аргумент не является буквальной строкой.
Неверная запись в файле ./StorageTests/TestSQLiteHistory.swift (строка = 103): аргумент не является буквальной строкой. Аргумент не является буквальной строкой.
Вот код этих строк
let titleMobile = NSLocalizedString("Mobile Bookmarks", tableName: "Storage", comment: "The title of the folder that contains mobile bookmarks. This should match bookmarks.folder.mobile.label on Android.")
let titleMenu = NSLocalizedString("Bookmarks Menu", tableName: "Storage", comment: "The name of the folder that contains desktop bookmarks in the menu. This should match bookmarks.folder.menu.label on Android.")
let titleToolbar = NSLocalizedString("Bookmarks Toolbar", tableName: "Storage", comment: "The name of the folder that contains desktop bookmarks in the toolbar. This should match bookmarks.folder.toolbar.label on Android.")
let titleUnsorted = NSLocalizedString("Unsorted Bookmarks", tableName: "Storage", comment: "The name of the folder that contains unsorted desktop bookmarks. This should match bookmarks.folder.unfiled.label on Android.")
Когда я искал решение, я нашел этот инструмент для создания и объединения локализованных строк. В этом случае он сработал, сгенерировал и объединил локализованные строки в Localizable.strings
, но во время выполнения приложение не показывает локализованные заголовки, поскольку оно пытается загрузить локализованные строки из файла с именем Storage.strings
, а не из Localizable.strings
.
Есть ли решение для автоматического создания этих файлов вместо того, чтобы делать это вручную?