blakeblackshear / blakeblackshear/frigate
Add i18n Support to Backend
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36k
- Forks
- 3.6k
- Avg merge
- 8h 57m
- Merged PRs (30d)
- 118
Description
Describe what you are trying to accomplish and why in non technical terms
Currently, certain system messages lack multilingual support, including:
- Configuration file modification responses
- Error messages from functional modules
- Labels in GenAI requests
This creates usability barriers for non-English speaking users.
Describe the solution you'd like
For frontend-bound messages:
- APIs should return:
{
"//": "↓↓ value: '{{camera}} load failed! Please check config.' ↓↓",
"i18n_key": "camera_load_failed",
"params": {"camera": "Camera Name"},
"//": "Original message",
"message": "Camera Name load failed! Please check config."
}
Regarding GenAI label localization:
The labels currently sent to AI service providers are monolingual, which may impact result accuracy. We propose having the backend directly fetch localized labels from i18n's objects.json language files to achieve proper multilingual support.
Describe alternatives you've considered
None
Additional context
None
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by mapping the backend responses for configuration-file modifications and functional-module errors, then inspect the GenAI request path and the i18n objects.json language files. Define how localized labels and structured message fields should be returned across these areas; done means the affected messages and GenAI labels support the intended multilingual behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend, localization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100