如何在cordova构建时指定语言环境

时间:2016-05-16 10:52:49

标签: cordova

当我使用Xcode为cordova项目构建和导出ipa时,我有一个可以选择中文的本地化选项。当我转向使用cordova build -device直接生成ipa而没有Xcode。如何从命令行

指定区域设置选项

1 个答案:

答案 0 :(得分:0)

您需要在platforms/ios/{appName}/{appName}-Info.plist中设置语言。

该语言的密钥为CFBundleDevelopmentRegion,默认值为English

我不确定准确允许哪个值。我尝试使用Dutch,但我认为Chinese也是一个有效值。

我创建了一个简单的Cordova hook来自动执行此任务。只需将其用作ios平台的after_platform_add挂钩。

#!/usr/bin/env node
'use strict';

const fs = require('fs');
const path = require('path');

const plist = require('plist');


module.exports = context => {
  const ConfigParser = context.requireCordovaModule('cordova-common').ConfigParser;

  return new Promise((resolve, reject) => {
    let config = new ConfigParser(path.resolve(context.opts.projectRoot, 'config.xml'));
    let name = config.name();
    let plistPath = path.join(context.opts.projectRoot, 'platforms', 'ios', name, `${name}-Info.plist`);

    fs.readFile(plistPath, 'utf-8', (err, data) => {
      if (err) {
        return reject(err);
      }
      let infoPlist = plist.parse(data);
      infoPlist.CFBundleDevelopmentRegion = 'Chinese';
      fs.writeFile(plistPath, plist.build(infoPlist), err => {
        if (err) {
          return reject();
        }
        resolve();
      });
    });
  });
};