refactor: internationalize privacy-policy page with next-intl
- Extract all privacy-policy text content into messages/en.json and messages/hr.json - Add complete Croatian translation for privacy policy - Update privacy-policy page to use next-intl translations with t.rich() - Rename component from ConsentPage to PrivacyPolicyPage for clarity - Replace hardcoded text with translation keys for full i18n support 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,38 +1,60 @@
|
|||||||
import { Main } from "@/app/ui/Main";
|
import { Main } from "@/app/ui/Main";
|
||||||
|
import { getTranslations } from "next-intl/server";
|
||||||
|
|
||||||
const ConsentPage = () =>
|
const PrivacyPolicyPage = async () => {
|
||||||
<Main>
|
const t = await getTranslations("privacy-policy-page");
|
||||||
<article className="prose container mx-auto px-6">
|
|
||||||
<h1>Application Privacy Policy for Home Utility Bills Tracking Web App</h1>
|
|
||||||
<h2>1. Introduction</h2>
|
|
||||||
<p>Welcome to our Home Utility Bills Tracking Web Application (“App”). This Privacy Policy is intended to inform you about how we collect, use, and disclose your personal information through the operation of the App.</p>
|
|
||||||
<h2>2. Information We Collect</h2>
|
|
||||||
<ol>
|
|
||||||
<li><strong>Information You Provide</strong>: This includes the billing locations, bill names, attached documents, and any other data you enter into the App.</li>
|
|
||||||
<li><strong>Information from Google OAuth</strong>: When you authenticate using Google OAuth, we receive your email address and OAuth ID.</li>
|
|
||||||
</ol>
|
|
||||||
<h2>3. How We Use Your Information</h2>
|
|
||||||
<ol>
|
|
||||||
<li><strong>To Provide Our Service</strong>: We use your information to operate, maintain, and provide to you the features and functionality of the App.</li>
|
|
||||||
<li><strong>Communication</strong>: We may use your email address to communicate with you, for example, to send you notifications about your account or updates to our Privacy Policy.</li>
|
|
||||||
</ol>
|
|
||||||
<h2>4. How We Store Your Information</h2>
|
|
||||||
<p>Your information is stored on secure servers and is only accessible to a limited number of persons who have special access rights to such systems.</p>
|
|
||||||
<h2>5. Sharing of Your Information</h2>
|
|
||||||
<p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our website, conducting our business, or servicing you, so long as those parties agree to keep this information confidential.</p>
|
|
||||||
<h2>6. Security</h2>
|
|
||||||
<p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information.</p>
|
|
||||||
<h2>7. Your Choices and Rights</h2>
|
|
||||||
<p>You have the right to access, update or request the deletion of your personal information. Please contact us directly to exercise these rights.</p>
|
|
||||||
<h2>8. Data Retention</h2>
|
|
||||||
<p>We will retain your information for as long as your account is active or as needed to provide you services. We will also retain and use your information as necessary to comply with our legal obligations, resolve disputes, and enforce our agreements.</p>
|
|
||||||
<h2>9. Changes to Our Privacy Policy</h2>
|
|
||||||
<p>We may update this privacy policy to reflect changes to our information practices. If we make any material changes, we will notify you by email (sent to the e-mail address specified in your account) or by means of a notice on this App prior to the change becoming effective.</p>
|
|
||||||
<h2>10. Contact Us</h2>
|
|
||||||
<p>If you have any questions about this Privacy Policy, please contact us at <a href="mail:support@rezije.app">support@rezije.app</a>.</p>
|
|
||||||
<h2>11. Consent</h2>
|
|
||||||
<p>By using our App, you consent to our privacy policy.</p>
|
|
||||||
</article>
|
|
||||||
</Main>;
|
|
||||||
|
|
||||||
export default ConsentPage;
|
const richTextFormat = {
|
||||||
|
strong: (chunks: React.ReactNode) => <strong>{chunks}</strong>,
|
||||||
|
a: (chunks: React.ReactNode) => <a href="mailto:support@rezije.app">{chunks}</a>
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Main>
|
||||||
|
<article className="prose container mx-auto px-6">
|
||||||
|
<h1>{t("title")}</h1>
|
||||||
|
|
||||||
|
<h2>{t("section-1.heading")}</h2>
|
||||||
|
<p>{t("section-1.content")}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-2.heading")}</h2>
|
||||||
|
<ol>
|
||||||
|
<li>{t.rich("section-2.item-1", richTextFormat)}</li>
|
||||||
|
<li>{t.rich("section-2.item-2", richTextFormat)}</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<h2>{t("section-3.heading")}</h2>
|
||||||
|
<ol>
|
||||||
|
<li>{t.rich("section-3.item-1", richTextFormat)}</li>
|
||||||
|
<li>{t.rich("section-3.item-2", richTextFormat)}</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<h2>{t("section-4.heading")}</h2>
|
||||||
|
<p>{t("section-4.content")}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-5.heading")}</h2>
|
||||||
|
<p>{t("section-5.content")}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-6.heading")}</h2>
|
||||||
|
<p>{t("section-6.content")}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-7.heading")}</h2>
|
||||||
|
<p>{t("section-7.content")}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-8.heading")}</h2>
|
||||||
|
<p>{t("section-8.content")}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-9.heading")}</h2>
|
||||||
|
<p>{t("section-9.content")}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-10.heading")}</h2>
|
||||||
|
<p>{t.rich("section-10.content", richTextFormat)}</p>
|
||||||
|
|
||||||
|
<h2>{t("section-11.heading")}</h2>
|
||||||
|
<p>{t("section-11.content")}</p>
|
||||||
|
</article>
|
||||||
|
</Main>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default PrivacyPolicyPage;
|
||||||
|
|||||||
@@ -330,5 +330,54 @@
|
|||||||
"heading": "11. Contact Us",
|
"heading": "11. Contact Us",
|
||||||
"content": "If you have any questions about these Terms, please contact us at <a href=\"mail:support@rezije.app\">support@rezije.app</a>."
|
"content": "If you have any questions about these Terms, please contact us at <a href=\"mail:support@rezije.app\">support@rezije.app</a>."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"privacy-policy-page": {
|
||||||
|
"title": "Application Privacy Policy for Home Utility Bills Tracking Web App",
|
||||||
|
"section-1": {
|
||||||
|
"heading": "1. Introduction",
|
||||||
|
"content": "Welcome to our Home Utility Bills Tracking Web Application (\"App\"). This Privacy Policy is intended to inform you about how we collect, use, and disclose your personal information through the operation of the App."
|
||||||
|
},
|
||||||
|
"section-2": {
|
||||||
|
"heading": "2. Information We Collect",
|
||||||
|
"item-1": "<strong>Information You Provide</strong>: This includes the billing locations, bill names, attached documents, and any other data you enter into the App.",
|
||||||
|
"item-2": "<strong>Information from Google OAuth</strong>: When you authenticate using Google OAuth, we receive your email address and OAuth ID."
|
||||||
|
},
|
||||||
|
"section-3": {
|
||||||
|
"heading": "3. How We Use Your Information",
|
||||||
|
"item-1": "<strong>To Provide Our Service</strong>: We use your information to operate, maintain, and provide to you the features and functionality of the App.",
|
||||||
|
"item-2": "<strong>Communication</strong>: We may use your email address to communicate with you, for example, to send you notifications about your account or updates to our Privacy Policy."
|
||||||
|
},
|
||||||
|
"section-4": {
|
||||||
|
"heading": "4. How We Store Your Information",
|
||||||
|
"content": "Your information is stored on secure servers and is only accessible to a limited number of persons who have special access rights to such systems."
|
||||||
|
},
|
||||||
|
"section-5": {
|
||||||
|
"heading": "5. Sharing of Your Information",
|
||||||
|
"content": "We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our website, conducting our business, or servicing you, so long as those parties agree to keep this information confidential."
|
||||||
|
},
|
||||||
|
"section-6": {
|
||||||
|
"heading": "6. Security",
|
||||||
|
"content": "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information."
|
||||||
|
},
|
||||||
|
"section-7": {
|
||||||
|
"heading": "7. Your Choices and Rights",
|
||||||
|
"content": "You have the right to access, update or request the deletion of your personal information. Please contact us directly to exercise these rights."
|
||||||
|
},
|
||||||
|
"section-8": {
|
||||||
|
"heading": "8. Data Retention",
|
||||||
|
"content": "We will retain your information for as long as your account is active or as needed to provide you services. We will also retain and use your information as necessary to comply with our legal obligations, resolve disputes, and enforce our agreements."
|
||||||
|
},
|
||||||
|
"section-9": {
|
||||||
|
"heading": "9. Changes to Our Privacy Policy",
|
||||||
|
"content": "We may update this privacy policy to reflect changes to our information practices. If we make any material changes, we will notify you by email (sent to the e-mail address specified in your account) or by means of a notice on this App prior to the change becoming effective."
|
||||||
|
},
|
||||||
|
"section-10": {
|
||||||
|
"heading": "10. Contact Us",
|
||||||
|
"content": "If you have any questions about this Privacy Policy, please contact us at <a href=\"mail:support@rezije.app\">support@rezije.app</a>."
|
||||||
|
},
|
||||||
|
"section-11": {
|
||||||
|
"heading": "11. Consent",
|
||||||
|
"content": "By using our App, you consent to our privacy policy."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -327,5 +327,54 @@
|
|||||||
"heading": "11. Kontaktirajte nas",
|
"heading": "11. Kontaktirajte nas",
|
||||||
"content": "Ako imate bilo kakvih pitanja o ovim Uvjetima, molimo kontaktirajte nas na <a href=\"mail:support@rezije.app\">support@rezije.app</a>."
|
"content": "Ako imate bilo kakvih pitanja o ovim Uvjetima, molimo kontaktirajte nas na <a href=\"mail:support@rezije.app\">support@rezije.app</a>."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"privacy-policy-page": {
|
||||||
|
"title": "Pravila privatnosti za web aplikaciju za evidenciju režija",
|
||||||
|
"section-1": {
|
||||||
|
"heading": "1. Uvod",
|
||||||
|
"content": "Dobrodošli u našu web aplikaciju za evidenciju režija (\"Aplikacija\"). Ova Pravila privatnosti namijenjene su da vas informiraju o tome kako prikupljamo, koristimo i otkrivamo vaše osobne podatke putem rada Aplikacije."
|
||||||
|
},
|
||||||
|
"section-2": {
|
||||||
|
"heading": "2. Informacije koje prikupljamo",
|
||||||
|
"item-1": "<strong>Informacije koje vi pružate</strong>: Ovo uključuje lokacije naplate, nazive računa, priložene dokumente i bilo koje druge podatke koje unesete u Aplikaciju.",
|
||||||
|
"item-2": "<strong>Informacije od Google OAuth-a</strong>: Kada se autentificirate koristeći Google OAuth, primamo vašu email adresu i OAuth ID."
|
||||||
|
},
|
||||||
|
"section-3": {
|
||||||
|
"heading": "3. Kako koristimo vaše informacije",
|
||||||
|
"item-1": "<strong>Za pružanje naše usluge</strong>: Koristimo vaše informacije za rad, održavanje i pružanje vam značajki i funkcionalnosti Aplikacije.",
|
||||||
|
"item-2": "<strong>Komunikacija</strong>: Možemo koristiti vašu email adresu za komunikaciju s vama, na primjer, za slanje obavijesti o vašem računu ili ažuriranjima naših Pravila privatnosti."
|
||||||
|
},
|
||||||
|
"section-4": {
|
||||||
|
"heading": "4. Kako pohranjujemo vaše informacije",
|
||||||
|
"content": "Vaše informacije pohranjuju se na sigurnim poslužiteljima i dostupne su samo ograničenom broju osoba koje imaju posebna prava pristupa takvim sustavima."
|
||||||
|
},
|
||||||
|
"section-5": {
|
||||||
|
"heading": "5. Dijeljenje vaših informacija",
|
||||||
|
"content": "Ne prodajemo, ne razmjenjujemo niti na drugi način prenosimo trećim stranama vaše osobno identificirajuće informacije. To ne uključuje pouzdane treće strane koje nam pomažu u radu naše web stranice, vođenju našeg poslovanja ili pružanju usluga vama, pod uvjetom da se te strane slažu držati te informacije povjerljivima."
|
||||||
|
},
|
||||||
|
"section-6": {
|
||||||
|
"heading": "6. Sigurnost",
|
||||||
|
"content": "Provodimo različite sigurnosne mjere kako bismo održali sigurnost vaših osobnih informacija kada unosite, predajete ili pristupate vašim osobnim informacijama."
|
||||||
|
},
|
||||||
|
"section-7": {
|
||||||
|
"heading": "7. Vaši izbori i prava",
|
||||||
|
"content": "Imate pravo pristupiti, ažurirati ili zatražiti brisanje vaših osobnih informacija. Molimo kontaktirajte nas izravno kako biste ostvarili ta prava."
|
||||||
|
},
|
||||||
|
"section-8": {
|
||||||
|
"heading": "8. Zadržavanje podataka",
|
||||||
|
"content": "Zadržat ćemo vaše informacije sve dok je vaš račun aktivan ili dok je potrebno za pružanje usluga. Također ćemo zadržati i koristiti vaše informacije u mjeri potrebnoj za ispunjavanje naših zakonskih obveza, rješavanje sporova i provedbu naših ugovora."
|
||||||
|
},
|
||||||
|
"section-9": {
|
||||||
|
"heading": "9. Izmjene naših Pravila privatnosti",
|
||||||
|
"content": "Možemo ažurirati ova pravila privatnosti kako bismo odražavali promjene u našim praksama informacija. Ako napravimo bilo kakve materijalne promjene, obavijestit ćemo vas putem email-a (poslanog na email adresu navedenu u vašem računu) ili putem obavijesti na ovoj Aplikaciji prije nego što promjena stupi na snagu."
|
||||||
|
},
|
||||||
|
"section-10": {
|
||||||
|
"heading": "10. Kontaktirajte nas",
|
||||||
|
"content": "Ako imate bilo kakvih pitanja o ovim Pravilima privatnosti, molimo kontaktirajte nas na <a href=\"mail:support@rezije.app\">support@rezije.app</a>."
|
||||||
|
},
|
||||||
|
"section-11": {
|
||||||
|
"heading": "11. Pristanak",
|
||||||
|
"content": "Korištenjem naše Aplikacije pristajete na naša pravila privatnosti."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user