IDN support in .nz¶
The registration of IDNs (internationalised domain names) with macronised vowels which feature in the Māori language, an official language under New Zealand law, has been permitted in the .nz name space since July 2010.
Domain names are allowed to consist of 26 basic English (Latin) alphabet characters a-z, digits, the ‘-‘ hyphen, and characters ā, ē, ī, ō and ū.
In addition to the extra characters for registrations the second level māori.nz (with the ā macron) is provided as a mirror of the maori.nz 2LD using the DNS feature called DNAME. This ensures that all existing and future names registered under maori.nz are duplicated in the DNS under māori.nz.
The following charcter table is called .NZ LATIN and contains the characters used by InternetNZ for the registration of .NZ domains represented using the Latin script.
The table lists the Unicode code points in the U+XXXX format:
|U+0061||LATIN SMALL LETTER A||a|
|U+0062||LATIN SMALL LETTER B||b|
|U+0063||LATIN SMALL LETTER C||c|
|U+0064||LATIN SMALL LETTER D||d|
|U+0065||LATIN SMALL LETTER E||e|
|U+0066||LATIN SMALL LETTER F||f|
|U+0067||LATIN SMALL LETTER G||g|
|U+0068||LATIN SMALL LETTER H||h|
|U+0069||LATIN SMALL LETTER I||i|
|U+006A||LATIN SMALL LETTER J||j|
|U+006B||LATIN SMALL LETTER K||k|
|U+006C||LATIN SMALL LETTER L||l|
|U+006D||LATIN SMALL LETTER M||m|
|U+006E||LATIN SMALL LETTER N||n|
|U+006F||LATIN SMALL LETTER O||o|
|U+0070||LATIN SMALL LETTER P||p|
|U+0071||LATIN SMALL LETTER Q||q|
|U+0072||LATIN SMALL LETTER R||r|
|U+0073||LATIN SMALL LETTER S||s|
|U+0074||LATIN SMALL LETTER T||t|
|U+0075||LATIN SMALL LETTER U||u|
|U+0076||LATIN SMALL LETTER V||v|
|U+0077||LATIN SMALL LETTER W||w|
|U+0078||LATIN SMALL LETTER X||x|
|U+0079||LATIN SMALL LETTER Y||y|
|U+007A||LATIN SMALL LETTER Z||z|
|U+0101||LATIN SMALL LETTER A WITH MACRON||ā|
|U+0113||LATIN SMALL LETTER E WITH MACRON||ē|
|U+012B||LATIN SMALL LETTER I WITH MACRON||ī|
|U+014D||LATIN SMALL LETTER O WITH MACRON||ō|
|U+016B||LATIN SMALL LETTER U WITH MACRON||ū|
Terminology and standards¶
The .nz IDN implementation must be compliant with the technical requirements described in various RFCs (3454, 3490, 3491, and 3492) collectively called the “IDN standards”.
There are a lot of terms and definitions in use related to IDNs mentioned in the RFCs and other IDN documents. Listed below are some brief definitions of the common terms. Refer to the RFCs for the comprehensive definitions.
The external-form or display form of an IDN is called U-label and the internal-form or stored form is called A-label.
The U-label string is the Native Script name in Unicode. This is normally the display format of the name and is how the user enters the name in a web browser. This name is also known as the IDNA-valid string.
The A-label string is the ASCII-Compatible Encoding (ACE) form of the U-label. This name is also known as the “punycode” name. Every A-label will begin with the IDNA ACE prefix, “xn–” followed by a string that is a valid output of the Punycode algorithm and hence a maximum of 59 ASCII characters in length. The prefix and string together must conform to all requirements for a label that can be stored in the DNS including conformance to the rules for the preferred form described in RFC 1034, RFC 1035, and RFC 1123. A string meeting the above requirements is still not an A-label unless it can be decoded into a U-label.
Conversions between U-labels and A-labels are performed according to the “Punycode”specification [RFC3492], adding or removing the ACE prefix as needed.
.māori.nz 2LD and DNS¶
All names registered under .maori.nz are duplicated in the DNS and available under a 2LD IDN variant of .maori.nz (.xn–mori-qsa.nz)
The duplication is achieved using a DNAME in the .nz zone files.
The maori 2LD will remain as an ASCII value in the SRS database. Domain names in the SRS that end in .maori.nz will have two variants in the DNS, one will be the for the ASCII version of the name .maori.nz and the other will be for the IDN version of the name .māori.nz represented as punycode: .xn–mori-qsa.nz.
The DomainName parameter submitted to the SRS must contain the .maori.nz label and NOT the punycode version .xn–mori-qsa.nz or the unicode version māori.nz
IDN support via SRS¶
Two IDN-related fields exist in the DomainCreate request to allow for IDN registration in SRS:
- DomainNameUnicode field
- DomainNameLanguage field
When creating a non-IDN domain both fields are optional, however if a punycode encoded domain name is provided in the DomainName the DomainNameUnicode field must be provided holding the same domain name as the punycode encoded version. This is to verify that the U-label version and the A-label version are consistent, for example:
<NZSRSRequest VerMajor="1" VerMinor="0" RegistrarId="90"> <DomainCreate ActionId="SomeUniqueID X1234" DomainName="xn--domain-with-mcron-z5b.co.nz" DomainNameLanguage=".NZ LATIN" DomainNameUnicode="domain-with-mācron.co.nz" Term="24"> <RegistrantContact Name="Name" Email="firstname.lastname@example.org"> <PostalAddress Address1="Address1" City="testCity" CountryCode="NZ"/> <Phone CountryCode="64" AreaCode="4" LocalNumber="testdomain Phone"/> </RegistrantContact> <AuditText>create new domain</AuditText> </DomainCreate> </NZSRSRequest>
When the verification of both versions is successful, meaning both versions represent the same domain name, only the punycode encoded version [A-label] is stored in the SRS.
The DomainNameLanguage attribute allows the SRS to be extended by further language tables with different character sets if necessary.
IDN support via EPP¶
To register an IDN via EPP you simply send the associated Punycode for the domain as part of your domain:create transaction, for example:
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <create> <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>xn--domain-with-mcron-z5b.co.nz</domain:name> <domain:period unit="m">24</domain:period> <domain:registrant>945-h-0</domain:registrant> <domain:contact type="admin">945-h-0</domain:contact> <domain:contact type="tech">945-h-0</domain:contact> <domain:authInfo> <domain:pw></domain:pw> </domain:authInfo> </domain:create> </create> <clTRID>createdomain-xn--domain-with-mcron-z5b.co.nz</clTRID> </command> </epp>
IDN support via Whois Protocol¶
The whois server accepts domain names in both ASCII [A-label] and unicode [U-label] format. The whois server translates unicode names into A-labels and sends an internal language transaction to the SRS with the A-label as the domain name.
$ whois domain-with-mācron.co.nz
% InternetNZ Limited % Users confirm on submission their agreement to all published Terms % version: 5.00 query_datetime: 2015-05-07T15:47:42+12:00 domain_name_idn: domain-with-mācron.co.nz domain_name_language: .NZ LATIN domain_name_hex: domain-with-m<U+0101>cron.co.nz domain_name: xn--domain-with-mcron-z5b.co.nz query_status: 200 Active domain_dateregistered: 2015-05-07T11:40:52+12:00 domain_datebilleduntil: 2017-05-07T11:40:52+12:00 domain_datelastmodified: 2015-05-07T11:40:52+12:00 domain_delegaterequested: yes domain_signed: no
The DomainNameUnicode, DomainNameUnicodeHex and DomainNameLanguage are included in the output of the Whois server for IDNs. For non IDN’s these fields will not be returned.
An excpetion is the 2LD maori.nz. A query for a maori.nz domain name will return the DomainNameUnicode with the 2LD as .māori.nz