From d7b5b984cd66fb62681990bcaec7446325f457e8 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Tue, 5 Aug 2025 18:35:13 +0000 Subject: [PATCH] Bug 40598: Improve translation of OPAC authorities include This patch improves the markup of the OPAC's authority-information.inc so that translatable strings are better isolated for the translation process. To test, apply the patch and test that the correct strings are translatable. In this example I'm testing fr-FR: - Update a translation: > gulp po:update --lang fr-FR > perl misc/translator/translate update fr-FR - Open the corresponding .po file for the strings pulled from the include file, e.g. - misc/translator/po/fr-FR-messages.po - misc/translator/po/fr-FR/fr-FR-opac-bootstrap.po - Locate strings pulled from authority-information.inc for translation, e.g.: #: koha-tmpl/opac-tmpl/bootstrap/en/includes/authority-information.inc:94 msgctxt "A period starting from" msgid "From: " msgstr "" - Edit the "msgstr" string however you want (it's just for testing) - Install the updated translation: > perl mis/translator/translate install fr-FR - Now go to Administration -> System preferences in the staff interface and search for OPACAuthorIdentifiersAndInformation and make sure that "Identifiers (024$2$a)" is checked. - Edit a Personal Name authority record to have various personal details: - 024 $a [any value] $2 orcid - 370$a and $b, 372$a, 374$a - Edit a bibliographic record to link 100$a to that authority record. - Switch to your translated language in the OPAC. - In the OPAC, locate the bibliographic record you edited. - Check the detail page -> "Author information" tab - Check the authority detail page in OPAC, under "Author information" in the right-hand column. - Labels for the information you added should be correctly translated. Sponsored-by: Athens County Public Libraries --- .../en/includes/authority-information.inc | 106 +++++++++++------- 1 file changed, 66 insertions(+), 40 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/authority-information.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/authority-information.inc index 4354e3b71a8..2c31209015a 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/authority-information.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/authority-information.inc @@ -1,3 +1,6 @@ +[% USE raw %] +[% USE Koha %] +[% PROCESS 'i18n.inc' %] [% FOREACH info IN information %] [% SWITCH info_type %] [% CASE 'identifiers' %] @@ -29,77 +32,100 @@ [% CASE 'activity' %] [% IF info.field_of_activity %]
  • - - Field of activity: [% info.field_of_activity | html %] - [% IF info.start_period || info.end_period %] - ( [%~ IF info.start_period %]from: [% info.start_period | html %][% END %] - [% IF info.end_period %]until: [% info.end_period | html %][% END ~%] - ) + Field of activity: + [% info.field_of_activity | html %] + [% IF info.start_period || info.end_period %] + ( + [%~ IF info.start_period %] + [% tp('A period starting from', 'From: ') | html %] + [% info.start_period | html %] [% END %] - + [% IF info.end_period %] + [% tp('A period ending', 'Until: ') | html %] + [% info.end_period | html %] + [% END ~%] + ) + [% END %]
  • [% END %] [% CASE 'address' %] [% IF info.address %]
  • - Address: [% info.address | html %] [% info.postal_code | html %] [% info.city | html %] [% info.country | html %] + Address: + [% info.address | html %] [% info.postal_code | html %] [% info.city | html %] [% info.country | html %]
  • [% END %] [% CASE 'associated_group' %] [% IF info.associated_group %]
  • - - Associated group: [% info.associated_group | html %] - [% IF info.start_period || info.end_period %] - ( [%~ IF info.start_period %]from: [% info.start_period | html %][% END %] - [% IF info.end_period %]until: [% info.end_period | html %][% END ~%] - ) + Associated group: + [% info.associated_group | html %] + [% IF info.start_period || info.end_period %] + ( + [%~ IF info.start_period %] + [% tp('A period starting from', 'From: ') | html %] + [% info.start_period | html %] [% END %] - [% IF info.uri %]

    URI: [% info.uri | html %]

    [% END %] - [% IF info.source_of_information %]

    Source of information: [% info.source_of_information | html %]

    [% END %] - [% IF info.authority_record_number %]

    Authority record control number or standard number: [% info.authority_record_number | html %]

    [% END %] -
    + [% IF info.end_period %] + [% tp('A period ending', 'Until: ') | html %] + [% info.end_period | html %] + [% END %] + ) + [% END %] + [% IF info.uri %] +

    URI: [% info.uri | html %]

    + [% END %] + [% IF info.source_of_information %] +

    Source of information: [% info.source_of_information | html %]

    + [% END %] + [% IF info.authority_record_number %] +

    Authority record control number or standard number: [% info.authority_record_number | html %]

    + [% END %]
  • [% END %] [% CASE 'email_address' %] [% IF info.email_address %] -
  • - Email address: [% info.email_address | html %] -
  • +
  • Email address: [% info.email_address | html %]
  • [% END %] [% CASE 'occupation' %] [% IF info.occupation %]
  • - - Occupation: [% info.occupation | html %] - [% IF info.start_period || info.end_period %] - ( [%~ IF info.start_period %]from: [% info.start_period | html %][% END %] - [% IF info.end_period %]until: [% info.end_period | html %][% END ~%] - ) + Occupation: + [% info.occupation | html %] + [% IF info.start_period || info.end_period %] + ( + [%~ IF info.start_period %] + [% tp('A period starting from', 'From: ') | html %] + [% info.start_period | html %] [% END %] - [% IF info.uri %]

    URI: [% info.uri | html %]

    [% END %] - [% IF info.source_of_information %]

    Source of information: [% info.source_of_information | html %]

    [% END %] - [% IF info.authority_record_number %]

    Authority record control number or standard number: [% info.authority_record_number | html %]

    [% END %] -
    + [% IF info.end_period %] + [% tp('A period ending', 'Until: ') | html %] + [% info.end_period | html %] + [% END ~%] + ) + [% END %] + [% IF info.uri %] +

    URI: [% info.uri | html %]

    + [% END %] + [% IF info.source_of_information %] +

    Source of information: [% info.source_of_information | html %]

    + [% END %] + [% IF info.authority_record_number %] +

    Authority record control number or standard number: [% info.authority_record_number | html %]

    + [% END %]
  • [% END %] [% CASE 'place_of_birth' %] [% IF info.place_of_birth %] -
  • - Place of birth: [% info.place_of_birth | html %] -
  • +
  • Place of birth: [% info.place_of_birth | html %]
  • [% END %] [% CASE 'place_of_death' %] [% IF info.place_of_death %] -
  • - Place of death: [% info.place_of_death | html %] -
  • +
  • Place of death: [% info.place_of_death | html %]
  • [% END %] [% CASE 'uri' %] [% IF info.uri %] -
  • - URI: [% info.uri | $raw | html %] -
  • +
  • URI: [% info.uri | $raw | html %]
  • [% END %] [% END %] [% END %] -- 2.39.5