管弦乐-模块-expo-location
将本地化支持添加到 Expo app 中.
你得到的东西
- 即时设置本地化
- 没有锅炉板
- 完全可逆
使用量
import { createOrchestrator } from '@ankhorage/orchestrator';
import { expoLocalizationModule } from '@ankhorage/orchestrator-module-expo-localization';
const orchestrator = createOrchestrator({
modules: [expoLocalizationModule],
projectRoot: '/path/to/project',
});
await orchestrator.installModule('expo-localization', { config: {} });
Orchestrator分类账是犬科的生命周期和配置来源. 更新已有的
安装用途 reconfigureModule(),也可以删除先前模块记录的输出
生成 cononical 之前的版本 src/modules/localization 名称空间.
分类账配置中只包含生命周期设置( E)locales 财务报告和审定财务报表 defaultLocale) (中文(简体) ).
翻译词典是模块拥有的域资源
src/modules/localization/locales/{locale}.json。这些文件是单词典
源并直接由生成的运行时间导入;它们不被镜像到分类账配置中.
使用软件包API来编辑普通词典,而不重排或重新配置模块.
缺少本地资源文件作为空词典载入 。 无效文件明显失败 。 写作是
原子和密钥被排序如此运行时间,源控输出仍然具有决定性. 现有
translations 分类账数据仅作为一次性种子被接受, 当一个cononical locale 文件不使用时
仍然存在; 常规配置从不将字典写回分类账中 .
从根部输出用于语言规则和可变字段发现的软件包中性辅助工具 软件包。 发现接受来自呼叫器的显示形节点和组件元数据,所以 模块没有 Studio 组件注册依赖性.
撰写主机贡献
一般作者主机可以导入软件包自有贡献,而不添加 Studio, ZORA, 或 对模块根的反应 :
import { expoLocalizationHostContribution } from '@ankhorage/orchestrator-module-expo-localization/host';
它的序列 admin schema继续描述生命周期配置. 哥哥们
adminRuntime 是服务器侧并符合通用的单进主机合同:
execute(context, { operation, input }). 主机处理操作串,有效载荷,验证,
并产生不透明的模块自有数据.
软件包导出 EXPO_LOCALIZATION_ADMIN_OPERATIONS 作为犬科手术的ID。 语言和
默认本地操作使用被注入的生命周期重组边界。 词典操作
直接写入 Canonical 本地语言 JSON, 因此普通翻译编辑从不重新安装或重新配置
模块。 负载操作生成可变字段、 缺少翻译、 搜索和过滤器
从模块所属域 API. 连接操作从注入组件验证资格
元数据并使用通用显示的突变回调; 新密钥在配置中种子
默认本地字典,而不覆盖已有的翻译.
可选管理员视图
反应/ ZORA 编写主机可以使软件包自主管理表观从可选位置
./admin-view 子路径。 视图只收到不透明执行器和可选的项目更改
callback; 本地化操作 ID 和结果语义 仍然保留在这个包中.
import {
ExpoLocalizationAdminView,
expoLocalizationAdminViewContribution,
} from '@ankhorage/orchestrator-module-expo-localization/admin-view';
视图涵盖地语/默认-地语管理,犬语词典创建/更新/删除,
元数据驱动的可变字段搜索/过滤和链接,以及缺失的翻译状态. 反应
zORA 是可选的对等关系依赖, 而不是根或根的依赖关系 ./host 入门口.
为什么会这样
实现全应用程序本地化设置标准化.