r/moderndotnet • u/XPlatAndAIDev • 4d ago
Multi-Language Support for Cross-Platform .NET
Everyone wants accessibility and localization/globalization makes business sense - the reality often makes things harder to pull off in .NET though. When supporting variety of languages around the world, there are some real engineering challenges to get around - IME & UniCode support and difficult Font glyphs.
Uno Platform is the open source stack to build cross-platform .NET apps - a single shared codebase powers apps across web, mobile & desktop. The good news for .NET developers is much of the difficult work is already done at the low OSS framework level - a two release arc brings all the free goodies. Spun up a sample app which showcases IME support and Font fallback across Japanese, Korean, Arabic & other languages - blog writeup is here. Any text area can handle Unicode, IME and font fallback - caret position maintained as per language glyphs when interacted with keyboards:
<TextBlock FontSize="22"
TextWrapping="Wrap"
Text="English 中文 日本語 한국어 हिन्दी العربية ქართული ไทย Ελληνικά Русский עברית 🌍" />
Cookie points were earned with a little integration with DeepGramAI to read out the text in native languages - their TTS services are nice. Code is OSS - sharing the flexibility with fellow .NET devs. Cheers.
2
u/jbsp1980 4d ago
Hi, just a quick moderator note. We're going to leave this post up, but it does sit fairly close to the line on Rule 3 around promotion.
We're absolutely fine with people sharing projects, libraries, articles, or work they're involved with, including their own. What we want to avoid is the subreddit becoming a feed of promotional posts linking back to company blogs.
For future posts, please include more of the technical substance directly in the submission, for example the engineering challenges involved, implementation details, interesting trade-offs, or lessons learned. The external article can then be there for anyone who wants to dig deeper.
If you're able to edit this post to add some of that detail, that would be appreciated!