# Starling_intl

Starling_intl是一款基于starling的前端i18n方案

## Doc

使用文档： https://bytedance.feishu.cn/docs/doccnD9auCFcBv3sem7ZPXb2edb#

设计文档： https://bytedance.feishu.cn/docs/doccnNOH18RC2SuNLbzonQqQsog

升级日志： https://bytedance.feishu.cn/docs/doccnwZrsqw4lqc7cRVSBNebqrb#

npm包地址: https://web-bnpm.byted.org/package/@ies/starling_intl

## Features

1. 行业规范：对齐行业标准ICU消息语法，ISO标准语言代码，ISO标准货币代码，ECMA-402。
2. 简单易用：配置简单，使用方便Intl.t()。
2. 能力全面：支持字符串，时间，日期，数字，货币的国际化，支持单复数，表达式。支持语序查询。
3. 配置灵活：支持自定义配置和插件。
4. 生态强大：Starling的翻译服务能力，以及更强的I18n生态。
5. 框架友好：支持react，vue等各种ui层框架。


## Getting started

```
npm install -g @ies/starling_intl --registry=http://bnpm.byted.org
```

## API

1. `init`   初始化


2. `setLang`   设置语言
    
3. `dir`  获取语序
    

4. `t`  获取翻译文案
    

5. `addResourceBundle`   添加resource
    
## 🎉 完整接入Demo

React SPA or React Native：https://code.byted.org/ies/starling_intl/tree/master/demo/react

Vue SPA：https://code.byted.org/ies/starling_intl/tree/master/demo/vue

SSR：https://code.byted.org/ies/starling_intl/tree/master/demo/ssr

Nextjs + Gulu/Koa：https://code.byted.org/liuchen.cc/starling_intl-next-demo

多Namespaces： https://code.byted.org/ies/starling_intl/tree/master/demo/multiNamespaces

小程序：doing

以上所有demo对应的starling管理端项目：https://starling.bytedance.net/project_detail/494#space