Answers.Body: <p>Just a clarification first: Parsing is different from geocoding. If all you want is to get lat and long values filled in then regular google geocoding works without parsing.</p>
  
  <p>If you really want parsing, then you might be able to do it with hook_civicrm_post and when <code>$objectName == 'Address'</code> you can parse and adjust the address there.</p>
  
  <p>Note that just for display of zip before city you can alter that at Administer - Localization - Address Settings, but you probably have already seen that, and it doesn't rearrange the edit form, just for viewing and labels.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-12-29T18:56:05.703Z
Answers.Text: You are right! But it is a bit complex! :-D
  
  There are two ways for geocoding:
  
  1. Geocoding on post: This works without parsing! 
  
  2. The "Cron Job" Address geocoder: That one gives an error without parsing: ```Error: You need to enable Street Address Parsing under Administer > Localization > Address Settings.```
  
  For me, that solves my problem. I will just disable the "cron job". :-)
Answers.UserDisplayName: Tiggr
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-12-29T03:57:53.903Z
Answers.LastActivityDate: 2019-12-29T03:57:53.903Z
Answers.UserDisplayName: Demerit
Answers.Body: <p>If you only need geocoding and no parsing, you can disable parsing by using the parameters in the geocoding scheduled task</p>
  
  <pre><code>geocoding=1
  parse=0
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-04-23T07:32:38.223Z
Answers.LastActivityDate: 2020-04-23T07:32:38.223Z
Answers.UserDisplayName: Hans Rossel
Body: <p>As a german user of CiviCRM, i would love to have geocoding for my addresses. But at the moment, it tells me:</p>
  
  <blockquote>
    <p>Street address parsing is enabled but not supported by your locale (de_DE).</p>
  </blockquote>
  
  <p>That's true, the core only supports following locals:</p>
  
  
  
  <pre><code> $parsingSupportedLocales = ['en_US', 'en_CA', 'fr_CA'];
  </code></pre>
  
  <p>In some way it still works, but I get an info on each save of an adress, telling me it couldn't parse the address. </p>
  
  <p>I would love to try to implement a extension for german address parsing. Is there any hook I can use for that?</p>
  
  <p>I took a look at <code>org.civicoop.streetformatnl</code> but it's old code and overwrites the core function. And it gave me an error 500, using it with CiviCRM 5.20.1. </p>
  
  <p>There are two main differences between american and german adresses:</p>
  
  <ol>
  <li>We write the house number after the street: &lt;street&gt; &lt;number&gt;</li>
  <li>We place the zip before the city name: &lt;zip&gt; &lt;city&gt;</li>
  </ol>
  
Tags: <geocoding>
Title: Is there a hook for address parsing?
ThreadText: # Is there a hook for address parsing?
  
  (Asked by: username_0 on 2019-12-28)
  
  As a german user of CiviCRM, i would love to have geocoding for my addresses. But at the moment, it tells me:
  
  Street address parsing is enabled but not supported by your locale (de_DE).
  
  That's true, the core only supports following locals:
   $parsingSupportedLocales = ['en_US', 'en_CA', 'fr_CA'];
  
  In some way it still works, but I get an info on each save of an adress, telling me it couldn't parse the address. 
  I would love to try to implement a extension for german address parsing. Is there any hook I can use for that?
  I took a look at org.civicoop.streetformatnl but it's old code and overwrites the core function. And it gave me an error 500, using it with CiviCRM 5.20.1. 
  There are two main differences between american and german adresses:
  
  We write the house number after the street:  
  We place the zip before the city name:
  
  **Tags:** geocoding
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2019-12-29. Score: 3 | Accepted answer
  
  Just a clarification first: Parsing is different from geocoding. If all you want is to get lat and long values filled in then regular google geocoding works without parsing.
  
  If you really want parsing, then you might be able to do it with hook\_civicrm\_post and when `$objectName == 'Address'` you can parse and adjust the address there.
  
  Note that just for display of zip before city you can alter that at Administer - Localization - Address Settings, but you probably have already seen that, and it doesn't rearrange the edit form, just for viewing and labels.
  
  > **Comments:**
  > **username_0**: You are right! But it is a bit complex! :-D  There are two ways for geocoding:  1. Geocoding on post: This works without parsing!   2. The "Cron Job" Address geocoder: That one gives an error without parsing: ```Error: You need to enable Street Address Parsing under Administer > Localization > Address Settings.```  For me, that solves my problem. I will just disable the "cron job". :-)  
  
  ---
  
  ### Answer by username_2 on 2020-04-23. Score: 1
  
  If you only need geocoding and no parsing, you can disable parsing by using the parameters in the geocoding scheduled task
  geocoding=1
  parse=0
  
  
  ---
  
  