###############################################################################
# Copyright (c) 2001, 2011 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, xx.prefName 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.21.prefName=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
