{"repo":"jeffijoe/messageformat.net","free":true,"listed":false,"github":"https://github.com/jeffijoe/messageformat.net","clone":"git clone https://github.com/jeffijoe/messageformat.net.git","description":"ICU MessageFormat implementation for .NET.","language":"C#","stars":192,"topics":["messageformat","c-sharp","formatter","string-formatter"],"license":"MIT","category":"dev-tools","readme_excerpt":"MessageFormatter for .NET - better UI strings. This is an implementation of the ICU Message Format in .NET. For official information about the format, go to: https://unicode-org.github.io/icu/userguide/format parse/messages/ Quickstart Or, if you don't like dictionaries, and don't mind a bit of reflection.. You can use a static method, too: Installation Either clone this repo and build it, or install it with NuGet: Features It's fast. Everything is hand-written; no parser-generators, not even regular expressions . It's portable. The library is targeting .NET Standard 2.0 . It's (relatively) small . For a .NET library, 25kb is not a lot. It's very white-space tolerant. You can structure your blocks so they are more readable - look at the example above. Nesting is supported. You can nest your blocks as you please, there's no special structure required to do this, just ensure your braces match. Adding your own formatters. I don't know why you would need to, but if you want, you can add your own formatters, and take advantage of the code in my base classes to help you parse patterns. Look at the source, this is how I implemented the built-in formatters. Exceptions make at least a little sense. When exceptions are thrown due to a bad pattern, the exception should include useful information. There are unit tests. Run them yourself if you want, they're using XUnit. Built-in cache. If you are formatting messages in a tight loop, with different data for each iteration, and if you are ","default_branch":null,"files":null,"tree":[],"storefront":"/r/jeffijoe","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jeffijoe/messageformat.net/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}