Комплект підтримки UAI-1 для C# вебсайтів
На цій сторінці публікується стартове завантаження Protocol5 для додавання підтримки UAI-1 до C# вебсайтів, особливо до сайтів ASP.NET Core, яким потрібен практичний шлях інтеграції CultureInfo і Accept-Language, але без залежності канонічної семантики UAI від локальних людських правил форматування.
Відомості про документ
- Аудиторія: розробники вебсайтів на C# та ASP.NET
- ZIP для завантаження: protocol5-uai-1-csharp-web-starter.zip
- NuGet-пакет для завантаження: Protocol5.UAI.CSharp.1.0.0.nupkg
- Контрольна сума ZIP: protocol5-uai-1-csharp-web-starter.zip.sha256
- Канонічний мовний тег:
x-uai-1 - Канонічна культура серіалізації:
InvariantCulture - Документація Microsoft: CultureInfo, InvariantCulture, CultureAndRegionInfoBuilder
Що містить завантаження
- вихідний проєкт
Protocol5.UAI.CSharp - зібраний
.nupkgдляProtocol5.UAI.CSharp - допоміжні засоби кодування та декодування Radix 63404
- middleware ASP.NET Core, який розпізнає UAI-запити з query string, cookie або
Accept-Language - короткий readme для інсталяції для команд, які надають перевагу прямому завантаженню замість каналу пакетів
Чому starter використовує x-uai-1
Для вебсайтів чистий поділ виглядає так:
- використовуйте
x-uai-1для HTMLlang, узгодження запитів іContent-Language - використовуйте
CultureInfo.GetCultureInfo("x-uai-1"), коли це підтримує runtime - використовуйте
CultureInfo.InvariantCultureпід час серіалізації канонічних значень UAI
Останнє правило важливе, тому що UAI-1 визначено як канонічну машинну мову. Десяткові роздільники, формати дат і локальні правила відображення ніколи не повинні змінювати серіалізоване значення повідомлення UAI.
Чому це не просто інсталятор культури для Windows
Настанови Microsoft щодо глобалізації роблять важливе розрізнення:
CultureInfo— це звичайна точка входу runtime для поведінки, чутливої до культуриCultureAndRegionInfoBuilderіснує для створення власних культур, але цей шлях прив'язаний до Windows і не є правильною стандартною опцією для кросплатформного впровадження на вебсайтах
Через це цей starter від Protocol5 не вимагає реєстрації користувацької культури на рівні операційної системи. Він спочатку дає вебсайтам практичний шлях, а реєстрацію культур, специфічну для платформи, залишає як необов'язковий просунутий крок.
Швидкий старт
Встановіть пакет із завантаженого файла:
dotnet add package Protocol5.UAI.CSharp --source .\downloads
Після цього підключіть його до сайту ASP.NET Core:
using Protocol5.UAI;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddProtocol5UaiWebsiteSupport();
var app = builder.Build();
app.UseProtocol5UaiWebsiteSupport();
app.MapGet("/uai-demo", (HttpContext context) =>
{
var sampleCanonicalId = Radix63404.Encode(5651);
return Results.Json(new
{
protocol = UaiCultureInfo.CanonicalVersion,
language = context.GetProtocol5HtmlLanguage(),
sampleCanonicalId
});
});
app.Run();
Рекомендація для HTML
Якщо сторінка має безпосередньо оголошувати UAI-сумісний контент, використовуйте:
<html lang="x-uai-1">
Правило канонічного форматування
Під час серіалізації канонічних значень UAI завжди використовуйте InvariantCulture:
using Protocol5.UAI;
var confidence = 0.875m.ToString(UaiCultureInfo.CanonicalSerializationCulture);
Приклади Radix 63404, що входять до комплекту
Radix63404.Encode(41); // J
Radix63404.Encode(5651); // ᙖ
Radix63404.Encode(267914296); // Ⴤ绠