summaryrefslogtreecommitdiffstats
path: root/perl-install/lang.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/lang.pm')
-rw-r--r--perl-install/lang.pm35
1 files changed, 21 insertions, 14 deletions
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
index 555d811a8..a3c2b0e5b 100644
--- a/perl-install/lang.pm
+++ b/perl-install/lang.pm
@@ -549,16 +549,6 @@ my @scim_bridges_qt_packages;
# keep the 'packages' field in sync with share/rpmsrate:
my %IM_config =
(
- ami => {
- XIM => 'Ami',
- #- NOTE: there are several possible versions of ami, for the different
- #- desktops (kde, gnome, etc). So XIM_PROGRAM is not defined; it will
- #- be the xinitrc script, XIM section, that will choose the right one
- #- XIM_PROGRAM => 'ami',
- XMODIFIERS => '@im=Ami',
- GTK_IM_MODULE => 'xim',
- QT_IM_MODULE => 'xim',
- },
chinput => {
GTK_IM_MODULE => 'xim',
QT_IM_MODULE => 'xim',
@@ -570,6 +560,7 @@ my %IM_config =
'zh_HK' => 'chinput -big5',
'zh_TW' => 'chinput -big5',
},
+ langs => 'zh',
packages => { generic => sub { 'miniChinput' } },
},
fcitx => {
@@ -578,6 +569,7 @@ my %IM_config =
XIM => 'fcitx',
XIM_PROGRAM => 'fcitx',
XMODIFIERS => '@im=fcitx',
+ langs => 'zh',
},
gcin => {
GTK_IM_MODULE => 'gcin',
@@ -585,6 +577,7 @@ my %IM_config =
XIM => 'gcin',
XIM_PROGRAM => 'gcin',
XMODIFIERS => '@im=gcin',
+ langs => 'zh',
},
'im-ja' => {
GTK_IM_MODULE => 'im-ja',
@@ -592,6 +585,7 @@ my %IM_config =
XIM => 'im-ja-xim-server',
XIM_PROGRAM => 'im-ja-xim-server',
XMODIFIERS => '@im=im-ja-xim-server',
+ langs => 'ja',
},
kinput2 => {
@@ -600,6 +594,7 @@ my %IM_config =
XIM => 'kinput2',
XIM_PROGRAM => 'kinput2',
XMODIFIERS => '@im=kinput2',
+ langs => 'ja',
packages => { generic => sub { 'kinput2-wnn' } },
},
nabi => {
@@ -608,6 +603,7 @@ my %IM_config =
XIM => 'nabi',
XIM_PROGRAM => 'nabi',
XMODIFIERS => '@im=nabi',
+ langs => 'ko',
},
oxim => {
@@ -616,6 +612,7 @@ my %IM_config =
XIM => 'oxim',
XIM_PROGRAM => 'oxim',
XMODIFIERS => '@im=oxim', # '@im=SCIM' is broken for now
+ langs => 'zh_TW',
packages => { generic => sub { 'oxim' } },
},
'scim' => {
@@ -668,6 +665,7 @@ my %IM_config =
XIM => 'uim',
XIM_PROGRAM => 'uim-xim',
XMODIFIERS => '@im=uim',
+ langs => 'ja',
packages => { generic => sub { qw(uim-gtk uim) } },
},
xcin => {
@@ -676,18 +674,16 @@ my %IM_config =
XMODIFIERS => '@im=xcin-zh_TW',
GTK_IM_MODULE => 'xim',
QT_IM_MODULE => 'xim',
+ langs => 'zh',
},
'x-unikey' => {
GTK_IM_MODULE => 'xim',
QT_IM_MODULE => 'xim',
XMODIFIERS => '@im=unikey',
+ langs => 'vi',
},
);
-sub get_ims() { keys %IM_config }
-
-
-
#-------------------------------------------------------------
#
# Locale configuration regarding encoding/IM
@@ -714,6 +710,17 @@ my %IM_locale_specific_config = (
);
+sub get_ims {
+ my ($lang) = @_;
+ my $main_lang = analyse_locale_name($lang)->{main};
+
+ sort grep {
+ my $langs = $IM_config{$_}{langs};
+ !$langs || intersection([ $lang, $main_lang ],
+ [ split(' ', $langs) ]);
+ } keys %IM_config;
+}
+
sub get_default_im {
my ($lang) = @_;
find {