Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.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
Ios 仅通过Interface Builder应用翻译的本地化字符串_Ios_Swift_Localization_Nslocalizedstring_Swift5 - Fatal编程技术网

Ios 仅通过Interface Builder应用翻译的本地化字符串

Ios 仅通过Interface Builder应用翻译的本地化字符串,ios,swift,localization,nslocalizedstring,swift5,Ios,Swift,Localization,Nslocalizedstring,Swift5,我已经为几种语言创建了字符串文件并添加了文本。例如,西班牙语文件名为Main.strings(西班牙语),我在其中添加了两个文本。第一个将转换应用于interface builder中的标签(它工作),另一个应用于viewdidload方法中的打印(它不工作) “它不工作”的意思是,正在打印的文本是lb hello,而不是hola 这是我用来打印文本的代码: NSLog(NSLocalizedString("lb-hello", comment: "Hello translated")); 你

我已经为几种语言创建了字符串文件并添加了文本。例如,西班牙语文件名为Main.strings(西班牙语),我在其中添加了两个文本。第一个将转换应用于interface builder中的标签(它工作),另一个应用于viewdidload方法中的打印(它不工作)

“它不工作”的意思是,正在打印的文本是lb hello,而不是hola

这是我用来打印文本的代码:

NSLog(NSLocalizedString("lb-hello", comment: "Hello translated"));

你知道为什么翻译只能通过界面生成器进行吗?我遗漏了什么吗?

好的,我找到了我自己问题的答案

显然,如果字符串文件名为Main.strings(西班牙语)它可以本地化标签ID,但不能创建新变量并通过代码应用它们


为了能够创建新的文件并在代码中使用它们,您必须重命名每个文件,并将Main替换为Localizable。因此,西班牙语的文件名必须是可本地化的。字符串(西班牙语)

字符串文件“Hola”键中有什么?“lb hello”或“yFi-2X-1s7.text”?我创建了两个,yFi-2X-1s7.text来尝试使用界面生成器进行翻译,另一个使用lb hello通过代码进行翻译字符串文件的名称是什么?请编辑您的问题,并为您的两个示例添加两个键值。刚刚编辑了整个问题@andesta.erfanal字符串文件应命名为Localizable.strings的时间,以便编译器可以找到该文件并对其进行解析。
NSLog(NSLocalizedString("lb-hello", comment: "Hello translated"));