Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
theme-apachecn
提交
45a45621
T
theme-apachecn
项目概览
OpenDocCN
/
theme-apachecn
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
theme-apachecn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
45a45621
编写于
2月 18, 2016
作者:
S
Samy Pessé
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Start adding i18n
上级
fbb6c526
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
83 addition
and
1 deletion
+83
-1
index.js
index.js
+80
-1
package.json
package.json
+3
-0
未找到文件。
index.js
浏览文件 @
45a45621
module
.
exports
=
function
defaultTheme
(
output
)
{
var
_
=
require
(
'
lodash
'
);
var
path
=
require
(
'
path
'
);
var
fs
=
require
(
'
fs
'
);
var
i18n
=
require
(
'
i18n
'
);
// Root folder for i18n locales
var
I18N_PATH
=
path
.
resolve
(
__dirname
,
'
../_i18n/
'
);
// Default language is english
var
DEFAULT_LANGUAGE
=
'
en
'
;
// List all locales
var
LOCALES
=
_
.
map
(
fs
.
readdirSync
(
I18N_PATH
),
function
(
lang
)
{
return
path
.
basename
(
lang
,
'
.json
'
);
});
// Configure i18n
i18n
.
configure
({
locales
:
LOCALES
,
directory
:
I18N_PATH
,
defaultLocale
:
DEFAULT_LANGUAGE
,
updateFiles
:
false
});
function
compareLocales
(
lang
,
locale
)
{
var
langMain
=
_
.
first
(
lang
.
split
(
'
-
'
));
var
langSecond
=
_
.
last
(
lang
.
split
(
'
-
'
));
var
localeMain
=
_
.
first
(
locale
.
split
(
'
-
'
));
var
localeSecond
=
_
.
last
(
locale
.
split
(
'
-
'
));
if
(
locale
==
lang
)
return
100
;
if
(
localeMain
==
langMain
)
return
50
;
if
(
localeSecond
==
langSecond
)
return
20
;
return
0
;
}
var
normalizeLanguage
=
_
.
memoize
(
function
(
lang
)
{
var
language
=
_
.
chain
(
LOCALES
)
.
values
()
.
map
(
function
(
locale
)
{
return
{
locale
:
locale
,
score
:
compareLocales
(
lang
,
locale
)
};
})
.
filter
(
function
(
lang
)
{
return
lang
.
score
>
0
;
})
.
sortBy
(
'
score
'
)
.
pluck
(
'
locale
'
)
.
last
()
.
value
();
return
language
||
lang
;
});
function
translate
(
locale
,
phrase
)
{
var
args
=
Array
.
prototype
.
slice
.
call
(
arguments
,
2
);
return
i18n
.
__
.
apply
({},
[{
locale
:
locale
,
phrase
:
phrase
}].
concat
(
args
));
}
function
getCatalog
(
locale
)
{
locale
=
normalizeLanguage
(
locale
);
return
i18n
.
getCatalog
(
locale
);
}
function
getLocales
()
{
return
LOCALES
;
}
function
hasLocale
(
locale
)
{
return
_
.
contains
(
LOCALES
,
locale
);
}
module
.
exports
=
{
filters
:
{
}
};
package.json
浏览文件 @
45a45621
...
...
@@ -5,6 +5,9 @@
"engines"
:
{
"gitbook"
:
">=3.0.0"
},
"dependencies"
:
{
"
i18n
"
:
"
0.7.0
"
},
"devDependencies"
:
{
"
less
"
:
"
2.6.0
"
,
"
less-plugin-clean-css
"
:
"
1.5.1
"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录