mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-08 07:16:27 +02:00
Move solution and projects to src
This commit is contained in:
parent
cd124bda58
commit
cee7121058
3466 changed files with 55 additions and 55 deletions
30
src/Ryujinx.Ui.LocaleGenerator/LocaleGenerator.cs
Normal file
30
src/Ryujinx.Ui.LocaleGenerator/LocaleGenerator.cs
Normal file
|
@ -0,0 +1,30 @@
|
|||
using Microsoft.CodeAnalysis;
|
||||
using System.Linq;
|
||||
|
||||
namespace Ryujinx.Ui.LocaleGenerator
|
||||
{
|
||||
[Generator]
|
||||
public class LocaleGenerator : IIncrementalGenerator
|
||||
{
|
||||
public void Initialize(IncrementalGeneratorInitializationContext context)
|
||||
{
|
||||
var englishLocaleFile = context.AdditionalTextsProvider.Where(static x => x.Path.EndsWith("en_US.json"));
|
||||
|
||||
IncrementalValuesProvider<string> contents = englishLocaleFile.Select((text, cancellationToken) => text.GetText(cancellationToken)!.ToString());
|
||||
|
||||
context.RegisterSourceOutput(contents, (spc, content) =>
|
||||
{
|
||||
var lines = content.Split('\n').Where(x => x.Trim().StartsWith("\"")).Select(x => x.Split(':').First().Trim().Replace("\"", ""));
|
||||
string enumSource = "namespace Ryujinx.Ava.Common.Locale;\n";
|
||||
enumSource += "internal enum LocaleKeys\n{\n";
|
||||
foreach (var line in lines)
|
||||
{
|
||||
enumSource += $" {line},\n";
|
||||
}
|
||||
enumSource += "}\n";
|
||||
|
||||
spc.AddSource("LocaleKeys", enumSource);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue