如何分配模板文件的本地化名称?
Posted
技术标签:
【中文标题】如何分配模板文件的本地化名称?【英文标题】:How do I assign a template file's localized name? 【发布时间】:2018-07-13 01:03:23 【问题描述】:我的 ios 应用程序允许用户从选择模板文档开始。例如,在 Pages 中,您可以选择从“论文”模板开始。复制并打开该模板文档。
我遇到了本地化问题,无法找到如何本地化生成的复制文件的显示名称。同样,以 Pages 为例。如果我的语言设置为法语并选择“Reportage”(论文)模板,则复制的文件名称为“Reportage”。
我的模板文件位于我的应用程序包资源中。我正在使用 UIDocumentBrowserViewController 和以下方法来创建文档
func documentBrowser(_ controller: UIDocumentBrowserViewController,
didRequestDocumentCreationWithHandler importHandler:
@escaping (URL?, UIDocumentBrowserViewController.ImportMode) -> Void)
importHandler 最终会像这样用 .copy 调用:
importHandler(url, .copy)
我的模板文件非常大,使用本地化名称发送副本没有意义。我们有一个解决方法,我们首先使用正确本地化的文件名创建一个副本。然后我们在 importHandler(url, .copy) 中使用生成的文件的 URL,但是必须将文件复制两次似乎很浪费。
我在文档中看到了对本地化NameKey 的引用,但是关于如何设置该值的信息很少。假设它是相关的,我该如何使用localizedNameKey?是否有一些 plist 指定了每个文件的本地化信息?
【问题讨论】:
【参考方案1】:如果您先创建副本,则可以使用 .move 模式代替 .copy,以免复制两次。请注意,如果您使用正确的 API,副本应该非常便宜,因为它应该是 APFS 写入时复制克隆。
【讨论】:
以上是关于如何分配模板文件的本地化名称?的主要内容,如果未能解决你的问题,请参考以下文章