Multiple Translation (Weblate) and Multi Language
Description / Background
Hungry Hub is expanding its global reach, offering services in up to 15 languages. To ensure a consistent multilingual experience, we are introducing a Multilingual Content Translation Tool for the Admin Panel. This feature enables admin users to easily translate dynamic content fields across various sections of the website — from restaurant names to package descriptions — with minimal manual effort. It supports granular control (per field or per page), batch operations (all fields or only blank ones), and aims to streamline localization workflows, reduce time-to-market for content updates, and improve international SEO.
Objectives
- Admin can add the language translation from weblate
- Admin can import the restaurant data that has been translated
- Phase 2:
- Admin only input 1 language and click “Translate All” button it will translate the data into all the language that available
- Admin can click “Blank Fields Only” to translate only the missing language translation
- Admin can click “Specific fields”
Scope
all platform
Location
All platforms.
How to login weblate
See guide: Weblate Login Guide
How to use the weblate
https://app.clickup.com/9003122396/docs/8ca1fpw-52836/8ca1fpw-51316
Sequence Diagram / Flow
N/A
ERD
N/A
Backend Implementation
N/A
Hybrid Implementation
N/A
Frontend Implementation
N/A
PRD & Task
https://app.clickup.com/9003122396/docs/8ca1fpw-7922/8ca1fpw-46296
https://app.clickup.com/t/86cxhwpgx Multilanguage (Dynamic Content) Task PRD Multilanguage - Phase 1 PRD Multilanguage - Phase 2
Design
N/A
API Blueprint
N/A
New Query
N/A
DB Schema / Database Migration
N/A
Improvement:
N/A
How to use Weblate
1. How to open the weblate
- Open the weblate → login use this account https://app.clickup.com/9003122396/docs/8ca1fpw-52856/8ca1fpw-51196
https://weblate.hungryhub.com/
- Pick the Project hungryhub or book bite
- hungry hub is for the website
- book bite is for the partner portal
_20250827155227_image_1db44ad9_5520.png)
- Pick the component name.
The component name is the name of the page or a feature on the website
_20250827155227_image_a85f6597_1571.png)
2. How to edit normal translation
- After you pick the the component name
- Pick the language that you want to edit → click the pencil icon
_20250827155227_Screenshot_from_2025-05-21_20-24-37_eb8f105d_9945.png)
- You can see the Key list on the table
The key is the stringID that FE use on their code to call the translate, and can’t be edited
Do not change KEY
_20250827155227_Screenshot_from_2025-05-21_20-26-00_8c27c2ef_7050.png)
- Pick the Key you want to edit → it will show on the
source stringsection
_20250827155227_Screenshot_from_2025-05-21_20-27-21_ba68efe3_9358.png)
- Edit the language translation the
Englishbox →clickSave and continue
If you get this error after saving the changes, click the Save and continue button once more time, and click the dismiss button after that.
_20250827155227_Screenshot_from_2025-05-21_20-29-22_81d22661_4451.png)
- Click the
hungryhuborbook-bitemenu if you done with the editing translation - You will be redirect back to component page
- And you are finished editing, but you need to release the translation so that it can be seen by the client.
3. How to edit dynamic translation
What is dynamic translation?
It was a text that can be changed based on each case. Example:
- Your delicious food will be ready to pickup at **{time} →**inside the {} was the text that will be replaced
- Promotion period: {formattedStartEndDate} → inside the {} was the text that will be replaced
- Come 4 Pay 3: The number in this text can be replaced, but it’s not on the Weblate for now.
- After you pick the the component name
- Pick the language that you want to edit → click the pencil icon
_20250827155227_image_ab5dcd7f_3303.png)
- You can see the Key list on the table
The key is the stringID that FE use on their code to call the translate, and can’t be edited
Do not change KEY
_20250827155227_image_e962a996_5767.png)
- If the translation have this symbol {} then it was a dynamic translation
Don’t change the text inside the {} symbol
- Pick the Key you want to edit → it will show on the
source stringsection
_20250827155227_Screenshot_from_2025-05-26_16-02-10_c28410b6_2500.png)
- Edit the text outside the {} symbol in the
Englishbox
_20250827155227_Screenshot_from_2025-05-26_15-53-40_50bb4ced_2382.png)
- Click
Save and continue
If you get this error after saving the changes, click the Save and continue button once more time, and click the dismiss button after that.
_20250827155227_image_92fcd0bb_3934.png)
- Click the
hungryhuborbook-bitemenu if you done with the editing translation - You will be redirect back to component page
- and you are done
4. How to release the translation
- Click the
Managemenu → Click theRepository maintenance
_20250827155227_Screenshot_from_2025-05-21_20-38-07_992c8fcc_8810.png)
- In that page you can see the pending changes of the translation
_20250827155227_image_584c98f5_3364.png)
- Click the
commitbutton to commit the changes. If you have multiple changes in the pending changes, they will be merged as one commit.
*if you want 1 commit for each changes, make sure to click the commit button after 1 change of the translation.
_20250827155227_image_f8e5b6dc_5468.png)
- Click the
pushbutton if you already finished the edit translation.
_20250827155227_image_6cae38c3_3830.png)
_20250827155227_image_3dad2a64_6177.png)
- Check this PR. The changes we make on the weblate should be added to this PR.
for the book-bite project is still not working now
https://github.com/hungryhub-team/hh-pegasus/pull/1743/commits
- Contact FE team to release the translation.
How to change the Weblate PR source
- Open the weblate → login use this account https://app.clickup.com/9003122396/docs/8ca1fpw-52856/8ca1fpw-51196
https://weblate.hungryhub.com/
- Pick the Project hungryhub or book bite
- hungry hub is for the website
- book bite is for the partner portal
_20250827155227_image_233029eb_4170.png)
- Pick the component
- Profile component for hungryhub project
_20250827155227_Screenshot_from_2025-05-26_15-37-18_771f6c6c_8899.png)
- Booking component for book-bite project
_20250827155227_Screenshot_from_2025-05-26_15-31-55_f6d796a5_6019.png)
- Pick the Manage → Settings
_20250827155227_Screenshot_from_2025-05-26_15-31-19_e130a12e_9833.png)
- Pick the Version Control menu
_20250827155227_Screenshot_from_2025-05-26_15-31-34_f5730dd4_7907.png)
- You can change the Push Branch in here:
_20250827155227_Screenshot_from_2025-05-26_15-31-46_f741bbd1_2298.png)
_20250827155227_image_df4e9d02_6050.png)