You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MVC应用中翻译Umbraco CMS?部署调用API报错求助

解决Umbraco API本地化MVC子项目文本的常见配置问题

Hey there! Let's walk through the key configuration checks and fixes to resolve your localization error when using Umbraco API with the MVC project at http://umb.local/poc:

1. 确认Umbraco后台语言配置

  • 先登录Umbraco后台(http://umb.local/umbraco),进入Settings > Languages,检查你需要的目标语言是否已经添加、启用,并且设置为可用语言(如果需要设为默认也可以调整)。
  • 还要确保对应的内容节点已经创建了该语言的本地化分支——Umbraco的本地化API依赖于内容节点的多语言结构来获取对应文本。

2. 配置MVC项目的本地化基础设置

  • 在MVC项目的Web.config中添加全球化配置,确保支持客户端文化识别:
    <system.web>
      <globalization uiCulture="auto" culture="auto" enableClientBasedCulture="true" />
    </system.web>
    
  • 如果你的MVC项目是独立部署的子项目,需要手动注册Umbraco的本地化服务到依赖注入容器里(如果是Umbraco托管的项目这一步会自动完成),确保能正常调用ILocalizationService。

3. 修复子路径的权限与路由配置

  • 由于MVC项目在/poc子路径,要给Umbraco添加CORS允许规则,在Umbraco主站点的web.config中添加:
    <system.webServer>
      <httpProtocol>
        <customHeaders>
          <add name="Access-Control-Allow-Origin" value="http://umb.local" />
          <add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS" />
          <add name="Access-Control-Allow-Headers" value="Content-Type" />
        </customHeaders>
      </httpProtocol>
    </system.webServer>
    
  • 检查Umbraco的umbracoSettings.config,确保路径和应用URL配置正确,保证API请求能正确路由到Umbraco实例:
    <settings>
      <umbracoPath>/umbraco</umbracoPath>
      <umbracoApplicationUrl>http://umb.local</umbracoApplicationUrl>
    </settings>
    

4. 验证本地化文本的存储与调用逻辑

  • 如果用Umbraco字典项存储本地化文本,要确保目标语言的字典翻译值已正确添加,并且调用API时指定了正确的语言ISO代码(比如zh-CN、en-US)。示例调用代码:
    var localizationService = Services.LocalizationService;
    var dictItem = localizationService.GetDictionaryItemByKey("YourDictionaryKey");
    var localizedText = dictItem?.Translations.FirstOrDefault(t => t.Language.IsoCode == "zh-CN")?.Value;
    
  • 如果你是直接从内容节点获取本地化字段,要确保调用时传入了对应的语言上下文。

5. 检查依赖与权限

  • 确保MVC项目引用的Umbraco NuGet包(比如Umbraco.Cms.Core、Umbraco.Cms.Web.Common)版本和主Umbraco实例完全一致,避免版本冲突导致的API调用失败。
  • 检查MVC项目的应用池账号,确保它有访问Umbraco数据库的权限——毕竟本地化数据都是存在Umbraco数据库里的。

如果做完这些配置还是有问题,建议把错误截图里的具体异常信息(比如错误类型、堆栈跟踪)贴出来,这样能更精准地定位问题~

内容的提问来源于stack exchange,提问作者QuachNguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:30:12