我已经使用react-native开发了一个android移动应用。该应用程序的母语是英语,但我也希望将其设置为中文。因此,我的问题是如何将静态和提取的数据转换为中文。请分享解决方案。
答案 0 :(得分:1)
是的,您可以做到。 要将应用程序语言更改为多语言应用程序,即还包括普通话。
react-native-i18n
链接:https://www.npmjs.com/package/react-native-i18n
google-translate-api
链接:https://www.npmjs.com/package/google-translate-api
I18n示例:
import I18n from 'react-native-i18n';
class Demo extends React.Component {
render() {
return <Text>{I18n.t('greeting')}</Text>;
}
}
// Enable fallbacks if you want `en-US` and `en-GB` to fallback to `en`
I18n.fallbacks = true;
I18n.translations = {
en: {
greeting: 'Hi!',
},
fr: {
greeting: 'Bonjour!',
},
};
Google翻译示例:
From automatic language detection to English:
const translate = require('google-translate-api');
translate('Ik spreek Engels', {to: 'en'}).then(res => {
console.log(res.text);
//=> I speak English
console.log(res.from.language.iso);
//=> nl
}).catch(err => {
console.error(err);
});
From English to Dutch with a typo:
translate('I spea Dutch!', {from: 'en', to: 'nl'}).then(res => {
console.log(res.text);
//=> Ik spreek Nederlands!
console.log(res.from.text.autoCorrected);
//=> true
console.log(res.from.text.value);
//=> I [speak] Dutch!
console.log(res.from.text.didYouMean);
//=> false
}).catch(err => {
console.error(err);
});
希望它会有所帮助..! 谢谢
〜普拉兹(Praz)
答案 1 :(得分:0)
您需要以某种方式重构代码库。
首先,如果您的静态数据存储为硬编码,则需要进行重构。
我建议使用https://github.com/react-native-community/react-native-languages
您的灵感示例位于here。
现在第二部分,您需要动态翻译。
首先,您需要使用上述软件包可以访问的当前用户语言。
然后使用google-translate-api之类的包即时翻译。