Replies: 4 comments 1 reply
-
|
reference https://github.com/66HEX/frame/blob/master/src/lib/i18n/index.ts |
Beta Was this translation helpful? Give feedback.
-
|
i18n in Frame is possible thanks to @dufu1991 For now every thing related to i18n is manual, currently I'm focused too much on optimizations/ML pipeline explorations. Every key is translated with AI so it's possible that some translations are inaccurate. If that's something you want to explore - go ahead 😄. We can use Deepl.com as a translation service, they offer 500000 chars/month of translations for free through their API |
Beta Was this translation helpful? Give feedback.
-
|
Since there was no follow-up on that thread, I went ahead and implemented the automation myself. Current i18n workflow in Frame:i18n-extract.mjsScans source code and extracts used i18n keys. i18n-check.mjsValidates locale parity (missing/extra keys), placeholder consistency, and key usage coverage. i18n-sync.mjsSyncs non-source locales to en-US structure (add missing/remove stale), with write mode. i18n-translate.mjsDeepL-based translation pipeline from en-US to all other locales, with:
i18n-common.mjsShared helpers used by all the scripts above. Package commands now include:
|
Beta Was this translation helpful? Give feedback.
-
|
При перетаскивании окна программы по рабочему столу, она как слоупок. Допустим я сделал несколько движений мышкой двигая программу туда сюда, отпустил уже кнопку, а окно программы продолжает повторят все движения что я делал, медленно и долго. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Frame is a total stunner — UI and stack is clean, modern, and clearly well-architected. Major respect.
I was digging through your i18n implementation (src/lib/i18n/) and noticed that each language lives in its own JSON file with namespace grouping. That's neat and maintainable. At the same time, I didn't spot any automated key extraction tooling.
So I'm curious:
Do you use any tooling to extract keys/sync translations, or is it all manual?
The non-English JSONs look machine-translated — did you use AI or a translation service?
How do you ensure all 9 locales stay in sync when adding new text?
Just trying to understand your process. Thanks!
Beta Was this translation helpful? Give feedback.
All reactions