Answers.Body: <p>All those strings should be in transifex (and compiled in the .mo files).
  Please keep in mind that the string might contains HTML and what you see as one big paragraph on the screen might be in fact be a concatenation of several strings.</p>
  
  <p>For example, your first example is in fact 2 separate strings in transifex (and the second one contains HTML) :</p>
  
  <pre><code>    $statusMessage = ts("It looks like you are already registered for this event. If you want to change your registration, or you feel that you've gotten this message in error, please contact the site administrator.") . ' ' . ts('You can also &lt;a href="%1"&gt;register another participant&lt;/a&gt;.', array(1 =&gt; $registerUrl));
  </code></pre>
  
  <p>You can find those string (for fr_CA) here :</p>
  
  <ul>
  <li><a href="https://www.transifex.com/civicrm/civicrm/translate/#fr_CA/event?q=It%20looks%20like%20you%20are%20already%20registered%20for%20this%20event" rel="nofollow noreferrer">https://www.transifex.com/civicrm/civicrm/translate/#fr_CA/event?q=It looks like you are already registered for this event</a></li>
  <li><a href="https://www.transifex.com/civicrm/civicrm/translate/#fr_CA/event?q=register%20another%20participant" rel="nofollow noreferrer">https://www.transifex.com/civicrm/civicrm/translate/#fr_CA/event?q=register another participant</a></li>
  </ul>
  
  <p>If after looking in <a href="https://www.transifex.com/civicrm/civicrm/translate" rel="nofollow noreferrer">transifex</a>, you can't find the strings, it might be three different problems :</p>
  
  <ol>
  <li>there is a missing <code>ts</code> (translation function) in the code, meaning there is bug that should be mentioned in the issue tracker (gitlab)</li>
  <li>the string is a new one or has been changed and transifex is not yet up-to-date</li>
  <li>there is bug with the string extractor</li>
  </ol>
  
  <p>Once you have updated the string in transifex, you need to extract po files and compile them or wait for the automated process to compile them for you (once a day) -> <a href="http://download.civicrm.org/civicrm-l10n-core/mo/fr_CA/civicrm.mo" rel="nofollow noreferrer">http://download.civicrm.org/civicrm-l10n-core/mo/fr_CA/civicrm.mo</a> (replace fr_CA by your locale)</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-08-31T19:43:41.400Z
Answers.LastActivityDate: 2020-04-16T18:27:46.587Z
Answers.LastEditDate: 2020-04-16T18:27:46.587Z
Answers.UserDisplayName: samuelsov
Answers.Body: <p>It Seems the best way to solve this is to create a custom template using Smarty. 
  The trick is not getting these overwritten everytime you upgrade. </p>
  
  <p>I've read you can actually put your template files in a custom directory which sounds a bit safer. This would require a comparison for changes in syntax during each upgrade.</p>
  
  <p><a href="https://civicrm.stackexchange.com/questions/12662/using-the-wordpress-plugin-how-do-i-overide-the-the-template-files-ie-eventinf">Override CiviEvent Templates in Wordpress</a></p>
  
  <p><a href="https://civicrm.stackexchange.com/questions/18867/translations-missing">Missing CiviEvent Translations</a></p>
  
  <p>According to <a href="https://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens" rel="nofollow noreferrer">enter link description here</a> this is a legacy way of doing things. And changes to templates should be incorporated into a Extension.
  <a href="https://docs.civicrm.org/dev/en/master/extensions/" rel="nofollow noreferrer">Creating Extensions.</a></p>
  
  <p><strong>So the correct answer is create an Extension to style or add custom translations</strong></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-01T14:57:02.160Z
Answers.LastActivityDate: 2017-08-01T15:04:02.660Z
Answers.LastEditDate: 2017-08-01T15:04:02.660Z
Answers.UserDisplayName: user4820
Body: <p>I'm busy translating user facing parts of CiviCRM to a local language.</p>
  
  <p>I've changed some of the text on the Event page. I.e. Register, Event Fee Fields. But some of the reminders like when a user is already registered still shows up in English.</p>
  
  <p>I've used PoEdit to edit translation files but none of these fields are included. Only back-end fields are included in the translation file.</p>
  
  <p>Here are examples of fields I'd like to translate: </p>
  
  <ul>
  <li><p>"It looks like you are already registered for this event. If you want
  to change your registration, or you feel that you've gotten this
  message in error, please contact the site administrator. You can also
  register another participant."</p></li>
  <li><p>Continue Button</p></li>
  <li><p>"Please verify the information below. Click the Go Back button below
  if you need to make changes. Otherwise, click the Continue button
  below to complete your registration."</p></li>
  <li><p>"Your registration will not be submitted until you click the Continue
  button. Please click the button one time only. If you need to change
  any details, click the Go Back button below to return to the previous
  screen."</p></li>
  <li><p>"An email with event details has been sent to ..."</p></li>
  <li>When  </li>
  <li>Location  </li>
  <li>First Name  </li>
  <li>Last Name  </li>
  <li>Your Registration Info </li>
  <li>Participant Info  </li>
  <li>Event Information</li>
  </ul>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-08T13:17:45.793Z
Comments.Text: Worth noting that you can use "Language switcher" URLs to tell Civi to use a particular translation for a page. See blog at https://civicrm.org/blog/ayduns/language-switcher
Comments.UserDisplayName: artfulrobot
Tags: <civievent><i18n>
Title: Translating CiviEvent Public pages
ThreadText: # Translating CiviEvent Public pages
  
  (Asked by: username_0 on 2017-07-21)
  
  I'm busy translating user facing parts of CiviCRM to a local language.
  
  I've changed some of the text on the Event page. I.e. Register, Event Fee Fields. But some of the reminders like when a user is already registered still shows up in English.
  
  I've used PoEdit to edit translation files but none of these fields are included. Only back-end fields are included in the translation file.
  
  Here are examples of fields I'd like to translate:
  
  * "It looks like you are already registered for this event. If you want
    to change your registration, or you feel that you've gotten this
    message in error, please contact the site administrator. You can also
    register another participant."
  * Continue Button
  * "Please verify the information below. Click the Go Back button below
    if you need to make changes. Otherwise, click the Continue button
    below to complete your registration."
  * "Your registration will not be submitted until you click the Continue
    button. Please click the button one time only. If you need to change
    any details, click the Go Back button below to return to the previous
    screen."
  * "An email with event details has been sent to ..."
  * When
  * Location
  * First Name
  * Last Name
  * Your Registration Info
  * Participant Info
  * Event Information
  
  **Tags:** civievent, i18n
  
  > **Comments:**
  > **username_1**: Worth noting that you can use "Language switcher" URLs to tell Civi to use a particular translation for a page. See blog at https://civicrm.org/blog/ayduns/language-switcher  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2017-08-31. Score: 2
  
  All those strings should be in transifex (and compiled in the .mo files).
  Please keep in mind that the string might contains HTML and what you see as one big paragraph on the screen might be in fact be a concatenation of several strings.
  
  For example, your first example is in fact 2 separate strings in transifex (and the second one contains HTML) :
  
  ```
      $statusMessage = ts("It looks like you are already registered for this event. If you want to change your registration, or you feel that you've gotten this message in error, please contact the site administrator.") . ' ' . ts('You can also <a href="%1">register another participant</a>.', array(1 => $registerUrl));
  
  ```
  
  You can find those string (for fr\_CA) here :
  
  * [https://www.transifex.com/civicrm/civicrm/translate/#fr\_CA/event?q=It looks like you are already registered for this event](https://www.transifex.com/civicrm/civicrm/translate/#fr_CA/event?q=It%20looks%20like%20you%20are%20already%20registered%20for%20this%20event)
  * [https://www.transifex.com/civicrm/civicrm/translate/#fr\_CA/event?q=register another participant](https://www.transifex.com/civicrm/civicrm/translate/#fr_CA/event?q=register%20another%20participant)
  
  If after looking in [transifex](https://www.transifex.com/civicrm/civicrm/translate), you can't find the strings, it might be three different problems :
  
  1. there is a missing `ts` (translation function) in the code, meaning there is bug that should be mentioned in the issue tracker (gitlab)
  2. the string is a new one or has been changed and transifex is not yet up-to-date
  3. there is bug with the string extractor
  
  Once you have updated the string in transifex, you need to extract po files and compile them or wait for the automated process to compile them for you (once a day) -> <http://download.civicrm.org/civicrm-l10n-core/mo/fr_CA/civicrm.mo> (replace fr\_CA by your locale)
  
  
  ---
  
  ### Answer by username_0 on 2017-08-01. Score: 0
  
  It Seems the best way to solve this is to create a custom template using Smarty.
  The trick is not getting these overwritten everytime you upgrade.
  
  I've read you can actually put your template files in a custom directory which sounds a bit safer. This would require a comparison for changes in syntax during each upgrade.
  
  [Override CiviEvent Templates in Wordpress](https://civicrm.stackexchange.com/questions/12662/using-the-wordpress-plugin-how-do-i-overide-the-the-template-files-ie-eventinf)
  
  [Missing CiviEvent Translations](https://civicrm.stackexchange.com/questions/18867/translations-missing)
  
  According to [enter link description here](https://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens) this is a legacy way of doing things. And changes to templates should be incorporated into a Extension.
  [Creating Extensions.](https://docs.civicrm.org/dev/en/master/extensions/)
  
  **So the correct answer is create an Extension to style or add custom translations**
  
  
  ---
  
  