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; font-weight: 500;
margin-bottom: 0px; margin-bottom: 0px;
} }
.sidebar-wrapper .languages-container .lang-desc { .sidebar-wrapper .language-container .lang-desc {
color: rgba(255, 255, 255, 0.6); color: rgba(255, 255, 255, 0.6);
} }
.sidebar-wrapper .languages-list { .sidebar-wrapper .languages-list {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

@ -35,4 +35,3 @@
{{ partial "scripts.html" . }} {{ partial "scripts.html" . }}
</body> </body>
</html> </html>

View file

@ -1,5 +1,5 @@
<div class="education-container container-block"> <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 }} {{ range .Site.Params.education.list }}
<div class="item"> <div class="item">
<h4 class="degree">{{ .degree }}</h4> <h4 class="degree">{{ .degree }}</h4>

View file

@ -1,5 +1,5 @@
<section class="section experiences-section"> <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 }} {{ range .Site.Params.jobs.list }}
<div class="item"> <div class="item">

View file

@ -1,10 +1,10 @@
<title>{{ .Site.Title }}</title> <title>{{ .Site.Params.title }}</title>
<!-- Meta --> <!-- Meta -->
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{{ with .Site.Params.description }}{{ . }}{{ end }}"> <meta name="description" content="{{ .Site.Params.description }}">
<meta name="author" content="{{ with .Site.Params.author }}{{ . }}{{ end }}"> <meta name="author" content="{{ .Site.Params.author }}">
<link rel="shortcut icon" href="favicon.ico"> <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'> <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 --> <!-- Global CSS -->

View file

@ -1,5 +1,5 @@
<div class="interests-container container-block"> <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"> <ul class="list-unstyled interests-list">
{{ range .Site.Params.interests.list }} {{ range .Site.Params.interests.list }}
<li>{{ .interest }}</li> <li>{{ .interest }}</li>

View file

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

@ -1,5 +1,5 @@
<section class="section projects-section"> <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"> <div class="intro">
<p>{{ with .Site.Params.projects.intro }}{{ . | markdownify }}{{ end }}</p> <p>{{ with .Site.Params.projects.intro }}{{ . | markdownify }}{{ end }}</p>
</div><!--//intro--> </div><!--//intro-->

View file

@ -2,6 +2,10 @@
{{ partial "profile.html" . }} {{ partial "profile.html" . }}
{{ if .IsTranslated }}
{{ partial "translate.html" . }}
{{ end }}
{{ if .Site.Params.contact.enable }} {{ if .Site.Params.contact.enable }}
{{ partial "contact.html" . }} {{ partial "contact.html" . }}
{{ end }} {{ end }}
@ -10,8 +14,8 @@
{{ partial "education.html" . }} {{ partial "education.html" . }}
{{ end }} {{ end }}
{{ if .Site.Params.languages.enable }} {{ if .Site.Params.language.enable }}
{{ partial "languages.html" . }} {{ partial "language.html" . }}
{{ end }} {{ end }}
{{ if .Site.Params.interests.enable }} {{ if .Site.Params.interests.enable }}

View file

@ -1,5 +1,5 @@
<section class="skills-section section"> <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"> <div class="skillset">
{{ range .Site.Params.skills.list }} {{ range .Site.Params.skills.list }}
<div class="item"> <div class="item">

View file

@ -1,5 +1,5 @@
<section class="section summary-section"> <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"> <div class="summary">
<p>{{ with .Site.Params.summary.summary }}{{ . | markdownify }}{{ end }}</p> <p>{{ with .Site.Params.summary.summary }}{{ . | markdownify }}{{ end }}</p>
</div><!--//summary--> </div><!--//summary-->

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

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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