Skip to content

Commit 9e00ac8

Browse files
authored
feat: it locale (#456)
* feat: it locale * chore: update * chore: update
1 parent 932ebe6 commit 9e00ac8

9 files changed

Lines changed: 869 additions & 8 deletions

File tree

.zed/tasks.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{
3+
"label": "full check",
4+
"command": "pnpm run check:full"
5+
}
6+
]

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Modern e-commerce self-hosted platform: clients will be happy to order delicious
2020

2121
- **Fully responsive design** — works perfectly on any device.
2222
- **Multiโ€‘page SSR** — fast loading + SEO.
23-
- **Multiโ€‘language** — supports 8+ locales.
23+
- **Multiโ€‘language** — supports 9+ locales.
2424
- **Multiโ€‘city support** — run separate storefronts for different cities/regions.
2525
- **Most often added** — block shows items frequently bought together to boost crossโ€‘sales.
2626
- **Product video** - show fragment on product page to increase conversion rates.
@@ -68,6 +68,7 @@ The application currently supports [different languages](https://github.com/next
6868
| `el` ๐Ÿ‡ฌ๐Ÿ‡ท | Greek | Ελληνικฮฌ | [el-GR.ts](https://github.com/nextorders/food/tree/main/packages/ui/i18n/locales/el-GR.ts) |
6969
| `es` ๐Ÿ‡ช๐Ÿ‡ธ | Spanish | Español | [es-ES.ts](https://github.com/nextorders/food/tree/main/packages/ui/i18n/locales/es-ES.ts) |
7070
| `fr` ๐Ÿ‡ซ๐Ÿ‡ท | French | Français | [fr-FR.ts](https://github.com/nextorders/food/tree/main/packages/ui/i18n/locales/fr-FR.ts) |
71+
| `it` ๐Ÿ‡ฎ๐Ÿ‡น | Italian | Italiano | [it-IT.ts](https://github.com/nextorders/food/tree/main/packages/ui/i18n/locales/it-IT.ts) |
7172
| `ka` ๐Ÿ‡ฌ๐Ÿ‡ช | Georgian | แƒฅแƒแƒ แƒ—แƒฃแƒšแƒ˜ | [ka-GE.ts](https://github.com/nextorders/food/tree/main/packages/ui/i18n/locales/ka-GE.ts) |
7273
| `ru` ๐Ÿ‡ท๐Ÿ‡บ | Russian | Русский | [ru-RU.ts](https://github.com/nextorders/food/tree/main/packages/ui/i18n/locales/ru-RU.ts) |
7374
| `zh_cn` ๐Ÿ‡จ๐Ÿ‡ณ | Simplified Chinese | ็ฎ€ไฝ“ไธญๆ–‡ | [zh-CN.ts](https://github.com/nextorders/food/tree/main/packages/ui/i18n/locales/zh-CN.ts) |

apps/essence/server/services/channel.ts

Lines changed: 105 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ const paymentMethodsForDelivery: PaymentMethod[] = [
2222
locale: 'fr',
2323
value: 'Argent comptant au coursier',
2424
},
25+
{
26+
locale: 'it',
27+
value: 'Contanti al corriere',
28+
},
2529
{
2630
locale: 'ru',
2731
value: 'Наличные курьеру',
@@ -60,6 +64,10 @@ const paymentMethodsForDelivery: PaymentMethod[] = [
6064
locale: 'fr',
6165
value: 'Carte au coursier',
6266
},
67+
{
68+
locale: 'it',
69+
value: 'Carta al corriere',
70+
},
6371
{
6472
locale: 'ru',
6573
value: 'Картоиฬ† курьеру',
@@ -101,6 +109,10 @@ const paymentMethodsForSelfPickup: PaymentMethod[] = [
101109
locale: 'fr',
102110
value: 'Argent comptant',
103111
},
112+
{
113+
locale: 'it',
114+
value: 'Contanti',
115+
},
104116
{
105117
locale: 'ru',
106118
value: 'Наличные',
@@ -291,6 +303,10 @@ const links: Channel['links'] = {
291303
locale: 'fr',
292304
value: '8 800 123-45-69',
293305
},
306+
{
307+
locale: 'it',
308+
value: '8 800 123-45-69',
309+
},
294310
{
295311
locale: 'ka',
296312
value: '8 800 123-45-69',
@@ -331,6 +347,10 @@ const links: Channel['links'] = {
331347
locale: 'fr',
332348
value: 'Offre publique',
333349
},
350+
{
351+
locale: 'it',
352+
value: 'Offerta pubblica',
353+
},
334354
{
335355
locale: 'ka',
336356
value: 'แƒกแƒแƒฏแƒแƒ แƒ แƒจแƒ”แƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒ',
@@ -368,6 +388,10 @@ const links: Channel['links'] = {
368388
locale: 'fr',
369389
value: 'Politique de confidentialité',
370390
},
391+
{
392+
locale: 'it',
393+
value: 'Informativa sulla privacy',
394+
},
371395
{
372396
locale: 'ka',
373397
value: 'แƒ™แƒแƒœแƒคแƒ˜แƒ“แƒ”แƒœแƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ‘แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ',
@@ -405,6 +429,10 @@ const links: Channel['links'] = {
405429
locale: 'fr',
406430
value: 'Logiciels pour le commerce électronique',
407431
},
432+
{
433+
locale: 'it',
434+
value: 'Software per l\'e-commerce',
435+
},
408436
{
409437
locale: 'ka',
410438
value: 'แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒ แƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก',
@@ -483,6 +511,15 @@ OGRN 12345, INN 12345
483511
Les informations présentes sur ce site web ne constituent pas une offre publique.
484512
485513
Les images des produits peuvent différer du produit réel.`,
514+
},
515+
{
516+
locale: 'it',
517+
value: `© 2024—2026 Fictitious Company LLC
518+
OGRN 12345, INN 12345
519+
236000, Oblast di Kaliningrad, Kaliningrad, Via Teatralnaya, 33A
520+
521+
Le informazioni su questo sito non costituiscono un'offerta pubblica.
522+
Le immagini dei prodotti possono differire dall'originale.`,
486523
},
487524
{
488525
locale: 'ka',
@@ -499,7 +536,7 @@ OGRN 12345, INN 12345
499536
OGRN 12345, INN 12345
500537
236000 Kaliningrad Oblast, Kaliningrad, Teatralnaya Str. 33A
501538
502-
Die Informationen auf dieser Website stellen kein öffentliches Angebot dar.
539+
Die Informationen auf dieser Website stellen kein öffentliches Angebot dar.
503540
Produktabbildungen können vom Original abweichen.`,
504541
},
505542
{
@@ -539,6 +576,10 @@ const channels: Channel[] = [{
539576
locale: 'fr',
540577
value: 'Moscou',
541578
},
579+
{
580+
locale: 'it',
581+
value: 'Mosca',
582+
},
542583
{
543584
locale: 'ka',
544585
value: 'แƒ›แƒแƒกแƒ™แƒแƒ•แƒ˜',
@@ -573,6 +614,10 @@ const channels: Channel[] = [{
573614
locale: 'fr',
574615
value: 'Savoureux sur le pouce à Moscou',
575616
},
617+
{
618+
locale: 'it',
619+
value: 'Gusto al volo a Mosca',
620+
},
576621
{
577622
locale: 'ka',
578623
value: 'แƒ’แƒแƒกแƒ˜แƒœแƒฏแƒ•แƒ แƒ›แƒแƒกแƒ™แƒแƒ•แƒจแƒ˜',
@@ -607,6 +652,10 @@ const channels: Channel[] = [{
607652
locale: 'fr',
608653
value: 'Savourez des goûts uniques et une ambiance agréable',
609654
},
655+
{
656+
locale: 'it',
657+
value: 'Goditi sapori unici e un\'atmosfera piacevole',
658+
},
610659
{
611660
locale: 'ka',
612661
value: 'แƒ“แƒแƒขแƒ™แƒ‘แƒ˜แƒ— แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ”แƒ›แƒแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒกแƒแƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ—แƒ˜',
@@ -695,6 +744,20 @@ Le paiement peut être effectué à la réception, en espèces ou par carte.
695744
En cas d'annulation ou de modification de la commande, les frais de livraison restent dus.
696745
697746
L'établissement se réserve le droit de refuser une livraison en cas de volume de commandes important ou de problèmes techniques.`,
747+
},
748+
{
749+
locale: 'it',
750+
value: `La consegna viene effettuata entro 1-2 ore dall'ordine.
751+
752+
L'importo minimo per la consegna gratuita è di 1500 rubli.
753+
754+
Il costo della consegna viene calcolato in base alla distanza dal punto di consegna o dall'indirizzo di consegna e può variare da 0 a 1000 rubli.
755+
756+
L'ordine può essere pagato alla consegna in contanti o con carta.
757+
758+
In caso di annullamento dell'ordine o modifica delle sue condizioni, la consegna è pagata per intero.
759+
760+
L'azienda si riserva il diritto di rifiutare la consegna in caso di un gran numero di ordini o problemi tecnici.`,
698761
},
699762
{
700763
locale: 'ka',
@@ -748,11 +811,11 @@ Das Unternehmen behält sich das Recht vor, die Lieferung bei hohem Bestellaufko
748811
conditions: [
749812
{
750813
locale: 'ru',
751-
value: `При самовывозе заказ будет готов к получению в течение 1–2 часов с момента оформления.
814+
value: `При самовывозе заказ будет готов к получению в течение 1–2 часов с момента оформления.
752815
753-
Для самовывоза нет требования к минимальной сумме заказа — вы можете оформить заказ на любую сумму. Самовынос осуществляется бесплатно, дополнительная плата за него не взимается.
816+
Для самовывоза нет требования к минимальной сумме заказа — вы можете оформить заказ на любую сумму. Самовынос осуществляется бесплатно, дополнительная плата за него не взимается.
754817
755-
Оплатить заказ вы можете при получении как наличными, так и банковской картой. В случае отмены заказа или внесения в него изменений предварительная оплата, если она была произведена, возвращается вам полностью.
818+
Оплатить заказ вы можете при получении как наличными, так и банковской картой. В случае отмены заказа или внесения в него изменений предварительная оплата, если она была произведена, возвращается вам полностью.
756819
757820
Заведение вправе отказать в предоставлении услуги самовывоза при высокой загруженности или возникновении технических неполадок, влияющих на обработку заказов.`,
758821
},
@@ -795,6 +858,16 @@ Il n'y a pas de montant minimum pour le retrait en magasin: vous pouvez commande
795858
Vous pouvez régler votre commande en espèces ou par carte bancaire lors du retrait. En cas d'annulation ou de modification de votre commande, votre acompte, le cas échéant, vous sera intégralement remboursé.
796859
797860
L'établissement se réserve le droit de refuser le retrait en magasin en cas de forte affluence ou de problèmes techniques affectant le traitement des commandes.`,
861+
},
862+
{
863+
locale: 'it',
864+
value: `Per il ritiro in negozio, il tuo ordine sarà pronto entro 1-2 ore dall'ordine.
865+
866+
Non c'è un importo minimo per il ritiro in negozio: puoi ordinare qualsiasi importo. Il ritiro in negozio è gratuito e non ci sono costi aggiuntivi.
867+
868+
Puoi pagare il tuo ordine al ritiro in contanti o con carta di credito. Se annulli o modifichi il tuo ordine, l'eventuale pagamento anticipato ti verrà rimborsato per intero.
869+
870+
L'esercizio si riserva il diritto di rifiutare il ritiro in negozio in caso di sovraccarico o problemi tecnici che influenzano l'elaborazione degli ordini.`,
798871
},
799872
{
800873
locale: 'ka',
@@ -848,6 +921,10 @@ Das Geschäft behält sich das Recht vor, die Abholung im Geschäft abzulehnen,
848921
locale: 'fr',
849922
value: 'Kolotushkina 12',
850923
},
924+
{
925+
locale: 'it',
926+
value: 'Kolotushkina 12',
927+
},
851928
{
852929
locale: 'ru',
853930
value: 'Колотушкина 12',
@@ -883,6 +960,10 @@ Das Geschäft behält sich das Recht vor, die Abholung im Geschäft abzulehnen,
883960
locale: 'fr',
884961
value: 'Kolotushkina 12',
885962
},
963+
{
964+
locale: 'it',
965+
value: 'Kolotushkina 12',
966+
},
886967
{
887968
locale: 'ru',
888969
value: 'ул. Колотушкина, 12',
@@ -921,6 +1002,10 @@ Das Geschäft behält sich das Recht vor, die Abholung im Geschäft abzulehnen,
9211002
locale: 'fr',
9221003
value: 'Lenina 46',
9231004
},
1005+
{
1006+
locale: 'it',
1007+
value: 'Lenina 46',
1008+
},
9241009
{
9251010
locale: 'ru',
9261011
value: 'Ленина 46',
@@ -956,6 +1041,10 @@ Das Geschäft behält sich das Recht vor, die Abholung im Geschäft abzulehnen,
9561041
locale: 'fr',
9571042
value: 'Lenina 46',
9581043
},
1044+
{
1045+
locale: 'it',
1046+
value: 'Lenina 46',
1047+
},
9591048
{
9601049
locale: 'ru',
9611050
value: 'ул. Ленина, 46',
@@ -1004,6 +1093,10 @@ Das Geschäft behält sich das Recht vor, die Abholung im Geschäft abzulehnen,
10041093
locale: 'fr',
10051094
value: 'Saint-Pétersbourg',
10061095
},
1096+
{
1097+
locale: 'it',
1098+
value: 'San Pietroburgo',
1099+
},
10071100
{
10081101
locale: 'ka',
10091102
value: 'แƒกแƒแƒœแƒฅแƒข-แƒžแƒ”แƒขแƒ”แƒ แƒ‘แƒฃแƒ แƒ’แƒ˜',
@@ -1038,6 +1131,10 @@ Das Geschäft behält sich das Recht vor, die Abholung im Geschäft abzulehnen,
10381131
locale: 'fr',
10391132
value: 'Savoureux sur le pouce de Saint-Pétersbourg',
10401133
},
1134+
{
1135+
locale: 'it',
1136+
value: 'Gusto al volo a San Pietroburgo',
1137+
},
10411138
{
10421139
locale: 'ka',
10431140
value: 'แƒ’แƒแƒกแƒ˜แƒœแƒฏแƒ”แƒ— แƒกแƒแƒœแƒฅแƒข-แƒžแƒ”แƒขแƒ”แƒ แƒ‘แƒฃแƒ แƒ’แƒจแƒ˜',
@@ -1072,6 +1169,10 @@ Das Geschäft behält sich das Recht vor, die Abholung im Geschäft abzulehnen,
10721169
locale: 'fr',
10731170
value: 'Savourez des goûts uniques et une ambiance agréable',
10741171
},
1172+
{
1173+
locale: 'it',
1174+
value: 'Goditi sapori unici e un\'atmosfera piacevole',
1175+
},
10751176
{
10761177
locale: 'ka',
10771178
value: 'แƒ“แƒแƒขแƒ™แƒ‘แƒ˜แƒ— แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ”แƒ›แƒแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒกแƒแƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ—แƒ˜',

0 commit comments

Comments
 (0)