summaryrefslogtreecommitdiff
path: root/53/8e21f8e5530586410b3678ef1aae23a98e8959
blob: f05cdeb2055f24bf5be119d13da2dd9dda19eea3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Return-Path: <nullius@nym.zone>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id BB16EBE7
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  5 Jan 2018 13:59:00 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from mx2.mailbox.org (mx2.mailbox.org [80.241.60.215])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 2F72CCE
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  5 Jan 2018 13:59:00 +0000 (UTC)
Received: from smtp2.mailbox.org (smtp2.mailbox.org [80.241.60.241])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by mx2.mailbox.org (Postfix) with ESMTPS id 8CC644CA2B;
	Fri,  5 Jan 2018 14:58:58 +0100 (CET)
X-Virus-Scanned: amavisd-new at heinlein-support.de
Received: from smtp2.mailbox.org ([80.241.60.241])
	by spamfilter01.heinlein-hosting.de (spamfilter01.heinlein-hosting.de
	[80.241.56.115]) (amavisd-new, port 10030)
	with ESMTP id tZUx_KFmdDUV; Fri,  5 Jan 2018 14:58:54 +0100 (CET)
Date: Fri, 5 Jan 2018 13:58:37 +0000
From: nullius <nullius@nym.zone>
To: bitcoin-dev@lists.linuxfoundation.org
Message-ID: <57f5fcd8644c6f6472cd6a91144a6152@nym.zone>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="3z3vmhlva5wzti7s"
Content-Disposition: inline
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW
	autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Fri, 05 Jan 2018 14:55:57 +0000
Subject: [bitcoin-dev] BIP 39: Add language identifier strings for wordlists
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Jan 2018 13:59:00 -0000


--3z3vmhlva5wzti7s
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

I propose and request as an enhancement that the BIP 39 wordlist set=20
should specify canonical native language strings to identify each=20
wordlist, as well as short ASCII language codes.  At present, the=20
languages are identified only by their names in English.

Strings properly vetted and recommended by native speakers should=20
facilitate language identification in user interface options or menus. =20
Specification of language identifier strings would also promote=20
interface consistency between implementations; this may be important if=20
a user creates a mnemonic in Implementation A, then restores a wallet=20
using that mnemonic in Implementation B.

As an independent implementer who does not know *all* these different=20
languages, I monkey-pasted language-native strings from a popular wiki=20
site.  I cannot guarantee that they be all accurate, sensible, or even=20
non-embarrassing.

https://github.com/nym-zone/easyseed/blob/1a6e48bbdac9366d9d5d1912dc062dfc3=
f0db2c6/easyseed.c#L99
```
	LANG(english,			u8"English",	"en",	ascii_space ),
	LANG(chinese_simplified,	u8"=E6=B1=89=E8=AF=AD",	"zh-CN",ascii_space ),
	LANG(chinese_traditional,	u8"=E6=BC=A2=E8=AA=9E",	"zh-TW",ascii_space ),
	LANG(french,			u8"Fran=C3=A7ais",	"fr",	ascii_space ),
	LANG(italian,			u8"Italiano",	"it",	ascii_space ),
	LANG(japanese,			u8"=E6=97=A5=E6=9C=AC=E8=AA=9E",	"ja",	u8"\u3000"  ),
	LANG(korean,			u8"=ED=95=9C=EA=B5=AD=EC=96=B4",	"ko",	ascii_space ),
	LANG(spanish,			u8"Espa=C3=B1ol",	"es",	ascii_space )
```

Per the comment at #L85 of the quoted file, I also know that for my=20
short identifiers for Chinese, =E2=80=9Czh-CN=E2=80=9D and =E2=80=9Czh-TW=
=E2=80=9D, are imprecise at=20
best=E2=80=94insofar as Hong Kong uses Traditional; and overseas Chinese ma=
y use=20
either.  For differentiating the two Chinese writing variants, are there=20
any appropriate standardized or customary short ASCII language IDs=20
similar to ISO 3166-1 alpha-2 which are purely linguistic, and not fit=20
to present-day political boundaries?

My general suggestion is that the specification of appropriate strings=20
in bitcoin:bips/bip-0039/bip-0039-wordlists.md be made part of the=20
process for accepting new wordlists.  My specific request is that such=20
strings be ascertained for the wordlists already existing, preferably=20
=66rom the persons involved in the original pull requests therefor.

Should this proposal be =E2=80=9Cconcept ACKed=E2=80=9D by appropriate part=
ies, then I=20
may open a pull request suggesting an appropriate format for specifying=20
this information in the repository.  However, I will must needs leave=20
the vetting of appropriate strings to native speakers or experts in the=20
respective languages.

Prior references:  The wordlist additions at PRs #92, #130 (Japanese);=20
#100 (Spanish); #114 (Chinese, both variants); #152 (French); #306=20
(Italian); #570 (Korean); #621 (Indonesian, *proposed*, open).

--3z3vmhlva5wzti7s
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSNOMR84IlYpr/EF5vEJ5MVn575SQUCWk+EjAAKCRDEJ5MVn575
SeAZAQDAMav04N7lmCLC6ZfE5Yc0aQ9Kh+foBsN6+tSmKeyG+gEAqEn/iaVwoMWj
rfR7Vsw4zVsaEIVNOMn7KwdiCKgzLgM=
=wcLY
-----END PGP SIGNATURE-----

--3z3vmhlva5wzti7s--