Everbright Article and Project node types have untranslatable fields that are used to hold editorial text
I did a translatability audit of the Everbright site template and reviewed all node types to check whether their editorial text fields are correctly marked as translatable. Everbright has three node types: `page`, `article`, and `project`.
The `page` type is fully correct. The `article` and `project` types have multiple editorial text fields incorrectly configured as not translatable.
### Audit: Node type field translatability
#### `page`
| Field | Type | Translatable | Should Be | Sample values from fixtures |
|-------|------|:------------:|:---------:|-----------------------------|
| `title` | string | :white_check_mark: | :white_check_mark: | "Privacy policy" |
| `field_content` | text_long | :white_check_mark: | :white_check_mark: | `<h2>This content needs to be edited before publishing</h2>...` |
| `field_description` | string_long | :white_check_mark: | :white_check_mark: | "Nothing here yet." |
| `field_seo_title` | string | :white_check_mark: | :white_check_mark: | (not populated in fixtures) |
| `field_seo_description` | string_long | :white_check_mark: | :white_check_mark: | (not populated in fixtures) |
| `field_featured_image` | entity_reference | :x: | :x: | (media reference, not text) |
| `field_tags` | entity_reference | :x: | :x: | (taxonomy reference, not text) |
All fields look correct.
#### `article`
| Field | Type | Translatable | Should Be | Sample values from fixtures |
|-------|------|:------------:|:---------:|-----------------------------|
| `title` | string | :white_check_mark: | :white_check_mark: | "Nomination for Crestwood Design Excellence Award" |
| `field_author` | string | :x: | :x: | "Anthony Gecerella", "Alice Liu" |
| `field_content` | text_long | :x: | :white_check_mark: | `<p>There is a quiet revolution happening in beauty...` |
| `field_description` | string_long | :x: | :white_check_mark: | "Introducing 'Lumora' – where science meets beauty..." |
| `field_seo_description` | string_long | :white_check_mark: | :white_check_mark: | (not populated in fixtures) |
| `field_featured_image` | entity_reference | :x: | :x: | (media reference, not text) |
`field_author` holds a personal name and is correctly not translatable. `field_content` and `field_description` hold full editorial text and should be translatable.
#### `project`
| Field | Type | Translatable | Should Be | Sample values from fixtures |
|-------|------|:------------:|:---------:|-----------------------------|
| `title` | string | :white_check_mark: | :white_check_mark: | "Propelling Brand Identity Through Cutting-Edge Visual Design" |
| `field_eyebrow` | string | :x: | :x: | "Monolithus", "Evano" |
| `field_name` | string | :x: | :x: | "Sarah Chen", "Thando" |
| `field_position` | string | :x: | :white_check_mark: | "CEO", "CEO of Evano" |
| `field_quote_text` | text_long | :x: | :white_check_mark: | `<p>What set Everbright apart was how deeply they listened...` |
| `field_content` | text_long | :x: | :white_check_mark: | `<h2>Propelling Monolithus's Identity...</h2><p>When Monolithus approached...` |
| `field_description` | string_long | :x: | :white_check_mark: | "We partnered with Monolithus to redefine their visual identity..." |
| `field_seo_title` | string | :white_check_mark: | :white_check_mark: | (not populated in fixtures) |
| `field_seo_description` | string_long | :white_check_mark: | :white_check_mark: | (not populated in fixtures) |
| `field_featured_image` | entity_reference | :x: | :x: | (media reference, not text) |
`field_eyebrow` holds a client brand name and `field_name` holds a person's name — both are correctly not translatable. `field_position`, `field_quote_text`, `field_content`, and `field_description` all hold human-readable display text and should be translatable.
### Fix
For each affected field, set `translatable: true` in the corresponding field instance config file under `recipes/everbright/config/`:
- `field.field.node.article.field_content.yml`
- `field.field.node.article.field_description.yml`
- `field.field.node.project.field_position.yml`
- `field.field.node.project.field_quote_text.yml`
- `field.field.node.project.field_content.yml`
- `field.field.node.project.field_description.yml`
### LLM disclosure
I used LLM assistance to help me with this audit but personally reviewed the output, so this is a personal recommendation. :smile:
issue