diff --git a/.gitignore b/.gitignore
index f624b7ef..a229d489 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,4 +41,4 @@ yarn-error.log*
.idea
-storybook-static
\ No newline at end of file
+storybook-static
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..9079b2b6
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,84 @@
+# Contributing to Zazelenimo
+
+Thank you for your interest in contributing to Zazelenimo! We're excited to have you join our community of contributors working to improve participatory budgeting for green spaces.
+
+## 🚀 Getting Started
+
+1. Fork the repository
+2. Clone your fork:
+```bash
+git clone https://github.com/your-username/zazelenimo.git
+```
+3. Create a new branch:
+```bash
+git checkout -b feature/your-feature-name
+```
+
+## 💻 Development Setup
+
+1. Install dependencies:
+```bash
+pnpm i
+```
+
+2. Start the development server:
+```bash
+pnpm dev
+```
+
+## 🤝 Contribution Guidelines
+
+### Code Style
+- Follow the existing code style
+- Use meaningful variable and function names
+- Add comments for complex logic
+- Write clean, maintainable code
+
+### Commits
+- Use clear, descriptive commit messages
+- Follow conventional commits format:
+ - `feat:` for new features
+ - `fix:` for bug fixes
+ - `docs:` for documentation changes
+ - `style:` for formatting changes
+ - `refactor:` for code refactoring
+ - `test:` for adding tests
+ - `chore:` for maintenance tasks
+
+### Pull Requests
+1. Update your fork to the latest main branch
+2. Test your changes thoroughly
+3. Update documentation if needed
+4. Create a pull request with a clear description of changes
+5. Link any related issues
+
+## 🐛 Reporting Issues
+
+- Use the GitHub issue tracker
+- Check if the issue already exists
+- Include clear steps to reproduce
+- Provide relevant system information
+- Add screenshots if applicable
+
+## 📝 Documentation
+
+- Update documentation for any new features
+- Keep the README.md up to date
+- Add inline comments for complex code
+
+## 🌍 Translations
+
+We welcome contributions to improve our Croatian translations or add new languages. Please contact the maintainers before starting significant translation work.
+
+## 🤔 Questions?
+
+- Check our [Documentation](https://docs.zazelenimo.com/)
+- Create a GitHub Discussion
+
+## 📜 Code of Conduct
+
+By participating in this project, you agree to abide by our Code of Conduct (see CODE_OF_CONDUCT.md).
+
+## 📄 License
+
+By contributing to Zazelenimo, you agree that your contributions will be licensed under the MIT License.
diff --git a/FUNDING.json b/FUNDING.json
new file mode 100644
index 00000000..4ece3f2d
--- /dev/null
+++ b/FUNDING.json
@@ -0,0 +1,7 @@
+{
+ "drips": {
+ "ethereum": {
+ "ownedBy": "0xeADe5F65F6413758b3b29b6EE4514f787AECe468"
+ }
+ }
+}
diff --git a/README.md b/README.md
index 6f1d6f6f..f3fcde36 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,61 @@
-# muqa
-Municipal Quadratic Funding Initiative
+# 🌿 Zazelenimo - Municipal Quadratic Funding Initiative
-## Installation
-```bash
-# Install the pnpm package manager
-npm install -g pnpm # via npm
-brew install pnpm # or via homebrew
+## 🌍 About
+
+Zazelenimo is an innovative online platform for implementing participatory budgeting programs in cities, with a focus on green space projects. This pilot project, part of the Municipal Quadratic Funding Initiative (MUQA), is based on Ethereum technology and the concept of Quadratic Funding.
+
+### 🏙️ Current Implementation: Split, Croatia
+
+The current implementation is designed for the city of Split, allowing citizens to propose, discuss, and vote on green space projects.
+
+## 🚀 Features
+
+- 📝 Project Proposal Submission
+- 🗳️ Quadratic Funding Voting Mechanism
+- 💬 Public Discussion Forum
+- 🗺️ Interactive Project Map
+- 🌐 Multi-language Support (English and Croatian)
+
+## 🛠️ Technology Stack
+- Next.js
+- Ethereum Blockchain
+- Quadratic Funding Algorithm
+
+## 🏗️ Installation
+```bash
# Install dependencies
pnpm i
-# Run in dev environment
-pnpm dev
-
# Build
pnpm build
+
+# Run in dev environment
+pnpm dev
```
+
+## 🤝 Contributing
+
+We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for more details.
+
+## 📚 Documentation
+
+For more detailed information, please visit our [Documentation](https://docs.zazelenimo.com/).
+
+## 💬 Community
+
+Join our [Forum](https://forum.zazelenimo.com/) to participate in discussions and stay updated.
+
+## 🔗 Useful Links
+- [Live site](https://zazelenimo.com)
+- [MUQA Initiative](https://muqa.org)
+- [GitHub Repository](https://github.com/muqa-org/zazelenimo)
+- [Facebook Page](https://www.facebook.com/parkovisplit)
+
+## 🙏 Acknowledgements
+
+This project is funded by the Ethereum Foundation.
+
+## 📄 License
+
+This project is licensed under the [MIT License](LICENSE).
diff --git a/apps/platform/.env.example b/apps/platform/.env.example
index 079ea58a..8c142e9b 100644
--- a/apps/platform/.env.example
+++ b/apps/platform/.env.example
@@ -1,3 +1,5 @@
+NEXT_PUBLIC_URL=https://zazelenimo.com
+
# NEXT_PUBLIC_CHAIN=POLYGON
# NEXT_PUBLIC_CHAIN=ARBITRUM_SEPOLIA
# NEXT_PUBLIC_CHAIN=AVALANCHE_FUJI
@@ -21,12 +23,19 @@ NEXT_PUBLIC_ARBITRUM_SEPOLIA_TENDERLY_RPC=your-tenderly-rpc-url
NEXT_PUBLIC_AVALANCHE_FUJI_COMETH_API_KEY=your-cometh-avalanche-fuji-api-key
NEXT_PUBLIC_AVALANCHE_FUJI_TENDERLY_RPC=your-tenderly-rpc-url
+# OPTIMISM_SEPOLIA
+NEXT_PUBLIC_OPTIMISM_SEPOLIA_COMETH_API_KEY=your-cometh-optimism-sepolia-api-key
+NEXT_PUBLIC_OPTIMISM_SEPOLIA_TENDERLY_RPC=your-tenderly-rpc-url
+
NEXT_PUBLIC_GOOGLE_API_KEY=your-google-api-key
# Feature flags
NEXT_PUBLIC_SHOW_WALLET_STATUS=
NEXT_PUBLIC_SHOW_CONNECT_BUTTON=
NEXT_PUBLIC_SHOW_CART_LINK=
+NEXT_PUBLIC_ALLOW_ROUND_INPUT=
+NEXT_PUBLIC_USE_DUMMY_DATA=
+NEXT_PUBLIC_SHOW_PROJECTS_PAGE=
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-nextauth-secret
@@ -36,3 +45,10 @@ MAILGUN_API_KEY=
MAILGUN_DOMAIN=
MAILGUN_API_HOST=
MAILGUN_RECEIVER_EMAIL=
+
+# PostHog settings
+NEXT_PUBLIC_POSTHOG_API_KEY=
+
+# Custom grants stack indexer url
+GRANTS_STACK_INDEXER_URL=
+NEXT_PUBLIC_IPFS_GATEWAY_URL=
diff --git a/apps/platform/messages/en.json b/apps/platform/messages/en.json
index c7eb06c8..c44a2fb5 100644
--- a/apps/platform/messages/en.json
+++ b/apps/platform/messages/en.json
@@ -1,223 +1,237 @@
{
- "home": {
- "notification": "We are accepting project proposals. Submit proposal now.",
- "heroText": "Propose a project for a green space. Ideas with the most votes will get funding.",
- "exampleProjectSubtitle": "Example project",
- "exampleNeighborhood": "Neighborhoods",
- "exampleStreet": "Street",
- "exampleLocationDescription": "Location description",
- "exampleProjectDescription": "Project description",
- "stats": "Stats",
- "statsBudget": "City's budget for this round.",
- "statsAccepted": "Will be accepted into call.",
- "statsLearn": "Learn why.",
- "statsPeriod": "Period for voting.",
- "bannerMessage": "Now accepting proposals",
- "projectsSuffix": "projects",
- "days": "days",
- "bannerButtonText": "Propose a project"
- },
- "navigation": {
- "home": "Home",
- "projects": "Projects",
- "myContribution": "My contribution",
- "results": "Results",
- "propose": "Propose a project",
- "documentation": "Documentation",
- "forum": "Forum",
- "faq": "Faq"
- },
- "auth": {
- "connect": "Sign in",
- "connecting": "Connecting...",
- "reconnect": "Reconnect...",
- "disconnect": "Disconnect"
- },
- "round": {
- "timeline": "Timeline",
- "timelinePeriod": "August - September 2024",
- "projects": "projects",
- "buttonTitle": "Propose a project",
- "roundApplication": "PROPOSALS",
- "roundDonation": "DONATING",
- "roundVotes": "CALCULATION",
- "roundResults": "IMPLEMENTATION"
- },
- "eligibleProjects": {
- "title": "Eligible Projects",
- "public": "Public land in Split",
- "publicPrivate": "Private garden",
- "publicStreet": "Public street",
- "can": "Can be done in time",
- "canHuge": "Huge park with lakes",
- "canSmall": "Small area with a few trees",
- "conflicting": "No conflicting plans or uses",
- "conflictingMiddle": "Middle of a road",
- "conflictingGreeen": "Green patch next to road",
- "contains": "Contains only these interventions",
- "containsTrees": "Trees",
- "containsGrass": "Grass",
- "containsBenches": "Benches",
- "containsCleanup": "Cleanup",
- "containsBushes": "Bushes",
- "containsFlowers": "Flowers",
- "containsTaps": "Taps",
- "containsDesign": "Design"
- },
- "fundsAllocated": {
- "title": "How are funds allocated?",
- "votingMechanism": "A new voting mechanism is used, called Quadratic Funding. The project with most donations will get the most funding from the City.",
- "allowsAnyone": "It allows anyone to vote by donating money to their favourite projects. With every donation, funding is given to project fromthe matching pool."
- },
- "faq": {
- "title": "Frequently asked questions",
- "zazelenimo": "What is Zazelenimo?",
- "zazelenimoAnswer1": "Zazelenimo is an online application for the implementation of participatory budgeting programs in cities.",
- "zazelenimoAnswer2": "The special feature of Zazelenimo, compared to other applications that have the same purpose, is the use of Ethereum and a special form of voting called square funding.",
- "participatory": "What is participatory budgeting?",
- "participatoryAnswer1": "Participatory budgeting is a form of involving citizens in deciding on the distribution of budget funds of public authorities.",
- "participatoryAnswer2": "PB most often implies that citizens propose and then vote on proposals for communal and other types of projects that will be implemented in the local community from the joint budget.",
- "ethereum": "What is Ethereum?",
- "ethereumAnswer": "Ethereum is a decentralized blockchain platform that enables the creation of smart contracts and decentralized applications (dApps). In the Zazelenimo application, it is used to ensure the transparency and security of voting and funding. Every transaction and vote is recorded on the blockchain, which enables a clear and secure overview of all activities.",
- "quadratic": "What is quadratic Funding?",
- "quadraticAnswer": "Quadratic funding is an innovative voting and funding system where the strength of each vote depends on the number of supporters, not the size of an individual donation. This means that projects that get more support with smaller amounts from more citizens have a better chance of getting funding than projects that depend on large donations from a small number of people. The goal is to enable a more equal and fair financing system.",
- "participate": "Who can participate in Zazelenimo?",
- "participateAnswer": "Anyone can propose a project, participate in the elaboration of any proposal and vote for the proposals that are offered for voting.",
- "participateZazelenimo": "How do I participate in Zazelenimo?",
- "participateZazelenimoAnswer": "On these pages, you can get information about how Zazelenimo works and how you can use it. In addition, you can use Zazelenimo in the following ways:",
- "participateZazelenimoList1": "Proposal. If you want to make an intervention proposal, you can do so by filling out the Proposal Form.",
- "participateZazelenimoList2": "Discussion. If you want to participate in the development of your own or other people's proposals, you can do so on the Forum, within the category Projects. Learn more about how to participate in the discussion on the Discussion page.",
- "participateZazelenimoList3": "Voting. If you want to vote for the proposals, you can do so through the Zazelenimo application available on the page zazelenimo.hr. Learn more about how to participate in the debate on the Voting page.",
- "participateZazelenimoList4": "Management. If you want to participate in the management of the Zazelenimo application and the entire project. You can do that on the Forum, within the Management category. Learn more about how to participate in the discussion on the Management page.",
- "participateNeed": "What do I need to participate in Zazelenimo?",
- "participateNeedAnswer": "It is enough to have a smartphone or a computer. Your user data will be saved on your device. That's why it's important not to lose access to your device.",
- "cost": "How much does proposing projects cost?",
- "costAnswer": "It's free. Anyone can propose a project, and if it is useful enough to the citizens, they will reward it with donations.",
- "observe": "Can I just watch Let's Go Green without actively participating?",
- "observeAnswer": "Of course. Public discussion of proposals is visible on the Forum even without registration. While voting is in progress, you can see at any time how many donations each project received."
- },
- "homeAbout": {
- "title": "About the project",
- "firstParagraph": "This project is pilot of Muqa - Municipal Quadratic Funding Initiative. It is based on the technology of Ethereum and idea of Quadratic funding.",
- "secondParagraph": "Development of our application is funded by Ethereum Foundation. Learn more about Muqa here."
- },
- "languages" : {
- "en": "English",
- "hr": "Hrvatski"
- },
- "projects" : {
- "title": "Projects",
- "map": "Map",
- "board": "Board",
- "neighborhood": "By neighborhood",
- "filterNeighborhood": "Filter by Neigbourghood",
- "projectsMap": "Projects on the map"
- },
- "projectCard" : {
- "funded": "funded"
- },
- "project" : {
- "funded": "funded of €{amount} goal ({percentage}%)",
- "backers": "backers",
- "daysGo": "days to go",
- "donationAmount": "Donation amount",
- "estimatedMatch": "Estimated match from the city",
- "supportProject": "Support the project by sharing"
- },
- "cart" : {
- "addCart": "Add to Cart",
- "selectedProjects": "Selected Projects",
- "emptyCart": "Your cart is empty",
- "emptyCartDescription": "Add some projects to your cart to proceed with the donation.",
- "browseProjects": "Browse projects",
- "funded": "funded",
- "removeAllProjects": "Remove all projects",
- "totalAmount": "Total amount",
- "finalSubmission": "This submission is final. Once you submit your ballot, you won't be able to change it.",
- "checkout": "Checkout",
- "donationSuccess": "Your donation has been successfully received!",
- "resultAvailable": "Results will be available after tallying on"
- },
- "footer" : {
- "documentation": "Documentation",
- "forum": "Forum"
- },
- "proposalForm" : {
- "title": "Send your proposal",
- "details": "Proposal details",
- "description": "Propose an investment in the green area of the city of Split.",
- "contact": "Contact information",
- "contactDescription": "Your contact information will not be published.",
- "projectTitle": "Proposal title",
- "projectTitleSuffix": "150 characters max",
- "projectDesc": "Mention the type of intervention and location in a few words.",
- "projectError": "Enter the name of your proposal. Minimum 10 characters.",
- "disctrictTitle": "Disctrict",
- "disctrictDesc": "Please indicate the district in which the proposal will be implemented.",
- "disctrictError": "Select a district.",
- "streetTitle": "Street",
- "streetDesc": "Specify the exact or approximate street with regard to where the proposal will be implemented.",
- "streetError": "Enter the street or approximate location of the project.",
- "locationTitle": "Location",
- "locationDesc": "Describe the location of proposed intervention.",
- "locationPlaceholder": "Side of the road on Dubrovačka street, from the tunnel to Poljička street...",
- "locationError": "Write a little more about the location.",
- "descriptionTitle": "Proposal description",
- "descriptionDesc": "What should be done? Why is that important? Why that location? Who all will benefit from this project?",
- "descriptionPlaceholder": "Plant tall trees between existing small Oleander trees planted in this strip. Tall trees will provide needed shade for pedestrians, make the air cleaner and cooler, especially in the summer, and shield the entrance of the tunnel from the winds, while shielding the buildings from the noise from the tunnel.",
- "descriptionError": "Write a little more about your project proposal.",
- "nameTitle": "Your name and surname",
- "nameDesc": "Enter your first and last name.",
- "nameError": "Enter your name and surname.",
- "proposerTitle": "Name of proposer",
- "proposerDesc": "Provide the name of the individual citizen, group of citizens, or an organisation making the proposal. If you want to remain publicly unidentified, you can use a nickname.",
- "proposerError": "Enter your name or organization name.",
- "publishTitle": "Do I want you to publish my name with the proposal",
- "publishDesc": "Leave it blank if you do not want your name as the proposer to appear in the public announcement of the proposal on the forum.",
- "emailTitle": "E-mail",
- "emailDesc": "The main way of communication. When we receive your proposal, we will contact you for clarifications and more.",
- "emailError": "You have entered an invalid email address",
- "mobileTitle": "Mobile number",
- "mobileDesc": "In case we cannot reach you via email, leave a number so we can call you.",
- "mobileError": "You have entered an incorrect mobile phone number",
- "futherTitle": "I want to participate in the further elaboration of the proposal",
- "futherYes": "Yes",
- "futherNo": "No",
- "futherDesc": "We will check your proposal and publish it on the Zazelenimo Split Forum (forum.zazelenimo.com). There you can join the discussion about the proposal.",
- "futherError": "Confirm whether or not you want to participate in the further elaboration of the proposal",
- "additionalTitle": "Additional information",
- "additionalDesc": "If you have additional documents, links or information to support your proposal, please include them here.",
- "formFooterDesc1": "Notice: By submitting a proposal, you confirm that all information provided is true and correct to the best of your knowledge.",
- "formFooterDesc2": "Please make your proposal thorough and clear. If you have any questions or need help, please feel free to contact the program coordinators.",
- "formFooterDesc3": "Let's make Split greener together!",
- "buttonName": "Submit",
- "buttonSubmitting": "Submitting...",
- "fotoTitle": "Photos",
- "fotoButton": "Add photos",
- "fotoDesc": "You can attach more photos. Make sure that the surfaces on which the intervention is proposed are clearly visible in the photographs.",
- "notification": "There are errors in the form. Please check and correct them.",
- "proposalLastData": "This proposal is currently under review. At this stage, only members of our expert team can comment on proposals. Once the proposal has been reviewed and meets all the criteria, it will be published publicly on the Forum and opened for comments. Please register and follow this topic to stay informed about the next steps.",
- "success": "Your proposal has been successfully submitted and you will now be redirected to the proposal topic on our Forum.",
- "successDesc": "You currently cannot comment on the proposal as it is under review by our expert team. We will notify you when the public discussion is open.",
- "termsTitle": "I accept the terms of use of Zazelenimo",
- "termsDesc": "Available at: zazelenimo.hr/terms",
- "termsError": "Confirm that you accept the terms of use of Zazelenimo",
- "privacyTitle": "I accept the terms of use of Zazelenimo",
- "privacyDesc": "Available at: zazelenimo.hr/privacy",
- "privacyError": "Confirm that you accept the privacy policy of Zazelenimo",
- "allowTitle": "I allow Zazelenimo to contact me and inform me about my proposal",
- "allowError": "Confirm that you accept that Zazelenimo contacts and informs you about your proposal",
- "accept": "I accept the Terms of Use and Privacy Policy",
- "acceptError": "Confirm that you accept the terms of use and privacy policy of Zazelenimo"
- },
- "proposalMail" : {
- "subject": "Your proposal has been successfully received!",
- "messagePart1": "Dear {name},",
- "messagePart2": "Thank you for submitting your proposal for Zazelenimo Split. Your proposal has been successfully received and is currently under review by our expert team.",
- "messagePart3": "You can view your proposal and track its progress at the following link: Link to proposal",
- "messagePart4": "Please note that you will not be able to comment on the proposal at this stage. Once the proposal has been reviewed and meets all the conditions, it will be made public and opened for discussion. We recommend that you register on our Forum and follow the topic to receive notifications on the next steps.",
- "messagePart5": "If you have any questions, feel free to contact us.",
- "messagePart6": "Best regards,",
- "messagePart7": "The Zazelenimo Split Team"
- }
+ "home": {
+ "notification": "We are accepting project proposals. Submit proposal now.",
+ "heroText": "Propose a project for a green space. Ideas with the most votes will get funding.",
+ "exampleProjectSubtitle": "Example project",
+ "exampleNeighborhood": "Neighborhoods",
+ "exampleStreet": "Street",
+ "exampleLocationDescription": "Location description",
+ "exampleProjectDescription": "Project description",
+ "stats": "Stats",
+ "statsBudget": "City's budget for this round.",
+ "statsAccepted": "Will be accepted into call.",
+ "statsLearn": "Learn why.",
+ "statsPeriod": "Period for voting.",
+ "bannerMessage": "Now accepting proposals",
+ "projectsSuffix": "projects",
+ "days": "days",
+ "bannerButtonText": "Propose a project"
+ },
+ "navigation": {
+ "home": "Home",
+ "projects": "Projects",
+ "myContribution": "My contribution",
+ "results": "Results",
+ "propose": "Propose a project",
+ "documentation": "Documentation",
+ "forum": "Forum",
+ "faq": "Faq"
+ },
+ "auth": {
+ "connect": "Sign in",
+ "connecting": "Connecting...",
+ "reconnect": "Reconnect...",
+ "disconnect": "Disconnect"
+ },
+ "round": {
+ "timeline": "Timeline",
+ "timelinePeriod": "August - September 2024",
+ "projects": "projects",
+ "buttonTitle": "Propose a project",
+ "roundApplication": "PROPOSALS",
+ "roundDonation": "DONATING",
+ "roundVotes": "CALCULATION",
+ "roundResults": "IMPLEMENTATION"
+ },
+ "eligibleProjects": {
+ "title": "Eligible Projects",
+ "public": "Public land in Split",
+ "publicPrivate": "Private garden",
+ "publicStreet": "Public street",
+ "can": "Can be done in time",
+ "canHuge": "Huge park with lakes",
+ "canSmall": "Small area with a few trees",
+ "conflicting": "No conflicting plans or uses",
+ "conflictingMiddle": "Middle of a road",
+ "conflictingGreeen": "Green patch next to road",
+ "contains": "Contains only these interventions",
+ "containsTrees": "Trees",
+ "containsGrass": "Grass",
+ "containsBenches": "Benches",
+ "containsCleanup": "Cleanup",
+ "containsBushes": "Bushes",
+ "containsFlowers": "Flowers",
+ "containsTaps": "Taps",
+ "containsDesign": "Design"
+ },
+ "fundsAllocated": {
+ "title": "How are funds allocated?",
+ "votingMechanism": "A new voting mechanism is used, called Quadratic Funding. The project with most donations will get the most funding from the City.",
+ "allowsAnyone": "It allows anyone to vote by donating money to their favourite projects. With every donation, you help your the voted project earn rights to a bigger share of the City's budget."
+ },
+ "faq": {
+ "title": "Frequently asked questions",
+ "zazelenimo": "What is Zazelenimo?",
+ "zazelenimoAnswer1": "Zazelenimo is an online application for the implementation of participatory budgeting programs in cities.",
+ "zazelenimoAnswer2": "The special feature of Zazelenimo, compared to other applications that have the same purpose, is the use of Ethereum and a special form of voting called square funding.",
+ "participatory": "What is participatory budgeting?",
+ "participatoryAnswer1": "Participatory budgeting is a form of involving citizens in deciding on the distribution of budget funds of public authorities.",
+ "participatoryAnswer2": "PB most often implies that citizens propose and then vote on proposals for communal and other types of projects that will be implemented in the local community from the joint budget.",
+ "ethereum": "What is Ethereum?",
+ "ethereumAnswer": "Ethereum is a decentralized blockchain platform that enables the creation of smart contracts and decentralized applications (dApps). In the Zazelenimo application, it is used to ensure the transparency and security of voting and funding. Every transaction and vote is recorded on the blockchain, which enables a clear and secure overview of all activities.",
+ "quadratic": "What is quadratic Funding?",
+ "quadraticAnswer": "Quadratic funding is an innovative voting and funding system where the strength of each vote depends on the number of supporters, not the size of an individual donation. This means that projects that get more support with smaller amounts from more citizens have a better chance of getting funding than projects that depend on large donations from a small number of people. The goal is to enable a more equal and fair financing system.",
+ "participate": "Who can participate in Zazelenimo?",
+ "participateAnswer": "Anyone can propose a project, participate in the elaboration of any proposal and vote for the proposals that are offered for voting.",
+ "participateZazelenimo": "How do I participate in Zazelenimo?",
+ "participateZazelenimoAnswer": "On these pages, you can get information about how Zazelenimo works and how you can use it. In addition, you can use Zazelenimo in the following ways:",
+ "participateZazelenimoList1": "Proposal. If you want to make an intervention proposal, you can do so by filling out the Proposal Form.",
+ "participateZazelenimoList2": "Discussion. If you want to participate in the development of your own or other people's proposals, you can do so on the Forum, within the category Projects. Learn more about how to participate in the discussion on the Discussion page.",
+ "participateZazelenimoList3": "Voting. If you want to vote for the proposals, you can do so through the Zazelenimo application available on the page zazelenimo.hr. Learn more about how to participate in the debate on the Voting page.",
+ "participateZazelenimoList4": "Management. If you want to participate in the management of the Zazelenimo application and the entire project. You can do that on the Forum, within the Management category. Learn more about how to participate in the discussion on the Management page.",
+ "participateNeed": "What do I need to participate in Zazelenimo?",
+ "participateNeedAnswer": "It is enough to have a smartphone or a computer. Your user data will be saved on your device. That's why it's important not to lose access to your device.",
+ "cost": "How much does proposing projects cost?",
+ "costAnswer": "It's free. Anyone can propose a project, and if it is useful enough to the citizens, they will reward it with donations.",
+ "observe": "Can I just watch Let's Go Green without actively participating?",
+ "observeAnswer": "Of course. Public discussion of proposals is visible on the Forum even without registration. While voting is in progress, you can see at any time how many donations each project received."
+ },
+ "homeAbout": {
+ "title": "About the project",
+ "firstParagraph": "This project is pilot of Muqa - Municipal Quadratic Funding Initiative. It is based on the technology of Ethereum and idea of Quadratic funding.",
+ "secondParagraph": "Development of our application is funded by Ethereum Foundation. Learn more about Muqa here."
+ },
+ "languages": {
+ "en": "English",
+ "hr": "Hrvatski"
+ },
+ "projects": {
+ "title": "Projects",
+ "map": "Map",
+ "board": "Board",
+ "neighborhood": "By neighborhood",
+ "filterNeighborhood": "Filter by Neigbourghood",
+ "projectsMap": "Projects on the map",
+ "noApplicationsMessage": "No projects match your criteria"
+ },
+ "projectCard": {
+ "funded": "funded"
+ },
+ "project": {
+ "funded": "funded of € {amount} goal",
+ "backers": "backers",
+ "daysGo": "days to go",
+ "donationAmount": "Donation amount",
+ "estimatedMatch": "Estimated match from the city",
+ "supportProject": "Support the project by sharing",
+ "projectNotFound": "Project not found"
+ },
+ "cart": {
+ "addCart": "Add to Cart",
+ "selectedProjects": "Selected Projects",
+ "emptyCart": "Your cart is empty",
+ "emptyCartDescription": "Add some projects to your cart to proceed with the donation.",
+ "browseProjects": "Browse projects",
+ "funded": "funded",
+ "removeAllProjects": "Remove all projects",
+ "totalAmount": "Total amount",
+ "finalSubmission": "This submission is final. Once you submit your ballot, you won't be able to change it.",
+ "checkout": "Checkout",
+ "donationSuccess": "Your donation has been successfully received!",
+ "resultAvailable": "Results will be available after tallying on"
+ },
+ "footer": {
+ "documentation": "Documentation",
+ "forum": "Forum"
+ },
+ "proposalForm": {
+ "title": "Send your proposal",
+ "details": "Proposal details",
+ "description": "Propose an investment in the green area of the city of Split.",
+ "contact": "Contact information",
+ "contactDescription": "Your contact information will not be published.",
+ "projectTitle": "Proposal title",
+ "projectTitleSuffix": "150 characters max",
+ "projectDesc": "Mention the type of intervention and location in a few words.",
+ "projectError": "Enter the name of your proposal. Minimum 10 characters.",
+ "disctrictTitle": "Disctrict",
+ "disctrictDesc": "Please indicate the district in which the proposal will be implemented.",
+ "disctrictError": "Select a district.",
+ "streetTitle": "Street",
+ "streetDesc": "Specify the exact or approximate street with regard to where the proposal will be implemented.",
+ "streetError": "Enter the street or approximate location of the project.",
+ "locationTitle": "Location",
+ "locationDesc": "Describe the location of proposed intervention.",
+ "locationPlaceholder": "Side of the road on Dubrovačka street, from the tunnel to Poljička street...",
+ "locationError": "Write a little more about the location.",
+ "descriptionTitle": "Proposal description",
+ "descriptionDesc": "What should be done? Why is that important? Why that location? Who all will benefit from this project?",
+ "descriptionPlaceholder": "Plant tall trees between existing small Oleander trees planted in this strip. Tall trees will provide needed shade for pedestrians, make the air cleaner and cooler, especially in the summer, and shield the entrance of the tunnel from the winds, while shielding the buildings from the noise from the tunnel.",
+ "descriptionError": "Write a little more about your project proposal.",
+ "nameTitle": "Your name and surname",
+ "nameDesc": "Enter your first and last name.",
+ "nameError": "Enter your name and surname.",
+ "proposerTitle": "Name of proposer",
+ "proposerDesc": "Provide the name of the individual citizen, group of citizens, or an organisation making the proposal. If you want to remain publicly unidentified, you can use a nickname.",
+ "proposerError": "Enter your name or organization name.",
+ "publishTitle": "Do I want you to publish my name with the proposal",
+ "publishDesc": "Leave it blank if you do not want your name as the proposer to appear in the public announcement of the proposal on the forum.",
+ "emailTitle": "E-mail",
+ "emailDesc": "The main way of communication. When we receive your proposal, we will contact you for clarifications and more.",
+ "emailError": "You have entered an invalid email address",
+ "mobileTitle": "Mobile number",
+ "mobileDesc": "In case we cannot reach you via email, leave a number so we can call you.",
+ "mobileError": "You have entered an incorrect mobile phone number",
+ "futherTitle": "I want to participate in the further elaboration of the proposal",
+ "futherYes": "Yes",
+ "futherNo": "No",
+ "futherDesc": "We will check your proposal and publish it on the Zazelenimo Split Forum (forum.zazelenimo.com). There you can join the discussion about the proposal.",
+ "futherError": "Confirm whether or not you want to participate in the further elaboration of the proposal",
+ "additionalTitle": "Additional information",
+ "additionalDesc": "If you have additional documents, links or information to support your proposal, please include them here.",
+ "formFooterDesc1": "Notice: By submitting a proposal, you confirm that all information provided is true and correct to the best of your knowledge.",
+ "formFooterDesc2": "Please make your proposal thorough and clear. If you have any questions or need help, please feel free to contact the program coordinators.",
+ "formFooterDesc3": "Let's make Split greener together!",
+ "buttonName": "Submit",
+ "buttonSubmitting": "Submitting...",
+ "fotoTitle": "Photos",
+ "fotoButton": "Add photos",
+ "fotoDesc": "You can attach more photos. Make sure that the surfaces on which the intervention is proposed are clearly visible in the photographs.",
+ "notification": "There are errors in the form. Please check and correct them.",
+ "proposalLastData": "This proposal is currently under review. At this stage, only members of our expert team can comment on proposals. Once the proposal has been reviewed and meets all the criteria, it will be published publicly on the Forum and opened for comments. Please register and follow this topic to stay informed about the next steps.",
+ "success": "Your proposal has been successfully submitted and you will now be redirected to the proposal topic on our Forum.",
+ "successDesc": "You currently cannot comment on the proposal as it is under review by our expert team. We will notify you when the public discussion is open.",
+ "termsTitle": "I accept the terms of use of Zazelenimo",
+ "termsDesc": "Available at: zazelenimo.hr/terms",
+ "termsError": "Confirm that you accept the terms of use of Zazelenimo",
+ "privacyTitle": "I accept the terms of use of Zazelenimo",
+ "privacyDesc": "Available at: zazelenimo.hr/privacy",
+ "privacyError": "Confirm that you accept the privacy policy of Zazelenimo",
+ "allowTitle": "I allow Zazelenimo to contact me and inform me about my proposal",
+ "allowError": "Confirm that you accept that Zazelenimo contacts and informs you about your proposal",
+ "accept": "I accept the Terms of Use and Privacy Policy",
+ "acceptError": "Confirm that you accept the terms of use and privacy policy of Zazelenimo",
+ "redirecting": "Redirecting in {seconds} seconds..."
+ },
+ "proposalMail": {
+ "subject": "Your proposal has been successfully received!",
+ "messagePart1": "Dear {name},",
+ "messagePart2": "This proposal is currently under review by our expert team. At this stage, only team members can comment. If approved, the proposal will be opened for public discussion.",
+ "messagePart3": "The content of your proposal:",
+ "messagePart4": "Title:",
+ "messagePart5": "Proposed by:",
+ "messagePart6": "Location description:",
+ "messagePart7": "Proposal description:",
+ "messagePart8": "Location photos:",
+ "messagePart9": "Link to the proposal:",
+ "messagePart10": "Register and follow this topic to stay informed about the next steps. Check out this guide on how to follow the topic. See all proposals currently in public discussion here: Public discussion.",
+ "messagePart11": "Best regards,",
+ "messagePart12": "Green Split team",
+ "messagePart13": "Proposer's full name:",
+ "messagePart14": "Proposer's email address:",
+ "messagePart15": "Proposer's mobile number:",
+ "messagePart16": "The proposer has accepted the terms of use of Green Split and the Privacy Policy:",
+ "messagePart17": "Yes",
+ "messagePart18": "No"
+ }
}
diff --git a/apps/platform/messages/hr.json b/apps/platform/messages/hr.json
index 907b0348..7819ee42 100644
--- a/apps/platform/messages/hr.json
+++ b/apps/platform/messages/hr.json
@@ -1,223 +1,237 @@
{
- "home": {
- "notification": "Primamo prijedloge projekata. Pošalji prijedlog sada.",
- "heroText": "Predložite projekt uređenja zelene površine. Ideje s najviše glasova dobit će financiranje.",
- "exampleProjectSubtitle": "Primjer projekta",
- "exampleNeighborhood": "Kvartovi",
- "exampleStreet": "Ulica",
- "exampleLocationDescription": "Opis lokacije",
- "exampleProjectDescription": "Opis projekta",
- "stats": "U brojkama",
- "statsBudget": "Gradski proračun za ovaj poziv.",
- "statsAccepted": "Bit će izabrano u uži krug.",
- "statsLearn": "Saznaj više.",
- "statsPeriod": "Trajanje glasovanja.",
- "bannerMessage": "Upravo prikupljamo prijedloge",
- "projectsSuffix": "projekata",
- "days": "dana",
- "bannerButtonText": "Predloži projekt"
- },
- "navigation": {
- "home": "Naslovnica",
- "projects": "Projekti",
- "myContribution": "Moj doprinos",
- "results": "Rezultati",
- "propose": "Predloži projekt",
- "documentation": "Dokumentacija",
- "forum": "Forum",
- "faq": "Najčešća pitanja"
- },
- "auth": {
- "connect": "Prijavi se",
- "connecting": "Prijavljujem se...",
- "reconnect": "Ponovno prijavljivanje...",
- "disconnect": "Odjavi"
- },
- "round": {
- "timeline": "Raspored",
- "timelinePeriod": "Kolovoz - Rujan 2024",
- "projects": "projekti",
- "buttonTitle": "Predloži projekt",
- "roundApplication": "PRIJAVE",
- "roundDonation": "GLASOVANJE",
- "roundVotes": "REZULTATI",
- "roundResults": "IZVEDBA"
- },
- "eligibleProjects": {
- "title": "Prihvatljivi projekti",
- "public": "Javno vlasništvo u splitu",
- "publicPrivate": "Privatni vrt",
- "publicStreet": "Ulica",
- "can": "Izvedivo u kratkom roku",
- "canHuge": "Veliki park s jezerom",
- "canSmall": "Mala površina s više stabala",
- "conflicting": "U skladu s planovima korištenja",
- "conflictingMiddle": "Stablo nasred ceste",
- "conflictingGreeen": "Stablo na postojećoj zelenoj površini",
- "contains": "Sadrži samo sljedeće intervencije u prostor",
- "containsTrees": "Stabla",
- "containsGrass": "Trava",
- "containsBenches": "Klupe",
- "containsCleanup": "Čišćenje",
- "containsBushes": "Grmovi",
- "containsFlowers": "Cvijeće",
- "containsTaps": "Špine",
- "containsDesign": "Dizajn"
- },
- "fundsAllocated": {
- "title": "Kako se dijele sredstva?",
- "votingMechanism": "A new voting mechanism is used, called Quadratic Funding. The project with most donations will get the most funding from the City.",
- "allowsAnyone": "It allows anyone to vote by donating money to their favourite projects. With every donation, funding is given to project fromthe matching pool."
- },
- "faq": {
- "title": "Najčešća pitanja",
- "zazelenimo": "Što je Zazelenimo?",
- "zazelenimoAnswer1": "Zazelenimo je internetska aplikacija za provedbu programa participativnog budžetiranja u gradovima.",
- "zazelenimoAnswer2": "Posebnost Zazelenimo, u odnosu na druge aplikacije koje imaju istu svrhu, je upotreba Ethereuma i posebnog oblika glasovanja koje se zove kvadratno financiranje.",
- "participatory": "Što je participativno budžetiranje?",
- "participatoryAnswer1": "Participativno budžetiranje je oblik uključivanja građana u odlučivanje o raspodjeli proračunskih sredstava tijela javne vlasti.",
- "participatoryAnswer2": "PB najčešće podrazumijeva da građani predlažu i onda glasaju o prijedlozima komunalnih i drugih vrsta projekata koji će se realizirati u lokalnoj zajednici iz zajedničkog proračuna.",
- "ethereum": "Što je Ethereum?",
- "ethereumAnswer": "Ethereum je decentralizirana blockchain platforma koja omogućava stvaranje pametnih ugovora i decentraliziranih aplikacija (dApps). U Zazelenimo aplikaciji koristi se za osiguranje transparentnosti i sigurnosti glasovanja i financiranja. Svaka transakcija i glasanje bilježe se na blockchainu, što omogućava jasan i siguran pregled svih aktivnosti.",
- "quadratic": "Što je kvadratno financiranje?",
- "quadraticAnswer": "Kvadratno financiranje je inovativan sustav glasovanja i financiranja u kojem snaga svakog glasa ovisi o broju podržavatelja, a ne o veličini pojedinačne donacije. To znači da projekti koji dobiju veću podršku manjim iznosima od više građana imaju veće šanse dobiti sredstva, nego projekti koji ovise o velikim donacijama od malog broja ljudi. Cilj je omogućiti ravnopravniji i pravedniji sustav financiranja.",
- "participate": "Tko sve može sudjelovati u Zazelenimo?",
- "participateAnswer": "Svatko može predložiti projekt, sudjelovati u razradi bilo kojeg prijedloga i glasati za prijedloge koji su ponuđeni za glasovanje.",
- "participateZazelenimo": "Kako sudjelujem u Zazelenimo?",
- "participateZazelenimoAnswer": "Na ovim stranicama se možeš informirati o tome kako Zazelenimo funkcionira i kako ga možeš koristiti. Osim toga, Zazelenimo možeš koristiti na sljedeće načine:",
- "participateZazelenimoList1": "Predlaganje. Ako želiš dati prijedlog intervencije, možeš to učiniti tako da ispuniš Obrazac za prijedloge.",
- "participateZazelenimoList2": "Rasprava. Ako želiš sudjelovati u razradi vlastitih ili tuđih prijedloga, možeš to učiniti na Forumu, unutar kategorije Projekti. Saznaj više o tome kako sudjelovati u raspravi na stranici Rasprava.",
- "participateZazelenimoList3": "Glasovanje. Ako želiš glasovati za prijedloge, to možeš učinit putem Zazelenimo aplikacije dostupne na stranici zazelenimo.hr. Saznaj više o tome kako sudjelovati u raspravi na stranici Glasovanje.",
- "participateZazelenimoList4": "Upravljanje. Ako želiš sudjelovati u upravljanju Zazelenimo aplikacijom i cjelokupnim projektom. To možeš na Forumu, unutar kategorije Upravljanje. Saznaj više o tome kako sudjelovati u raspravi na stranici Upravljanje.",
- "participateNeed": "Što mi je potrebno za sudjelovanje u Zazelenimo?",
- "participateNeedAnswer": "Dovoljno je posjedovati pametan telefon ili računalo. Tvoji korisnički podaci će biti spremljeni na tvom uređaju. Zato je važno da ne izgubiš pristup svom uređaju.",
- "cost": "Koliko košta predlaganje projekata?",
- "costAnswer": "Besplatno je. Svatko može predložiti projekt, i ako on bude dovoljno koristan građanima, oni će ga nagraditi donacijama.",
- "observe": "Mogu li samo promatrati Zazelenimo bez aktivnog sudjelovanja?",
- "observeAnswer": "Naravno. Javna rasprava o prijedlozima vidljiva je na Forumu čak i bez registracije. Dok traje glasovanje, u svakom trenutku možeš vidjeti koliko donacija je dobio koji projekt."
- },
- "homeAbout": {
- "title": "O ovom projektu",
- "firstParagraph": "Ovo je pilot projekt u sklopu Municipalne inicijative za kvadratno fnanciranje (MUQA).",
- "secondParagraph": "Temelji se na Ethereum tehnologiji i provodi uz financijsku podršku Ethereum Foundation. Saznajte više o Muqi ovdje."
- },
- "languages" : {
- "en": "English",
- "hr": "Hrvatski"
- },
- "projects" : {
- "title": "Projekti",
- "map": "Karta",
- "board": "Ploča",
- "neighborhood": "Po kvartovima",
- "filterNeighborhood": "Filter po kvartovima",
- "projectsMap": "Projekti na karti"
- },
- "projectCard" : {
- "funded": "financiran"
- },
- "project" : {
- "funded": "donirano od ciljanih €{amount} ({percentage}%)",
- "backers": "donatora",
- "daysGo": "dana preostalo",
- "donationAmount": "Iznos donacije",
- "estimatedMatch": "Procijenjeni doprinos iz proračuna",
- "supportProject": "Podržite projekt dijeljenjem"
- },
- "cart" : {
- "addCart": "Dodaj u Košaricu",
- "selectedProjects": "Odabrani projekti",
- "emptyCart": "Vaša košarica je prazna",
- "emptyCartDescription": "Dodajte nekoliko projekata u vašu košaricu kako biste mogli donirati.",
- "browseProjects": "Pretražite projekte",
- "funded": "financiran",
- "removeAllProjects": "Ukloni sve projekte",
- "totalAmount": "Ukupni iznos",
- "finalSubmission": "Ovo je konačna vrijednost donacija. Nakon što kliknete na plaćanje, iznose donacija više nećete moći promijeniti.",
- "checkout": "Na plaćanje",
- "donationSuccess": "Tvoja donacija je uspješno zaprimljena!",
- "resultAvailable": "Rezultati će biti dostupni nakon zbrajanja"
- },
- "footer" : {
- "documentation": "Dokumentacija",
- "forum": "Forum"
- },
- "proposalForm" : {
- "title": "Pošaljite svoj prijedlog",
- "details": "Detalji prijedloga",
- "description": "Predložite investiciju u zelenilo grada Splita.",
- "contact": "Kontakt podaci",
- "contactDescription": "Vaši kontakt podaci neće biti objavljeni.",
- "projectTitle": "Naziv prijedloga",
- "projectTitleSuffix": "150 znakova max",
- "projectDesc": "U nekoliko riječi navedite vrstu prijedloga i mjesto.",
- "projectError": "Unesite naziv vašeg prijedloga. Minimalno 10 znakova.",
- "disctrictTitle": "Kvart",
- "disctrictDesc": "Molimo navedite kvart u kojem će se prijedlog provoditi.",
- "disctrictError": "Odaberite kvart.",
- "streetTitle": "Ulica",
- "streetDesc": "Navedite točnu ili približnu ulicu s obzirom na to gdje će se prijedlog realizirati.",
- "streetError": "Upišite ulicu ili približnu lokaciju projekta.",
- "locationTitle": "Lokacija",
- "locationDesc": "Opišite mjesto predložene lokacije.",
- "locationPlaceholder": "Pokraj Dubrovačke ulice, od tunela do Poljičke ulice...",
- "locationError": "Napišite malo više o lokaciji.",
- "descriptionTitle": "Opiši prijedlog",
- "descriptionDesc": "Što treba napraviti? Zašto je to važno? Zašto ta lokacija? Tko će sve imati koristi od ovog projekta?",
- "descriptionPlaceholder": "Posadite visoka stabla između postojećih malih stabala oleandra posađenih u ovom području. Visoka stabla će pješacima stvarati potrebnu hladovinu, činiti zrak čišćim i hladnijim, posebno ljeti, štititi ulaz u tunel od vjetrova, a zgrade štititi od buke iz tunela.",
- "descriptionError": "Napišite malo više o vašem prijedlogu projekta.",
- "nameTitle": "Tvoje ime i prezime",
- "nameDesc": "Navedite svoje ime i prezime.",
- "nameError": "Unesite svoje ime i prezime.",
- "proposerTitle": "Naziv predlagatelja",
- "proposerDesc": "Navedite ime pojedinog građanina, grupe građana ili organizacije koja daje prijedlog. Ako želite ostati javno neidentificirani, možete koristiti nadimak.",
- "proposerError": "Unesite vaše ime ili naziv organizacije.",
- "publishTitle": "Želim li da objavite moje ime uz prijedlog",
- "publishDesc": "Ostavi prazno ako ne želiš da u javnoj objavi prijedloga na forumu stoji tvoje ime kao predlagatelja.",
- "emailTitle": "E-mail",
- "emailDesc": "Glavni način komunikacije. Kad dobijemo tvoj prijedlog, kontaktirati ćemo te za pojašnjenja i ostalo.",
- "emailError": "Unijeli ste neispravnu email adresu",
- "mobileTitle": "Broj mobitela",
- "mobileDesc": "U slučaju da te ne možemo dobiti putem emaila, ostavi broj da te možemo nazvati.",
- "mobileError": "Unijeli ste neispravni broj mobitela",
- "futherTitle": "Želim sudjelovati u daljnjoj razradi prijedloga",
- "futherYes": "Da",
- "futherNo": "Ne",
- "futherDesc": "Tvoj prijedlog ćemo provjeriti i objaviti na Forumu Zazelenimo Split (forum.zazelenimo.com). Tamo se možeš i ti uključiti u raspravu o prijedlogu.",
- "futherError": "Potvrdite da li želite ili ne želite sudjelovati u daljnom razradi prijedloga",
- "additionalTitle": "Dodatne informacije",
- "additionalDesc": "Ako imate dodatne dokumente, poveznice ili informacije koje podržavaju vaš prijedlog, molimo da ih ovdje uključite.",
- "formFooterDesc1": "Napomena: Podnošenjem prijedloga potvrđujete da su svi navedeni podaci istiniti i točni prema vašem najboljem znanju.",
- "formFooterDesc2": "Molimo vas da vaš prijedlog bude temeljit i jasan. Ako imate bilo kakva pitanja ili trebate pomoć, slobodno se obratite koordinatorima programa.",
- "formFooterDesc3": "Zajedno učinimo Split zelenijim!",
- "buttonName": "Predloži",
- "buttonSubmitting": "Predlažem...",
- "fotoTitle": "Fotografije",
- "fotoButton": "Dodaj fotografije",
- "fotoDesc": "Možeš priložiti više fotografija. Pobrini se da se na fotografijama dobro vide površine na kojima se predlaže intervencija.",
- "notification": "Postoje greške u prijedlogu. Provjerite ih i ispravite.",
- "proposalLastData": "Ovaj prijedlog trenutno prolazi kroz proces provjere. U ovoj fazi, samo članovi našeg stručnog tima mogu komentirati prijedloge. Kada prijedlog bude provjeren i zadovolji sve kriterije, bit će objavljen javno na Forumu i otvoren za komentare. Registrirajte se i zapratite ovu temu da budete informirani o daljnjim koracima.",
- "success": "Vaš prijedlog je uspješno predan i sada ćete biti preusmjereni na temu prijedloga na našem Forumu.",
- "successDesc": "Trenutno ne možete komentirati prijedlog jer se nalazi u fazi provjere od strane našeg stručnog tima. Obavijestit ćemo vas kada javna rasprava bude otvorena. Savjetujemo da se odmah registrirate na forumu.",
- "termsTitle": "Prihvaćam uvjete korištenja Zazelenimo",
- "termsDesc": "Dostupno na: zazelenimo.hr/terms",
- "termsError": "Potvrdite da prihvaćate uvjete korištenja Zazelenimo",
- "privacyTitle": "Prihvaćam uvjete korištenja Zazelenimo",
- "privacyDesc": "Dostupno na: zazelenimo.hr/privacy",
- "privacyError": "Potvrdite da prihvaćate pravila privatnosti Zazelenimo",
- "allowTitle": "Dopuštam da me Zazelenimo kontaktira i obavještava vezano za moj prijedlog",
- "allowError": "Potvrdite da prihvaćate da vas Zazelenimo kontaktira i obavještava vezano za vaš prijedlog.",
- "accept": "Prihvaćam Uvjete korištenja i Pravila privatnosti",
- "acceptError": "Potvrdite da prihvaćate uvjete korištenja i pravila privatnosti Zazelenimo"
- },
- "proposalMail" : {
- "subject": "Vaš prijedlog je uspješno zaprimljen!",
- "messagePart1": "Poštovani/a {name},",
- "messagePart2": "Zahvaljujemo što ste podnijeli prijedlog za Zazelenimo Split. Vaš prijedlog je uspješno zaprimljen i trenutno se nalazi u fazi provjere od strane našeg stručnog tima.",
- "messagePart3": "Možete vidjeti svoj prijedlog i pratiti njegov napredak na sljedećoj poveznici: Link na prijedlog",
- "messagePart4": "Imajte na umu da u ovoj fazi nećete moći komentirati prijedlog. Nakon što prijedlog bude provjeren i zadovolji sve uvjete, bit će objavljen javno i otvoren za javnu raspravu. Preporučujemo da se registrirate na naš Forum i zapratite temu kako biste dobivali obavijesti o daljnjim koracima.",
- "messagePart5": "Ako imate bilo kakvih pitanja, slobodno nas kontaktirajte.",
- "messagePart6": "Srdačan pozdrav,",
- "messagePart7": "Zazelenimo Split tim"
- }
+ "home": {
+ "notification": "Primamo prijedloge projekata. Pošalji prijedlog sada.",
+ "heroText": "Predložite projekt uređenja zelene površine. Ideje s najviše glasova dobit će financiranje.",
+ "exampleProjectSubtitle": "Primjer projekta",
+ "exampleNeighborhood": "Kvartovi",
+ "exampleStreet": "Ulica",
+ "exampleLocationDescription": "Opis lokacije",
+ "exampleProjectDescription": "Opis projekta",
+ "stats": "U brojkama",
+ "statsBudget": "Gradski proračun za ovaj poziv.",
+ "statsAccepted": "Bit će izabrano u uži krug.",
+ "statsLearn": "Saznaj više.",
+ "statsPeriod": "Trajanje glasovanja.",
+ "bannerMessage": "Upravo prikupljamo prijedloge",
+ "projectsSuffix": "projekata",
+ "days": "dana",
+ "bannerButtonText": "Predloži projekt"
+ },
+ "navigation": {
+ "home": "Naslovnica",
+ "projects": "Projekti",
+ "myContribution": "Moj doprinos",
+ "results": "Rezultati",
+ "propose": "Predloži projekt",
+ "documentation": "Dokumentacija",
+ "forum": "Forum",
+ "faq": "Najčešća pitanja"
+ },
+ "auth": {
+ "connect": "Prijavi se",
+ "connecting": "Prijavljujem se...",
+ "reconnect": "Ponovno prijavljivanje...",
+ "disconnect": "Odjavi"
+ },
+ "round": {
+ "timeline": "Raspored",
+ "timelinePeriod": "Kolovoz - Rujan 2024",
+ "projects": "projekti",
+ "buttonTitle": "Predloži projekt",
+ "roundApplication": "PRIJAVE",
+ "roundDonation": "GLASOVANJE",
+ "roundVotes": "REZULTATI",
+ "roundResults": "IZVEDBA"
+ },
+ "eligibleProjects": {
+ "title": "Prihvatljivi projekti",
+ "public": "Javno vlasništvo u splitu",
+ "publicPrivate": "Privatni vrt",
+ "publicStreet": "Ulica",
+ "can": "Izvedivo u kratkom roku",
+ "canHuge": "Veliki park s jezerom",
+ "canSmall": "Mala površina s više stabala",
+ "conflicting": "U skladu s planovima korištenja",
+ "conflictingMiddle": "Stablo nasred ceste",
+ "conflictingGreeen": "Stablo na postojećoj zelenoj površini",
+ "contains": "Sadrži samo sljedeće intervencije u prostor",
+ "containsTrees": "Stabla",
+ "containsGrass": "Trava",
+ "containsBenches": "Klupe",
+ "containsCleanup": "Čišćenje",
+ "containsBushes": "Grmovi",
+ "containsFlowers": "Cvijeće",
+ "containsTaps": "Špine",
+ "containsDesign": "Dizajn"
+ },
+ "fundsAllocated": {
+ "title": "Kako se dijele sredstva?",
+ "votingMechanism": "Koristimo novi mehanizam glasanja koji se zove kvadratno financiranje. Projekt s najviše donacija dobit će najviše sredstva od Grada.",
+ "allowsAnyone": "To omogućuje svima da glasuju donirajući novac svojim omiljenim projektima. Svakom donacijom, projekt za kojeg si glasao/la ostvaruje pravo na veći dio gradskog proračuna."
+ },
+ "faq": {
+ "title": "Najčešća pitanja",
+ "zazelenimo": "Što je Zazelenimo?",
+ "zazelenimoAnswer1": "Zazelenimo je internetska aplikacija za provedbu programa participativnog budžetiranja u gradovima.",
+ "zazelenimoAnswer2": "Posebnost Zazelenimo, u odnosu na druge aplikacije koje imaju istu svrhu, je upotreba Ethereuma i posebnog oblika glasovanja koje se zove kvadratno financiranje.",
+ "participatory": "Što je participativno budžetiranje?",
+ "participatoryAnswer1": "Participativno budžetiranje je oblik uključivanja građana u odlučivanje o raspodjeli proračunskih sredstava tijela javne vlasti.",
+ "participatoryAnswer2": "PB najčešće podrazumijeva da građani predlažu i onda glasaju o prijedlozima komunalnih i drugih vrsta projekata koji će se realizirati u lokalnoj zajednici iz zajedničkog proračuna.",
+ "ethereum": "Što je Ethereum?",
+ "ethereumAnswer": "Ethereum je decentralizirana blockchain platforma koja omogućava stvaranje pametnih ugovora i decentraliziranih aplikacija (dApps). U Zazelenimo aplikaciji koristi se za osiguranje transparentnosti i sigurnosti glasovanja i financiranja. Svaka transakcija i glasanje bilježe se na blockchainu, što omogućava jasan i siguran pregled svih aktivnosti.",
+ "quadratic": "Što je kvadratno financiranje?",
+ "quadraticAnswer": "Kvadratno financiranje je inovativan sustav glasovanja i financiranja u kojem snaga svakog glasa ovisi o broju podržavatelja, a ne o veličini pojedinačne donacije. To znači da projekti koji dobiju veću podršku manjim iznosima od više građana imaju veće šanse dobiti sredstva, nego projekti koji ovise o velikim donacijama od malog broja ljudi. Cilj je omogućiti ravnopravniji i pravedniji sustav financiranja.",
+ "participate": "Tko sve može sudjelovati u Zazelenimo?",
+ "participateAnswer": "Svatko može predložiti projekt, sudjelovati u razradi bilo kojeg prijedloga i glasati za prijedloge koji su ponuđeni za glasovanje.",
+ "participateZazelenimo": "Kako sudjelujem u Zazelenimo?",
+ "participateZazelenimoAnswer": "Na ovim stranicama se možeš informirati o tome kako Zazelenimo funkcionira i kako ga možeš koristiti. Osim toga, Zazelenimo možeš koristiti na sljedeće načine:",
+ "participateZazelenimoList1": "Predlaganje. Ako želiš dati prijedlog intervencije, možeš to učiniti tako da ispuniš Obrazac za prijedloge.",
+ "participateZazelenimoList2": "Rasprava. Ako želiš sudjelovati u razradi vlastitih ili tuđih prijedloga, možeš to učiniti na Forumu, unutar kategorije Projekti. Saznaj više o tome kako sudjelovati u raspravi na stranici Rasprava.",
+ "participateZazelenimoList3": "Glasovanje. Ako želiš glasovati za prijedloge, to možeš učinit putem Zazelenimo aplikacije dostupne na stranici zazelenimo.hr. Saznaj više o tome kako sudjelovati u raspravi na stranici Glasovanje.",
+ "participateZazelenimoList4": "Upravljanje. Ako želiš sudjelovati u upravljanju Zazelenimo aplikacijom i cjelokupnim projektom. To možeš na Forumu, unutar kategorije Upravljanje. Saznaj više o tome kako sudjelovati u raspravi na stranici Upravljanje.",
+ "participateNeed": "Što mi je potrebno za sudjelovanje u Zazelenimo?",
+ "participateNeedAnswer": "Dovoljno je posjedovati pametan telefon ili računalo. Tvoji korisnički podaci će biti spremljeni na tvom uređaju. Zato je važno da ne izgubiš pristup svom uređaju.",
+ "cost": "Koliko košta predlaganje projekata?",
+ "costAnswer": "Besplatno je. Svatko može predložiti projekt, i ako on bude dovoljno koristan građanima, oni će ga nagraditi donacijama.",
+ "observe": "Mogu li samo promatrati Zazelenimo bez aktivnog sudjelovanja?",
+ "observeAnswer": "Naravno. Javna rasprava o prijedlozima vidljiva je na Forumu čak i bez registracije. Dok traje glasovanje, u svakom trenutku možeš vidjeti koliko donacija je dobio koji projekt."
+ },
+ "homeAbout": {
+ "title": "O ovom projektu",
+ "firstParagraph": "Ovo je pilot projekt u sklopu Municipalne inicijative za kvadratno fnanciranje (MUQA).",
+ "secondParagraph": "Temelji se na Ethereum tehnologiji i provodi uz financijsku podršku Ethereum Foundation. Saznajte više o Muqi ovdje."
+ },
+ "languages": {
+ "en": "English",
+ "hr": "Hrvatski"
+ },
+ "projects": {
+ "title": "Projekti",
+ "map": "Karta",
+ "board": "Ploča",
+ "neighborhood": "Po kvartovima",
+ "filterNeighborhood": "Filter po kvartovima",
+ "projectsMap": "Projekti na karti",
+ "noApplicationsMessage": "Nema projekata koji odgovaraju vašim kriterijima"
+ },
+ "projectCard": {
+ "funded": "financiran"
+ },
+ "project": {
+ "funded": "donirano od ciljanih € {amount}",
+ "backers": "donatora",
+ "daysGo": "dana preostalo",
+ "donationAmount": "Iznos donacije",
+ "estimatedMatch": "Procijenjeni doprinos iz proračuna",
+ "supportProject": "Podržite projekt dijeljenjem",
+ "applicationNotFound": "Projekt nije pronađen"
+ },
+ "cart": {
+ "addCart": "Dodaj u Košaricu",
+ "selectedProjects": "Odabrani projekti",
+ "emptyCart": "Vaša košarica je prazna",
+ "emptyCartDescription": "Dodajte nekoliko projekata u vašu košaricu kako biste mogli donirati.",
+ "browseProjects": "Pretražite projekte",
+ "funded": "financiran",
+ "removeAllProjects": "Ukloni sve projekte",
+ "totalAmount": "Ukupni iznos",
+ "finalSubmission": "Ovo je konačna vrijednost donacija. Nakon što kliknete na plaćanje, iznose donacija više nećete moći promijeniti.",
+ "checkout": "Na plaćanje",
+ "donationSuccess": "Tvoja donacija je uspješno zaprimljena!",
+ "resultAvailable": "Rezultati će biti dostupni nakon zbrajanja"
+ },
+ "footer": {
+ "documentation": "Dokumentacija",
+ "forum": "Forum"
+ },
+ "proposalForm": {
+ "title": "Pošaljite svoj prijedlog",
+ "details": "Detalji prijedloga",
+ "description": "Predložite investiciju u zelenilo grada Splita. Provjerite upute.",
+ "contact": "Kontakt podaci",
+ "contactDescription": "Vaši kontakt podaci neće biti objavljeni.",
+ "projectTitle": "Naziv prijedloga",
+ "projectTitleSuffix": "150 znakova max",
+ "projectDesc": "U nekoliko riječi navedite vrstu prijedloga i mjesto.",
+ "projectError": "Unesite naziv vašeg prijedloga. Minimalno 10 znakova.",
+ "disctrictTitle": "Kvart",
+ "disctrictDesc": "Molimo navedite kvart u kojem će se prijedlog provoditi.",
+ "disctrictError": "Odaberite kvart.",
+ "streetTitle": "Ulica",
+ "streetDesc": "Navedite točnu ili približnu ulicu s obzirom na to gdje će se prijedlog realizirati.",
+ "streetError": "Upišite ulicu ili približnu lokaciju projekta.",
+ "locationTitle": "Lokacija",
+ "locationDesc": "Opišite mjesto predložene lokacije.",
+ "locationPlaceholder": "Pokraj Dubrovačke ulice, od tunela do Poljičke ulice...",
+ "locationError": "Napišite malo više o lokaciji.",
+ "descriptionTitle": "Opiši prijedlog",
+ "descriptionDesc": "Što treba napraviti? Zašto je to važno? Zašto ta lokacija? Tko će sve imati koristi od ovog projekta?",
+ "descriptionPlaceholder": "Posadite visoka stabla između postojećih malih stabala oleandra posađenih u ovom području. Visoka stabla će pješacima stvarati potrebnu hladovinu, činiti zrak čišćim i hladnijim, posebno ljeti, štititi ulaz u tunel od vjetrova, a zgrade štititi od buke iz tunela.",
+ "descriptionError": "Napišite malo više o vašem prijedlogu projekta.",
+ "nameTitle": "Tvoje ime i prezime",
+ "nameDesc": "Navedite svoje ime i prezime.",
+ "nameError": "Unesite svoje ime i prezime.",
+ "proposerTitle": "Naziv predlagatelja",
+ "proposerDesc": "Navedite ime pojedinog građanina, grupe građana ili organizacije koja daje prijedlog. Ako želite ostati javno neidentificirani, možete koristiti nadimak.",
+ "proposerError": "Unesite vaše ime ili naziv organizacije.",
+ "publishTitle": "Želim li da objavite moje ime uz prijedlog",
+ "publishDesc": "Ostavi prazno ako ne želiš da u javnoj objavi prijedloga na forumu stoji tvoje ime kao predlagatelja.",
+ "emailTitle": "E-mail",
+ "emailDesc": "Glavni način komunikacije. Kad dobijemo tvoj prijedlog, kontaktirati ćemo te za pojašnjenja i ostalo.",
+ "emailError": "Unijeli ste neispravnu email adresu",
+ "mobileTitle": "Broj mobitela",
+ "mobileDesc": "U slučaju da te ne možemo dobiti putem emaila, ostavi broj da te možemo nazvati.",
+ "mobileError": "Unijeli ste neispravni broj mobitela",
+ "futherTitle": "Želim sudjelovati u daljnjoj razradi prijedloga",
+ "futherYes": "Da",
+ "futherNo": "Ne",
+ "futherDesc": "Tvoj prijedlog ćemo provjeriti i objaviti na Forumu Zazelenimo Split (forum.zazelenimo.com). Tamo se možeš i ti uključiti u raspravu o prijedlogu.",
+ "futherError": "Potvrdite da li želite ili ne želite sudjelovati u daljnom razradi prijedloga",
+ "additionalTitle": "Dodatne informacije",
+ "additionalDesc": "Ako imate dodatne dokumente, poveznice ili informacije koje podržavaju vaš prijedlog, molimo da ih ovdje uključite.",
+ "formFooterDesc1": "Napomena: Podnošenjem prijedloga potvrđujete da su svi navedeni podaci istiniti i točni prema vašem najboljem znanju.",
+ "formFooterDesc2": "Molimo vas da vaš prijedlog bude temeljit i jasan. Ako imate bilo kakva pitanja ili trebate pomoć, slobodno se obratite koordinatorima programa.",
+ "formFooterDesc3": "Zajedno učinimo Split zelenijim!",
+ "buttonName": "Predloži",
+ "buttonSubmitting": "Predlažem...",
+ "fotoTitle": "Fotografije",
+ "fotoButton": "Dodaj fotografije",
+ "fotoDesc": "Možeš priložiti više fotografija. Pobrini se da se na fotografijama dobro vide površine na kojima se predlaže intervencija.",
+ "notification": "Postoje greške u prijedlogu. Provjerite ih i ispravite.",
+ "proposalLastData": "Ovaj prijedlog trenutno prolazi kroz proces provjere. U ovoj fazi, samo članovi našeg stručnog tima mogu komentirati prijedloge. Kada prijedlog bude provjeren i zadovolji sve kriterije, bit će objavljen javno na Forumu i otvoren za komentare. Registrirajte se i zapratite ovu temu da budete informirani o daljnjim koracima.",
+ "success": "Vaš prijedlog je uspješno predan i sada ćete biti preusmjereni na temu prijedloga na našem Forumu.",
+ "successDesc": "Trenutno ne možete komentirati prijedlog jer se nalazi u fazi provjere od strane našeg stručnog tima. Obavijestit ćemo vas kada javna rasprava bude otvorena. Savjetujemo da se odmah registrirate na forumu.",
+ "termsTitle": "Prihvaćam uvjete korištenja Zazelenimo",
+ "termsDesc": "Dostupno na: zazelenimo.hr/terms",
+ "termsError": "Potvrdite da prihvaćate uvjete korištenja Zazelenimo",
+ "privacyTitle": "Prihvaćam uvjete korištenja Zazelenimo",
+ "privacyDesc": "Dostupno na: zazelenimo.hr/privacy",
+ "privacyError": "Potvrdite da prihvaćate pravila privatnosti Zazelenimo",
+ "allowTitle": "Dopuštam da me Zazelenimo kontaktira i obavještava vezano za moj prijedlog",
+ "allowError": "Potvrdite da prihvaćate da vas Zazelenimo kontaktira i obavještava vezano za vaš prijedlog.",
+ "accept": "Prihvaćam Uvjete korištenja i Pravila privatnosti",
+ "acceptError": "Potvrdite da prihvaćate uvjete korištenja i pravila privatnosti Zazelenimo",
+ "redirecting": "Preusmjeravam za {seconds} sekundi..."
+ },
+ "proposalMail": {
+ "subject": "Vaš prijedlog je uspješno zaprimljen!",
+ "messagePart1": "Poštovani/a {name},",
+ "messagePart2": "Ovaj prijedlog je trenutno u fazi provjere od strane našeg stručnog tima. U ovoj fazi samo članovi tima mogu komentirati. Ako bude odobren, prijedlog će biti otvoren za javnu raspravu.",
+ "messagePart3": "Sadržaj vašeg prijedloga:",
+ "messagePart4": "Naziv:",
+ "messagePart5": "Predlaže:",
+ "messagePart6": "Opis lokacije:",
+ "messagePart7": "Opis prijedloga:",
+ "messagePart8": "Fotografije lokacije:",
+ "messagePart9": "Link na prijedlog:",
+ "messagePart10": "Registrirajte se i pratite ovu temu kako biste bili obaviješteni o daljnjim koracima. Pogledajte ovu uputu kako zapratiti temu. Pogledajte sve prijedloge koji su trenutno na javnoj raspravi ovdje: Javna rasprava.",
+ "messagePart11": "Srdačan pozdrav,",
+ "messagePart12": "Zazelenimo Split tim",
+ "messagePart13": "Ime i prezime predlagatelja:",
+ "messagePart14": "Email adresa predlagatelja:",
+ "messagePart15": "Broj mobitela predlagatelja:",
+ "messagePart16": "Prijavitelj je prihvatio uvjete korištenja Zazelenimo i Pravila privatnosti:",
+ "messagePart17": "Da",
+ "messagePart18": "Ne"
+ }
}
diff --git a/apps/platform/next.config.mjs b/apps/platform/next.config.mjs
index 87174640..e58d7635 100644
--- a/apps/platform/next.config.mjs
+++ b/apps/platform/next.config.mjs
@@ -6,6 +6,11 @@ const isDeployed = process.env.CI === '1';
const withNextIntl = createNextIntlPlugin();
+const ipfsImageConfig = process.env.NEXT_PUBLIC_IPFS_GATEWAY_URL ? [{
+ protocol: new URL(process.env.NEXT_PUBLIC_IPFS_GATEWAY_URL).protocol.slice(0, -1),
+ hostname: new URL(process.env.NEXT_PUBLIC_IPFS_GATEWAY_URL).hostname,
+}] : [];
+
/** @type {import('next').NextConfig} */
const nextConfig = {
webpack: (config, { isServer }) => {
@@ -29,6 +34,7 @@ const nextConfig = {
protocol: 'https',
hostname: 'picsum.photos',
},
+ ...ipfsImageConfig,
],
},
};
diff --git a/apps/platform/public/images/icons/icon-lang-gray.svg b/apps/platform/public/images/icons/icon-lang-gray.svg
new file mode 100644
index 00000000..a415a19d
--- /dev/null
+++ b/apps/platform/public/images/icons/icon-lang-gray.svg
@@ -0,0 +1,4 @@
+
diff --git a/apps/platform/public/images/icons/icon-lang.svg b/apps/platform/public/images/icons/icon-lang.svg
new file mode 100644
index 00000000..e87657e5
--- /dev/null
+++ b/apps/platform/public/images/icons/icon-lang.svg
@@ -0,0 +1,4 @@
+
diff --git a/apps/platform/src/app/Header.tsx b/apps/platform/src/app/Header.tsx
index 04330679..3c5910e6 100644
--- a/apps/platform/src/app/Header.tsx
+++ b/apps/platform/src/app/Header.tsx
@@ -43,22 +43,25 @@ export default function Header() {