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