###############################################################################
# Copyright (c) 2001, 2009 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
! the number of codeset names
totalnumber=26

! Only translate the xx.label strings.  Do not translate the xx.iana or xx.java strings.

codeset.0.label=ISO 10646/Unicode(UTF-8)
codeset.0.iana=UTF-8

codeset.1.label=ISO 10646/Unicode(UTF-16) Big Endian
codeset.1.iana=UTF-16

codeset.2.label=ISO 10646/Unicode(UTF-16BE) Big Endian
codeset.2.iana=UTF-16BE

codeset.3.label=ISO 10646/Unicode(UTF-16LE) Little Endian
codeset.3.iana=UTF-16LE

codeset.4.label=US ASCII
codeset.4.iana=US-ASCII

codeset.5.label=ISO Latin-1
codeset.5.iana=ISO-8859-1

codeset.6.label=ISO Latin-9
codeset.6.iana=ISO-8859-15

! (Slavic: Czech, Croat, German, Hungarian, Polish, Romanian, Slovak, Slovenian)
codeset.7.label=Central/East European (Slavic) 
codeset.7.iana=ISO-8859-2

! (Esperanto, Galician, Maltese, Turkish)
codeset.8.label=Southern European
codeset.8.iana=ISO-8859-3

codeset.9.label=Arabic, Logical
codeset.9.iana=ISO-8859-6

codeset.10.label=Arabic
codeset.10.iana=windows-1256

codeset.11.label=Chinese, National Standard
codeset.11.iana=GB18030

codeset.12.label=Traditional Chinese, Big5
codeset.12.iana=BIG5

! (Estonian, Latvian, Lithuanian)
codeset.13.label=Cyrillic, ISO-8859-4
codeset.13.iana=ISO-8859-4

! (Bulgarian, Byelorussian, Macedonian, Serbian, Ukrainian)
codeset.14.label=Cyrillic, ISO-8859-5
codeset.14.iana=ISO-8859-5

codeset.15.label=Greek
codeset.15.iana=ISO-8859-7

codeset.16.label=Hebrew, Visual
codeset.16.iana=ISO-8859-8

! label=Hebrew, Logical
! iana=ISO-8859-8-I

codeset.17.label=Hebrew
codeset.17.iana=windows-1255

codeset.18.label=Japanese, EUC-JP
codeset.18.iana=EUC-JP

codeset.19.label=Japanese, ISO 2022
codeset.19.iana=ISO-2022-JP

codeset.20.label=Japanese, Shift-JIS
codeset.20.iana=Shift_JIS

codeset.21.label=Japanese, Windows-31J
codeset.21.iana=windows-31j

codeset.22.label=Korean, EUC-KR
codeset.22.iana=EUC-KR

codeset.23.label=Korean, ISO 2022
codeset.23.iana=ISO-2022-KR

codeset.24.label=Thai, TISI
codeset.24.iana=TIS-620

codeset.25.label=Turkish
codeset.25.iana=ISO-8859-9
