2016-05-16 66 views
1

當我使用Xcode爲cordova項目構建和導出ipa時,我可以選擇使用中文的本地化選項。當我轉而使用cordova build -device來直接生成一個沒有Xcode的ipa。如何從命令行指定語言環境選項如何在Cordova構建時指定區域設置

回答

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(); 
     }); 
    }); 
    }); 
};