Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:
Target branch: Please verify that the pull request targets the dev branch.
Description: Provide a concise description of the changes made in this pull request.
Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
Testing: Have you written and run sufficient tests to validate the changes?
Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
Prefix: To clearly categorize this pull request, prefix the pull request title using one of the following:
BREAKING CHANGE: Significant changes that may affect compatibility
build: Changes that affect the build system or external dependencies
ci: Changes to our continuous integration processes or workflows
chore: Refactor, cleanup, or other non-functional code changes
docs: Documentation update or addition
feat: Introduces a new feature or enhancement to the codebase
fix: Bug fix or error correction
i18n: Internationalization or localization changes
perf: Performance improvement
refactor: Code restructuring for better maintainability, readability, or scalability
style: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.)
test: Adding missing tests or correcting existing tests
WIP: Work in progress, a temporary label for incomplete or ongoing work
Changelog Entry
Description
i18n: add missing translations
Changed
i18n: add missing translations
Fixed
i18n: add missing translations
Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
Summary from GitHub Copilot:
This pull request focuses on improving internationalization (i18n) support across the application. The main change is the replacement of hardcoded English strings in the UI with calls to the $i18n.t() translation function, ensuring that all user-facing text can be localized. This affects a wide range of components, including admin settings, chat, channel, and common UI elements.
Internationalization improvements:
Replaced hardcoded labels, warnings, and status indicators with $i18n.t() in admin settings components such as Documents.svelte, Pipelines.svelte, Users/Groups.svelte, and Users/UserList.svelte to enable translation of UI text. [1][2][3][4]
Updated chat and channel components (Messages.svelte, Thread.svelte, MessageInput.svelte, MessageInput/InputMenu.svelte, Messages/CodeBlock.svelte, Settings/Advanced/AdvancedParams.svelte, Settings/Audio.svelte, Settings/Interface/ManageFloatingActionButtonsModal.svelte, ChatsModal.svelte) to use $i18n.t() for loading indicators, button labels, section headers, and status messages. [1][2][3][4][5][6][7][8][9][10][11][12][13][14]
Improved common UI components (Dropdown.svelte, Selector.svelte, Valves.svelte, CodeEditor.svelte) by localizing dropdown items, placeholder text, "no results" messages, and boolean status labels. [1][2][3][4][5][6]
Component context updates:
Added retrieval of the i18n context via getContext('i18n') in several components to support the new translation calls. [1][2][3]
Profile and status translation:
Localized user status indicators ("Active", "Away") and other profile-related strings in the channel message components. [1][2]
These changes ensure the UI is ready for localization and will display the correct language based on user or system preferences.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/open-webui/open-webui/pull/16753
**Author:** [@PeterDaveHello](https://github.com/PeterDaveHello)
**Created:** 8/20/2025
**Status:** ✅ Merged
**Merged:** 8/20/2025
**Merged by:** [@tjbck](https://github.com/tjbck)
**Base:** `dev` ← **Head:** `i18n`
---
### 📝 Commits (1)
- [`45180e8`](https://github.com/open-webui/open-webui/commit/45180e829a98b87a394c85ea941acac7c0133283) i18n: add missing translations
### 📊 Changes
**82 files changed** (+1417 additions, -99 deletions)
<details>
<summary>View changed files</summary>
📝 `src/lib/components/admin/Settings/Documents.svelte` (+1 -1)
📝 `src/lib/components/admin/Settings/Pipelines.svelte` (+3 -3)
📝 `src/lib/components/admin/Users/Groups.svelte` (+2 -2)
📝 `src/lib/components/admin/Users/UserList.svelte` (+2 -2)
📝 `src/lib/components/channel/Messages.svelte` (+2 -2)
📝 `src/lib/components/channel/Messages/Message/ProfilePreview.svelte` (+5 -2)
📝 `src/lib/components/channel/Messages/Message/ReactionPicker.svelte` (+1 -1)
📝 `src/lib/components/channel/Thread.svelte` (+4 -2)
📝 `src/lib/components/chat/MessageInput.svelte` (+1 -1)
📝 `src/lib/components/chat/MessageInput/InputMenu.svelte` (+1 -1)
📝 `src/lib/components/chat/Messages.svelte` (+1 -1)
📝 `src/lib/components/chat/Messages/CodeBlock.svelte` (+4 -4)
📝 `src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte` (+2 -2)
📝 `src/lib/components/chat/Settings/Audio.svelte` (+1 -1)
📝 `src/lib/components/chat/Settings/Interface/ManageFloatingActionButtonsModal.svelte` (+1 -1)
📝 `src/lib/components/common/CodeEditor.svelte` (+1 -1)
📝 `src/lib/components/common/Dropdown.svelte` (+6 -4)
📝 `src/lib/components/common/Selector.svelte` (+1 -1)
📝 `src/lib/components/common/Valves.svelte` (+2 -2)
📝 `src/lib/components/layout/ChatsModal.svelte` (+1 -1)
_...and 62 more files_
</details>
### 📄 Description
# Pull Request Checklist
### Note to first-time contributors: Please open a discussion post in [Discussions](https://github.com/open-webui/open-webui/discussions) and describe your changes before submitting a pull request.
**Before submitting, make sure you've checked the following:**
- [x] **Target branch:** Please verify that the pull request targets the `dev` branch.
- [x] **Description:** Provide a concise description of the changes made in this pull request.
- [ ] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description.
- [ ] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources?
- [ ] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation?
- [ ] **Testing:** Have you written and run sufficient tests to validate the changes?
- [x] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
- [x] **Prefix:** To clearly categorize this pull request, prefix the pull request title using one of the following:
- **BREAKING CHANGE**: Significant changes that may affect compatibility
- **build**: Changes that affect the build system or external dependencies
- **ci**: Changes to our continuous integration processes or workflows
- **chore**: Refactor, cleanup, or other non-functional code changes
- **docs**: Documentation update or addition
- **feat**: Introduces a new feature or enhancement to the codebase
- **fix**: Bug fix or error correction
- **i18n**: Internationalization or localization changes
- **perf**: Performance improvement
- **refactor**: Code restructuring for better maintainability, readability, or scalability
- **style**: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.)
- **test**: Adding missing tests or correcting existing tests
- **WIP**: Work in progress, a temporary label for incomplete or ongoing work
# Changelog Entry
### Description
- i18n: add missing translations
### Changed
- i18n: add missing translations
### Fixed
- i18n: add missing translations
---
### Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms.
---
Summary from GitHub Copilot:
> This pull request focuses on improving internationalization (i18n) support across the application. The main change is the replacement of hardcoded English strings in the UI with calls to the `$i18n.t()` translation function, ensuring that all user-facing text can be localized. This affects a wide range of components, including admin settings, chat, channel, and common UI elements.
>
> **Internationalization improvements:**
>
> * Replaced hardcoded labels, warnings, and status indicators with `$i18n.t()` in admin settings components such as `Documents.svelte`, `Pipelines.svelte`, `Users/Groups.svelte`, and `Users/UserList.svelte` to enable translation of UI text. [[1]](diffhunk://#diff-1ea8410de086d5213e6fb3d04da0b8487e3c558fc66293f39044326a3455b80dL765-R765) [[2]](diffhunk://#diff-a862e0242757e2bea39e5043a208373544931a5d0c64f4f8d6d255939b3cca10L413-R416) [[3]](diffhunk://#diff-6c01c9f2163fc3c170a47215bf5507f72cf2b1afcd701c9082faa55ccc49d9c3L216-R218) [[4]](diffhunk://#diff-29f99240a4bcfc5dade0923f6cf6b04c2909a438b7e0d4bf2701c20194ba7703L169-R174)
> * Updated chat and channel components (`Messages.svelte`, `Thread.svelte`, `MessageInput.svelte`, `MessageInput/InputMenu.svelte`, `Messages/CodeBlock.svelte`, `Settings/Advanced/AdvancedParams.svelte`, `Settings/Audio.svelte`, `Settings/Interface/ManageFloatingActionButtonsModal.svelte`, `ChatsModal.svelte`) to use `$i18n.t()` for loading indicators, button labels, section headers, and status messages. [[1]](diffhunk://#diff-394af131557a654a56a2158946d84173d1756e578ea7ae6f7407db13aaf9c587L62-R62) [[2]](diffhunk://#diff-394af131557a654a56a2158946d84173d1756e578ea7ae6f7407db13aaf9c587L87-R87) [[3]](diffhunk://#diff-01a74df52814f0ffeb6084745cbeb9d956c4aaef1483340e92467ac61a8adbb7L11-R15) [[4]](diffhunk://#diff-01a74df52814f0ffeb6084745cbeb9d956c4aaef1483340e92467ac61a8adbb7L161-R163) [[5]](diffhunk://#diff-021535124ecf569d90d74afd5d4af2baefa24bd540b65a3df9b02248ab067559L875-R875) [[6]](diffhunk://#diff-7cda456b406419143402af08a8ac9dd7dde60d518a083a14048b03c6c09d740eL391-R391) [[7]](diffhunk://#diff-b053d99198aa22763bd4d86a77869522b66143a5c935936f0d17e0376476cc9fL419-R419) [[8]](diffhunk://#diff-bff98554435c496bf6c2fbda16eac454545101b72ae2ba9fb7f728f9f8966b5aL551-R557) [[9]](diffhunk://#diff-bff98554435c496bf6c2fbda16eac454545101b72ae2ba9fb7f728f9f8966b5aL569-R569) [[10]](diffhunk://#diff-e55fd8529ebe2330668896a2b7ada23b9291fd0840ea5c653d120a4a3b3e3c35L1105-R1105) [[11]](diffhunk://#diff-e55fd8529ebe2330668896a2b7ada23b9291fd0840ea5c653d120a4a3b3e3c35L1146-R1146) [[12]](diffhunk://#diff-8c33a9379ec0d66fbf544ecc8da1ff491f345fb413c4488fda13a124aeeb8304L266-R266) [[13]](diffhunk://#diff-a26c50cec0e12db8a65750d3c3e2dbca222053d0b971fc93695c76c807050c5dL58-R58) [[14]](diffhunk://#diff-06ad759817bc94a022dcdb31fdd6845773bb2ca90288b8c1fd7803ec6dea8764L320-R320)
> * Improved common UI components (`Dropdown.svelte`, `Selector.svelte`, `Valves.svelte`, `CodeEditor.svelte`) by localizing dropdown items, placeholder text, "no results" messages, and boolean status labels. [[1]](diffhunk://#diff-78e9fb13893609373d96aa0bd2747849e1e7f4f31520827044dc8016ef0715b3L3-R5) [[2]](diffhunk://#diff-78e9fb13893609373d96aa0bd2747849e1e7f4f31520827044dc8016ef0715b3L34-R44) [[3]](diffhunk://#diff-d12ce754a295b01f2582ec356c4e46640d207d036b77a7fd4deb443e278fffe8L88-R88) [[4]](diffhunk://#diff-ba09d5d48e56f8eaee9a2c3fdee16eb94a4d5daa7e96e6a1957b43383fefcf57L73-R73) [[5]](diffhunk://#diff-ba09d5d48e56f8eaee9a2c3fdee16eb94a4d5daa7e96e6a1957b43383fefcf57L176-R176) [[6]](diffhunk://#diff-b87ee9f8fc68cf4473a3bd4ed042d6179979d0ee0e091830d4fff8ada409e5c4L228-R228)
>
> **Component context updates:**
>
> * Added retrieval of the `i18n` context via `getContext('i18n')` in several components to support the new translation calls. [[1]](diffhunk://#diff-c73e91e5038629468fa0ff12ea4bc024d674dd8daf12327052353a0c863952b2R3-R5) [[2]](diffhunk://#diff-01a74df52814f0ffeb6084745cbeb9d956c4aaef1483340e92467ac61a8adbb7L11-R15) [[3]](diffhunk://#diff-78e9fb13893609373d96aa0bd2747849e1e7f4f31520827044dc8016ef0715b3L3-R5)
>
> **Profile and status translation:**
>
> * Localized user status indicators ("Active", "Away") and other profile-related strings in the channel message components. [[1]](diffhunk://#diff-c73e91e5038629468fa0ff12ea4bc024d674dd8daf12327052353a0c863952b2L79-R82) [[2]](diffhunk://#diff-c73e91e5038629468fa0ff12ea4bc024d674dd8daf12327052353a0c863952b2L89-R92)
>
> These changes ensure the UI is ready for localization and will display the correct language based on user or system preferences.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/16753
Author: @PeterDaveHello
Created: 8/20/2025
Status: ✅ Merged
Merged: 8/20/2025
Merged by: @tjbck
Base:
dev← Head:i18n📝 Commits (1)
45180e8i18n: add missing translations📊 Changes
82 files changed (+1417 additions, -99 deletions)
View changed files
📝
src/lib/components/admin/Settings/Documents.svelte(+1 -1)📝
src/lib/components/admin/Settings/Pipelines.svelte(+3 -3)📝
src/lib/components/admin/Users/Groups.svelte(+2 -2)📝
src/lib/components/admin/Users/UserList.svelte(+2 -2)📝
src/lib/components/channel/Messages.svelte(+2 -2)📝
src/lib/components/channel/Messages/Message/ProfilePreview.svelte(+5 -2)📝
src/lib/components/channel/Messages/Message/ReactionPicker.svelte(+1 -1)📝
src/lib/components/channel/Thread.svelte(+4 -2)📝
src/lib/components/chat/MessageInput.svelte(+1 -1)📝
src/lib/components/chat/MessageInput/InputMenu.svelte(+1 -1)📝
src/lib/components/chat/Messages.svelte(+1 -1)📝
src/lib/components/chat/Messages/CodeBlock.svelte(+4 -4)📝
src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte(+2 -2)📝
src/lib/components/chat/Settings/Audio.svelte(+1 -1)📝
src/lib/components/chat/Settings/Interface/ManageFloatingActionButtonsModal.svelte(+1 -1)📝
src/lib/components/common/CodeEditor.svelte(+1 -1)📝
src/lib/components/common/Dropdown.svelte(+6 -4)📝
src/lib/components/common/Selector.svelte(+1 -1)📝
src/lib/components/common/Valves.svelte(+2 -2)📝
src/lib/components/layout/ChatsModal.svelte(+1 -1)...and 62 more files
📄 Description
Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:
devbranch.Changelog Entry
Description
Changed
Fixed
Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
Summary from GitHub Copilot:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.