Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在iOS应用程序中本地化下载的图像_Swift_Xcode - Fatal编程技术网

Swift 如何在iOS应用程序中本地化下载的图像

Swift 如何在iOS应用程序中本地化下载的图像,swift,xcode,Swift,Xcode,我们的应用程序需要支持多种语言,包括文本字符串和照片。我们希望我们的用户能够指定一种语言,并在运行时下载所有这些文件,因为有很多文件。我一直在寻找关于这方面最佳实践的线索,但没有找到太多。我想知道是否有人有这方面的经验。我解决这个问题的想法是: 将文件下载到沙盒区域并以编程方式本地化文件夹(如果可能的话) 下载文件,然后将其移动到图像的本地化文件夹中 有人有过这种经历吗 过程非常简单,您需要在应用程序支持/文档中使用该语言的键动态创建一个文件夹(当然可以使用),例如 依此类推,然后根据您的应用程

我们的应用程序需要支持多种语言,包括文本字符串和照片。我们希望我们的用户能够指定一种语言,并在运行时下载所有这些文件,因为有很多文件。我一直在寻找关于这方面最佳实践的线索,但没有找到太多。我想知道是否有人有这方面的经验。我解决这个问题的想法是:

  • 将文件下载到沙盒区域并以编程方式本地化文件夹(如果可能的话)

  • 下载文件,然后将其移动到图像的本地化文件夹中


  • 有人有过这种经历吗

    过程非常简单,您需要在应用程序支持/文档中使用该语言的键动态创建一个文件夹(当然可以使用),例如

    依此类推,然后根据您的应用程序设置从文件夹加载,另一种方法是使用SdWebImage并以这种方式创建图像URL

    https://www.dom1.com/en/img1
    https://www.dom1.com/fr/img1
    
    en/fr根据当前设置,如果是一块图像,则方法1非常适合


    假设你有一个像

     let current = UserDefaults.shared.string(forKey:"CurrentLang") // gives en / fr
    

    然后将
    current
    设置为全局变量,您可以在所有应用程序中引用文本/图像加载内容的任何方法或字符串组合中使用该变量,但这不允许我使用更改项目语言时发生的自动本地化,对吗?每次我想显示一个文件或字符串时,我都必须检查语言设置,对吗?当你更改语言时,更改全局变量,之后任何新的vc显示都应该从更改的语言加载。我已经有了语言设置,而且我肯定知道如何保存文件。我想知道是否有一种保存文件的方法可以让我使用内置的本地化功能。例如,当您有一个本地化映像时,它将根据项目语言自动选择该映像。内置本地化使用主捆绑包进行签名,您无法更改或添加到主捆绑包,这是实现此目的的唯一方法感谢您的回复。我喜欢使用字符串组合的var来访问文件。
     let current = UserDefaults.shared.string(forKey:"CurrentLang") // gives en / fr