npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

umi-plugin-locale-yaml

v2.1.2

Published

基于yaml配置的UMI国际化插件.

Downloads

27

Readme

umi-plugin-locale-yaml

umi多语言控制插件YAML版本。

基于umi-plugin-locale实现。

使用方法同 umi-plugin-locale 仅修改了读取的配置文件格式yml配置

配置 (如果使用了umi-plugin-react/umi-plugin-locale,需要关闭locale配置)

.umirc.js

export default {
  plugins: [
    [
      'umi-plugin-locale-yaml',
      {
        locale: {
          enable: true, // 是否启用 默认false
          default: 'zh-CN', //默认语言 zh-CN
          baseNavigator: true, // 为true时,用navigator.language的值作为默认语言
          antd: true, // 是否启用antd的<LocaleProvider />
          async:{ // 是否单独异步加载国际化配置,会被单独打包成一个文件,大型项目推荐使用,可选设置loadingComponent,如果不需要直接设置成true
              loadingComponent: './components/PageLoading/index', // 国际化文件加载时渲染
          },
          ignoreError:{ // 是否忽略错误,在传入id错误时候会报错,造成程序无法继续往下走,忽略后只会报错单不会终止执行 无option可设置为true
              message: '-' // 错误后默认显示的文字,不设置默认会显示错误的message
          }
        }
      }
    ]
  ]
};

目录及约定

.
├── dist/                          
├── mock/                         
└── src/                          
    ├── layouts/index.js          
    ├── pages/                    
    └── locales               // 多语言文件存放目录,里面的文件会被umi自动读取
        ├── zh-CN.yml
        └── en-US.yml
├── .umirc.js                     
├── .env                          
└── package.json

如果.umirc.js里配置了singular: truelocales要改成locale

多语言文件约定

多语言文件的命名规范:<lang>-<COUNTRY>.yml

支持import载入合并文件功能 基于 yaml-import 实现 多语言文件的内容规范:键-值组成的字面量,如下:

zh-CN.yml

App:
  appName: 国际化
  version: 版本
  copyright: C
  desc:
    title: 标题
    content: 内容
Page: !!import/single userPage.yaml
Sys: !!import/dirMerge [ 'sysPage','dir2']

en-US.yml

App:
  appName: i18n
  version: Ver
  copyright: C
  desc:
      title: title
      content: content
Page: !!import/single userPage.yaml
Sys: !!import/dirMerge [ 'sysPage', 'dir2']

yml 会被转换成平级的与原来json配置一样的格式,所以使用的方式不变。

 formatMessage({id:'App.appName'}) // i18n