I am using 4.02 and have the en-AU language pack installed, with en-US diabled (the site targets predominantly Australians). I have just added a list of regions (we call them states) using some SQL (although adding to the lists interactivly works fine too).
When I am now go to the user registration page, it prompts me to enter a province not a state. Upon closer inspection of the sourec code (address.vb) I note that this is hardcoded:
Dim entryCollection As ListEntryInfoCollection = ctlEntry.GetListEntryInfoCollection("Region", "", listKey)
...
If countryCode.ToLower = "us" Then << NOTE Hardcoded US setting
... Get US States
Else
... Get Province etc Localization strings and fill listbox
End If
...
Else
... Display text box for region
End If
This is clearly a leftover from the DNN V1 days when some attempt was made to localize for US & Canadian users. I think this is unacceptable and propose that the core address control is modified (simplified). Just display the combo if any region list data is found and display the textbox if no region list is available.
The actual label/caption for the region and postal code text boxes can either be done via the language localisation string or by adding yet another sub-list where the country's custom names are stored, eg:
listname value parent
RegionLabel State <US>
RegionLabel Province <CA>
RegionLabel State <AU>
RegionLabel Bundesland <DE>
PostalLabel Zip <US>
PostalLabel Postal Code <CA>
PostalLabel Post Code <AU>
PostalLabel Postleitzahl <DE>
The language localisation could then pick up the entry from the list too, so that an error message is also customised.
Comments, anyone?