Xamarin.ios使用故事板进行本地化

时间:2018-02-16 12:18:27

标签: xamarin xamarin.ios localization

是否有人遇到故事板本地化问题。 (我在网上看到很多问题都有问题) 我已经按照官方文档,我已经尝试了很多来自其他人的问题。 我无法弄清楚它为什么不起作用。

我在info.plist中有这个

<key>CFBundleDevelopmentRegion</key>
    <string>en</string>
<key>CFBundleLocalizations</key>
    <array>
        <string>zh-Hans</string>
    </array>

在我的Resources文件夹中,我有一个Base.lproj &#34; Main.strings&#34; 然后是另一个文件夹zh-Hans.lproj 在内部,我有Main.strings与以下内容

"196117.text" = "点击\“+ \”添加一张新卡";
"263697.text" = "演示卡";
"263698.text"= "禁用应用";

这些是标签,这就是为什么我有text属性,而数字是我在storyboard中找到的本地化ID。

我尝试在语言文件夹中创建文件Main~ipadMain~iphone.strings。 我已经尝试将Main.storyboard移动到Base.lproj或者回到项目根目录。

没有任何效果。 有没有人有任何其他建议。

谢谢

2 个答案:

答案 0 :(得分:0)

以下是我的Xamarin.iOS项目中目录树的样子(本地化对我来说很好):

MyProject.iOS
    /Resources
        /Base.lproj
            /InfoPlist.strings
        /en.lproj
            /InfoPlist.strings
        /zh-Hans.lproj
            /InfoPlist.strings
        /etc...

答案 1 :(得分:0)

所以我现在正在使用它,我用Base中的storyboard文件移动了我的Base.Iproj资源。 我犯的一个愚蠢的错误就是将i和L混合起来。我从Xamarin网站复制了文件Base.lproj的名称,并用我复制的内容重命名了我的文件夹。 我相信我的名字可能不对,就像大写字母“我”一样。看起来像小写字母L一样。 i = I和L = l。

我的所有本地化现在都在运作。