I’m implementing multilingual support in Umbraco 13.7 using the Content Delivery API with a NextJS frontend. After reviewing previous discussions (like this thread), I’m still unclear about the expected behavior of language fallback.
My setup:
- Umbraco 13.7 with Content Delivery API
- Enabled “vary by culture” for document types
- Enabled culture variation for property editors:
public List<string> AllowedEditorAliases { get; set; } = new List<string>
{
UmbracoConstants.PropertyEditors.Aliases.BlockList,
UmbracoConstants.PropertyEditors.Aliases.TextBox,
UmbracoConstants.PropertyEditors.Aliases.TextArea,
UmbracoConstants.PropertyEditors.Aliases.MultipleTextstring,
UmbracoConstants.PropertyEditors.Aliases.TinyMce
};
- Multiple languages configured with proper fallback settings in Umbraco backoffice
What I expected:
- When requesting content with
Accept-Language
header for a non-default language:
- If a translated variant exists, I get the translated content
- If no variant exists, it automatically falls back to the configured fallback language
- For individual properties, if a property is null in the requested language, it should use the value from the fallback language
What I’m experiencing: Similar to the issue reported by Jarrod:
- Invariant fields work correctly
- Translated fields in the requested language work correctly
- Empty/null fields in the requested language return null instead of falling back to the default language value
Questions:
- Is automatic language fallback supported in the Content Delivery API? If so, is there additional configuration required?
- Do I need to implement fallback logic manually in my frontend code?
- Is there an API parameter (similar to the
Fallback.ToDefaultLanguage
used in template rendering) that can be passed to enable this behavior? - Is this considered a feature gap in the current implementation?
Any advice or clarification would be greatly appreciated, especially from those who have successfully implemented language fallback with the Content Delivery API.