登机牌没有获得本地化字符串

时间:2014-02-22 01:19:36

标签: passbook

我一直在开发登机牌,一切都很顺利,但是当我试图国际化时,存折不会加载字符串。传递工作正常但没有获得本地化字符串。奇怪的是,它在传递查看器上工作正常,但在iphone和ipad上却没有。

这是我的manifest.json文件:

{
    "pass.json": "41ea636799de90475196cdf17f879653aa256e61",
    "icon.png": "6762942886bae7b11ad45f268faf082dcfe15ea7",
    "icon@2x.png": "d9de89daee9f8b24d6059018ab107b33e9efb744",
    "logo.png": "d63334e60ad0548b1bf07a0d6e133a8ccdb09f52",
    "logo@2x.png": "0ff3913da7f122a9f5d44ff3ad8c44e2fc06f24c",
    "en.lproj/pass.strings": "64c8e3def5193f82be5bea65ae10e2d0eb4ba3fa",
    "es.lproj/pass.strings": "beb344e5657994008bd1be5bda8c20347420b389"
}   

当我尝试国际化字符串时,这是pass.json的一部分。

"headerFields": [
            {
                "key": "seat",
                "label": "seat_str",
                "value": "{seat}",
                "textAlignment": "PKTextAlignmentNatural"
            }
        ],

这是en.lproj / pass.strings

"flight_str" = "FLIGHT";
"seat_str" = "SEAT";
"depart_str" = "DEPART";
"gate_str" = "GATE";
"plane_str" = "PLANE";
"passenger_str" = "PASSENGER";

将en.lproj包含在清单文件中是否正确?我错过了pass.json文件中的内容吗?

编辑:最后我发现了问题,它不在传递本身,问题在于我制作zip文件的方式。我在.net中生成了zip文件,并以这种方式添加了pass.strings

var englishLocalizationEntry = archive.CreateEntry(@"en.lproj\pass.strings");

使用windows文件系统路径分隔符。为了使其正常工作,我不得不将其更改为

var englishLocalizationEntry = archive.CreateEntry(@"en.lproj/pass.strings");

0 个答案:

没有答案