If you're interested in that topic, here are some great articles by Matt Jibbson (he was in charge of localizing careers long before we ever localized the Q&A sites):
So what we do in core is basically take the _s and _m syntax and generate a per-culture
switch statement and pluralization rules that inline the translations to minimize the run-time overhead:
We do that for both .cshtml views as well as .cs files. We also detect when the s&m calls (we really do love pain at SE) happen inside a view's
Write method, so we can use that instead of string concatenation:
Of course we also use the semantic model to verify the properties used etc. As you've probably noticed from the screenshot above, we've extended the original careers syntax to support pluralization by multiple variables in a single string, so we can spare you some giant S injuries.
I'me also planing on writing about more about some of the caveats of rewriting code with roslyn, but that's the only post I've managed to write till now: