Merge pull request #3 from ryugibo/master

Enable Multilingual
This commit is contained in:
Pavel Kanyshev 2017-04-06 14:15:03 +03:00 committed by GitHub
commit 27e9b6f85c
43 changed files with 150 additions and 76 deletions

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

14
i18n/en.yaml Normal file
View file

@ -0,0 +1,14 @@
- id: education
translation: Education
- id: experiences
translation: Experiences
- id: interests
translation: Interests
- id: language
translation: Languages
- id: projects
translation: Projects
- id: skills
translation: Skills & Proficiency
- id: summary
translation: Career Profile

14
i18n/ja.yaml Normal file
View file

@ -0,0 +1,14 @@
- id: education
translation: 学歴
- id: experiences
translation: 経歴
- id: interests
translation: 趣味
- id: language
translation: 言語能力
- id: projects
translation: プロジェクト
- id: skills
translation: 技術 & 熟練度
- id: summary
translation: 紹介

14
i18n/ko.yaml Normal file
View file

@ -0,0 +1,14 @@
- id: education
translation: 학력
- id: experiences
translation: 경력
- id: interests
translation: 취미
- id: language
translation: 언어능력
- id: projects
translation: 프로젝트
- id: skills
translation: 기술 & 숙련도
- id: summary
translation: 소개

View file

@ -26,13 +26,12 @@
{{ if .Site.Params.skills.enable }}
{{ partial "skills.html" . }}
{{ end }}
</div><!--//main-body-->
</div>
{{ partial "footer.html" . }}
{{ partial "scripts.html" . }}
</body>
</html>
</html>

View file

@ -1,5 +1,5 @@
<div class="education-container container-block">
<h2 class="container-block-title">{{ .Site.Params.education.title }}</h2>
<h2 class="container-block-title">{{ i18n "education" }}</h2>
{{ range .Site.Params.education.list }}
<div class="item">
<h4 class="degree">{{ .degree }}</h4>
@ -7,4 +7,4 @@
<div class="time">{{ .dates }}</div>
</div><!--//item-->
{{ end }}
</div><!--//education-container-->
</div><!--//education-container-->

View file

@ -1,6 +1,6 @@
<section class="section experiences-section">
<h2 class="section-title"><i class="fa {{ .Site.Params.experiences.icon }}"></i>{{ .Site.Params.experiences.title }}</h2>
<h2 class="section-title"><i class="fa {{ .Site.Params.experiences.icon }}"></i>{{ i18n "experiences" }}</h2>
{{ range .Site.Params.jobs.list }}
<div class="item">
<div class="meta">
@ -15,5 +15,5 @@
</div><!--//details-->
</div><!--//item-->
{{ end }}
</section><!--//section-->
</section><!--//section-->

View file

@ -1,22 +1,22 @@
<title>{{ .Site.Title }}</title>
<title>{{ .Site.Params.title }}</title>
<!-- Meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{{ with .Site.Params.description }}{{ . }}{{ end }}">
<meta name="author" content="{{ with .Site.Params.author }}{{ . }}{{ end }}">
<link rel="shortcut icon" href="favicon.ico">
<meta name="description" content="{{ .Site.Params.description }}">
<meta name="author" content="{{ .Site.Params.author }}">
<link rel="shortcut icon" href="favicon.ico">
<link href='https://fonts.googleapis.com/css?family=Roboto:400,500,400italic,300italic,300,500italic,700,700italic,900,900italic' rel='stylesheet' type='text/css'>
<!-- Global CSS -->
<link rel="stylesheet" href="{{ .Site.BaseURL }}assets/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="{{ .Site.BaseURL }}assets/plugins/bootstrap/css/bootstrap.min.css">
<!-- Plugins CSS -->
<link rel="stylesheet" href="{{ .Site.BaseURL }}assets/plugins/font-awesome/css/font-awesome.css">
<!-- Theme CSS -->
<!-- Theme CSS -->
<link id="theme-style" rel="stylesheet" href="{{ .Site.BaseURL }}assets/css/{{ .Site.Params.styles }}">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
{{ template "_internal/google_analytics_async.html" . }}
{{ template "_internal/google_analytics_async.html" . }}

View file

@ -1,8 +1,8 @@
<div class="interests-container container-block">
<h2 class="container-block-title">{{ .Site.Params.interests.title }}</h2>
<h2 class="container-block-title">{{ i18n "interests" }}</h2>
<ul class="list-unstyled interests-list">
{{ range .Site.Params.interests.list }}
<li>{{ .interest }}</li>
{{ end }}
</ul>
</div><!--//interests-->
</div><!--//interests-->

View file

@ -1,3 +1,3 @@
<!--[if IE 8]> <html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-US{{ end }}" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-US{{ end }}" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-US{{ end }}"> <!--<![endif]-->
<!--[if IE 8]> <html lang="{{ .Site.Language }}" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="{{ .Site.Language }}" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="{{ .Site.Language }}"> <!--<![endif]-->

View file

@ -0,0 +1,8 @@
<div class="language-container container-block">
<h2 class="container-block-title">{{ i18n "language" }}</h2>
<ul class="list-unstyled interests-list">
{{ range .Site.Params.language.list }}
<li>{{ .language }} <span class="lang-desc">({{ .level }})</span></li>
{{ end }}
</ul>
</div><!--//language-->

View file

@ -1,8 +0,0 @@
<div class="languages-container container-block">
<h2 class="container-block-title">{{ .Site.Params.languages.title }}</h2>
<ul class="list-unstyled interests-list">
{{ range .Site.Params.languages.list }}
<li>{{ .language }} <span class="lang-desc">({{ .level }})</span></li>
{{ end }}
</ul>
</div><!--//languages-->

View file

@ -2,4 +2,4 @@
<img class="profile" src="{{ .Site.BaseURL }}assets/images/{{ .Site.Params.profile.avatar }}" alt="" />
<h1 class="name">{{ .Site.Params.profile.name }}</h1>
<h3 class="tagline">{{ .Site.Params.profile.tagline }}</h3>
</div><!--//profile-container-->
</div><!--//profile-container-->

View file

@ -1,5 +1,5 @@
<section class="section projects-section">
<h2 class="section-title"><i class="fa {{ .Site.Params.projects.icon }}"></i>{{ .Site.Params.projects.title }}</h2>
<h2 class="section-title"><i class="fa {{ .Site.Params.projects.icon }}"></i>{{ i18n "projects" }}</h2>
<div class="intro">
<p>{{ with .Site.Params.projects.intro }}{{ . | markdownify }}{{ end }}</p>
</div><!--//intro-->
@ -8,4 +8,4 @@
<span class="project-title"><a href="{{ .url }}">{{ .title }}</a></span> - <span class="project-tagline">{{ with .tagline }}{{ . | markdownify }}{{ end }}</span>
</div><!--//item-->
{{ end }}
</section><!--//section-->
</section><!--//section-->

View file

@ -2,6 +2,10 @@
{{ partial "profile.html" . }}
{{ if .IsTranslated }}
{{ partial "translate.html" . }}
{{ end }}
{{ if .Site.Params.contact.enable }}
{{ partial "contact.html" . }}
{{ end }}
@ -10,12 +14,12 @@
{{ partial "education.html" . }}
{{ end }}
{{ if .Site.Params.languages.enable }}
{{ partial "languages.html" . }}
{{ if .Site.Params.language.enable }}
{{ partial "language.html" . }}
{{ end }}
{{ if .Site.Params.interests.enable }}
{{ partial "interests.html" . }}
{{ end }}
</div><!--//sidebar-wrapper-->
</div><!--//sidebar-wrapper-->

View file

@ -1,14 +1,14 @@
<section class="skills-section section">
<h2 class="section-title"><i class="fa {{ .Site.Params.skills.icon }}"></i>{{ .Site.Params.skills.title }}</h2>
<h2 class="section-title"><i class="fa {{ .Site.Params.skills.icon }}"></i>{{ i18n "skills" }}</h2>
<div class="skillset">
{{ range .Site.Params.skills.list }}
<div class="item">
<h3 class="level-title">{{ .skill }}</h3>
<div class="level-bar">
<div class="level-bar-inner" data-level="{{ .level }}">
</div>
</div><!--//level-bar-->
</div>
</div><!--//level-bar-->
</div><!--//item-->
{{ end }}
</div>
</section><!--//skills-section-->
</div>
</section><!--//skills-section-->

View file

@ -1,6 +1,6 @@
<section class="section summary-section">
<h2 class="section-title"><i class="fa {{ .Site.Params.summary.icon }}"></i>{{ .Site.Params.summary.title }}</h2>
<h2 class="section-title"><i class="fa {{ .Site.Params.summary.icon }}"></i>{{ i18n "summary" }}</h2>
<div class="summary">
<p>{{ with .Site.Params.summary.summary }}{{ . | markdownify }}{{ end }}</p>
</div><!--//summary-->
</section><!--//section-->
</section><!--//section-->

View file

@ -0,0 +1,5 @@
<div class="profile-container">
{{ range .Translations }}
<a class="btn btn-translate" href="{{ .Permalink }}">{{upper .Lang }}</a>
{{ end }}
</div><!--//profile-container-->

View file

@ -1,4 +1,4 @@
/*
/*
* Template Name: Orbit - Responsive Resume/CV Template for Developers
* Version: 1.0
* Author: Xiaoying Riley
@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {
@ -258,6 +258,10 @@ p {
.footer .fa-heart {
color: #fb866a;
}
.btn-translate {
background-color: #2f6a61;
border-color: #4eb1a2;
}
/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {
.sidebar-wrapper {

View file

@ -1,4 +1,4 @@
/*
/*
* Template Name: Orbit - Responsive Resume/CV Template for Developers
* Version: 1.0
* Author: Xiaoying Riley
@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {
@ -258,6 +258,10 @@ p {
.footer .fa-heart {
color: #fb866a;
}
.btn-translate {
background-color: #3c7749;
border-color: #66b277;
}
/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {
.sidebar-wrapper {

View file

@ -1,4 +1,4 @@
/*
/*
* Template Name: Orbit - Responsive Resume/CV Template for Developers
* Version: 1.0
* Author: Xiaoying Riley
@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {
@ -258,6 +258,10 @@ p {
.footer .fa-heart {
color: #fb866a;
}
.btn-translate {
background-color: #65344b;
border-color: #a8577d;
}
/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {
.sidebar-wrapper {

View file

@ -1,4 +1,4 @@
/*
/*
* Template Name: Orbit - Responsive Resume/CV Template for Developers
* Version: 1.0
* Author: Xiaoying Riley
@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {
@ -258,6 +258,10 @@ p {
.footer .fa-heart {
color: #fb866a;
}
.btn-translate {
background-color: #a2662a;
border-color: #d5995d;
}
/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {
.sidebar-wrapper {

View file

@ -1,4 +1,4 @@
/*
/*
* Template Name: Orbit - Responsive Resume/CV Template for Developers
* Version: 1.0
* Author: Xiaoying Riley
@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {
@ -258,6 +258,10 @@ p {
.footer .fa-heart {
color: #fb866a;
}
.btn-translate {
background-color: #27383f;
border-color: #4f6f7d;
}
/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {
.sidebar-wrapper {

View file

@ -1,4 +1,4 @@
/*
/*
* Template Name: Orbit - Responsive Resume/CV Template for Developers
* Version: 1.0
* Author: Xiaoying Riley
@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {
@ -258,6 +258,10 @@ p {
.footer .fa-heart {
color: #fb866a;
}
.btn-translate {
background-color: #276472;
border-color: #41a7be;
}
/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {
.sidebar-wrapper {

View file

@ -131,7 +131,7 @@ p {
font-weight: 500;
margin-bottom: 0px;
}
.sidebar-wrapper .languages-container .lang-desc {
.sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6);
}
.sidebar-wrapper .languages-list {

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}

View file

@ -123,7 +123,7 @@ p {
margin-bottom: 0px;
}
}
.languages-container {
.language-container {
.lang-desc {
color: rgba(256, 256, 256, 0.6);
}