PluginProbe ʕ •ᴥ•ʔ
GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites / 2.13
GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites v2.13
2.33.6 2.33.5 2.33.2 2.32.10 2.33 2.33.1 2.32.6 2.32.7 2.32.8 trunk 2.10.3 2.10.4 2.10.5 2.10.6 2.11 2.12 2.13 2.14 2.14.1 2.15 2.15.1 2.16.1 2.16.2 2.17 2.18 2.18.1 2.18.2 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.25.1 2.25.2 2.26 2.27 2.27.10 2.27.5 2.28 2.28.1 2.29 2.30 2.31 2.32 2.32.5
gptranslate / assets / css / admin.css
gptranslate / assets / css Last commit date
admin.css 11 months ago bootstrap.min.css 11 months ago
admin.css
486 lines
1 img.gptranslate-plugin-icon {
2 width: 64px;
3 height: 64px;
4 }
5
6 /* Labels */
7 .gpt-label {
8 display: inline-block;
9 padding: 2px 8px;
10 font-size: 1em;
11 font-weight: 600;
12 color: #fff;
13 background-color: #0073aa; /* WordPress blue */
14 border-radius: 12px;
15 vertical-align: middle;
16 white-space: nowrap;
17 }
18
19 /* Success label */
20 .gpt-label-success {
21 background-color: #46b450;
22 }
23
24 /* Danger label */
25 .gpt-label-danger {
26 background-color: #dc3232;
27 }
28
29 /* Warning label */
30 .gpt-label-warning {
31 background-color: #ffb900;
32 color: #000;
33 }
34
35 /* Buttons */
36 .gpt-button {
37 display: inline-block;
38 padding: 6px 12px;
39 font-size: 14px;
40 font-weight: 600;
41 color: #fff;
42 background-color: #0073aa;
43 border: none;
44 border-radius: 2px;
45 cursor: pointer;
46 text-decoration: none;
47 transition: background-color 0.2s;
48 }
49
50 .gpt-button:hover {
51 background-color: #006799;
52 text-decoration: none;
53 }
54
55 /* Button variants */
56 .gpt-button-danger {
57 background-color: #dc3232;
58 }
59
60 .gpt-button-danger:hover {
61 background-color: #b81b1b;
62 }
63
64 .gpt-button-success {
65 background-color: #46b450;
66 }
67
68 .gpt-button-success:hover {
69 background-color: #3ea145;
70 }
71
72 /* Table styling */
73 .gpt-table {
74 width: 100%;
75 border-collapse: collapse;
76 margin-bottom: 20px;
77 }
78
79 .gpt-table th, .gpt-table td {
80 padding: 8px 10px;
81 border: 1px solid #ccc;
82 text-align: left;
83 }
84
85 .gpt-table th {
86 background-color: #f9f9f9;
87 font-weight: 600;
88 }
89
90 .gpt-table .icon-style {
91 color:
92 }
93
94 .form-table th {
95 vertical-align: top;
96 text-align: left;
97 padding: 20px 10px 10px 10px;
98 width: 200px;
99 line-height: 1.3;
100 font-weight: 600;
101 border-left: 1px solid #2271b1;
102 border-left-width: 4px;
103 box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
104 }
105
106 /* Edit record translation */
107 #wpfooter {
108 display: none !important;
109 }
110
111 input[name=pagelink], input[name=translated_alias], div.gptcard {
112 width: 60%;
113 }
114
115 @media ( max-width : 1024px) {
116 input[name=pagelink], div.gptcard {
117 width: 100%;
118 }
119 }
120
121 div.accordion-body {
122 max-height: 800px;
123 overflow: auto;
124 }
125
126 /* Search */
127 div.gptcard-header button, div.gptcard-header input {
128 font-weight: normal;
129 }
130
131 input[name=search] {
132 width: 50%;
133 }
134
135 /* Container */
136 form.form-filter-container {
137 display: flex;
138 justify-content: space-between;
139 margin-bottom: 10px;
140 }
141
142 .translations-container {
143 max-width: 100%;
144 padding: 1rem;
145 font-family: sans-serif;
146 }
147
148 *.doublesize-icon {
149 font-size: 18px;
150 font-weight: 700;
151 margin-left: 5px;
152 }
153
154 #search-input {
155 min-width: 300px;
156 }
157
158 #search-input+button {
159 margin-right: 1px;
160 }
161
162 /* Card */
163 .gptcard {
164 border: 1px solid #ddd;
165 border-radius: 6px;
166 margin-bottom: 1rem;
167 background-color: #fff;
168 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
169 }
170
171 /* Card header */
172 .gptcard-header {
173 background-color: #f5f5f5;
174 padding: 0.75rem 1rem;
175 border-bottom: 1px solid #ddd;
176 font-weight: bold;
177 }
178
179 /* Accordion toggle area */
180 .accordion-toggle {
181 display: flex;
182 align-items: center;
183 gap: 1rem;
184 }
185
186 /* Input group */
187 .input-group {
188 display: flex;
189 align-items: center;
190 gap: 0.5rem;
191 flex-wrap: nowrap;
192 width: 100%;
193 }
194
195 .input-group-text {
196 background-color: #e9ecef;
197 padding: 0.5rem 0.75rem;
198 border-radius: 4px;
199 font-size: 0.875rem;
200 }
201
202 #migraterow span.input-group label {
203 white-space: nowrap;
204 }
205
206 table.widefat input.form-check-input {
207 margin: 0;
208 }
209
210 /* Card body */
211 .gptcard-body {
212 padding: 1rem;
213 }
214
215 div.translation-row.translation-row-hidden {
216 display: none;
217 }
218
219 /* Buttons */
220 .btn {
221 display: inline-block;
222 padding: 0.375rem 0.75rem;
223 border-radius: 2px;
224 border: none;
225 font-size: 0.875rem;
226 cursor: pointer;
227 }
228
229 .btn-sm {
230 font-size: 0.75rem;
231 padding: 0.25rem 0.5rem;
232 }
233
234 .btn-primary {
235 background-color: #2271b1;
236 color: white;
237 }
238
239 .btn-success {
240 background-color: #198754;
241 color: white;
242 }
243
244 .btn-danger {
245 background-color: #dc3545;
246 color: white;
247 }
248
249 .btn-warning {
250 background-color: #ffc107;
251 color: black;
252 }
253
254 span.icon-refresh {
255 display: inline-block;
256 }
257
258 button.group-sync.btn-invisible {
259 display: none;
260 }
261
262 button.group-sync span.icon-refresh.icon-working {
263 animation: spin 2s infinite linear;
264 }
265
266 @
267 keyframes spin { 0% {
268 transform: rotate(0deg);
269 }
270
271 100
272 %
273 {
274 transform
275 :
276 rotate(
277 360deg
278 );
279 }
280 }
281
282 /* Badges */
283 .badge {
284 display: inline-block;
285 padding: 0.35em 0.65em;
286 font-size: 1em;
287 font-weight: 600;
288 border-radius: 3px;
289 margin-bottom: 0.25rem;
290 }
291
292 /* Colori di stato */
293 .bg-primary {
294 background-color: #2271b1;
295 color: #FFFFFF;
296 }
297
298 .bg-success {
299 background-color: #28a745;
300 color: #FFFFFF;
301 }
302
303 .bg-danger {
304 background-color: #dc3545;
305 color: #FFFFFF;
306 }
307
308 .bg-warning {
309 background-color: #ffc107;
310 color: #212529;
311 }
312
313 .bg-info {
314 background-color: #17a2b8;
315 color: #FFFFFF;
316 }
317
318 /* Textarea */
319 .translation-row textarea {
320 width: 198px;
321 height: 60px;
322 }
323
324 /* Translation row */
325 .translation-row {
326 padding-top: 1rem;
327 margin-top: 1rem;
328 display: flex;
329 align-items: center;
330 column-gap: 10px;
331 align-items: center;
332 position: relative;
333 }
334
335 .translation-row label.gpt-label.badge {
336 position: absolute;
337 right: 1px;
338 top: 0;
339 font-size: 12px;
340 }
341
342 /* Tooltips */
343 .custom-tooltip {
344 position: absolute;
345 top: 0;
346 left: 0;
347 z-index: 9999;
348 background: #333;
349 color: #fff;
350 padding: 6px 10px;
351 font-size: 0.85em;
352 border-radius: 4px;
353 max-width: 250px;
354 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
355 pointer-events: none;
356 opacity: 0;
357 transition: opacity 0.2s ease;
358 white-space: normal;
359 }
360
361 /* Settings with switchers */
362 a.nav-tab:focus {
363 box-shadow: none;
364 }
365
366 div.tab-content > p:first-child,
367 div.tab-content > p:last-child {
368 text-align: right;
369 margin-right: 20px;
370 }
371
372 #config-gptranslate table.form-table {
373 margin-top: -40px;
374 }
375
376 table.form-table th.settings-label-separator {
377 border: none;
378 background: #2271b1;
379 color: #FFF;
380 text-align: center;
381 padding: 0;
382 vertical-align: middle;
383 border-left: 4px solid #2271b1;
384 }
385
386 input[type=radio][name*="gptranslate_options"] {
387 display: none;
388 }
389
390 input[name*="gptranslate_options"]+span {
391 display: inline-block;
392 padding: 6px 14px;
393 border-radius: 4px 0 0 4px; /* angoli arrotondati a sinistra */
394 font-weight: bold;
395 background-color: #e0e0e0;
396 color: #333;
397 cursor: pointer;
398 border: 2px solid #ccc;
399 transition: background-color 0.3s, border-color 0.3s;
400 }
401
402 input[name*="gptranslate_options"][value="1"]+span {
403 border-right: none;
404 }
405
406 input[name*="gptranslate_options"][value="0"]+span {
407 border-radius: 0 4px 4px 0; /* angoli a destra */
408 border-left: none;
409 margin-left: -4px;
410 }
411
412 input[name*="gptranslate_options"][value="1"]:checked+span {
413 background-color: #27ae60;
414 color: #fff;
415 border-color: #1c894a;
416 }
417
418 .toggle-import {
419 background: #FFF;
420 padding: 4px 5px;
421 }
422
423 div.exportimportbtns {
424 display: flex;
425 justify-content: flex-end;
426 margin-top: -40px;
427 column-gap: 5px;
428 margin-right: 20px;
429 }
430
431 input[name*="gptranslate_options"][value="0"]:checked+span {
432 background-color: #e74c3c;
433 color: #fff;
434 border-color: #c0392b;
435 margin-left: -4px;
436 }
437
438 #add-repeatable-row {
439 float: right;
440 }
441
442 #bulk-delete-btn, #toggle-migration {
443 margin-right: 10px;
444 }
445
446 #migraterow {
447 width: 50%;
448 margin-bottom: 10px;
449 background: #FFF;
450 padding: 5px 10px;
451 border-radius: 4px;
452 }
453
454 #migraterow .input-group {
455 width: auto;
456 margin-right: 10px;
457 }
458
459 #migraterow .button {
460 margin-right: 5px;
461 }
462
463 /* Pagination */
464 .tablenav-pages {
465 margin-top: 20px;
466 }
467
468 .tablenav-pages .button {
469 margin-right: 5px;
470 padding: 5px 10px;
471 text-decoration: none;
472 }
473
474 .tablenav-pages .current-page {
475 font-weight: bold;
476 background-color: #0073aa;
477 color: #fff;
478 }
479
480 div.action-buttons-toolbar {
481 margin: 5px 0 10px;
482 }
483
484 input[name='import_file'] {
485 margin-left: 5px;
486 }