wovnrb 3.7.2 → 3.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cc4b57cbbcb73d7c80599b43c3c5cc2cf942bd2488d6d53ed80cbc33810dc32
4
- data.tar.gz: 075a4767449cfa394036400ab377be8659939f59c4229d9192b2042b9eabd65d
3
+ metadata.gz: a0283acd73cab4171aefb1bb183832a0536a2c88fd4c62ac3fef0befee06a2a2
4
+ data.tar.gz: b8eebae5190864b55c02f53c30e166ec955ce08c19fd7866185a7ec50df54c3c
5
5
  SHA512:
6
- metadata.gz: d5952288b10b0d86e39ff6496bccc0a9c5d51ff876d0f41f07fb1b7b33cc9cab0792d2a1f7c97477849f4dedb20cfada495e6498255a987825c478f305e076f8
7
- data.tar.gz: 323f2b3d50b221b67831c43b9a70e2d595bfd3d7a86f4325cbfbdb2fb700ce0cd48da7952f6a5950064d5766de34b743abd1d9f14dc3764677d61a6787a1e113
6
+ metadata.gz: c1b6e6f940f60e059d0b2527108660f43e17d82ca6b57ec7a4f2ec127062482494bc684e7c01bd86453d776dbe53159f19f2984a59a373e3b95920bfd1c78ee0
7
+ data.tar.gz: 9851f866c7df91b312f99790b165407432e6d77f6fa95774cee4016ef3ec35f7e7e0d291396dd20c48a420aaa6771d8196e53641eef53fc3abdd24cb96aa80f8
data/Gemfile CHANGED
@@ -1,2 +1,30 @@
1
1
  source 'https://rubygems.org'
2
2
  gemspec
3
+
4
+ # All gems below are development dependencies
5
+ gem 'bundler', '>= 1.7'
6
+ gem 'guard'
7
+ gem 'guard-rspec'
8
+ gem 'listen', '~> 3.0.6'
9
+ gem 'minitest'
10
+ gem 'mocha'
11
+ gem 'pry'
12
+ gem 'pry-nav'
13
+ gem 'pry-remote'
14
+ gem 'rake', '~> 10.0'
15
+ gem 'rb-readline'
16
+ gem 'shoulda-context'
17
+ gem 'terminal-notifier'
18
+ gem 'test-unit'
19
+ gem 'test-unit-notify'
20
+
21
+ gem 'rake-compiler'
22
+ gem 'rubocop'
23
+ gem 'rubocop-performance'
24
+ gem 'timecop'
25
+
26
+ # NOTE; it need to use webmock 2.3.2 for avoiding error when we use ruby 2.4.x.
27
+ # https://github.com/bblimke/webmock/issues/683
28
+ gem 'public_suffix', '~> 1.4.6'
29
+ gem 'simplecov'
30
+ gem 'webmock', '>= 2.3.2'
data/README.en.md CHANGED
@@ -90,6 +90,7 @@ compress_api_requests | | true
90
90
  api_timeout_seconds | | 1.0
91
91
  api_timeout_search_engine_bots | | 5.0
92
92
  translate_canonical_tag | | true
93
+ custom_domain_langs | | {}
93
94
 
94
95
  ### 2.1. project_token
95
96
 
@@ -123,19 +124,20 @@ Japanese, then you should use the following setting:
123
124
 
124
125
  ### 2.4. url_pattern
125
126
 
126
- The Library works in the Ruby Application by adding new URLs to be translated. You can set the type of url with the `url_pattern` parameter. There are 3 types that can be set.
127
+ The Library works in the Ruby Application by adding new URLs to be translated. You can set the type of url with the `url_pattern` parameter. There are 4 types that can be set.
127
128
 
128
- parameters | Translated page's URL | Notes
129
- ----------- | ------------------------------- | -------
130
- 'path' | https://wovn.io/ja/contact | Default Value. If no settings have been set, url_pattern defaults to this value.
131
- 'subdomain' | https://ja.wovn.io/contact | DNS settings must be set.
132
- 'query' | https://wovn.io/contact?wovn=ja | The least amount of changes to the application required to complete setup.
129
+ parameters | Translated page's URL | Notes
130
+ --------------- | -------------------------------- | -------
131
+ 'path' | https://wovn.io/ja/contact | Default Value. If no settings have been set, url_pattern defaults to this value.
132
+ 'subdomain' | https://ja.wovn.io/contact | DNS settings must be set.
133
+ 'query' | https://wovn.io/contact?wovn=ja | The least amount of changes to the application required to complete setup.
134
+ 'custom_domain' | Depends on `custom_domain_langs` | See [Section 2.15.](#215-custom_domain_langs).
133
135
 
134
136
  ※ The following is an example of a URL that has been translated by the library using the above URLs.
135
137
 
136
138
  https://wovn.io/contact
137
139
 
138
- ### 2.5 lang_param_name
140
+ ### 2.5. lang_param_name
139
141
  This parameter is only valid for when `url_pattern` is set to `'query'`.
140
142
 
141
143
  It allows you to set the query parameter name for declaring the language of the
@@ -169,7 +171,7 @@ This option allows to disable translating partial HTML content. By default,
169
171
  partial HTML content is translated but no widget snippet is added. Set
170
172
  `translate_fragment` to `false` to prevent translating partial HTML content.
171
173
 
172
- ### 2.9 ignore_paths
174
+ ### 2.9. ignore_paths
173
175
 
174
176
  This parameter tells WOVN.rb to not localize content withing given directories.
175
177
 
@@ -180,7 +182,7 @@ For instance, if you want to not localize the admin directory of your website, y
180
182
  'ignore_paths' => ['/admin/']
181
183
  ```
182
184
 
183
- ### 2.10 install_middleware
185
+ ### 2.10. install_middleware
184
186
 
185
187
  When using WOVN.rb in a Rails environment, this parameter controls whether the WOVN.rb middleware will be automatically installed or not.
186
188
 
@@ -201,20 +203,47 @@ WOVN.rb needs to be added after any compression middleware.
201
203
  }
202
204
  ```
203
205
 
204
- ### 2.11 compress_api_requests
206
+ ### 2.11. compress_api_requests
205
207
 
206
208
  By default, requests to the translation API will be sent with gzip compression. Set to false to disable compression.
207
209
 
208
- ### 2.12 api_timeout_seconds
209
- Configures the amount of time in seconds wovnrb will wait for the translation API for a response before the
210
+ ### 2.12. api_timeout_seconds
211
+ Configures the amount of time in seconds wovnrb will wait for the translation API for a response before the
210
212
  request is considered timed-out. This setting defaults to `1.0`.
211
213
 
212
- ### 2.13 api_timeout_search_engine_bots
214
+ ### 2.13. api_timeout_search_engine_bots
213
215
  Similar to `api_timeout_seconds`, this timeout setting is applied when handling requests made by search engine bots.
214
216
  Currently, bots from Google, Yahoo, Bing, Yandex, DuckDuckGo and Baidu are supported. This setting
215
217
  defaults to `5.0`.
216
218
 
217
- ### 2.14 translate_canonical_tag
219
+ ### 2.14. translate_canonical_tag
218
220
  Configures if wovnrb should automatically translate existing canonical tag in the HTML. When set to `true`, wovnrb
219
221
  will translate the canonical URL with the current language code according to your `url_pattern` setting.
220
- This setting defaults to `true`.
222
+ This setting defaults to `true`.
223
+
224
+ ### 2.15. custom_domain_langs
225
+ This parameter is valid and required, when `url_pattern` is `custom_domain`.
226
+ Set `custom_domain_langs` for all languages declared in `supported_langs`.
227
+
228
+ ```ruby
229
+ config.wovnrb = {
230
+ # ...
231
+ :custom_domain_langs => {
232
+ 'en' => { 'url' => 'wovn.io/en' },
233
+ 'ja' => { 'url' => 'ja.wovn.io' },
234
+ 'fr' => { 'url' => 'fr.wovn.co.jp' }
235
+ }
236
+ }
237
+ ```
238
+
239
+ For the example above, all request URLs that match `wovn.io/en/*` will be considered as requests in English language.
240
+ All request URLs other than the above that match `ja.wovn.io/*` will be considered as requests in Japanese langauge.
241
+ And, request URLs that match `fr.wovn.co.jp/*` will be considered as requests in French langauge.
242
+ With the above example configuration, the page `http://ja.wovn.io/about.html` in Japanese language will have the URL `http://wovn.io/en/about.html` as English language.
243
+
244
+ `custom_domain_langs` setting may only be used together with the `url_pattern = custom_domain` setting.
245
+
246
+ If this setting is used, each language declared in `supported_langs` must be given a custom domain.
247
+
248
+ The path declared for your original language must match the structure of the actual web server.
249
+ In other words, you cannot use this setting to change the request path of your content in original language.
data/README.ja.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  For English users: [English](README.en.md)
4
4
 
5
- WOVN.io Rubyライブラリは、翻訳を提供するためにWOVN.ioを利用したライブラリです。
5
+ WOVN.io Rubyライブラリは、翻訳を提供するためにWOVN.ioを利用したライブラリです。
6
6
  WOVN.io Ruby ライブラリは Rack Middleware としてパッケージ化されています。
7
7
 
8
8
  このドキュメントでは、WOVN.io Rubyをインストールするまでの手順や、セットアップ・設定の流れを説明しています。
@@ -11,7 +11,7 @@ WOVN.io Ruby ライブラリは Rack Middleware としてパッケージ化さ
11
11
 
12
12
  ### 1.1. WOVN.ioアカウントを作成
13
13
 
14
- WOVN.io Ruby Libraryを利用するには、WOVN.ioのアカウントが必要です。
14
+ WOVN.io Ruby Libraryを利用するには、WOVN.ioのアカウントが必要です。
15
15
  アカウントをお持ちでない方は、まずはWOVN.ioに登録してください。
16
16
 
17
17
  ### 1.2. ページ追加
@@ -20,7 +20,7 @@ WOVN.ioにログイン後、翻訳したいページを追加します。
20
20
 
21
21
  ### 1.3. Rubyアプリケーションの設定
22
22
 
23
- WOVN.io Ruby ライブラリを使用するには、以下の行を Ruby アプリケーションの Gemfile に挿入します。
23
+ WOVN.io Ruby ライブラリを使用するには、以下の行を Ruby アプリケーションの Gemfile に挿入します。
24
24
  WOVN.ioは現在、バージョン2.0.1以上をサポートしています。
25
25
 
26
26
  ```ruby
@@ -88,6 +88,7 @@ query | | []
88
88
  ignore_class | | []
89
89
  translate_fragment | | true
90
90
  ignore_paths | | []
91
+ custom_domain_langs| | {}
91
92
 
92
93
  ### 2.1. project_token
93
94
 
@@ -97,7 +98,7 @@ WOVN.ioアカウントのプロジェクトトークンを設定します。こ
97
98
 
98
99
  これはRubyアプリケーションのデフォルト言語を設定します。デフォルト値は英語('en')です。
99
100
 
100
- リクエストされたページで、デフォルトの言語パラメータが URL に含まれている場合、リクエストは翻訳前にリダイレクトされます。
101
+ リクエストされたページで、デフォルトの言語パラメータが URL に含まれている場合、リクエストは翻訳前にリダイレクトされます。
101
102
  このために `default_lang` パラメータを使用します。
102
103
 
103
104
  `default_lang` が 'en' に設定されている時に、以下のURLへのリクエストを受信した場合。
@@ -110,7 +111,7 @@ WOVN.ioアカウントのプロジェクトトークンを設定します。こ
110
111
 
111
112
  ### 2.3. supported_langs
112
113
 
113
- これは、ウェブサイトで使用されている言語(翻訳元を含む)をライブラリに伝えます。
114
+ これは、ウェブサイトで使用されている言語(翻訳元を含む)をライブラリに伝えます。
114
115
  この設定では、SEO(検索エンジン最適化)に必要なメタデータを挿入することができます。
115
116
 
116
117
  ウェブサイトが英語で、WOVN.ioを使って日本語にローカライズしている場合は、以下の設定にしてください。
@@ -121,32 +122,33 @@ WOVN.ioアカウントのプロジェクトトークンを設定します。こ
121
122
 
122
123
  ### 2.4. url_pattern
123
124
 
124
- ライブラリはRubyアプリケーションの中で、翻訳されるURLを新たに追加することで動作します。
125
- urlの種類は `url_pattern` パラメータで設定できます。設定できるタイプは3種類。
125
+ ライブラリはRubyアプリケーションの中で、翻訳されるURLを新たに追加することで動作します。
126
+ urlの種類は `url_pattern` パラメータで設定できます。設定できるタイプは4種類。
126
127
 
127
128
 
128
- パラメータ | 翻訳されたページのURL | 備考
129
- ----------- | ------------------------------- | -------
130
- 'path' | https://wovn.io/ja/contact | デフォルト値、何も設定されていない場合、 `url_pattern` のデフォルト値はこの値になります
131
- 'subdomain' | https://ja.wovn.io/contact | DNSの設定が必要です
132
- 'query' | https://wovn.io/contact?wovn=ja | セットアップを完了するために必要なアプリケーションへの変更の最小量
129
+ パラメータ | 翻訳されたページのURL | 備考
130
+ --------------- | ------------------------------- | -------
131
+ 'path' | https://wovn.io/ja/contact | デフォルト値、何も設定されていない場合、 `url_pattern` のデフォルト値はこの値になります
132
+ 'subdomain' | https://ja.wovn.io/contact | DNSの設定が必要です
133
+ 'query' | https://wovn.io/contact?wovn=ja | セットアップを完了するために必要なアプリケーションへの変更の最小量
134
+ 'custom_domain' | `custom_domain_langs`に設定された値 | [2.10.項](#210-custom_domain_langs)を参照してください。
133
135
 
134
136
  ※ 上記は、以下のURLを使用してライブラリが翻訳したURLの例です。
135
137
 
136
138
  https://wovn.io/contact
137
139
 
138
- ### 2.5 lang_param_name
140
+ ### 2.5. lang_param_name
139
141
 
140
142
  このパラメータは `url_pattern` が `query` に設定されている場合のみ有効です。
141
143
 
142
144
  ページの言語を指定するためのクエリパラメータ名を設定することができます。
143
145
 
144
- この設定のデフォルト値は `wovn` であり、翻訳された英語のページのURLが `https://my-website.com/index.php?wovn=en` という形式になります。
146
+ この設定のデフォルト値は `wovn` であり、翻訳された英語のページのURLが `https://my-website.com/index.php?wovn=en` という形式になります。
145
147
  代わりに `lang` に値を設定すると、URLの例は `https://my-website.com/index.php?lang=en` という形式になります。
146
148
 
147
149
  ### 2.6. query
148
150
 
149
- WOVN.ioは翻訳されたページを検索する際にクエリパラメータを無視します。
151
+ WOVN.ioは翻訳されたページを検索する際にクエリパラメータを無視します。
150
152
  翻訳ページのURLにクエリパラメータを追加したい場合は、`query` パラメータを設定する必要があります。(WOVN.ioも設定する必要があります)
151
153
 
152
154
  https://wovn.io/ja/contact?os=mac&keyboard=us
@@ -165,16 +167,45 @@ WOVN.ioは翻訳されたページを検索する際にクエリパラメータ
165
167
 
166
168
  ### 2.8. translate_fragment
167
169
 
168
- このオプションでは、部分的なHTMLコンテンツの翻訳を無効にすることができます。
169
- デフォルトでは、部分的なHTMLコンテンツは翻訳されますが、ウィジェットのスニペットは追加されません。
170
+ このオプションでは、部分的なHTMLコンテンツの翻訳を無効にすることができます。
171
+ デフォルトでは、部分的なHTMLコンテンツは翻訳されますが、ウィジェットのスニペットは追加されません。
170
172
  `translate_fragment` を `false` に設定すると、HTMLの一部が翻訳されないようになります。
171
173
 
172
- ### 2.9 ignore_paths
174
+ ### 2.9. ignore_paths
173
175
 
174
- このパラメータは、WOVN.rbが指定されたディレクトリ内のコンテンツをローカライズしないように指示します。
175
- 指定されたディレクトリは、URLパスの先頭にのみマッチします。
176
+ このパラメータは、WOVN.rbが指定されたディレクトリ内のコンテンツをローカライズしないように指示します。
177
+ 指定されたディレクトリは、URLパスの先頭にのみマッチします。
176
178
  例えば、ウェブサイトの管理者ディレクトリをローカライズしたくない場合は、WOVN.rbの設定に次のように追加します。
177
179
 
178
180
  ```
179
181
  'ignore_paths' => ['/admin/']
180
182
  ```
183
+
184
+ ### 2.10. custom_domain_langs
185
+
186
+ このパラメータは、カスタムドメイン言語パターンの場合(`url_pattern = custom_domain` が設定されている場合)のみ有効です。
187
+ カスタムドメイン言語パターン使用時は必須パラメータです。
188
+ `supported_langs` で設定した全ての言語と元言語に、必ず `custom_domain_langs` を設定してください。
189
+
190
+ ```ruby
191
+ config.wovnrb = {
192
+ # ...
193
+ :custom_domain_langs => {
194
+ 'en' => { 'url' => 'wovn.io/en' },
195
+ 'ja' => { 'url' => 'ja.wovn.io' },
196
+ 'fr' => { 'url' => 'fr.wovn.co.jp' }
197
+ }
198
+ }
199
+ ```
200
+
201
+ 上記の例では、 `wovn.io/en/*` にマッチするリクエストは英語のリクエストとして扱われます。
202
+ それ以外の `ja.wovn.io/*` にマッチするリクエストは日本語のリクエストとして扱われます。
203
+ また、 `fr.wovn.co.jp/*` にマッチするリクエストはフランス語のリクエストとして扱われます。
204
+ 例えば、`http://ja.wovn.io/about.html` の日本語ページは、`http://wovn.io/en/about.html` という英語ページのURLを持つことになります。
205
+
206
+ 必ず `url_pattern = custom_domain`と`custom_domain_langs` は一緒に使用してください。
207
+
208
+ `supported_langs` で宣言された各言語に `custom_domain_langs` を与えなければなりません。
209
+
210
+ オリジナル言語のために宣言されたパスは、実際のウェブサーバーの構造と一致していなければなりません。
211
+ この設定を使用して、オリジナル言語のリクエストパスを変更することはできません。
data/README.md CHANGED
@@ -1 +1 @@
1
- ./README.ja.md
1
+ README.ja.md