Đây là câu hỏi hay về VERY!
Khi bạn lưu ý trong thẻ language-agnostic, điều quan trọng không phải là ngôn ngữ lập trình. Đó là tập dữ liệu bạn thực sự cần ở đây. Tôi biết không có kho lưu trữ cho những thứ như vậy. Dữ liệu do chưa chứa điều này. Dưới đây là một chuỗi các trình tự đơn giản cho các mã twosᴏ hai chữ cái khác nhau, cộng thêm một vài tính năng bổ sung cho các chuỗi châu Á, được viết bằng Perl. Loại điều này có thể là cơ sở của một mô-đun.
Nó yêu cầu xử lý hơi cẩn thận, vì bạn không thể chuẩn bị một cách mù quáng biểu đồ đầu tiên trong mỗi phần tử mà không quan tâm đến ngôn ngữ nếu bạn muốn một tập hợp "chữ hoa". Đó là vì vấn đề Turkic I. Tôi sẽ cài đặt các phương pháp để rút ra các chuỗi, và phát hiện những thứ như vậy nếu họ yêu cầu một cái gì đó trong các ngôn ngữ Turkic.
use utf8;
use strict;
use warnings;
our %Alphabet = (
en => [qw(a b c d e f g h i j k l m n o p q r s t u v w x y z)],
br => [qw(a b ch c'h d e f g h i j k l m n o p r s t u v w y z)],
cy => [qw(a b c ch d dd e f ff g ng h i l ll m n o p ph r rh s t th u w y)],
ga => [qw(a á b c d e é f g h i í l m n o ó p r s t u ú)],
gd => [qw(a b c d e f g h i l m n o p r s t u)],
la => [qw(a b c d e f g h i k l m n o p q r s t v x y z)],
it => [qw(a b c d e f g h i k l m n o p q r s t u v z)],
es => [qw(a b c d e f g h i j k l m n ñ o p q r s t u v w x y z)],
es__traditional =>
[qw(a b c ch d e f g h i j k l ll m n ñ o p q r s t u v w x y z)],
eu => [qw(a b c ch d e f g h i j k l ll m n ñ o p q r s t ts tx tz u v w x y z)],
rm => [qw(a b c d e f g h i j l m n o p q r s t u v x z)],
ro => [qw(a ă â b c d e f g h i î j k l m n o p q r s ș t ț u v w x y z)],
oc => [qw(a b c d e f g h i j l m n o p q r s t u v x z)],
sw => [qw(a b c d e f g h i j k l m n o p q r s t u v w x y z å ä ö)],
no => [qw(a b c d e f g h i j k l m n o p q r s t u v w x y z æ ø å)],
is => [qw(a á b d ð e é f g h i í j k l m n o ó p r s t u ú v x y ý þ æ ö)],
cz => [qw(a á b c č d ď e é ě f g h ch i í j k l m n ň o ó p q r ř s š t ť u ú ů v w x y ý z ž)],
sk => [qw(a á ä b c č d ď dz dž e é f g h ch i í j k l ĺ ľ m n ň o ó ô p q r ŕ s š t ť u ú v w x y ý z ž)],
sl => [qw(a b c č d e f g h i j k l m n o p r s š t u v z ž)],
pl => [qw(a ą b c ć d e ę f g h i j k l ł m n ń o ó p r s ś t u w y z ź ż)],
lt => [qw(a ą b c č d e ę ė f g h i į y j k l m n o p r s š t u ų ū v z ž)],
lv => [qw(a ā b c č d e ē f g ģ h i ī j k ķ l ļ m n ņ o p r s š t u ū v z ž)],
et => [qw(a b d e f g h i j k l m n o p r s š z ž t u v õ ä ö ü)],
et__full =>
[qw(A B C D E F G H I J K L M N O P Q R S Š Z Ž T U V W Õ Ä Ö Ü X Y)],
et__simple => [qw(a b d e g h i j k l m n o p r s t u v õ ä ö ü)],
hu => [qw(a á b c cS d dz dzs e é f g gy H i í j k l ly M n ny O ó ö ő p q r s sz t ty u ú ü ű v w x y z zs)],
hu__traditional =>
[qw(a á b c cs d dz dzs e é f g gy h i í j k l ly m n ny o ó ö ő p r s sz t ty u ú ü ű v z zs)],
tr => [qw(a b c ç d e f g ğ h ı i j k l m n o ö p r s ş t u ü v y z)],
az => [qw([a b c ç d e ə f g ğ h x ı i j k q l m n o ö p r s ş t u ü v y z)],
az_1918_1939 =>
[qw(a в c ç d e ə f g ƣ h i ь j k q l m n o ɵ p r s ş t u v x y z ƶ)],
az_1939_1958 =>
[qw(а б в г ғ д е ё ә ж з и й к қ л м н о ө п р с т у ү ф х h ц ч ҷ ш щ ъ ы ь э ю я ')],
az_1958_1991 =>
[qw(а б в г ғ д e ә ж з и ы ј к ҝ л м н о ө п р с т у ү ф х һ ч ҹ ш ')],
az_1991_1992 =>
[qw(a ä b c ç d e f g ğ h x ı i j k q l m n o ö p r s ş t u ü v y z)],
he => [qw(α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω)],
ru => [qw(а б в г д е ж з и к л м н о п р с т у ф х ц ч ш щ ы э ю я)],
uk => [qw(а б в г ґ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я)],
mk => [qw(а б в г д ѓ е ж з ѕ и ј/к л љ м н њ о п р с т ќ/у ф х ц ч џ ш)],
"HIRAGANA AIUEO" =>
[qw(あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ を ん)],
"KATAKANA AIUEO" =>
[qw(ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン)],
"HALFWIDTH KATAKANA AIUEO" =>
[qw(ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン)],
"KATAKANA IROHA" =>
[qw(イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス)],
"HIRAGANA IROHA" =>
[qw(い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す)],
"HALFWIDTH KATAKANA IROHA" =>
[qw(イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヒ モ セ ス)],
"HANGUL CHOSUNG" =>
[qw(ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ)],
"HANGUL GANADA" =>
[qw(가 나 다 라 마 바 사 아 자 차 카 타 파 하)],
"CHINESE ZODIAC 10" =>
[qw(甲 乙 丙 丁 戊 己 庚 辛 壬 癸)],
"CHINESE ZODIAC 12" =>
[qw(子 丑 寅 卯 辰 巳 午 未 申 酉 戍 亥)],
"ZODIAC" => [qw(♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ )],
);
for my $a (\%Alphabet) {
$$a{da} = $$a{no};
$$a{fi} = $$a{no};
$$a{de} = $$a{en};
$$a{fr} = $$a{en};
$$a{pt} = $$a{en};
}
1;
Điều đó chắc chắn sẽ đủ để bạn bắt đầu.
FYI: bạn có thể hưởng lợi từ Khu vực 51 [đề xuất I18N & L10N] (http://area51.stackexchange.com/proposals/12416/i18n-l10n). – McDowell