Labels 

The labels this extension shows in the frontend come from EXT:academic_persons_edit/Resources/Private/Language/locallang.xlf and its translations; the table below names the ones that come from another file. A site changes a label without copying a template, in TypoScript: under plugin.tx_academicpersonsedit._LOCAL_LANG for every content element of the extension, or under plugin.tx_academicpersonsedit_<plugin>._LOCAL_LANG for one of them. A label set for the plugin wins over one set for the extension.

EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_academicpersonsedit._LOCAL_LANG {
  default.list.profile = Profile
  de.list.profile = Profil
}

# Only in one content element:
plugin.tx_academicpersonsedit_profileediting._LOCAL_LANG.default.list.profile = Profile
Copied!

The dots of a key need no escaping: TypoScript reads them as levels of its tree, and TYPO3 joins the levels to the key again. A label of another language goes under its language key, de for German.

Content element Path
Profile editing ( academicpersonsedit_profileediting ) plugin.tx_academicpersonsedit_profileediting._LOCAL_LANG

A language file override works as well, and replaces the label of the file itself: $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride'] .

Earlier versions of this extension read these overrides on TYPO3 v12 and v13 from plugin.tx_academic_persons_edit instead, and the options of its select fields from plugin.tx_persons_edit , see the changelog.

Where the labels are shown 

Placeholders in angle brackets stand for a part of the key that the template or the code fills in, a category type or a field name for example.

Key Shown by
<field>.label Partials/Profile/Forms/FieldWrapper.html
<field>.placeholder Partials/Profile/Forms/Textarea.html, Partials/Profile/Forms/Textfield.html
<property>.delete Partials/Profile/Buttons/DeleteCancel.html
<formObject>.<field>.error.<code> , see Messages of a rejected form Partials/Profile/Forms/ErrorMessage.html
actions.add Templates/Contract/Show.html, Templates/Profile/Show.html
actions.cancel Partials/Profile/Buttons/DeleteCancel.html, Partials/Profile/Buttons/SaveExitCancel.html, Templates/Profile/EditImage.html
actions.delete Partials/Profile/Buttons/DeleteCancel.html, Partials/Profile/List/Contracts.html, Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html, Templates/Profile/Show.html
actions.edit Partials/Profile/List/Contracts.html, Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html, Partials/Profile/Show/Personal.html, Templates/Contract/Show.html, Templates/EmailAddress/Show.html, Templates/PhoneNumber/Show.html, Templates/PhysicalAddress/Show.html, Templates/Profile/List.html, Templates/ProfileInformation/Show.html
actions.hide Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html
actions.save Partials/Profile/Buttons/SaveExitCancel.html, Templates/Profile/EditImage.html
actions.saveAndExit Partials/Profile/Buttons/SaveExitCancel.html
actions.setToBottom Partials/Profile/List/Contracts.html, Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html
actions.setToTop Partials/Profile/List/Contracts.html, Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html
actions.show Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html
actions.sortDown Partials/Profile/List/Contracts.html, Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html
actions.sortUp Partials/Profile/List/Contracts.html, Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html
actions.translate Templates/Profile/Edit.html
actions.view Partials/Profile/List/Contracts.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html, Templates/Profile/List.html
back Layouts/ProfileEdit.html
contract Templates/Contract/New.html
contract.<field>.label Templates/Contract/Show.html
contract.data Templates/Contract/Show.html
contract.emailAddress Templates/EmailAddress/Edit.html, Templates/EmailAddress/New.html, Templates/EmailAddress/Show.html
contract.emailAddresses Templates/Contract/Show.html
contract.phoneNumber Templates/PhoneNumber/Edit.html, Templates/PhoneNumber/New.html, Templates/PhoneNumber/Show.html
contract.phoneNumbers Templates/Contract/Show.html
contract.physicalAddress Templates/PhysicalAddress/Edit.html, Templates/PhysicalAddress/New.html, Templates/PhysicalAddress/Show.html
contract.physicalAddresses Templates/Contract/Show.html
emailAddress.<field> Templates/EmailAddress/Show.html
emailAddress.email.label Partials/Profile/List/EmailAddresses.html
emailAddress.type.label Partials/Profile/List/EmailAddresses.html
form.error.<code> , see Messages of a rejected form Partials/Profile/Forms/ErrorMessage.html
form.errors Partials/Profile/Forms/Errors.html
list.actions Partials/Profile/List/Contracts.html, Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html, Partials/Profile/List/ProfileInformation.html, Templates/Profile/List.html
list.contract.position Partials/Profile/List/Contracts.html
list.hidden.badge Partials/Profile/List/EmailAddresses.html, Partials/Profile/List/PhoneNumbers.html, Partials/Profile/List/PhysicalAddresses.html
list.no<type>Found Partials/Profile/List/ProfileInformation.html
list.noContractsFound Partials/Profile/List/Contracts.html
list.noEmailAddressesFound Partials/Profile/List/EmailAddresses.html
list.noPhoneNumbersFound Partials/Profile/List/PhoneNumbers.html
list.noPhysicalAddressesFound Partials/Profile/List/PhysicalAddresses.html
list.noProfilesFound Templates/Profile/List.html
list.noTranslationFound Templates/Profile/Edit.html
list.profile Templates/Profile/List.html
list.profile.assigned Templates/Profile/List.html
list.profileInformations.title Partials/Profile/List/ProfileInformation.html
list.profileInformations.year Partials/Profile/List/ProfileInformation.html
phoneNumber.<field>.label Templates/PhoneNumber/Show.html
phoneNumber.phoneNumber.label Partials/Profile/List/PhoneNumbers.html
phoneNumber.type.label Partials/Profile/List/PhoneNumbers.html
physicalAddress.<field>.label Templates/PhysicalAddress/Show.html
physicalAddress.city.label Partials/Profile/List/PhysicalAddresses.html
physicalAddress.country.label Partials/Profile/List/PhysicalAddresses.html
physicalAddress.street.label Partials/Profile/List/PhysicalAddresses.html
profile.<textarea>.label Partials/Profile/Show/Personal.html
profile.<type> Templates/Profile/Show.html
profile.contracts Templates/Profile/Show.html
profile.gender.label Partials/Profile/Show/Personal.html
profile.image Templates/Profile/EditImage.html, Templates/Profile/Show.html
profile.name.label Partials/Profile/Show/Personal.html
profile.personal Partials/Profile/Show/Personal.html
profile.profileInformations.<type> Templates/ProfileInformation/Edit.html, Templates/ProfileInformation/New.html, Templates/ProfileInformation/Show.html
profile.publicationsLink.label Partials/Profile/Show/Personal.html
profile.skipSync.description Templates/Profile/Show.html
profile.website.label Partials/Profile/Show/Personal.html
profileInformation.<field>.label Templates/ProfileInformation/Show.html
The flash messages of the editor, keyed by the action that shows them, for example profile.update.success The messages after a profile or one of its records is saved or deleted
The item labels of the select fields in TCA, full references into a language file of academic_persons: the override is keyed by the id of the label in that file The options of the select fields of the editor forms
detail.since , detail.till of EXT:academic_persons/Resources/Private/Language/locallang.xlf, read with the extension name of academic_persons: from plugin.tx_academicpersons._LOCAL_LANG only, shared with the profile detail Partials/Profile/List/ProfileInformation.html
The messages of a rejected image upload, upload.error.<code> and validation.error.1471708998 of EXT:academic_base/Resources/Private/Language/locallang.xlf: no _LOCAL_LANG reaches them, a language file override does Templates/Profile/EditImage.html

Messages of a rejected form 

A form the editor rejects is shown again with the values that were entered, a note above it, form.errors , and a message at every field that was rejected. The message is the first label found of these:

  1. <formObject>.<field>.error.<code> , for one field of one form, for example contractFormData.validTo.error.1307719788 . The form objects are addressFormData , contractFormData , emailAddressFormData , phoneNumberFormData , profileFormData and profileInformationFormData .
  2. form.error.<code> , for every field, for example form.error.1221560718 for a required field that was left empty.
  3. The message of the TYPO3 validator that rejected the value.

<code> is the code of the validation error. The extension ships a label for the codes its forms produce: 1221560718 and 1221560910 for a required field left empty, 1221559976 for an invalid email address, 1332933658 for a year that is not a number and 1307719788 for an invalid date.

A form.error.<code> label is formatted with the arguments of the error, the way sprintf() formats a string, whenever the error carries any. The two conversion errors do: 1332933658 passes the entered value, 1307719788 the entered value and the expected date format. In such a label a literal percent sign is written %% , and %1$s inserts the first argument. A single % there makes the rendering fail. A <formObject>.<field>.error.<code> label is shown as it is written, never formatted.