# language-select
**Repository Path**: wuzhike403/language-select
## Basic Information
- **Project Name**: language-select
- **Description**: 一个语言选择组件
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-03-27
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# language-select
语言选择组件(支持IE9+)(less 3.0.0)
### API 说明
1 此插件提供唯一的全局变量: IolLanguageSelect, 一个语言选择类
2 实例化需提供如下参数对象:
{
el: (必须, str, Dom的id 或 一个Dom对象) // 容器对象, 在其内部创建html代码
languages: (可选, 数组) // 语言列表; 如果不提供, 则使用默认的语言列表
originLang: (可选, str;默认值 源语言) // 源语言;
targetLang: (可选, str;默认值 目标语言) // 目标语言; 如果语言列表中不提供英文, 则使用语言列表中第二项
hasAutocheck: (可选, boolean;默认值 false) // 是否在源语言中提供 自动检测 项
autoLang: (可选, str;默认值 自动检测) // 自动检测项的名称
group: (可选, 数组) // 语言分组配置项; 如果不提供, 则使用默认的分组
autoGroup: (可选, boolean;默认值 true) // 是否自动 分组(尽量平均各组语言数量)
groupNum: (可选, number;默认值 6) // 当 autoGroup为true时, 方可用: 指定要自动分成多少个组
selectLang: (可选, function) // 选择语言的回调, 函数中的this就是当前实例化对象
exchange: (可选, function) // 交换语言的回调, 函数中的this就是当前实例化对象
expandFlag: (可选, boolean;默认值 false) // 是否展开语言选项
}
3 实例对象的方法和属性
3.1 setGroup(group)
// 重新设定分组
group: ['ABC', "D", ...]
3.2 setOrigin(language)
// 设置源语言
language: 语言名称或id
// 如果提供的语言不存在语言列表中, 则设置失败
3.3 getOrigin()
// 获取源语言
3.3.1 getOriginObj()
// 获取源语言对象
3.4 setTarget(language)
// 设置目标语言
language: 语言名称或id
// 如果提供的语言不存在语言列表中, 则设置失败
3.5 getTarget()
// 获取目标语言
3.5.1 getTargetObj()
// 获取目标语言对象
3.6 getLanguages()
// 获取语言列表
3.7 addLanguages(languages)
// 增加语言
languages: 可以是单个语言对象, 也可以包含语言对象的数组
// 如果语言已经存在于当前语言列表中, 则加入失败
3.8 rmLanguages(langs)
// 删除语言
langs: 可以是单个语言, 或语言数组
语言可以是 语言名称或语言id
示例1 "日语" // 语言名称
示例2 14 // 语言id
示例3 ["日语", 15, '西班牙语'] // id和名称混搭
// 如果语言不存在语言列表中, 则删除失败
3.9 getOften()
// 获取常用语言
3.10 setOften(langs)
// 设置常用语言
3.11 addOften(langs)
// 增加常用
3.12 rmOften(langs)
// 删除常用
3.13 render()
// 渲染
以上所有动作, 只是改变数据, 要改变页面, 需执行此方法
4 单个语言对象
{
id: num, // 语言id,(只在整体提供语言列表时, 才提供)
langName: "", // 语言名称
langAlpha: "", // 语言首字母
langCode: "", // 语言编码
isCommon: boolean, // 是否常用的语言
}
5 默认语言列表
[
{id: 0, langName: "阿拉伯语", langAlpha: "a", langCode: "al"},
{id: 1, langName: "爱沙尼亚语", langAlpha: "a"},
{id: 2, langName: "保加利亚语", langAlpha: "b"},
{id: 3, langName: "波兰语", langAlpha: "b"},
{id: 4, langName: "丹麦语", langAlpha: "d"},
{id: 5, langName: "德语", langAlpha: "d"},
{id: 6, langName: "俄语", langAlpha: "e"},
{id: 7, langName: "法语", langAlpha: "f"},
{id: 8, langName: "芬兰语", langAlpha: "f"},
{id: 9, langName: "韩语", langAlpha: "h"},
{id: 10, langName: "荷兰语", langAlpha: "h"},
{id: 11, langName: "捷克语", langAlpha: "j"},
{id: 12, langName: "罗马尼亚语", langAlpha: "l"},
{id: 13, langName: "葡萄牙语", langAlpha: "p"},
{id: 14, langName: "日语", langAlpha: "r"},
{id: 15, langName: "瑞典语", langAlpha: "r"},
{id: 16, langName: "斯洛文尼亚语", langAlpha: "s"},
{id: 17, langName: "泰语", langAlpha: "t"},
{id: 18, langName: "西班牙语", langAlpha: "x"},
{id: 19, langName: "希腊语", langAlpha: "x"},
{id: 20, langName: "匈牙利语", langAlpha: "x"},
{id: 21, langName: "英文", langAlpha: "y", isCommon: true},
{id: 22, langName: "意大利语", langAlpha: "y"},
{id: 23, langName: "越南语", langAlpha: "y"},
{id: 24, langName: "粤语", langAlpha: "y"},
{id: 25, langName: "中文", langAlpha: "z", langCode: "zh", isCommon: true},
{id: 26, langName: "中文繁体", langAlpha: "z"}
];
6 默认分组
["ABC", "DEFG", "HIJKLMN", "OPQRST", "UVWX", "YZ"]