Re: [Haskell-cafe] Country names and language names

2013-03-08 Thread Jon Fairbairn
Henk-Jan van Tuyl hjgt...@chello.nl writes:

 On Wed, 06 Mar 2013 20:53:57 +0100, Obscaenvs obscae...@gmail.com wrote:
 Do not forget that country names can change; e.g. the Netherlands
 Antilles were split up in 2010. This might cause problems if you store
 country codes in a database. If you simply remove obsolete country
 codes, the database can not be used properly any more.

 P.S. If you want people to be able to enter there country of
 birth, you should include all countries that existed in the
 past 116 years; if  historians should be able to use it, you
 should include all countries that  ever existed.

These are both important points, but I think they fall outside
the remit of a library for ISO 3166 country codes, which I wrote
originally for use in circumstances where some other standard
just says “an ISO 3166 country code”. If the country codes
standard included (as ISO 639 language codes does) historical
codes, it would be appropriate to include them in that library,
but since it doesn’t, it requires a separate library.

Quite how far one should go back in this separate library I
cannot say, but there are obvious use cases for country /names/
for countries that ceased to exist before 1974 and which
therefore have never had an ISO 3166 country code.


* * *

I’m currently working on ISO 639 which again will be a
presentation of the standard as Haskell data types. It requires
ISO 15924 Script codes. It’s irritating how these things have
been standardised: the registry for ISO 639 is a different
format from ISO 15924, and the former includes (presumably
non-normatively) records for the script codes. In 639 ranges are
specified with “..” but in 15924 they are simply mentioned in
the names :-(.

-- 
Jón Fairbairn jon.fairba...@cl.cam.ac.uk
http://www.chaos.org.uk/~jf/Stuff-I-dont-want.html  (updated 2012-10-07)


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Country names and language names

2013-03-06 Thread Obscaenvs
Hi! I am working on an app in Yesod that craves I18N. A problem I've
come across there is giving correct country and language names based on
currently selected language. So far, I've used the Yesod I18N message
approach, but a lot of hand coding is involved.

The iso3166-country-codes [1] package at Hackage by Jon Fairbairn
provides a start in the right direction, but an obvious improvement upon
it would be to have a function or map that takes an ISO 639 code and an
ISO 3166 code and gives the correct human-readable name for the country
as per the chosen target language (the ISO 639 code), and another
function/map for languages. It would alleviate coding those pesky
country and language switchers a *lot*, among other things.

Jon Fairbarn that coded the iso3166-country-codes package said in
private correspondence that it seemed worthwhile doing, but he couldn't
do it in his spare time, which is understandable. I am willing to do
some of the stuff involved (I know Swedish, French and some Turkish in
addition to the ubiquitous English), but obviously it's too big a
project for one man to handle (what with all the c'n'p involved :) ).

I feel that this should be done, since it seems it isn't yet. I am
inexperienced in coordinating such endeavours, though, so I would like
to share that task at least to begin with, if possible.

Any thoughts?

[1] http://hackage.haskell.org/package/iso3166-country-codes-0.2011.4

/Fredrik


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Country names and language names

2013-03-06 Thread Henk-Jan van Tuyl

On Wed, 06 Mar 2013 12:38:11 +0100, Obscaenvs obscae...@gmail.com wrote:

:
:

The iso3166-country-codes [1] package at Hackage by Jon Fairbairn
provides a start in the right direction, but an obvious improvement upon
it would be to have a function or map that takes an ISO 639 code and an
ISO 3166 code and gives the correct human-readable name for the country
as per the chosen target language (the ISO 639 code), and another
function/map for languages. It would alleviate coding those pesky
country and language switchers a *lot*, among other things.

Jon Fairbarn that coded the iso3166-country-codes package said in
private correspondence that it seemed worthwhile doing, but he couldn't
do it in his spare time, which is understandable. I am willing to do
some of the stuff involved (I know Swedish, French and some Turkish in
addition to the ubiquitous English), but obviously it's too big a
project for one man to handle (what with all the c'n'p involved :) ).

I feel that this should be done, since it seems it isn't yet. I am
inexperienced in coordinating such endeavours, though, so I would like
to share that task at least to begin with, if possible.

Any thoughts?


You can find the Dutch names in the Dutch Wikipedia:
  http://nl.wikipedia.org/wiki/Lijst_van_ISO_639-1-codes
  http://nl.wikipedia.org/wiki/ISO_3166-1

Do not forget that country names can change; e.g. the Netherlands Antilles  
were split up in 2010. This might cause problems if you store country  
codes in a database. If you simply remove obsolete country codes, the  
database can not be used properly any more.


Regards,
Henk-Jan van Tuyl


--
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Country names and language names

2013-03-06 Thread Obscaenvs
Thanks for the input -- both items.
f

Le 2013-03-06 14:20, Henk-Jan van Tuyl a écrit :
 On Wed, 06 Mar 2013 12:38:11 +0100, Obscaenvs obscae...@gmail.com wrote:
 
 :
 :
 The iso3166-country-codes [1] package at Hackage by Jon Fairbairn
 provides a start in the right direction, but an obvious improvement upon
 it would be to have a function or map that takes an ISO 639 code and an
 ISO 3166 code and gives the correct human-readable name for the country
 as per the chosen target language (the ISO 639 code), and another
 function/map for languages. It would alleviate coding those pesky
 country and language switchers a *lot*, among other things.

 Jon Fairbarn that coded the iso3166-country-codes package said in
 private correspondence that it seemed worthwhile doing, but he couldn't
 do it in his spare time, which is understandable. I am willing to do
 some of the stuff involved (I know Swedish, French and some Turkish in
 addition to the ubiquitous English), but obviously it's too big a
 project for one man to handle (what with all the c'n'p involved :) ).

 I feel that this should be done, since it seems it isn't yet. I am
 inexperienced in coordinating such endeavours, though, so I would like
 to share that task at least to begin with, if possible.

 Any thoughts?
 
 You can find the Dutch names in the Dutch Wikipedia:
   http://nl.wikipedia.org/wiki/Lijst_van_ISO_639-1-codes
   http://nl.wikipedia.org/wiki/ISO_3166-1
 
 Do not forget that country names can change; e.g. the Netherlands
 Antilles were split up in 2010. This might cause problems if you store
 country codes in a database. If you simply remove obsolete country
 codes, the database can not be used properly any more.
 
 Regards,
 Henk-Jan van Tuyl
 
 

-- 
haskellBlog: http://www.monoid.se/categories/haskell/

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Country names and language names

2013-03-06 Thread Henk-Jan van Tuyl

On Wed, 06 Mar 2013 20:53:57 +0100, Obscaenvs obscae...@gmail.com wrote:


Thanks for the input -- both items.
f



Do not forget that country names can change; e.g. the Netherlands
Antilles were split up in 2010. This might cause problems if you store
country codes in a database. If you simply remove obsolete country
codes, the database can not be used properly any more.


P.S. If you want people to be able to enter there country of birth, you  
should include all countries that existed in the past 116 years; if  
historians should be able to use it, you should include all countries that  
ever existed.


When you include obsolete names, there should be some way to create a list  
of current countries, e.g. for selection of the country, where someone  
lives, from a menu. Something like this:

  map isCurrentlyExisting listOfAllCountriesThatEverExisted
Or you create a list of current countries and a list of obsolete countries.

Regards,
Henk-Jan van Tuyl


--
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Country names and language names

2013-03-06 Thread Henk-Jan van Tuyl
On Wed, 06 Mar 2013 23:26:01 +0100, Henk-Jan van Tuyl hjgt...@chello.nl  
wrote:



someone lives, from a menu. Something like this:
   map isCurrentlyExisting listOfAllCountriesThatEverExisted


That should be
   filter isCurrentlyExisting listOfAllCountriesThatEverExisted
of course.

Regards,
Henk-Jan van Tuyl


--
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe