Как назначить локализованное имя файла шаблона?

Мое приложение iOS позволяет пользователю начать с выбора шаблонного документа. Например, в Pages вы можете начать с шаблона "Эссе". Этот шаблон документа копируется и открывается.

Я сталкиваюсь с проблемой локализации и не могу узнать, как локализовать отображаемое имя результирующего скопированного файла. Опять же, пример со страниц. Если мой язык установлен на французский, и я выбираю шаблон "Репортаж" (эссе), имя скопированного файла будет "Репортаж".

Мои файлы шаблонов находятся в ресурсах пакета моего приложения. Я использую UIDocumentBrowserViewController и следующий метод для создания документа

func documentBrowser(_ controller: UIDocumentBrowserViewController,
didRequestDocumentCreationWithHandler importHandler: 
@escaping (URL?, UIDocumentBrowserViewController.ImportMode) -> Void)

В конце концов importHandler вызывается с.copy так:

importHandler(url, .copy)

Мои файлы шаблонов довольно большие, и нет смысла отправлять дубликаты с локализованными именами. У нас есть обходной путь, когда мы сначала создаем копию с правильно локализованным именем файла. Затем мы используем URL полученного файла в importHandler(url, .copy), но дублирование файла дважды кажется расточительным.

Я видел ссылку на localizedNameKey в документации, но очень мало информации о том, как установить это значение. Предполагая, что это актуально, как я могу использовать localizedNameKey? Есть ли какой-нибудь список, где указана информация о локализации файла?

1 ответ

Если вы сначала создаете копию, вы можете использовать режим.move вместо.copy, чтобы не копировать дважды. Обратите внимание, что копия должна быть довольно дешевой, если вы используете правильный API, поскольку это должен быть клон копирования при записи APFS.

Другие вопросы по тегам