jekyll-localization 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ChangeLog +2 -0
- data/README +5 -3
- data/Rakefile +1 -1
- data/lib/jekyll/localization.rb +74 -34
- data/lib/jekyll/localization/version.rb +1 -1
- metadata +12 -16
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9b67c96366b53e5e2659f7a65ecce74a842f9cd4
|
4
|
+
data.tar.gz: 8ac3645b43c4a10adfb9fb762132c2b4cc4359ea
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 577c1991f8450c879e98822ff38e7060fb55a5e9e23ec2282dd516f1b97a9be2e9c83f251522d561db2326d4287d5e3d82f6ef1add42b4b1ea545cd0131179d6
|
7
|
+
data.tar.gz: fd20283e377b3192b45f5607e63d22463d8e6ac9ef4407b0742094c56d869a740a167e24ee4d70f00b2799746e96491ea48f1d54c9dd1e04ed37b3679d2bc475
|
data/ChangeLog
CHANGED
data/README
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
== VERSION
|
4
4
|
|
5
|
-
This documentation refers to jekyll-localization version 0.1.
|
5
|
+
This documentation refers to jekyll-localization version 0.1.7
|
6
6
|
|
7
7
|
|
8
8
|
== DESCRIPTION
|
@@ -32,14 +32,14 @@ Jekyll::Localization::HUMAN_LANGUAGES accordingly!
|
|
32
32
|
== LINKS
|
33
33
|
|
34
34
|
<b></b>
|
35
|
-
Documentation:: http://
|
35
|
+
Documentation:: http://blackwinter.github.com/jekyll-localization
|
36
36
|
Source code:: http://github.com/blackwinter/jekyll-localization
|
37
37
|
RubyGem:: http://rubygems.org/gems/jekyll-localization
|
38
38
|
|
39
39
|
|
40
40
|
== AUTHORS
|
41
41
|
|
42
|
-
* Jens Wille <mailto:jens.wille@
|
42
|
+
* Jens Wille <mailto:jens.wille@gmail.com>
|
43
43
|
* Arne Eilermann <mailto:eilermann@lavabit.com>
|
44
44
|
|
45
45
|
|
@@ -48,6 +48,8 @@ RubyGem:: http://rubygems.org/gems/jekyll-localization
|
|
48
48
|
Copyright (C) 2010-2012 University of Cologne,
|
49
49
|
Albertus-Magnus-Platz, 50923 Cologne, Germany
|
50
50
|
|
51
|
+
Copyright (C) 2013 Jens Wille
|
52
|
+
|
51
53
|
jekyll-localization is free software: you can redistribute it and/or modify it
|
52
54
|
under the terms of the GNU Affero General Public License as published by the
|
53
55
|
Free Software Foundation, either version 3 of the License, or (at your option)
|
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ begin
|
|
9
9
|
:version => Jekyll::Localization::VERSION,
|
10
10
|
:summary => %q{Jekyll plugin that adds localization features to the rendering engine.},
|
11
11
|
:authors => ['Jens Wille', 'Arne Eilermann'],
|
12
|
-
:email => ['jens.wille@
|
12
|
+
:email => ['jens.wille@gmail.com', 'eilermann@lavabit.com'],
|
13
13
|
:homepage => :blackwinter,
|
14
14
|
:dependencies => %w[jekyll-rendering]
|
15
15
|
}
|
data/lib/jekyll/localization.rb
CHANGED
@@ -10,8 +10,10 @@
|
|
10
10
|
# Albertus-Magnus-Platz, #
|
11
11
|
# 50923 Cologne, Germany #
|
12
12
|
# #
|
13
|
+
# Copyright (C) 2013 Jens Wille #
|
14
|
+
# #
|
13
15
|
# Authors: #
|
14
|
-
# Jens Wille <jens.wille@
|
16
|
+
# Jens Wille <jens.wille@gmail.com> #
|
15
17
|
# #
|
16
18
|
# jekyll-localization is free software; you can redistribute it and/or modify #
|
17
19
|
# it under the terms of the GNU Affero General Public License as published by #
|
@@ -46,39 +48,58 @@ module Jekyll
|
|
46
48
|
'fr' => %w[French Französisch Français]
|
47
49
|
}
|
48
50
|
|
49
|
-
|
50
|
-
|
51
|
-
|
51
|
+
# Path to I18n locale files (*.yml).
|
52
|
+
I18N_LOCALES = ENV['I18N_LOCALES'] || File.join(begin
|
53
|
+
[Gem::Specification.find_by_name('rails-i18n').gem_dir, 'rails']
|
54
|
+
rescue LoadError
|
55
|
+
__FILE__.chomp('.rb')
|
56
|
+
end, 'locale')
|
52
57
|
|
53
|
-
|
54
|
-
|
55
|
-
|
58
|
+
# Cache for I18n locale information.
|
59
|
+
I18N = Hash.new { |h, k|
|
60
|
+
h[k] = YAML.load_file(File.join(I18N_LOCALES, "#{k}.yml"))[k] rescue nil
|
61
|
+
}
|
56
62
|
|
57
|
-
|
58
|
-
'de' => '%-d. %b %Y'
|
59
|
-
)
|
63
|
+
class << self
|
60
64
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
+
private
|
66
|
+
|
67
|
+
def i18n(key) # :nodoc:
|
68
|
+
key = key.split('.')
|
65
69
|
|
66
|
-
|
67
|
-
|
68
|
-
|
70
|
+
Hash.new { |h, k| h[k] = key.inject(I18N[k]) { |i, j|
|
71
|
+
if (v = i[j]).is_a?(Hash) then v else break v end
|
72
|
+
} }
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
TIME_FMT = i18n('time.formats.default').update(
|
78
|
+
'en' => '%a %-d %b %Y %H:%M:%S %p %Z',
|
79
|
+
'de' => '%a %-d %b %Y %H:%M:%S %Z'
|
69
80
|
)
|
70
81
|
|
71
|
-
|
72
|
-
|
73
|
-
|
82
|
+
# For backwards compatibility.
|
83
|
+
DATE_FMT = TIME_FMT
|
84
|
+
|
85
|
+
DATE_FMT_LONG = i18n('date.formats.long').update(
|
86
|
+
'en' => '%-d %B %Y',
|
87
|
+
'de' => '%-d. %B %Y'
|
74
88
|
)
|
75
89
|
|
76
|
-
|
77
|
-
'
|
78
|
-
'
|
90
|
+
DATE_FMT_SHORT = i18n('date.formats.short').update(
|
91
|
+
'en' => '%-d %b %Y',
|
92
|
+
'de' => '%-d. %b %Y'
|
79
93
|
)
|
80
94
|
|
81
|
-
|
95
|
+
MONTHNAMES = i18n('date.month_names')
|
96
|
+
ABBR_MONTHNAMES = i18n('date.abbr_month_names')
|
97
|
+
DAYNAMES = i18n('date.day_names')
|
98
|
+
ABBR_DAYNAMES = i18n('date.abbr_day_names')
|
99
|
+
|
100
|
+
MERIDIAN = Hash.new { |h, k|
|
101
|
+
h[k] = %w[am pm].map { |i| i18n("time.#{i}")[k] }
|
102
|
+
}.update(
|
82
103
|
'en' => %w[AM PM]
|
83
104
|
)
|
84
105
|
|
@@ -229,7 +250,9 @@ module Jekyll
|
|
229
250
|
|
230
251
|
end
|
231
252
|
|
232
|
-
|
253
|
+
parent = const_defined?(:Generators) ? Generators : self
|
254
|
+
|
255
|
+
class parent::Pagination < Generator
|
233
256
|
|
234
257
|
include Helpers
|
235
258
|
|
@@ -277,12 +300,18 @@ module Jekyll
|
|
277
300
|
end
|
278
301
|
|
279
302
|
# call-seq:
|
280
|
-
# t 'default', 'translation', ... => aString (Ruby-style)
|
281
|
-
# 'default' | t: 'translation', ... => aString (Liquid-style)
|
303
|
+
# t 'default', 'translation', ... => aString (Ruby-style with array)
|
304
|
+
# 'default' | t: 'translation', ... => aString (Liquid-style with array)
|
305
|
+
# t 'en' => 'default', 'de' => 'translation', ... => aString (Ruby-style with hash)
|
306
|
+
# { 'en' => 'default', 'de' => 'translation', ... } | t => aString (Liquid-style with hash)
|
282
307
|
#
|
283
|
-
#
|
284
|
-
# language's position in the Localization::LANGUAGES array.
|
285
|
-
# particular argument is missing, +default+ is returned.
|
308
|
+
# If array given, returns the argument whose position corresponds to
|
309
|
+
# the current language's position in the Localization::LANGUAGES array.
|
310
|
+
# If that particular argument is missing, +default+ is returned.
|
311
|
+
#
|
312
|
+
# If hash given, returns the value for the current language. If that
|
313
|
+
# particular value is missing, the value for the default language is
|
314
|
+
# returned.
|
286
315
|
def translate(*translations)
|
287
316
|
translate_lang(lang, *translations)
|
288
317
|
end
|
@@ -292,8 +321,19 @@ module Jekyll
|
|
292
321
|
def translate_lang(lang, *translations)
|
293
322
|
translations.flatten!
|
294
323
|
|
295
|
-
|
296
|
-
|
324
|
+
if translations.last.is_a?(Hash)
|
325
|
+
hash = translations.pop
|
326
|
+
|
327
|
+
if translations.empty?
|
328
|
+
hash[key = lang] || hash[key.to_sym] ||
|
329
|
+
hash[key = Localization::LANGUAGES.first] || hash[key.to_sym]
|
330
|
+
else
|
331
|
+
raise ArgumentError, 'both hash and array given'
|
332
|
+
end
|
333
|
+
else
|
334
|
+
index = Localization::LANGUAGES.index(lang)
|
335
|
+
index && translations[index] || translations.first
|
336
|
+
end
|
297
337
|
end
|
298
338
|
|
299
339
|
alias_method :tl, :translate_lang
|
@@ -317,14 +357,14 @@ module Jekyll
|
|
317
357
|
# which itself unabashedly stole it from Tadayoshi Funaba's Date class
|
318
358
|
res = ''
|
319
359
|
|
320
|
-
fmt.scan(/%[EO]?(.)|(.)/
|
360
|
+
fmt.scan(/%[EO]?(.)|(.)/) { |a, b|
|
321
361
|
res << case a
|
322
362
|
when nil then b
|
323
363
|
when 'A' then Localization::DAYNAMES[lang][date.wday]
|
324
364
|
when 'a' then Localization::ABBR_DAYNAMES[lang][date.wday]
|
325
365
|
when 'B' then Localization::MONTHNAMES[lang][date.month]
|
326
366
|
when 'b' then Localization::ABBR_MONTHNAMES[lang][date.month]
|
327
|
-
when 'c' then local_date_string(date, Localization::
|
367
|
+
when 'c' then local_date_string(date, Localization::TIME_FMT[lang], lang)
|
328
368
|
when 'P' then Localization::MERIDIAN[lang][date.send(:hour) < 12 ? 0 : 1].downcase
|
329
369
|
when 'p' then Localization::MERIDIAN[lang][date.send(:hour) < 12 ? 0 : 1]
|
330
370
|
else '%' << a
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-localization
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.7
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jens Wille
|
@@ -10,27 +9,25 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2013-05-14 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: jekyll-rendering
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - '>='
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - '>='
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '0'
|
31
28
|
description: Jekyll plugin that adds localization features to the rendering engine.
|
32
29
|
email:
|
33
|
-
- jens.wille@
|
30
|
+
- jens.wille@gmail.com
|
34
31
|
- eilermann@lavabit.com
|
35
32
|
executables: []
|
36
33
|
extensions: []
|
@@ -43,10 +40,11 @@ files:
|
|
43
40
|
- lib/jekyll/localization/version.rb
|
44
41
|
- COPYING
|
45
42
|
- ChangeLog
|
46
|
-
- Rakefile
|
47
43
|
- README
|
44
|
+
- Rakefile
|
48
45
|
homepage: http://github.com/blackwinter/jekyll-localization
|
49
46
|
licenses: []
|
47
|
+
metadata: {}
|
50
48
|
post_install_message:
|
51
49
|
rdoc_options:
|
52
50
|
- --charset
|
@@ -54,27 +52,25 @@ rdoc_options:
|
|
54
52
|
- --line-numbers
|
55
53
|
- --all
|
56
54
|
- --title
|
57
|
-
- jekyll-localization Application documentation (v0.1.
|
55
|
+
- jekyll-localization Application documentation (v0.1.7)
|
58
56
|
- --main
|
59
57
|
- README
|
60
58
|
require_paths:
|
61
59
|
- lib
|
62
60
|
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
61
|
requirements:
|
65
|
-
- -
|
62
|
+
- - '>='
|
66
63
|
- !ruby/object:Gem::Version
|
67
64
|
version: '0'
|
68
65
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
66
|
requirements:
|
71
|
-
- -
|
67
|
+
- - '>='
|
72
68
|
- !ruby/object:Gem::Version
|
73
69
|
version: '0'
|
74
70
|
requirements: []
|
75
71
|
rubyforge_project:
|
76
|
-
rubygems_version:
|
72
|
+
rubygems_version: 2.0.3
|
77
73
|
signing_key:
|
78
|
-
specification_version:
|
74
|
+
specification_version: 4
|
79
75
|
summary: Jekyll plugin that adds localization features to the rendering engine.
|
80
76
|
test_files: []
|