creative_commons_rails 0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +20 -0
- data/README.md +41 -0
- data/Rakefile +2 -0
- data/config/license_list.yaml +2125 -0
- data/config/locales/cc_license_jurisdictions.yml +1501 -0
- data/config/locales/cc_license_notices.yml +252 -0
- data/creative_commons_rails.gemspec +26 -0
- data/lib/creative_commons_rails.rb +7 -0
- data/lib/creative_commons_rails/action_view_helpers.rb +35 -0
- data/lib/creative_commons_rails/license_info.rb +49 -0
- data/lib/creative_commons_rails/railtie.rb +14 -0
- data/lib/creative_commons_rails/version.rb +3 -0
- data/lib/tasks/retrieve_data.rake +122 -0
- metadata +129 -0
@@ -0,0 +1,252 @@
|
|
1
|
+
---
|
2
|
+
es:
|
3
|
+
license_notice: Este obra está bajo una %{license_title}.
|
4
|
+
license_title: Licencia Creative Commons %{license_type}
|
5
|
+
license_type_by: Atribución %{version} %{jurisdiction}
|
6
|
+
license_type_by_sa: Atribución-CompartirIgual %{version} %{jurisdiction}
|
7
|
+
license_type_by_nd: Atribución-SinDerivadas %{version} %{jurisdiction}
|
8
|
+
license_type_by_nc: Atribución-NoComercial %{version} %{jurisdiction}
|
9
|
+
license_type_by_nc_sa: Atribución-NoComercial-CompartirIgual %{version} %{jurisdiction}
|
10
|
+
license_type_by_nc_nd: Atribución-NoComercial-SinDerivadas %{version} %{jurisdiction}
|
11
|
+
es_ES:
|
12
|
+
license_notice: Este obra está bajo una %{license_title}.
|
13
|
+
license_title: licencia de Creative Commons %{license_type}
|
14
|
+
license_type_by: Reconocimiento %{version} %{jurisdiction}
|
15
|
+
license_type_by_sa: Reconocimiento-CompartirIgual %{version} %{jurisdiction}
|
16
|
+
license_type_by_nd: Reconocimiento-SinObraDerivada %{version} %{jurisdiction}
|
17
|
+
license_type_by_nc: Reconocimiento-NoComercial %{version} %{jurisdiction}
|
18
|
+
license_type_by_nc_sa: Reconocimiento-NoComercial-CompartirIgual %{version} %{jurisdiction}
|
19
|
+
license_type_by_nc_nd: Reconocimiento-NoComercial-SinObraDerivada %{version} %{jurisdiction}
|
20
|
+
ca:
|
21
|
+
license_notice: Aquesta obra està subjecta a una llicència de %{license_title}
|
22
|
+
license_title: ! '%{license_type} de Creative Commons'
|
23
|
+
license_type_by: Reconeixement %{version} %{jurisdiction}
|
24
|
+
license_type_by_sa: Reconeixement-CompartirIgual %{version} %{jurisdiction}
|
25
|
+
license_type_by_nd: Reconeixement-SenseObraDerivada %{version} %{jurisdiction}
|
26
|
+
license_type_by_nc: Reconeixement-NoComercial %{version} %{jurisdiction}
|
27
|
+
license_type_by_nc_sa: Reconeixement-NoComercial-CompartirIgual %{version} %{jurisdiction}
|
28
|
+
license_type_by_nc_nd: Reconeixement-NoComercial-SenseObraDerivada %{version} %{jurisdiction}
|
29
|
+
de:
|
30
|
+
license_notice: Dieses Werk bzw. Inhalt steht unter einer %{license_title}.
|
31
|
+
license_title: Creative Commons %{license_type} Lizenz
|
32
|
+
license_type_by: Namensnennung %{version} %{jurisdiction}
|
33
|
+
license_type_by_sa: Namensnennung - Weitergabe unter gleichen Bedingungen %{version}
|
34
|
+
%{jurisdiction}
|
35
|
+
license_type_by_nd: Namensnennung-Keine Bearbeitung %{version} %{jurisdiction}
|
36
|
+
license_type_by_nc: Namensnennung-Nicht-kommerziell %{version} %{jurisdiction}
|
37
|
+
license_type_by_nc_sa: Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen
|
38
|
+
Bedingungen %{version} %{jurisdiction}
|
39
|
+
license_type_by_nc_nd: Namensnennung-NichtKommerziell-KeineBearbeitung %{version}
|
40
|
+
%{jurisdiction}
|
41
|
+
en:
|
42
|
+
license_notice: This work is licensed under a %{license_title}.
|
43
|
+
license_title: Creative Commons %{license_type} License
|
44
|
+
license_type_by: Attribution %{version} %{jurisdiction}
|
45
|
+
license_type_by_sa: Attribution-ShareAlike %{version} %{jurisdiction}
|
46
|
+
license_type_by_nd: Attribution-NoDerivs %{version} %{jurisdiction}
|
47
|
+
license_type_by_nc: Attribution-NonCommercial %{version} %{jurisdiction}
|
48
|
+
license_type_by_nc_sa: Attribution-NonCommercial-ShareAlike %{version} %{jurisdiction}
|
49
|
+
license_type_by_nc_nd: Attribution-NonCommercial-NoDerivs %{version} %{jurisdiction}
|
50
|
+
eo:
|
51
|
+
license_notice: Ĉi tiu verko estas disponebla laŭ la permesilo %{license_title}.
|
52
|
+
license_title: Krea Komunaĵo %{license_type}
|
53
|
+
license_type_by: Atribuite %{version} %{jurisdiction}
|
54
|
+
license_type_by_sa: Atribuite-Samkondiĉe %{version} %{jurisdiction}
|
55
|
+
license_type_by_nd: Atribuite-Nemodifite %{version} %{jurisdiction}
|
56
|
+
license_type_by_nc: Atribuite-Nekomerce %{version} %{jurisdiction}
|
57
|
+
license_type_by_nc_sa: Atribuite-Nekomerce-Samkondiĉe %{version} %{jurisdiction}
|
58
|
+
license_type_by_nc_nd: Atribuite-Nekomerce-Nemodifite %{version} %{jurisdiction}
|
59
|
+
fr:
|
60
|
+
license_notice: Ce(tte) œuvre est mise à disposition selon les termes de la %{license_title}.
|
61
|
+
license_title: Licence Creative Commons %{license_type}
|
62
|
+
license_type_by: Attribution %{version} %{jurisdiction}
|
63
|
+
license_type_by_sa: Attribution - Partage dans les Mêmes Conditions %{version}
|
64
|
+
%{jurisdiction}
|
65
|
+
license_type_by_nd: Attribution - Pas de Modification %{version} %{jurisdiction}
|
66
|
+
license_type_by_nc: Attribution - Pas d’Utilisation Commerciale %{version} %{jurisdiction}
|
67
|
+
license_type_by_nc_sa: Attribution - Pas d’Utilisation Commerciale - Partage dans
|
68
|
+
les Mêmes Conditions %{version} %{jurisdiction}
|
69
|
+
license_type_by_nc_nd: Attribution - Pas d’Utilisation Commerciale - Pas de Modification
|
70
|
+
%{version} %{jurisdiction}
|
71
|
+
hr:
|
72
|
+
license_notice: Ovo djelo je dano na korištenje pod licencom %{license_title}.
|
73
|
+
license_title: Creative Commons %{license_type}
|
74
|
+
license_type_by: Imenovanje %{version} %{jurisdiction}
|
75
|
+
license_type_by_sa: Imenovanje-Dijeli pod istim uvjetima %{version} %{jurisdiction}
|
76
|
+
license_type_by_nd: Imenovanje-Bez prerada %{version} %{jurisdiction}
|
77
|
+
license_type_by_nc: Imenovanje-Nekomercijalno %{version} %{jurisdiction}
|
78
|
+
license_type_by_nc_sa: Imenovanje-Nekomercijalno-Dijeli pod istim uvjetima %{version}
|
79
|
+
%{jurisdiction}
|
80
|
+
license_type_by_nc_nd: Imenovanje-Nekomercijalno-Bez prerada %{version} %{jurisdiction}
|
81
|
+
id:
|
82
|
+
license_notice: ciptaan disebarluaskan di bawah %{license_title}.
|
83
|
+
license_title: Lisensi Creative Commons %{license_type}
|
84
|
+
license_type_by: Atribusi %{version} %{jurisdiction}
|
85
|
+
license_type_by_sa: Atribusi-BerbagiSerupa %{version} %{jurisdiction}
|
86
|
+
license_type_by_nd: Atribusi-TanpaTurunan %{version} %{jurisdiction}
|
87
|
+
license_type_by_nc: Attribusi-NonKomersial %{version} %{jurisdiction}
|
88
|
+
license_type_by_nc_sa: Atribusi-NonKomersial-BerbagiSerupa %{version} %{jurisdiction}
|
89
|
+
license_type_by_nc_nd: Atribusi-NonKomersial-TanpaTurunan %{version} %{jurisdiction}
|
90
|
+
it:
|
91
|
+
license_notice: Quest'opera è distribuita con Licenza %{license_title}.
|
92
|
+
license_title: Creative Commons %{license_type}
|
93
|
+
license_type_by: Attribuzione %{version} %{jurisdiction}
|
94
|
+
license_type_by_sa: Attribuzione - Condividi allo stesso modo %{version} %{jurisdiction}
|
95
|
+
license_type_by_nd: Attribuzione - Non opere derivate %{version} %{jurisdiction}
|
96
|
+
license_type_by_nc: Attribuzione - Non commerciale %{version} %{jurisdiction}
|
97
|
+
license_type_by_nc_sa: Attribuzione - Non commerciale - Condividi allo stesso modo
|
98
|
+
%{version} %{jurisdiction}
|
99
|
+
license_type_by_nc_nd: Attribuzione - Non commerciale - Non opere derivate %{version}
|
100
|
+
%{jurisdiction}
|
101
|
+
hu:
|
102
|
+
license_notice: Ez a Mű a %{license_title}.
|
103
|
+
license_title: Creative Commons %{license_type} Licenc feltételeinek megfelelően
|
104
|
+
szabadon felhasználható
|
105
|
+
license_type_by: Nevezd meg! %{version} %{jurisdiction}
|
106
|
+
license_type_by_sa: Nevezd meg! - Így add tovább! %{version} %{jurisdiction}
|
107
|
+
license_type_by_nd: Nevezd meg! - Ne változtasd! %{version} %{jurisdiction}
|
108
|
+
license_type_by_nc: Nevezd meg! - Ne add el! %{version} %{jurisdiction}
|
109
|
+
license_type_by_nc_sa: Nevezd meg! - Ne add el! - Így add tovább! %{version} %{jurisdiction}
|
110
|
+
license_type_by_nc_nd: Nevezd meg! - Ne add el! - Ne változtasd! %{version} %{jurisdiction}
|
111
|
+
nl:
|
112
|
+
license_notice: Dit werk is gelicenseerd onder een %{license_title}
|
113
|
+
license_title: Creative Commons %{license_type} licentie
|
114
|
+
license_type_by: Naamsvermelding %{version} %{jurisdiction}
|
115
|
+
license_type_by_sa: Naamsvermelding-GelijkDelen %{version} %{jurisdiction}
|
116
|
+
license_type_by_nd: Naamsvermelding-GeenAfgeleideWerken %{version} %{jurisdiction}
|
117
|
+
license_type_by_nc: Naamsvermelding-NietCommercieel %{version} %{jurisdiction}
|
118
|
+
license_type_by_nc_sa: Naamsvermelding-NietCommercieel-GelijkDelen %{version} %{jurisdiction}
|
119
|
+
license_type_by_nc_nd: Naamsvermelding-NietCommercieel-GeenAfgeleideWerken %{version}
|
120
|
+
%{jurisdiction}
|
121
|
+
"no":
|
122
|
+
license_notice: Dette verk er lisensieret under en %{license_title}.
|
123
|
+
license_title: Creative Commons %{license_type} lisens
|
124
|
+
license_type_by: Navngivelse %{version} %{jurisdiction}
|
125
|
+
license_type_by_sa: Navngivelse-DelPåSammeVilkår %{version} %{jurisdiction}
|
126
|
+
license_type_by_nd: Navngivelse-IngenBearbeidelse %{version} %{jurisdiction}
|
127
|
+
license_type_by_nc: Navngivelse-Ikkekommersiell %{version} %{jurisdiction}
|
128
|
+
license_type_by_nc_sa: Navngivelse-Ikkekommersiell-DelPåSammeVilkår %{version}
|
129
|
+
%{jurisdiction}
|
130
|
+
license_type_by_nc_nd: Navngivelse-Ikkekommersiell-IngenBearbeidelse %{version}
|
131
|
+
%{jurisdiction}
|
132
|
+
pl:
|
133
|
+
license_notice: Ten utwór jest dostępny na %{license_title}.
|
134
|
+
license_title: licencji Creative Commons %{license_type}
|
135
|
+
license_type_by: Uznanie autorstwa %{version} %{jurisdiction}
|
136
|
+
license_type_by_sa: Uznanie autorstwa-Na tych samych warunkach %{version} %{jurisdiction}
|
137
|
+
license_type_by_nd: Uznanie autorstwa-Bez utworów zależnych %{version} %{jurisdiction}
|
138
|
+
license_type_by_nc: Uznanie autorstwa-Użycie niekomercyjne %{version} %{jurisdiction}
|
139
|
+
license_type_by_nc_sa: Uznanie autorstwa-Użycie niekomercyjne-Na tych samych warunkach
|
140
|
+
%{version} %{jurisdiction}
|
141
|
+
license_type_by_nc_nd: Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych
|
142
|
+
%{version} %{jurisdiction}
|
143
|
+
pt:
|
144
|
+
license_notice: Este trabalho foi licenciado com uma Licença %{license_title}.
|
145
|
+
license_title: Creative Commons - %{license_type}
|
146
|
+
license_type_by: Atribuição %{version} %{jurisdiction}
|
147
|
+
license_type_by_sa: Atribuição-CompartilhaIgual %{version} %{jurisdiction}
|
148
|
+
license_type_by_nd: Atribuição-SemDerivados %{version} %{jurisdiction}
|
149
|
+
license_type_by_nc: Atribuição-NãoComercial %{version} %{jurisdiction}
|
150
|
+
license_type_by_nc_sa: Atribuição-NãoComercial-CompartilhaIgual %{version} %{jurisdiction}
|
151
|
+
license_type_by_nc_nd: Atribuição-NãoComercial-SemDerivados %{version} %{jurisdiction}
|
152
|
+
pt_BR:
|
153
|
+
license_notice: Este obra foi licenciado sob uma Licença %{license_title}.
|
154
|
+
license_title: Creative Commons %{license_type}
|
155
|
+
license_type_by: Atribuição %{version} %{jurisdiction}
|
156
|
+
license_type_by_sa: Atribuição-CompartilhaIgual %{version} %{jurisdiction}
|
157
|
+
license_type_by_nd: Atribuição-SemDerivados %{version} %{jurisdiction}
|
158
|
+
license_type_by_nc: Atribuição-NãoComercial %{version} %{jurisdiction}
|
159
|
+
license_type_by_nc_sa: Atribuição-NãoComercial-CompartilhaIgual %{version} %{jurisdiction}
|
160
|
+
license_type_by_nc_nd: Atribuição-NãoComercial-SemDerivados %{version} %{jurisdiction}
|
161
|
+
fi:
|
162
|
+
license_notice: Tämän teos teoksen käyttöoikeutta koskee %{license_title}.
|
163
|
+
license_title: Creative Commons %{license_type} -lisenssi
|
164
|
+
license_type_by: Nimeä %{version} %{jurisdiction}
|
165
|
+
license_type_by_sa: Nimeä-JaaSamoin %{version} %{jurisdiction}
|
166
|
+
license_type_by_nd: Nimeä-Ei muutoksia %{version} %{jurisdiction}
|
167
|
+
license_type_by_nc: Nimeä-Epäkaupallinen %{version} %{jurisdiction}
|
168
|
+
license_type_by_nc_sa: Nimeä-Epäkaupallinen-JaaSamoin %{version} %{jurisdiction}
|
169
|
+
license_type_by_nc_nd: Nimeä-Ei muutoksia-Epäkaupallinen %{version} %{jurisdiction}
|
170
|
+
sv:
|
171
|
+
license_notice: Detta verk är licensierat under en %{license_title}.
|
172
|
+
license_title: Creative Commons %{license_type} Licens
|
173
|
+
license_type_by: Erkännande %{version} %{jurisdiction}
|
174
|
+
license_type_by_sa: Erkännande-DelaLika %{version} %{jurisdiction}
|
175
|
+
license_type_by_nd: Erkännande-IngaBearbetningar %{version} %{jurisdiction}
|
176
|
+
license_type_by_nc: Erkännande-IckeKommersiell %{version} %{jurisdiction}
|
177
|
+
license_type_by_nc_sa: Erkännande-IckeKommersiell-DelaLika %{version} %{jurisdiction}
|
178
|
+
license_type_by_nc_nd: Erkännande-Ickekommersiell-IngaBearbetningar %{version}
|
179
|
+
%{jurisdiction}
|
180
|
+
is:
|
181
|
+
license_notice: Þetta verk er gefið út með %{license_title}.
|
182
|
+
license_title: Creative Commons %{license_type} afnotaleyfi
|
183
|
+
license_type_by: Vísun til höfundar %{version} %{jurisdiction}
|
184
|
+
license_type_by_sa: Tilvísun-DeilaEins %{version} %{jurisdiction}
|
185
|
+
license_type_by_nd: Tilvísun-EnginAfleidd %{version} %{jurisdiction}
|
186
|
+
license_type_by_nc: Tilvísun-EkkiÁgóðaskyni %{version} %{jurisdiction}
|
187
|
+
license_type_by_nc_sa: Tilvísun-EkkiÁgóðaskyni-DeilaEins %{version} %{jurisdiction}
|
188
|
+
license_type_by_nc_nd: Tilvísun-EkkiÁgóðaskyni-EnginAfleidd %{version} %{jurisdiction}
|
189
|
+
el:
|
190
|
+
license_notice: Αυτό το εργασία χορηγείται με άδεια %{license_title}.
|
191
|
+
license_title: ! 'Creative Commons %{license_type} '
|
192
|
+
license_type_by: Αναφορά Δημιουργού %{version} %{jurisdiction}
|
193
|
+
license_type_by_sa: Αναφορά Δημιουργού - Παρόμοια Διανομή %{version} %{jurisdiction}
|
194
|
+
license_type_by_nd: Αναφορά Δημιουργού-Όχι Παράγωγα Έργα %{version} %{jurisdiction}
|
195
|
+
license_type_by_nc: Αναφορά Δημιουργού-Μη Εμπορική Χρήση %{version} %{jurisdiction}
|
196
|
+
license_type_by_nc_sa: Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή
|
197
|
+
%{version} %{jurisdiction}
|
198
|
+
license_type_by_nc_nd: Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα %{version}
|
199
|
+
%{jurisdiction}
|
200
|
+
ru:
|
201
|
+
license_notice: Это произведение доступно по %{license_title}.
|
202
|
+
license_title: лицензии Creative Commons %{license_type}
|
203
|
+
license_type_by: «Attribution» («Атрибуция») %{version} %{jurisdiction}
|
204
|
+
license_type_by_sa: «Attribution-ShareAlike» («Атрибуция — На тех же условиях»)
|
205
|
+
%{version} %{jurisdiction}
|
206
|
+
license_type_by_nd: «Attribution-NoDerivs» («Атрибуция — Без производных произведений»)
|
207
|
+
%{version} %{jurisdiction}
|
208
|
+
license_type_by_nc: «Attribution-NonCommercial» («Атрибуция — Некоммерческое использование»)
|
209
|
+
%{version} %{jurisdiction}
|
210
|
+
license_type_by_nc_sa: «Attribution-NonCommercial-ShareAlike» («Атрибуция — Некоммерческое
|
211
|
+
использование — На тех же условиях») %{version} %{jurisdiction}
|
212
|
+
license_type_by_nc_nd: «Attribution-NonCommercial-NoDerivs» («Атрибуция — Некоммерческое
|
213
|
+
использование — Без производных произведений») %{version} %{jurisdiction}
|
214
|
+
uk:
|
215
|
+
license_notice: Цей твір ліцензовано за %{license_title}.
|
216
|
+
license_title: ліцензією Creative Commons %{license_type}
|
217
|
+
license_type_by: Із зазначенням авторства %{version} %{jurisdiction}
|
218
|
+
license_type_by_sa: Із зазначенням автора - Розповсюдження на тих самих умовах
|
219
|
+
%{version} %{jurisdiction}
|
220
|
+
license_type_by_nd: Із зазначенням авторства - Без похідних творів %{version} %{jurisdiction}
|
221
|
+
license_type_by_nc: Із зазначенням авторства - Некомерційна %{version} %{jurisdiction}
|
222
|
+
license_type_by_nc_sa: Із зазначенням авторства - Некомерційна - Розповсюдження
|
223
|
+
на тих самих умовах %{version} %{jurisdiction}
|
224
|
+
license_type_by_nc_nd: Із зазначенням авторства - Некомерційна - Без похідних творів
|
225
|
+
%{version} %{jurisdiction}
|
226
|
+
zh:
|
227
|
+
license_notice: 本作品采用%{license_title}进行许可。
|
228
|
+
license_title: 知识共享%{license_type}许可协议
|
229
|
+
license_type_by: 署名 %{version} %{jurisdiction}
|
230
|
+
license_type_by_sa: 署名-相同方式共享 %{version} %{jurisdiction}
|
231
|
+
license_type_by_nd: 署名-禁止演绎 %{version} %{jurisdiction}
|
232
|
+
license_type_by_nc: 署名-非商业性使用 %{version} %{jurisdiction}
|
233
|
+
license_type_by_nc_sa: 署名-非商业性使用-相同方式共享 %{version} %{jurisdiction}
|
234
|
+
license_type_by_nc_nd: 署名-非商业性使用-禁止演绎 %{version} %{jurisdiction}
|
235
|
+
zh_TW:
|
236
|
+
license_notice: 本著作係採用%{license_title}授權.
|
237
|
+
license_title: 創用 CC %{license_type} 授權條款
|
238
|
+
license_type_by: 姓名標示 %{version} %{jurisdiction}
|
239
|
+
license_type_by_sa: 姓名標示-相同方式分享 %{version} %{jurisdiction}
|
240
|
+
license_type_by_nd: 姓名標示-禁止改作 %{version} %{jurisdiction}
|
241
|
+
license_type_by_nc: 姓名標示-非商業性 %{version} %{jurisdiction}
|
242
|
+
license_type_by_nc_sa: 姓名標示-非商業性-相同方式分享 %{version} %{jurisdiction}
|
243
|
+
license_type_by_nc_nd: 姓名標示-非商業性-禁止改作 %{version} %{jurisdiction}
|
244
|
+
ko:
|
245
|
+
license_notice: 이 저작물은 %{license_title}에 따라 이용할 수 있습니다.
|
246
|
+
license_title: 크리에이티브 커먼즈 %{license_type} 라이선스
|
247
|
+
license_type_by: 저작자표시 %{version} %{jurisdiction}
|
248
|
+
license_type_by_sa: 저작자표시-동일조건변경허락 %{version} %{jurisdiction}
|
249
|
+
license_type_by_nd: 저작자표시-변경금지 %{version} %{jurisdiction}
|
250
|
+
license_type_by_nc: 저작자표시-비영리 %{version} %{jurisdiction}
|
251
|
+
license_type_by_nc_sa: 저작자표시-비영리-동일조건변경허락 %{version} %{jurisdiction}
|
252
|
+
license_type_by_nc_nd: 저작자표시-비영리-변경금지 %{version} %{jurisdiction}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'creative_commons_rails/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "creative_commons_rails"
|
8
|
+
spec.version = CreativeCommonsRails::VERSION
|
9
|
+
spec.authors = ["Kent Mewhort"]
|
10
|
+
spec.email = ["kent@openissues.ca"]
|
11
|
+
spec.description = %q{Render internationalized Creative Commons license notices in your views}
|
12
|
+
spec.summary = %q{Easy rendering of Creative Commons license notices}
|
13
|
+
spec.homepage = "http://github.com/kmewhort/creative_commons_rails"
|
14
|
+
spec.license = "BSD"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
+
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "mechanize"
|
24
|
+
spec.add_runtime_dependency "rails"
|
25
|
+
spec.add_runtime_dependency "i18n"
|
26
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'i18n'
|
2
|
+
|
3
|
+
module CreativeCommonsRails
|
4
|
+
module ActionViewHelpers
|
5
|
+
|
6
|
+
# generates an image/link to the desired CC license
|
7
|
+
def cc_license_tags(type, options = {})
|
8
|
+
# merge options with defaults and convert to correct data types
|
9
|
+
options = default_options.merge(options)
|
10
|
+
options[:version] = "%.1f" % options[:version]
|
11
|
+
options[:jurisdiction] = options[:jurisdiction].to_sym
|
12
|
+
options[:size] = options[:size].to_sym
|
13
|
+
|
14
|
+
# get license data (exception raised if not found)
|
15
|
+
l = LicenseInfo.find({type: type}.merge(options))
|
16
|
+
|
17
|
+
html = ""
|
18
|
+
html << link_to(l.deed_url, rel: 'license') do
|
19
|
+
image_tag(l.icon_url(options[:size]), alt: l.translated_title, style: "border-width:0")
|
20
|
+
end
|
21
|
+
html << "<br />"
|
22
|
+
html << I18n.t(:license_notice, license_title: link_to(l.translated_title, l.deed_url, rel: 'license'))
|
23
|
+
html.html_safe
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
def default_options
|
28
|
+
{
|
29
|
+
version: '3.0',
|
30
|
+
jurisdiction: :unported,
|
31
|
+
size: :normal
|
32
|
+
}
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'i18n'
|
2
|
+
|
3
|
+
module CreativeCommonsRails
|
4
|
+
class LicenseInfo
|
5
|
+
attr_accessor :type, :jurisdiction, :version
|
6
|
+
|
7
|
+
# ensure the license exists in the license index
|
8
|
+
def self.find(attributes = {})
|
9
|
+
index = license_index
|
10
|
+
[:jurisdiction, :version, :type].each do |key|
|
11
|
+
raise "You must specify the #{attr} to find a licence" if attributes[key].nil?
|
12
|
+
index = index[attributes[key].to_s]
|
13
|
+
raise "Unknown license #{key}: #{attributes[key]}" if index.nil? || !index
|
14
|
+
end
|
15
|
+
|
16
|
+
LicenseInfo.new(attributes[:type],attributes[:jurisdiction],attributes[:version])
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize(type, jurisdiction, version)
|
20
|
+
@type, @jurisdiction, @version = type, jurisdiction, version
|
21
|
+
end
|
22
|
+
|
23
|
+
def deed_url
|
24
|
+
"http://creativecommons.org/licenses/#{type}/#{version}/#{jurisdiction}/deed.#{language}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def icon_url(size = :normal)
|
28
|
+
"http://i.creativecommons.org/l/#{type}/#{version}/#{size == :compact ? '80x15' : '88x31'}.png"
|
29
|
+
end
|
30
|
+
|
31
|
+
def translated_title
|
32
|
+
I18n.t :license_title, license_type: translated_type
|
33
|
+
end
|
34
|
+
|
35
|
+
def translated_type
|
36
|
+
I18n.t "license_type_#{type}", version: version, jurisdiction: I18n.t(jurisdiction)
|
37
|
+
end
|
38
|
+
|
39
|
+
def language
|
40
|
+
I18n.locale
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
def self.license_index
|
45
|
+
gem_root = Gem::Specification.find_by_name("creative_commons_rails").gem_dir
|
46
|
+
@index ||= YAML.load_file("#{gem_root}/config/license_list.yaml")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module CreativeCommonsRails
|
2
|
+
class Railtie < Rails::Railtie
|
3
|
+
# load the action view helpers and i18n dictionary files
|
4
|
+
initializer "creative_commons_rails" do
|
5
|
+
ActionView::Base.send :include, CreativeCommonsRails::ActionViewHelpers
|
6
|
+
I18n.load_path += Dir.glob( File.dirname(__FILE__) + "/../../config/locales/*.{rb,yml}" )
|
7
|
+
end
|
8
|
+
|
9
|
+
# load the rake task to re-retrieve the data on available licenses
|
10
|
+
rake_tasks do
|
11
|
+
load File.join(File.dirname(__FILE__),'tasks/retrieve_data.rake')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
namespace :cc_retrieve_data do
|
2
|
+
desc 'Populate license_list.yaml with an index of all available CC licenses by jurisdiction'
|
3
|
+
task :license_index do |t, args|
|
4
|
+
require 'mechanize'
|
5
|
+
require 'yaml'
|
6
|
+
require 'open-uri'
|
7
|
+
|
8
|
+
# pull the list of jurisdictions from the CC license chooser page
|
9
|
+
agent = Mechanize.new { |a| a.user_agent_alias = 'Mac Safari' }
|
10
|
+
jurisdictions = agent.get('http://creativecommons.org/choose/').search('#field_jurisdiction option').map do |o|
|
11
|
+
o['value']
|
12
|
+
end.compact
|
13
|
+
|
14
|
+
# ping for the deed page of each possible combination of jurisdiction, version and type
|
15
|
+
license_index = {}
|
16
|
+
jurisdictions.each do |jurisdiction|
|
17
|
+
license_index[jurisdiction] = {}
|
18
|
+
["1.0","2.0","2.5","3.0","4.0"].each do |version|
|
19
|
+
license_index[jurisdiction][version] = {}
|
20
|
+
[:by,:by_sa,:by_nd,:by_nc,:by_nc_sa,:by_nc_nd].each do |type|
|
21
|
+
deed_url = "http://creativecommons.org/licenses/#{type.to_s.gsub('_','-')}/#{version}/#{jurisdiction}"
|
22
|
+
license_index[jurisdiction][version][type] = false
|
23
|
+
begin
|
24
|
+
ping_result = open(deed_url)
|
25
|
+
if ping_result.status[0] == "200"
|
26
|
+
license_index[jurisdiction][version][type.to_s] = true
|
27
|
+
end
|
28
|
+
rescue OpenURI::HTTPError => ex
|
29
|
+
# not found
|
30
|
+
end
|
31
|
+
sleep(1) # rate limit to avoid hammering creativecommons.org
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
license_index['unported'] = license_index[""]
|
36
|
+
license_index.delete("")
|
37
|
+
|
38
|
+
File.open('config/license_list.yaml', 'w') {|f| YAML::dump(license_index, f) }
|
39
|
+
end
|
40
|
+
|
41
|
+
desc 'Populate I18n localizations with translations from the CC License Chooser'
|
42
|
+
task :localization do |t, args|
|
43
|
+
require 'mechanize'
|
44
|
+
require 'yaml'
|
45
|
+
require 'open-uri'
|
46
|
+
require 'json'
|
47
|
+
|
48
|
+
notice_localization = {}
|
49
|
+
jurisdiction_localization = {}
|
50
|
+
agent = Mechanize.new { |a| a.user_agent_alias = 'Mac Safari' }
|
51
|
+
|
52
|
+
# for each available language
|
53
|
+
agent.get('http://creativecommons.org/choose/').search('#other_stuff .licensebox a').each do |a|
|
54
|
+
chooser_page = agent.get(a['href'])
|
55
|
+
lang = a['hreflang'].to_sym
|
56
|
+
|
57
|
+
# for each license type
|
58
|
+
[:by,:by_sa,:by_nd,:by_nc,:by_nc_sa,:by_nc_nd].each_with_index do |type, i|
|
59
|
+
# get the license notice info directly from the License Chooser API
|
60
|
+
uri = URI.parse('http://creativecommons.org/choose/xhr_api')
|
61
|
+
params = case type
|
62
|
+
when :by
|
63
|
+
{
|
64
|
+
"field_commercial" => 'y',
|
65
|
+
"field_derivatives" => 'y'
|
66
|
+
}
|
67
|
+
when :by_sa
|
68
|
+
{
|
69
|
+
"field_commercial" => 'y',
|
70
|
+
"field_derivatives" => 'sa'
|
71
|
+
}
|
72
|
+
when :by_nd
|
73
|
+
{
|
74
|
+
"field_commercial" => 'y',
|
75
|
+
"field_derivatives" => 'n'
|
76
|
+
}
|
77
|
+
when :by_nc
|
78
|
+
{
|
79
|
+
"field_commercial" => 'n',
|
80
|
+
"field_derivatives" => 'y'
|
81
|
+
}
|
82
|
+
when :by_nc_sa
|
83
|
+
{
|
84
|
+
"field_commercial" => 'n',
|
85
|
+
"field_derivatives" => 'sa'
|
86
|
+
}
|
87
|
+
when :by_nc_nd
|
88
|
+
{
|
89
|
+
"field_commercial" => 'n',
|
90
|
+
"field_derivatives" => 'n'
|
91
|
+
}
|
92
|
+
end
|
93
|
+
|
94
|
+
params["lang"] = lang
|
95
|
+
uri.query = URI.encode_www_form( params )
|
96
|
+
result = JSON.parse(uri.open.read)
|
97
|
+
|
98
|
+
if i == 0
|
99
|
+
html = Nokogiri::HTML(result['license_html'])
|
100
|
+
title = html.css('a:last-child').text
|
101
|
+
notice_localization[lang.to_s] = {
|
102
|
+
'license_notice' => html.text.sub(title, "\%\{license_title\}"),
|
103
|
+
'license_title' => title.sub(result['license_title'], "\%\{license_type\}"),
|
104
|
+
}
|
105
|
+
end
|
106
|
+
notice_localization[lang.to_s]["license_type_#{type.to_s}"] =
|
107
|
+
result['license_title'].sub(/3\.0.*/, "\%\{version\} \%\{jurisdiction\}")
|
108
|
+
|
109
|
+
sleep(1) # rate limit to avoid hammering creativecommons.org
|
110
|
+
end
|
111
|
+
|
112
|
+
# get the translations of jurisdiction names (eg. "Canada", "United States", etc.)
|
113
|
+
jurisdiction_localization[lang.to_s] = {}
|
114
|
+
chooser_page.search('#field_jurisdiction option').each do |o|
|
115
|
+
jurisdiction_key = o['value'].empty? ? 'unported' : o['value']
|
116
|
+
jurisdiction_localization[lang.to_s][jurisdiction_key.to_s] = o.text.strip
|
117
|
+
end
|
118
|
+
end
|
119
|
+
File.open('config/locales/cc_license_notices.yml', 'w') {|f| YAML.dump(notice_localization,f) }
|
120
|
+
File.open('config/locales/cc_license_jurisdictions.yml', 'w') {|f| YAML.dump(jurisdiction_localization,f) }
|
121
|
+
end
|
122
|
+
end
|