Extended Description: I have updated the word choices in Simplified Chinese translations to better align with the preferences of Simplified Chinese users. This update also includes some unfinished translations from the previous version.
With the help of several Simplified Chinese-speaking friends, I performed a thorough review of the translations. They pointed out that I occasionally used phrasing that reflects Traditional Chinese grammar habits. However, they confirmed that the current version is still clear and widely acceptable among Simplified Chinese users.
The main correction is translating "lorebook" to "世界书" in most cases, as this is the common term used by the Simplified Chinese community. Additionally, I decided to retain some technical terms, such as "Enable Schema," in English. Since there is no widely accepted Chinese translation for these terms, keeping them in English provides greater clarity and professionalism.
Lastly, this file was created by copying and adapting the translations from the RisuAI .json translation file. I have carefully checked the formatting and hope there are no issues.
# PR Checklist
- [ ] Did you check if it works normally in all models? *ignore this
when it dosen't uses models*
- [ ] Did you check if it works normally in all of web, local and node
hosted versions? if it dosen't, did you blocked it in those versions?
- [ ] Did you added a type def?
# Description

Current build doesn't have aws key slot.
Thank for your time.
# PR Checklist
- [ ] Did you check if it works normally in all models? *ignore this
when it dosen't uses models*
- [x] Did you check if it works normally in all of web, local and node
hosted versions? if it dosen't, did you blocked it in those versions?
- [ ] Did you added a type def?
# Description
## Problem
This PR resolves an issue where assets were not visible on macOS when
using `asset://localhost/` URLs.
The problem occurred because **DOMPurify** was removing the `src`
attribute when its value started with `asset://localhost/`. This
behavior affected the visibility of assets on macOS for the Local
version of RisuAI.
## Solution
To address this, I chose to use `DOMPurify.addHook` to allow `src`
attributes starting with `asset://localhost/` for certain tags.
I also thought about another solution: passing `ALLOWED_URI_REGEXP` to
`DOMPurify.sanitize`. However, I decided not to use it because it would
require using regular expressions to check strings every time the method
is called, which might be less efficient in my opinion.
## Considerations
While this issue is specific to macOS and the Local version of RisuAI, I
opted not to include additional conditions for the following reasons:
1. The code change is simple and lightweight.
2. It doesn’t cause conflicts on other OSes or RisuAI versions.
3. Avoiding conditions improves readability and maintainability.
---
If you have any suggestions for a better approach, I’d be happy to hear
them!
---
## Linked Issue
This PR addresses and fixes#656
# PR Checklist
- [ ] Did you check if it works normally in all models? *ignore this
when it dosen't uses models*
- [x] Did you check if it works normally in all of web, local and node
hosted versions? if it dosen't, did you blocked it in those versions?
- [ ] Did you added a type def?
# Description
## Summary
This PR updates the `renderChilds` function to properly handle
`TextNode` rendering. Previously, `renderChilds` only iterated over
`children`, which excluded `TextNode`s and rendered only `HTMLElement`s.
Now, the function iterates over `childNodes`, ensuring that:
1. **TextNodes**: Are rendered by displaying their `textContent`.
2. **ElementNodes**: Are rendered as before, using `renderGuiHtmlPart`.
## Context
Initially, I wondered whether the absence of `TextNode` rendering might
have been due to security considerations. However, since elements like
headings (`h1`), lists (`ul`, `li`), and strong text (`strong`) were
already being rendered, it seems likely that the exclusion of `TextNode`
rendering was an oversight rather than an intentional decision.
I believe that these elements are meaningful only when they include
text. For example, elements like `h1`, `h2`, `h3`, `p`, `li`, `strong`,
`em`, and `code` rely on text content to fulfill their intended purpose.
## Notes
If there was a specific reason for excluding `TextNode`s in the original
implementation (e.g., for security, intentional design choices, or other
constraints), please feel free to reject this PR. I completely
understand if this change conflicts with any design decisions or
requirements of the project.
Thank you for your time and consideration!