几分钟而非几天交付配置、本地化和主题

唯一让普通类成为完整系统的 .NET 配置框架 — 持久化、预设、实时重载和本地化,零基础设施

更少开销,相同结果

从 JSON 加载类型化配置 — 无需构建器仪式或手动接线。

Calq Config
using CalqFramework.Config.Json;

var registry = new JsonConfigurationRegistry();
var ui = await registry.GetAsync<UiConfig>();

Console.WriteLine(ui.Title);
Console.WriteLine(ui.DarkMode);
Microsoft.Extensions.Configuration
using Microsoft.Extensions.Configuration;

var configuration = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json",
        optional: false, reloadOnChange: true)
    .Build();

var ui = configuration
    .GetSection("UiConfig").Get<UiConfig>();

Console.WriteLine(ui.Title);
Console.WriteLine(ui.DarkMode);

你的设置就是整个配置系统

Calq Config 将现有设置作为应用配置、本地化和主题的唯一事实来源。通过消除手动接线和基于字符串的查找,移除了整个类别的基础设施开销和人为错误。

零开销配置管理

定义一个类,即可获得自动保持最新状态的完整配置系统。无需构建器模式、无需节绑定、无需手动序列化 — 减少开发时间和维护成本。

无需重启的即时更新

在不丢失应用状态的情况下实时更新设置和本地化。适合在生产环境中无停机调整业务规则或主题。

智能预设管理

主预设将变更级联到所有相关配置类型 — 主题、语言、区域格式。更改一个值,所有依赖配置自动重载。

可读写的配置

与标准的只读配置工具不同,Calq Config 允许自动将变更写回磁盘。适合需要跨会话持久化的用户偏好和管理设置。

无错误的全球本地化

使用类型化属性而非脆弱的字符串键管理翻译。AI可以零歧义地生成完整翻译文件 — 类定义即为模式,编译器验证完整性。

规模化AI驱动配置

类型化属性和预设组为AI提供结构化上下文,用于生成本地化、区域预设和主题变体 — 与字符串键系统不同,在那些系统中AI缺乏生成正确翻译所需的上下文。

Calq Config 替代的内容

从基础设施样板代码到手动本地化 — 一个框架替代多种工具和模式。

配置管理

替代对象

手动配置基础设施 — 自定义接线、样板代码以及每个项目从零开始重建的脆弱设置

替代方案

一次定义即成为完全托管的配置系统 — 内置持久化、实时重载和预设

成果

AI无需打开Unity编辑器即可配置任何产品 — 包括没有其他替代方案的Unity游戏

本地化

替代对象

脆弱的字符串键本地化框架和静默失败的手动语言切换逻辑

替代方案

带自动级联的结构化翻译 — 无错误、构建时验证、无需额外工具

成果

AI无需翻译人员即可提供完整翻译 — 新语言在几分钟内上线,而非数个迭代周期

Calq Config vs. Microsoft.Extensions.Configuration

Microsoft.Extensions.Configuration 是 ASP.NET Core 应用的标准。Calq Config 在更简单的 API 之上添加了可变状态、写回磁盘、预设级联和类型安全的本地化。

Calq Config vs. Microsoft.Extensions.Configuration
功能 Calq Config Microsoft.Extensions.Configuration
配置对象可变 POCO 单例不可变 POCO(通过 IOptions 绑定)
命名预设 (自动) (手动)
实时重载
预设组 (主预设级联)
运行时预设切换
写回文件
通过 JSONPath 写回文件
字段支持
上手难度简单适中
Calq Config vs. 常见本地化方法

类型化属性替代字符串键查找 — 配置与本地化统一在一个系统中。

功能 Calq Config .resx + IStringLocalizer JSON 本地化库
翻译访问方式类型化属性 (t.WelcomeMessage)字符串键查找 (Loc["WelcomeMessage"])字符串键查找 (Loc["WelcomeMessage"])
存储格式JSON 文件(无构建步骤,运行时可编辑)XML .resx(需要编译为附属程序集)JSON 文件(无构建步骤,但基于字符串键)
语言切换更改一个值,所有文本类自动重载设置线程区域性,然后重新解析每个本地化器按组件手动重载或重新解析
是否需要构建步骤不需要(运行时 JSON 加载)附属程序集编译不需要(运行时 JSON 加载)
复数形式每种形式使用独立属性 — 无需 DSL需要框架引擎(ICU / gettext 规则)需要框架引擎(ICU / gettext 规则)
翻译工具(Crowdin、Transifex 等)
编译时安全性
与应用配置统一

定价与许可

一次性购买

开源项目免费使用,如需保持源代码私有,请选择商业许可证。

开源许可证

适用于个人项目、开源开发和产品评估。可在SSPL许可证条款下免费使用。

免费: SSPL许可证

免费开始
使用本软件即表示您同意以下条款 SSPL许可证.
商业许可证

获取商业许可证,可在保持源代码私有的情况下使用。

一次性购买 $40/用户

立即购买
购买即表示您同意 许可协议服务条款隐私政策.

常见问题

Calq Config 与 IOptions 有什么区别?

可以在 ASP.NET Core 中使用 Calq Config 吗?

可以实现自定义存储后端吗?

可以使用 Calq Config 进行本地化吗?

减少配置和本地化的工程开销

定义设置即获得持久化、预设、实时重载和类型安全的本地化 — 跨 .NET、Unity 和 Blazor
An unhandled error has occurred. Reload 🗙