as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

expo-localization

expo-localization

@amazon-devices/expo-localization为原生用户本地化信息提供接口。

它提供getCalendars()getLocales() 方法及其相应的挂钩,这些方法返回有关用户区域设置的特定信息,例如languageCodeuses24HourClockcurrencyCodetextDirection。它本身不提供任何格式化文本或值的方法。当应用区域设置发生变化时,挂钩将触发重新渲染。

这是一个系统部署的库,可供适用于Vega的React Native应用使用,无需单独的安装过程。它作为自动链接库进行部署,您的应用在运行时会链接到该库。只能在库和为其构建的适用于Vega的React Native版本之间保证兼容性。

安装

  1. package.json文件中添加JavaScript库依赖项。

    已复制到剪贴板。

     "dependencies": {
     ...
     "@amazon-devices/expo-localization": "~2.0.0",
     "@amazon-devices/keplerscript-turbomodule-api": "~1.0.0",
     ...
     }
    
  2. 使用npm install命令重新安装依赖项。

示例

下面的示例演示了如何检索用户的语言代码。

已复制到剪贴板。

import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
import {useLocales, useCalendars} from '@amazon-devices/expo-localization';

export const App = () => {
  const locales = useLocales();
  const calendars = useCalendars();

  return (
    <View style={styles.container}>
      <Text style={styles.text}>useLocales():</Text>
      <Text style={styles.text}>{JSON.stringify(locales, null, 2)}</Text>
      <Text style={styles.text}>useCalendars():</Text>
      <Text style={styles.text}>{JSON.stringify(calendars, null, 2)}</Text>
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    flexDirection: 'row',
    backgroundColor: 'white',
  },
  text: {
    color: 'black',
    fontSize: 32,
  },
});

API参考

请查看以下专门文档页面,了解有关此库、API参考等的信息: 针对expo-localization的官方Expo文档(仅提供英文版)。

常量

常量 描述
locale 可以考虑改用Localization.getLocales()来获取用户首选区域设置的列表。IETF BCP 47语言标签,由两个字符的语言代码以及可选的脚本、地区和变体代码组成。

挂钩

挂钩 描述
useCalendars 一个提供用户首选日历列表的挂钩,以Calendar类型的对象数组的形式返回。保证包含至少1个元素。目前总是返回单个元素,但将来可能会在某些平台上返回用户首选项列表。如果操作系统设置发生变化,挂钩将使用新的日历列表重新呈现。
useLocales 一个提供用户区域设置列表的挂钩,以Locale类型的对象数组的形式返回。保证包含至少1个元素。这些对象将按照用户在设备设置中定义的顺序返回。在网页上,不提供货币和计量系统,而是返回为null。如果需要,您可以使用查询表从当前地区推断出它们。如果操作系统设置发生变化,挂钩将使用新的区域设置列表重新呈现。

方法

方法 描述
getCalendars 用户首选日历的列表,以Calendar类型的对象数组的形式返回。保证包含至少1个元素。目前总是返回单个元素,但将来可能会在某些平台上返回用户首选项列表。
getLocales 用户区域设置列表,以Locale类型的对象数组的形式返回。保证包含至少1个元素。这些对象将按照用户在设备设置中定义的顺序返回。在网页上,不提供货币和计量系统,而是返回为null。如果需要,您可以使用查询表从当前地区推断出它们。

实现详情

  • 在Vega上,Localization类型上的region字段始终为null。

  • 函数useLocales()useCalendars()getCalendars()getLocales() 将始终返回其中包含一个项目的数组,而其他平台可能会返回空数组或多个有效的区域设置/日历。

  • Vega不支持已弃用的常量和方法:getLocalizationAsync()

支持的版本

程序包版本 基于 @amazon-devices/react-native-kepler版本
2.0.x 14.6.0 2.0.x

其他资源

有关其他库的信息,请参阅支持的第三方库和服务


Last updated: 2025年9月30日