Skip to content
This repository was archived by the owner on Jul 2, 2023. It is now read-only.

Commit 18110eb

Browse files
Merge pull request #115 from AndresMorelos/1.30.1
v1.30.1
2 parents 0496efe + d8dd9bb commit 18110eb

23 files changed

+486
-18
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ A desktop application for creating invoices with beautiful and customizable temp
2929
Do you speak multiple languages? We need your help!
3030

3131
If you're interested in translating Invoncify, please see the [detailed instruction here](https://github.com/AndresMorelos/Invoncify/discussions/31).
32-
The following languages are currently being translated, if you would like to Manta to support another language, [please submit your request here]https://github.com/AndresMorelos/Invoncify/discussions/31).
32+
The following languages are currently being translated, if you would like to Invoncify to support another language, [please submit your request here](https://github.com/AndresMorelos/Invoncify/discussions/31).
3333

3434
* [🇨🇳 中文 (Chinese Simplified)](https://crowdin.com/project/invoncify/zh-CN)
3535
* [🇨🇳 中文 (Chinese Traditional)](https://crowdin.com/project/invoncify/zh-TW)
@@ -51,6 +51,8 @@ The following languages are currently being translated, if you would like to Man
5151
* [🇹🇷 Türkçe (Turkish)](https://crowdin.com/project/invoncify/tr)
5252
* [🇻🇳 Việt Nam (Vietnamese)](https://crowdin.com/project/invoncify/vi)
5353
* [🇭🇷 Croatia (Croatian)](https://crowdin.com/project/invoncify/hr)
54+
* [🇷🇸 Serbian (Cyrillic)](https://crowdin.com/project/invoncify/sr)
55+
* [🇷🇸 Serbian (Latin)](https://crowdin.com/project/invoncify/sr-CS)
5456

5557
### Features
5658
* 🎚 Flexible form. You can turn on/off field and save as default setting.

app/components/form/DueDate.jsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,6 @@ export class DueDate extends Component {
5757
return (
5858
<Section>
5959
<label className="itemLabel">{t('form:fields:dueDate:name')}</label>
60-
{this.state.useCustom ? (
61-
<DueDatePicker
62-
t={t}
63-
selectedDate={selectedDate}
64-
updateCustomDate={this.updateCustomDate}
65-
/>
66-
) : (
67-
<DueDateTerms
68-
t={t}
69-
paymentTerm={paymentTerm}
70-
updatePaymentTerm={this.updatePaymentTerm}
71-
/>
72-
)}
7360
<div>
7461
<div className="radio">
7562
<label>
@@ -94,6 +81,19 @@ export class DueDate extends Component {
9481
</label>
9582
</div>
9683
</div>
84+
{this.state.useCustom ? (
85+
<DueDatePicker
86+
t={t}
87+
selectedDate={selectedDate}
88+
updateCustomDate={this.updateCustomDate}
89+
/>
90+
) : (
91+
<DueDateTerms
92+
t={t}
93+
paymentTerm={paymentTerm}
94+
updatePaymentTerm={this.updatePaymentTerm}
95+
/>
96+
)}
9797
</Section>
9898
);
9999
}

app/components/form/Recipient.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ export class Recipient extends Component {
121121
return (
122122
<Section>
123123
<label className="itemLabel">{t('form:fields:recipient:name')} *</label>
124-
{this.renderComponent()}
125124
{contacts.length > 0 ? (
126125
<div>
127126
<div className="radio">
@@ -148,6 +147,7 @@ export class Recipient extends Component {
148147
</div>
149148
</div>
150149
) : null}
150+
{this.renderComponent()}
151151
</Section>
152152
);
153153
}

app/components/settings/General.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ class General extends Component {
132132
<option value="sr">
133133
{t('settings:fields:language:sr', { lng: 'sr' })}
134134
</option>
135+
<option value="sr-CS">
136+
{t('settings:fields:language:sr-CS', { lng: 'sr-CS' })}
137+
</option>
135138
<option value="nl">
136139
{t('settings:fields:language:nl', { lng: 'nl' })}
137140
</option>

i18n/en/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
"zh-CN": "Chinese (Simplified)",
6868
"zh-TW": "Chinese (Traditional)",
6969
"sr": "Serbian (Cyrillic)",
70+
"sr-CS": "Serbian (Latin)",
7071
"ro": "Romanian"
7172
},
7273
"importExport": {

i18n/i18n.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import zhCN from './zh-CN';
1515
import sr from './sr';
1616
import nl from './nl';
1717
import ro from './ro';
18+
import srCS from './sr-CS';
1819
const moment = require('moment');
1920
const appConfig = require('@electron/remote').require('electron-settings');
2021

@@ -37,6 +38,7 @@ i18n.use(initReactI18next).init({
3738
vi,
3839
'zh-CN': zhCN,
3940
sr,
41+
'sr-CS': srCS,
4042
nl,
4143
ro,
4244
},

i18n/nl/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
"zh-CN": "Chinees (vereenvoudigd)",
6767
"zh-TW": "Chinees (traditioneel)",
6868
"sr": "Servisch (Cyrillisch)",
69+
"sr-CS": "Servisch (Latin)",
6970
"ro": "Roemeens"
7071
},
7172
"importExport": {

i18n/ro/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
"zh-CN": "Chineză (simplificată)",
6767
"zh-TW": "Chineză (tradiţională)",
6868
"sr": "Sârbă (alfabet chirilic)",
69+
"sr-CS": "Sârbă (alfabet latin)",
6970
"ro": "Română"
7071
},
7172
"importExport": {

i18n/sr-CS/common.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"fields": {
3+
"fullname": "Ime i Prezime",
4+
"company": "Preduzeće",
5+
"address": "Adresa",
6+
"email": "Elektronska pošta",
7+
"phone": "Broj Telefona",
8+
"website": "Veb sajt"
9+
},
10+
"save": "Sačuvaj",
11+
"amount": "Iznos",
12+
"default": "Podrazumevano",
13+
"saveAsDefault": "Sačuvaj kao podrazumevano?",
14+
"yes": "Da",
15+
"noThanks": "Ne, hvala",
16+
"details": "Detalji"
17+
}

i18n/sr-CS/contacts.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"header": "Svi kontakti",
3+
"fields": {
4+
"contact": "Kontakt",
5+
"email": "Elektronska pošta",
6+
"phone": "Telefon",
7+
"actions": "Radnje"
8+
}
9+
}

i18n/sr-CS/dialog.json

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
{
2+
"appUpdate": {
3+
"available": {
4+
"title": "Dostupna je nova verzija programa",
5+
"message": "Preuzimannje ažuriranja u pozadini?"
6+
},
7+
"noUpdate": {
8+
"title": "Nema dostupnih ažuriranja",
9+
"message": "Koristite najnoviju verziju aplikacije"
10+
},
11+
"error": {
12+
"title": "Došlo je do greške",
13+
"message": "Došlo je do greške pri ažuriranju aplikacije. Pokušajte kasnije ili preuzmite instalaciju ručno.",
14+
"OpenReleasePage": "Otvorite stranicu sa preuzimanjima"
15+
},
16+
"downloaded": {
17+
"title": "Ažuriranja su preuzeta",
18+
"message": "Da li želite da zatvorite i ažurirate aplikaciju odmah?",
19+
"quitNow": "Zatvori odmah",
20+
"later": "Kasnije"
21+
}
22+
},
23+
"noAccess": {
24+
"title": "Dozvola za pristup odbijena",
25+
"message": "Molimo odaberite drugi direktorijum"
26+
},
27+
"errorBoundary": "Došlo je do greške",
28+
"deleteInvoice": {
29+
"title": "Obriši ovu fakturu?",
30+
"message": "Faktura će biti trajno obrisana iz baze podataka"
31+
},
32+
"deleteContact": {
33+
"title": "Obriši ovaj kontakt?",
34+
"message": "Kontakt će biti trajno obrisan iz baze podataka"
35+
},
36+
"fileTypeErr": {
37+
"title": "Molimo odaberite drugu datoteku"
38+
},
39+
"validation": {
40+
"invoiceID": {
41+
"title": "Nevažeći ID fakture",
42+
"message": "Fakura mora da ima ID"
43+
},
44+
"recipient": {
45+
"empty": {
46+
"title": "Nevažeći kontakt",
47+
"message": "Kontakt ne može biti prazan"
48+
},
49+
"requiredFields": {
50+
"title": "Obavezna polja",
51+
"message": "Molimo Vas da popunite sva obavezna polja"
52+
},
53+
"email": {
54+
"title": "Nevažeća e-pošta",
55+
"message": "Molimo odaberite drugu adresu e-pošte"
56+
}
57+
},
58+
"rows": {
59+
"emptyDescription": {
60+
"title": "Nevažeći opis",
61+
"message": "Opis mora da postoji"
62+
},
63+
"priceZero": {
64+
"title": "Nevažeća cena",
65+
"message": "Cena mora biti veća od nule"
66+
},
67+
"qtyZero": {
68+
"title": "Nevažeća količina",
69+
"message": "Količina mora biti veća od nule"
70+
}
71+
},
72+
"dueDate": {
73+
"title": "Nevažeći datum valute",
74+
"message": "Molimo odaberite datum"
75+
},
76+
"currency": {
77+
"fraction": {
78+
"title": "Nevažeća decimalna vrednost",
79+
"message": "Decimalna vrednost mora biti nula ili veća"
80+
}
81+
},
82+
"discount": {
83+
"title": "Nevažeći popust",
84+
"message": "Iznos popusta mora biti veći od nule"
85+
},
86+
"tax": {
87+
"title": "Nevažeći porez",
88+
"message": "Iznos poreza mora biti veći od nule"
89+
},
90+
"note": {
91+
"title": "Nevažeća napomena",
92+
"message": "Napomena mora imati sadržaj"
93+
},
94+
"payment": {
95+
"title": "Nevažeće instrukcije za plaćanje",
96+
"message": "Instrukcije za plaćanje ne mogu biti prazne"
97+
}
98+
},
99+
"events": {
100+
"clickToCopy": "Kliknite za kopiranje",
101+
"copied": "Kopirano!!"
102+
}
103+
}

i18n/sr-CS/form.json

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{
2+
"header": {
3+
"contactEdit": "Ažurirajte Kontakt",
4+
"new": "Napravi novu fakturu",
5+
"edit": "Izmeni fakturu",
6+
"btns": {
7+
"clear": "Obriši sve",
8+
"update": "Ažuriraj",
9+
"saveAndPreview": "Sačuvaj i pogledaj"
10+
}
11+
},
12+
"settings": {
13+
"name": "Podešavanja formulara",
14+
"hint": "Označi polja koja su obavezna u formularu."
15+
},
16+
"fields": {
17+
"items": {
18+
"name": "Proizvod/Usluga",
19+
"description": "Opis",
20+
"price": "Cena",
21+
"quantity": "Količina",
22+
"add": "Dodaj novu stavku"
23+
},
24+
"paymentItems": {
25+
"name": "Pretplate",
26+
"description": "Opis",
27+
"value": "Vrednost",
28+
"add": "Dodajte novu stavku u pretplati"
29+
},
30+
"recipient": {
31+
"name": "Primalac",
32+
"select": "Izaberi",
33+
"add": "Novo"
34+
},
35+
"discount": {
36+
"name": "Popust",
37+
"percentage": "Procenat",
38+
"flat": "Fiksna stopa"
39+
},
40+
"createAtDate": {
41+
"name": "Datum kreiranja",
42+
"placeHolder": "Odaberite datum"
43+
},
44+
"dueDate": {
45+
"name": "Datum valute",
46+
"placeHolder": "Odaberi datum",
47+
"paymentTerms": {
48+
"name": "Odaberi uslove plaćanja",
49+
"net7": {
50+
"label": "7 dana",
51+
"description": "Plaćanje 7 dana od datuma na fakturi"
52+
},
53+
"net10": {
54+
"label": "10 dana",
55+
"description": "Plaćanje deset dana od datuma na fakturi"
56+
},
57+
"net30": {
58+
"label": "30 dana",
59+
"description": "Plaćanje trideset dana od datuma na fakturi"
60+
},
61+
"net60": {
62+
"label": "60 dana",
63+
"description": "Plaćanje šezdeset dana od datuma na fakturi"
64+
},
65+
"net90": {
66+
"label": "90 dana",
67+
"description": "Plaćanje devedeset dana od datuma na fakturi"
68+
}
69+
}
70+
},
71+
"tax": {
72+
"name": "Porez",
73+
"id": "PIB",
74+
"method": "Metoda",
75+
"reverse": "Interni obračun PDV-a"
76+
},
77+
"note": "Napomena",
78+
"currency": "Valuta",
79+
"payment": {
80+
"name": "Plaćanje",
81+
"details": "Instrukcije za plaćanje",
82+
"description": "Bankovni računi, digitalne opcije plaćanja ili druge informacije vezane za plaćanje"
83+
}
84+
}
85+
}

i18n/sr-CS/index.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import common from './common.json';
2+
import contacts from './contacts.json';
3+
import dialog from './dialog.json';
4+
import form from './form.json';
5+
import invoices from './invoices.json';
6+
import messages from './messages.json';
7+
import preview from './preview.json';
8+
import settings from './settings.json';
9+
import tour from './tour.json';
10+
import login from './login.json'
11+
import statistics from './statistics.json'
12+
13+
export default {
14+
common,
15+
contacts,
16+
dialog,
17+
form,
18+
invoices,
19+
messages,
20+
preview,
21+
settings,
22+
tour,
23+
login,
24+
statistics
25+
}

i18n/sr-CS/invoices.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"header": {
3+
"name": "Sve fakture"
4+
},
5+
"fields": {
6+
"client": "Klijent",
7+
"invoiceID": "ID fakture",
8+
"createdDate": "Kreirano",
9+
"dueDate": "Datum valute",
10+
"total": "Ukupna vrednost",
11+
"prepaid": "Pretplata",
12+
"remaining": "Preostalo"
13+
},
14+
"status": {
15+
"pending": "Na čekanju",
16+
"paid": "Plaćeno",
17+
"refunded": "Refundirano",
18+
"cancelled": "Otkazano"
19+
},
20+
"btns": {
21+
"view": "Pregled",
22+
"edit": "Uredi",
23+
"markAsPaid": "Označi kao plaćeno"
24+
}
25+
}

0 commit comments

Comments
 (0)