Is there a way to localise error messages in Craft Commerce 2?
User accounts’ First Name field isn’t required, so I’m guessing this is a custom field?

You can translate your custom field names using static message translations.

Create a new file at translations/&lt;Language&gt;/site.php:

my-project.test/
├── config/
├── ...
└── translations/
    └── &lt;Language&gt;/
        └── site.php


(replace &lt;Language&gt; with your language ID, e.g. el.)

Then have it return an array that translates your custom field names.

&lt;?php

return [
    'First Name' =&gt; 'Ονομα',
];