Tôi không biết bất kỳ địa phương nào, theo mặc định, sắp xếp theo thứ tự đó. Giải pháp là tạo một miền địa phương tùy chỉnh với thứ tự sắp xếp tùy chỉnh. Nếu bất cứ ai, bốn năm sau, muốn sắp xếp theo kiểu tùy chỉnh, đây là mẹo.
Phần lớn các địa phương không chỉ định thứ tự sắp xếp riêng của họ, mà sao chép thứ tự sắp xếp được xác định trong /usr/share/i18n/locales/iso14651_t1_common
đó là những gì bạn sẽ muốn chỉnh sửa. Thay vì thay đổi thứ tự sắp xếp cho gần như mọi miền địa phương bằng cách sửa đổi bản gốc iso14651_t1_common
, tôi khuyên bạn nên tạo một bản sao. Chi tiết về cách thứ tự sắp xếp hoạt động và cách tạo một miền địa phương tùy chỉnh trong $HOME
thư mục của bạn mà không có quyền truy cập root được tìm thấy trong câu trả lời này cho một câu hỏi tương tự .
Hãy xem cách a
và A
được sắp xếp dựa trên các mục của họ trong iso14651_t1_common
:
<U0061> <a>;<BAS>;<MIN>;IGNORE # 198 a
<U0041> <a>;<BAS>;<CAP>;IGNORE # 517 A
b
và B
tương tự nhau:
<U0062> <b>;<BAS>;<MIN>;IGNORE # 233 b
<U0042> <b>;<BAS>;<CAP>;IGNORE # 550 B
Chúng ta thấy rằng trên đường chuyền đầu tiên, cả hai a
và A
có biểu tượng đối chiếu <a>
, trong khi cả hai b
và B
có biểu tượng đối chiếu <b>
. Kể từ khi <a>
xuất hiện trước <b>
trong iso14651_t1_common
, a
và A
được buộc trước b
và B
. Vượt qua thứ hai không phá vỡ các mối quan hệ vì cả bốn ký tự đều có ký hiệu đối chiếu <BAS>
, nhưng trong lần chuyển thứ ba, các mối quan hệ được giải quyết vì biểu tượng đối chiếu cho các chữ cái viết thường <MIN>
xuất hiện trên dòng 3467, trước biểu tượng đối chiếu cho các chữ cái viết hoa <CAP>
(dòng 3488) . Vì vậy, thứ tự sắp xếp kết thúc lên như a
, A
, b
, B
.
Hoán đổi các ký hiệu đối chiếu thứ nhất và thứ ba sẽ sắp xếp các chữ cái trước theo trường hợp (thấp hơn trên), sau đó theo dấu ( <BAS>
có nghĩa là không có dấu), sau đó theo thứ tự bảng chữ cái. Tuy nhiên , cả hai <MIN>
và <CAP>
đến trước các chữ số, vì vậy điều này sẽ có tác dụng không mong muốn là đặt các chữ số sau các chữ cái.
Cách dễ nhất để giữ các chữ số đầu tiên trong khi làm cho tất cả các chữ cái viết thường xuất hiện trước tất cả các chữ cái viết hoa là buộc tất cả các chữ cái buộc trong lần so sánh đầu tiên bằng cách đặt tất cả các chữ cái bằng <a>
. Để đảm bảo rằng chúng sắp xếp theo thứ tự abc trong trường hợp, hãy thay đổi biểu tượng đối chiếu cuối cùng từ IGNORE
biểu tượng đối chiếu đầu tiên hiện tại. Theo mô hình này, a
sẽ trở thành:
<U0061> <a>;<BAS>;<MIN>;<a> # 198 a
A
sẽ trở thành:
<U0041> <a>;<BAS>;<CAP>;<a> # 517 A
b
sẽ trở thành:
<U0062> <a>;<BAS>;<MIN>;<b> # 233 b
B
sẽ trở thành:
<U0042> <a>;<BAS>;<CAP>;<b> # 550 B
và như vậy cho phần còn lại của các chữ cái.
Khi bạn đã tạo phiên bản tùy chỉnh iso14651_t1_common
, hãy làm theo các hướng dẫn trong câu trả lời được liên kết ở trên để biên dịch ngôn ngữ tùy chỉnh của bạn.