首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在世博项目中不起作用的i18next日期时间格式

在世博项目中不起作用的i18next日期时间格式
EN

Stack Overflow用户
提问于 2022-04-13 06:35:54
回答 1查看 543关注 0票数 0

我的i18.js文件(在App.js中导入)参见下面的编辑

我的en.json文件

代码语言:javascript
复制
{
  home: {
    "time": "{{stime, datetime}} to {{etime, datetime}}",
  }
}

组件中的翻译代码

代码语言:javascript
复制
const i18timeFormat = { hour: "numeric", minute: "numeric", hour12: true };
return (
    <Text>
      t("home.time",
        {{
          stime: starttime,
          etime: endtime,
          formatParams: { stime: i18timeFormat, etime: i18timeFormat },
        }}
      )
    </Text>
  );

预期产出

代码语言:javascript
复制
8:30 am to 10:30 am

实际输出

代码语言:javascript
复制
Wed Apr 13 2022 08:30:12 GMT+0530 (IST) to Wed Apr 13 2022 10:30:12 GMT+0530 (IST)

我也尝试过官方的例子。,即使它不格式化。有什么我能修好的吗?

编辑:

我已经将以下软件包添加到polyfill intl日期时间和相对时间。

代码语言:javascript
复制
"@formatjs/intl-datetimeformat": "^5.0.1",
"@formatjs/intl-getcanonicallocales": "^1.9.2",
"@formatjs/intl-locale": "^2.4.47",
"@formatjs/intl-numberformat": "^7.4.3",
"@formatjs/intl-pluralrules": "^4.3.3",
"@formatjs/intl-relativetimeformat": "^10.0.1",

i18.js文件

代码语言:javascript
复制
import "@formatjs/intl-getcanonicallocales/polyfill";
import "@formatjs/intl-locale/polyfill-force";
import "@formatjs/intl-numberformat/polyfill-force";
import "@formatjs/intl-pluralrules/polyfill-force";

import "@formatjs/intl-datetimeformat/polyfill-force";
import "@formatjs/intl-datetimeformat/locale-data/en";
import "@formatjs/intl-datetimeformat/add-all-tz"; // Add ALL tz data

import "@formatjs/intl-relativetimeformat/polyfill-force";
import "@formatjs/intl-relativetimeformat/locale-data/en";

import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import * as Localization from "expo-localization";

import en from "./i18n/en.json";

const resources = {
  en: { translation: en }
};

i18n.use(initReactI18next).init({
  resources,
  lng: "en",
  fallbackLng: "en",
});

export default i18n;

编辑2:

调试后的警告设置为true。

代码语言:javascript
复制
Missing locale data for 
at node_modules/@formatjs/intl-localematcher/abstract/utils.js:8:14 in invariant
at node_modules/@formatjs/intl-localematcher/abstract/ResolveLocale.js:25:8 in ResolveLocale
at node_modules/@formatjs/ecma402-abstract/NumberFormat/InitializeNumberFormat.js:31:12 in InitializeNumberFormat
at node_modules/@formatjs/intl-numberformat/src/core.js:37:4 in exports.NumberFormat
at node_modules/@formatjs/intl-datetimeformat/src/abstract/FormatDateTimePattern.js:51:13 in FormatDateTimePattern
at node_modules/@formatjs/intl-datetimeformat/src/abstract/FormatDateTime.js:11:16 in FormatDateTime
at node_modules/i18next/dist/cjs/i18next.js:1800:24 in formats.reduce$argument_0
at node_modules/i18next/dist/cjs/i18next.js:1789:19 in format
at node_modules/i18next/dist/cjs/i18next.js:1581:30 in todos.forEach$argument_0
at node_modules/i18next/dist/cjs/i18next.js:1576:6 in interpolate
at node_modules/i18next/dist/cjs/i18next.js:843:14 in extendTranslation
at node_modules/i18next/dist/cjs/i18next.js:806:14 in translate
at src/components/gate/timeBlock/index.js:74:10 in TimeBlock
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-13 08:52:31

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71852906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档