Re: Bàn luận sửa locale cho tiếng Việt
Chào các bác,
Trước đây khoảng 1 tháng, glibc đã cập nhật lại locale mới cho tiếng Việt. Kết quả là tiếng Việt sẽ được sắp xếp đúng hơn. Tuy nhiên gần đây tui phát hiện ra locale này vẫn còn lỗi. Nhân dịp sửa lỗi này, sẵn đưa locale lên cho bà con thảo luận luôn coi chỗ nào cần chỉnh sửa thì chỉnh luôn một lần.
Bên dưới là locale tiếng Việt hiện đang có trong glibc cvs (đã thay <UXXXX> bằng tiếng Việt cho dễ đọc).
Một số vấn đề:
1. tháng 1 là tháng giêng, tháng 11 là tháng một??
2. "Việt nam" hay "Việt Nam" ? Tui nghĩ trường hợp sau đúng hơn
3. Theo phong trào thuần việt thì "Việt ngữ" nên thay bằng "Tiếng Việt" ??
Bà con nào có kiến thức về tiếng Việt/Việt Nam, vui lòng xem kỹ lại locale này và đề nghị những chỗ cần sửa. Chỗ nào không hiểu thì hỏi nhé.
4. Nếu biết ai giỏi tiếng Việt mà không có trên forum này thì vui lòng mời họ vô hoặc gởi cho họ cái locale này để xem và bình luận.
escape_char /
comment_char %
%
% Vietnamese language locale for Vietnam
% Source: glibc locale and info from vietnamese native speakers
% Address:
% Contact: Pablo Saratxaga
% Email: pablo@mandrakesoft.com
% Tel:
% Fax:
% Language: vi
% Territory: VN
% Revision: 1.1
% Date: 2004-01-09
% Users: general
% Repertoiremap:
% Charset: UTF-8
% Distribution and use is free, also
% for commercial purposes.
LC_IDENTIFICATION
title "Vietnamese language locale for Vietnam"
source "glibc locale and info from vietnamese native speakers"
address ""
contact "Pablo Saratxaga"
email "pablo@mandrakesoft.com"
tel ""
fax ""
language "Vietnamese"
territory "Vietnam"
revision "1.1"
date "2004-01-09"
%
category "vi_VN:2000";LC_IDENTIFICATION
category "vi_VN:2000";LC_CTYPE
category "vi_VN:2000";LC_COLLATE
category "vi_VN:2000";LC_TIME
category "vi_VN:2000";LC_NUMERIC
category "vi_VN:2000";LC_MONETARY
category "vi_VN:2000";LC_MESSAGES
category "vi_VN:2000";LC_PAPER
category "vi_VN:2000";LC_NAME
category "vi_VN:2000";LC_ADDRESS
category "vi_VN:2000";LC_TELEPHONE
category "vi_VN:2000";LC_MEASUREMENT
END LC_IDENTIFICATION
LC_CTYPE
copy "i18n"
translit_start
% dong sign -> d// -> dd
₫ "đ";"dd"
translit_end
END LC_CTYPE
LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
% A( A^ E^ O+ U+ DD are treatead as base letters
% ordering of accents is: grave, hook, tilde, acute, dot below
% a a( a> b c d d/ e e> f g h i j k l m n o o+ p q r s t u u+ v w x y z
collating-symbol <a(>
collating-symbol <a/>>
collating-symbol <d//>
collating-symbol <e/>>
collating-symbol <o/>>
collating-symbol <o9>
collating-symbol <u9>
collating-symbol <HOK>
reorder-after <BAS>
<GRA>
<HOK>
<TIL>
<ACA>
<PCT>
reorder-after <a>
<a(>
<a/>>
reorder-after <d>
<d//>
reorder-after <e>
<e/>>
reorder-after <o>
<o/>>
<o9>
reorder-after <u>
<u9>
reorder-after a
ả <a>;<HOK>;<MIN>;IGNORE
ạ <a>;<PCT>;<MIN>;IGNORE
ă <a(>;<BAS>;<MIN>;IGNORE
ằ <a(>;<GRA>;<MIN>;IGNORE
ẳ <a(>;<HOK>;<MIN>;IGNORE
ẵ <a(>;<TIL>;<MIN>;IGNORE
ắ <a(>;<ACA>;<MIN>;IGNORE
ặ <a(>;<PCT>;<MIN>;IGNORE
â <a/>>;<BAS>;<MIN>;IGNORE
ầ <a/>>;<GRA>;<MIN>;IGNORE
ẩ <a/>>;<HOK>;<MIN>;IGNORE
ẫ <a/>>;<TIL>;<MIN>;IGNORE
ấ <a/>>;<ACA>;<MIN>;IGNORE
ậ <a/>>;<PCT>;<MIN>;IGNORE
reorder-after A
Ả <a>;<HOK>;<CAP>;IGNORE
Ạ <a>;<PCT>;<CAP>;IGNORE
Ă <a(>;<BAS>;<CAP>;IGNORE
Ằ <a(>;<GRA>;<CAP>;IGNORE
Ẳ <a(>;<HOK>;<CAP>;IGNORE
Ẵ <a(>;<TIL>;<CAP>;IGNORE
Ắ <a(>;<ACA>;<CAP>;IGNORE
Ặ <a(>;<PCT>;<CAP>;IGNORE
 <a/>>;<BAS>;<CAP>;IGNORE
Ầ <a/>>;<GRA>;<CAP>;IGNORE
Ẩ <a/>>;<HOK>;<CAP>;IGNORE
Ẫ <a/>>;<TIL>;<CAP>;IGNORE
Ấ <a/>>;<ACA>;<CAP>;IGNORE
Ậ <a/>>;<PCT>;<CAP>;IGNORE
reorder-after d
đ <d//>;<BAS>;<MIN>;IGNORE
ð <d//>;<PCL>;<MIN>;IGNORE
reorder-after D
Đ <d//>;<BAS>;<CAP>;IGNORE
Ð <d//>;<PCL>;<CAP>;IGNORE
reorder-after e
ẻ <e>;<HOK>;<MIN>;IGNORE
ẽ <e>;<TIL>;<MIN>;IGNORE
ẹ <e>;<PCT>;<MIN>;IGNORE
ê <e/>>;<BAS>;<MIN>;IGNORE
ề <e/>>;<GRA>;<MIN>;IGNORE
ể <e/>>;<HOK>;<MIN>;IGNORE
ễ <e/>>;<TIL>;<MIN>;IGNORE
ế <e/>>;<ACA>;<MIN>;IGNORE
ệ <e/>>;<PCT>;<MIN>;IGNORE
reorder-after E
Ẻ <e>;<HOK>;<CAP>;IGNORE
Ẽ <e>;<TIL>;<CAP>;IGNORE
Ẹ <e>;<PCT>;<CAP>;IGNORE
Ê <e/>>;<BAS>;<CAP>;IGNORE
Ề <e/>>;<GRA>;<CAP>;IGNORE
Ể <e/>>;<HOK>;<CAP>;IGNORE
Ễ <e/>>;<TIL>;<CAP>;IGNORE
Ế <e/>>;<ACA>;<CAP>;IGNORE
Ệ <e/>>;<PCT>;<CAP>;IGNORE
reorder-after i
ỉ <i>;<HOK>;<MIN>;IGNORE
ị <i>;<PCT>;<MIN>;IGNORE
reorder-after I
Ỉ <i>;<HOK>;<CAP>;IGNORE
Ị <i>;<PCT>;<CAP>;IGNORE
reorder-after o
ỏ <o>;<HOK>;<MIN>;IGNORE
ọ <o>;<PCT>;<MIN>;IGNORE
ô <o/>>;<BAS>;<MIN>;IGNORE
ồ <o/>>;<GRA>;<MIN>;IGNORE
ổ <o/>>;<HOK>;<MIN>;IGNORE
ỗ <o/>>;<TIL>;<MIN>;IGNORE
ố <o/>>;<ACA>;<MIN>;IGNORE
ộ <o/>>;<PCT>;<MIN>;IGNORE
ơ <o9>;<BAS>;<MIN>;IGNORE
ờ <o9>;<GRA>;<MIN>;IGNORE
ở <o9>;<HOK>;<MIN>;IGNORE
ỡ <o9>;<TIL>;<MIN>;IGNORE
ớ <o9>;<ACA>;<MIN>;IGNORE
ợ <o9>;<PCT>;<MIN>;IGNORE
reorder-after O
Ỏ <o>;<HOK>;<CAP>;IGNORE
Ọ <o>;<PCT>;<CAP>;IGNORE
Ô <o/>>;<BAS>;<CAP>;IGNORE
Ồ <o/>>;<GRA>;<CAP>;IGNORE
Ổ <o/>>;<HOK>;<CAP>;IGNORE
Ỗ <o/>>;<TIL>;<CAP>;IGNORE
Ố <o/>>;<ACA>;<CAP>;IGNORE
Ộ <o/>>;<PCT>;<CAP>;IGNORE
Ơ <o9>;<BAS>;<CAP>;IGNORE
Ờ <o9>;<GRA>;<CAP>;IGNORE
Ở <o9>;<HOK>;<CAP>;IGNORE
Ỡ <o9>;<TIL>;<CAP>;IGNORE
Ớ <o9>;<ACA>;<CAP>;IGNORE
Ợ <o9>;<PCT>;<CAP>;IGNORE
reorder-after u
ủ <u>;<HOK>;<MIN>;IGNORE
ụ <u>;<PCT>;<MIN>;IGNORE
ư <u9>;<BAS>;<MIN>;IGNORE
ừ <u9>;<GRA>;<MIN>;IGNORE
ử <u9>;<HOK>;<MIN>;IGNORE
ữ <u9>;<TIL>;<MIN>;IGNORE
ứ <u9>;<ACA>;<MIN>;IGNORE
ự <u9>;<PCT>;<MIN>;IGNORE
reorder-after U
Ủ <u>;<HOK>;<CAP>;IGNORE
Ụ <u>;<PCT>;<CAP>;IGNORE
Ư <u9>;<BAS>;<CAP>;IGNORE
Ừ <u9>;<GRA>;<CAP>;IGNORE
Ử <u9>;<HOK>;<CAP>;IGNORE
Ữ <u9>;<TIL>;<CAP>;IGNORE
Ứ <u9>;<ACA>;<CAP>;IGNORE
Ự <u9>;<PCT>;<CAP>;IGNORE
reorder-after y
ỳ <y>;<GRA>;<MIN>;IGNORE
ỷ <y>;<HOK>;<MIN>;IGNORE
ỹ <y>;<TIL>;<MIN>;IGNORE
ỵ <y>;<PCT>;<MIN>;IGNORE
reorder-after Y
Ỳ <y>;<GRA>;<CAP>;IGNORE
Ỷ <y>;<HOK>;<CAP>;IGNORE
Ỹ <y>;<TIL>;<CAP>;IGNORE
Ỵ <y>;<PCT>;<CAP>;IGNORE
reorder-end
END LC_COLLATE
LC_MONETARY
int_curr_symbol "VND "
currency_symbol "₫"
mon_decimal_point ","
mon_thousands_sep "."
mon_grouping 3;3
positive_sign ""
negative_sign "-"
int_frac_digits 4
frac_digits 4
p_cs_precedes 0
p_sep_by_space 0
n_cs_precedes 1
n_sep_by_space 0
p_sign_posn 1
n_sign_posn 1
END LC_MONETARY
LC_NUMERIC
decimal_point ","
thousands_sep "."
grouping 3;3
END LC_NUMERIC
LC_TIME
abday "CN";/
"T2";/
"T3";/
"T4";/
"T5";/
"T6";/
"T7"
day "Chủ nhật";/
"Thứ hai";/
"Thứ ba";/
"Thứ tư";/
"Thứ năm";/
"Thứ sáu";/
"Thứ bảy"
abmon "Th1";/
"Th2";/
"Th3";/
"Th4";/
"Th5";/
"Th6";/
"Th7";/
"Th8";/
"Th9";/
"Th10";/
"Th11";/
"Th12"
mon "Tháng giêng";/
"Tháng hai";/
"Tháng ba";/
"Tháng tư";/
"Tháng năm";/
"Tháng sáu";/
"Tháng bảy";/
"Tháng tám";/
"Tháng chín";/
"Tháng mười";/
"Tháng một";/
"Tháng chạp"
d_t_fmt "%A, %d %B năm %Y %T %Z"
d_fmt "%d/%m/%Y"
t_fmt "%T"
am_pm "sáng";"chiều"
t_fmt_ampm "%I:%M %p"
date_fmt "%A, %d %B năm %Y %T %Z"
END LC_TIME
% yes: Va^ng / Da.
% no: Kho^ng
LC_MESSAGES
yesstr "Có"
nostr "Không"
yesexpr "^[1yYcC].*"
noexpr "^[0nNkK].*"
END LC_MESSAGES
LC_PAPER
height 297
width 210
END LC_PAPER
LC_NAME
% This is the ISO_IEC TR14652 Locale definition for the
% LC_NAME category.
%
name_fmt "%p%t%f%t/
%g"
name_gen ""
name_mr "Ô."
name_mrs "B."
name_miss "C."
name_ms ""
END LC_NAME
LC_ADDRESS
% This is the ISO_IEC TR14652 Locale definition for the
% LC_ADDRESS
postal_fmt "%z%c%T%s/
%b%e%r"
country_name "Việt nam"
lang_name "Việt ngữ"
country_ab2 "VN"
country_ab3 "VNM"
country_num 704
END LC_ADDRESS
LC_TELEPHONE
% This is the ISO_IEC TR14652 Locale definition for the
%
tel_int_fmt "+%c ;%a /
;%l"
int_prefix "84"
int_select "00"
END LC_TELEPHONE
LC_MEASUREMENT
measurement 1
END LC_MEASUREMENT