jekyll-locales 0.3.0rc1 → 0.3.0rc2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e77ee2e8ebbf1cf1254942a20e6ba6549003510b0a5d40b9fd9ff34a939dde8
4
- data.tar.gz: 7316977692b7242ec7fbfa0373590f405f9194ade2e39d61524ae4a720731f79
3
+ metadata.gz: 4f070d48205919668af087050035f6b31f84ab19a98cc4d05ed76b64ca979631
4
+ data.tar.gz: be3496f7b5ed7d16e7054f3edc2f0272aec6579e8a2d363d736514e8694c80d7
5
5
  SHA512:
6
- metadata.gz: ba762364885dbaa5645c3d28b8dccb346bc0c9ffb04d137aa1761147234b7cb04087f9c3795fd2021df7ed96ead359a3ca3ca81be7524468b9f2d5229c64bcbe
7
- data.tar.gz: a71d8ef45f36093cdddc064340ce21cc5e5ce0f0c920a80ad51d0b669a12657ad8401431519615f00bc8029c4d694e1de350751f6b4c7f7a9e0f21285f719d79
6
+ metadata.gz: bf6c153118dc7a27aa5f60c5ca5aa8a4391797118eeccca427a055fa964ea8077c8c14f0bf5f7ef09dedd62b787a0b6be4173eb09c9b78a610a13f881ec3e642
7
+ data.tar.gz: c853ad53b2621f71031b569a9ea6931c5fe326fa0b7602a51fc3a546d5fc3146532e3e447528f116a50cfcfcb7cc583a8031e6e1b67003d5efc3ec67023805ef
checksums.yaml.gz.sig CHANGED
Binary file
data/README.md CHANGED
@@ -34,6 +34,7 @@ locales:
34
34
  - ahr
35
35
  - brasileiro
36
36
  redirect: true
37
+ fallback_locale: true
37
38
  ```
38
39
 
39
40
  **The first locale is going to be your default locale**. If you use
@@ -41,6 +42,19 @@ a redirector.html, it will be the locale it will redirector to. If you
41
42
  don't use a redirector, the default locale will be at the root of the
42
43
  site.
43
44
 
45
+ #### Fallback locales
46
+
47
+ If you don't want build errors or missing messages on your theme for
48
+ missing locales, you can setup fallbacks in any of these ways:
49
+
50
+ ```yaml
51
+ fallback_locale: true # defaults to first locale
52
+ fallback_locale: en # defaults to first en
53
+ fallback_locale: # maps locales to existing options
54
+ fr: en
55
+ pt: es
56
+ ```
57
+
44
58
  ## Posts
45
59
 
46
60
  Put your posts into directories named after the locales, prefixed by an
@@ -75,6 +75,22 @@ module Jekyll
75
75
  default_locale == locale
76
76
  end
77
77
 
78
+ # There's always a fallback!
79
+ #
80
+ # @return [String]
81
+ def fallback_locale
82
+ @fallback_locale ||= {}
83
+ @fallback_locale[locale] ||=
84
+ case config['fallback_locale']
85
+ when TrueClass, FalseClass, NilClass then default_locale
86
+ when Hash then config['fallback_locale'][locale]
87
+ when String then config['fallback_locale']
88
+ else
89
+ Jekyll.logger.warn 'Locales:', "Configuration `fallback_locale` is #{config['fallback_locale'].class}, it should be boolean, Hash or String"
90
+ nil
91
+ end || default_locale
92
+ end
93
+
78
94
  private
79
95
 
80
96
  # Redefine #render_docs so it doesn't render the locale collections
@@ -7,7 +7,13 @@ module Jekyll
7
7
  # Make i18n available to Liquid as site.i18n
8
8
  class SiteDrop
9
9
  def i18n
10
- @i18n ||= @obj.data[@obj.config['lang']]
10
+ @i18n ||=
11
+ if @obj.data.key?(@obj.config['lang'])
12
+ @obj.data[@obj.config['lang']]
13
+ else
14
+ Jekyll.logger.warn 'Locales:', "Using #{@obj.fallback_locale} as fallback of #{@obj.config['lang']}"
15
+ @obj.data[@obj.fallback_locale]
16
+ end
11
17
  end
12
18
  end
13
19
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module Locales
5
- VERSION = '0.3.0rc1'
5
+ VERSION = '0.3.0rc2'
6
6
  end
7
7
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-locales
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0rc1
4
+ version: 0.3.0rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - f
@@ -35,7 +35,7 @@ cert_chain:
35
35
  cpurTQHNJfL/ah+9dYbgDXdG5HAAjRMAsWSvERw95YdN9XzQZCdUk5wUs+A6cNtO
36
36
  AZZUMTVYNx8JqUeemxlXBRjsD/s=
37
37
  -----END CERTIFICATE-----
38
- date: 2025-03-19 00:00:00.000000000 Z
38
+ date: 2025-06-27 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: bundler
metadata.gz.sig CHANGED
Binary file