{"id":"c1102","filename":"c1102_fakturiranje_eu_i18n_upgrade.dok.json","weise3_id":"","tip":"upgrade","naziv":"Fakturiranje — EU i18n upgrade (24 jezika)","kreator":"cc","datum":"2026-05-23T00:00:00Z","snippet":"Kreiran /var/www/fenix-v4/invoicing/i18n.py — novi i18n engine · 24 europska jezika: hr en de fr it sl pl cs sk hu ro bg nl pt es sv fi da no el lt lv et mt · 6 kategorija prijevoda po jeziku: doctype, status, labels (28 labela), payment, tax, ack","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"upgrade","naziv":"Fakturiranje — EU i18n upgrade (24 jezika)","sto_treba":"Kompletna nadogradnja invoicing modula u fenix-v4 — višejezično fakturiranje za sve EU tržišta","sto_je_napravljeno":["Kreiran /var/www/fenix-v4/invoicing/i18n.py — novi i18n engine","24 europska jezika: hr en de fr it sl pl cs sk hu ro bg nl pt es sv fi da no el lt lv et mt","6 kategorija prijevoda po jeziku: doctype, status, labels (28 labela), payment, tax, ack","lang_for_invoice(country_code, client_country, preferred_lang) — 3-slojna detekcija","Alias sustav: bs→hr, sr→hr, ga→en, ca→es, lb→fr, nn/nb→no","EU i INT country kodovi preskočeni u prioritetu — client_country ima prednost","Proširena InvoiceCountry enum: +28 novih ISO-2 kodova (FR IT PL NL ES BE PT SE DK FI NO CZ SK HU RO BG SI LT LV EE EL GR MT IE LU LI IS GB)","Dodano preferred_lang polje na Invoice model — ručni override jezika","Migracija 0017: ALTER TYPE inv_country + ADD COLUMN preferred_lang","router.py: _portal_lang() → lang_for_invoice(), ack_message() iz i18n","pdf.py: get_t(lang) injektiran u template context kao 't'","Sve provjere prošle: imports OK, 24 langs OK, migration OK, service restart OK"],"jezici":{"hr":"Račun / Ponuda / Predračun / Dobropis / Otpremnica","de":"Rechnung / Angebot / Gutschrift / Lieferschein","fr":"Facture / Devis / Avoir / Bon de livraison","it":"Fattura / Preventivo / Nota di credito / DDT","pl":"Faktura VAT / Faktura korygująca","cs":"Faktura / Dobropis","el":"Τιμολόγιο / Πιστωτικό Τιμολόγιο"},"pametna_detekcija":{"korak_0":"preferred_lang override (ručno na Invoice.preferred_lang)","korak_1":"invoice.country ISO-2 kod (HR→hr, DE→de, FR→fr...)","korak_2":"invoice.client_country slobodni tekst ('France'→fr, 'Polska'→pl...)","korak_3":"fallback: 'en'"},"vat_lokalizacija":{"hr":"PDV","de":"MwSt.","fr":"TVA","it":"IVA","es":"IVA","pl":"VAT","cs":"DPH","sk":"DPH","hu":"ÁFA","ro":"TVA","bg":"ДДС","nl":"BTW","pt":"IVA","sv":"Moms","fi":"ALV","da":"Moms","no":"MVA","el":"ΦΠΑ","lt":"PVM","lv":"PVN","et":"KM","sl":"DDV","mt":"VAT"},"zakon":["ZAKON 0","ZAKON 26","ZAKON 27","ZAKON 32"],"fajlovi":["/var/www/fenix-v4/invoicing/i18n.py","/var/www/fenix-v4/invoicing/models.py","/var/www/fenix-v4/invoicing/router.py","/var/www/fenix-v4/invoicing/pdf.py","/var/www/fenix-v4/migrations/versions/0017_invoicing_i18n.py"],"api_promjene":{"nova_polja_na_invoice":["preferred_lang (String 5, prazan = auto)"],"novi_country_kodovi":["FR","IT","PL","NL","ES","PT","SE","DK","FI","NO","CZ","SK","HU","RO","BG","SI","LT","LV","EE","EL","MT","IE","GB"],"template_varijable":["t (dict sa svim prijevodima)","doctype_label (lokalizirani naziv tipa)","status_label (lokalizirani status)"]},"sljedeci_korak":"Ažurirati PDF template (pdf_invoice.html) i portal.html da koriste {{ t.labels.* }} varijable umjesto hardcoded hrvatskog teksta","sesija":"2026-05-23","kreator":"cc","nastao":"2026-05-23T00:00:00Z"}}