Ευχαριστώ για την αλλαγή :)

Δίνω τον κώδικα για το Y/N input (cmdline/apt-get.cc):

*// YnPrompt - Yes No Prompt.                        /*{{{*/*
> *// ---------------------------------------------------------------------*
> */* Returns true on a Yes.*/*
> *bool YnPrompt(bool Default=true)*
> *{*
> *   if (_config->FindB("APT::Get::Assume-Yes",false) == true)*
> *   {*
> *      c1out << _("Y") << endl;*
> *      return true;*
> *   }*
> *   else if (_config->FindB("APT::Get::Assume-No",false) == true)*
> *   {*
> *      c1out << _("N") << endl;*
> *      return false;*
> *   }*
>
> *   char response[1024] = "";*
> *   cin.getline(response, sizeof(response));*
>
> *   if (!cin)*
> *      return false;*
>
> *   if (strlen(response) == 0)*
> *      return Default;*
>
> *   regex_t Pattern;*
> *   int Res;*
>
> *   Res = regcomp(&Pattern, nl_langinfo(YESEXPR),*
> *                 REG_EXTENDED|REG_ICASE|REG_NOSUB);*
>
> *   if (Res != 0) {*
> *      char Error[300];        *
> *      regerror(Res,&Pattern,Error,sizeof(Error));*
> *      return _error->Error(_("Regex compilation error - %s"),Error);*
> *   }*
> *   *
> *   Res = regexec(&Pattern, response, 0, NULL, 0);*
> *   if (Res == 0)*
> *      return true;*
> *   return false;*
> *}*
>

Κοιτώντας το nl_langinfo(YESEXPR), φαίνεται να χρησιμοποιεί το locale
variable YESEXPR...
Ανήκει στην κατηγορία LC_MESSAGES:
http://pubs.opengroup.org/onlinepubs/009604599/basedefs/langinfo.h.html
http://pubs.opengroup.org/onlinepubs/009604599/functions/nl_langinfo.html

Στο ubuntu 11.10 υπάρχει σ' αυτό το αρχείο:

$ grep -i YESEXPR /usr/share/i18n/locales/el*
/usr/share/i18n/locales/el_GR:yesexpr
"<U005E><U005B><U03BD><U039D><U0079><U0059><U005D><U002E><U002A>"

Διαφέρει από το YESEXPR του en_US:
$ grep -i YESEXPR /usr/share/i18n/locales/en_US
yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>"


Χρησιμοποιεί regular expression για να συγκρίνει το input.
Χρησιμοποιώντας python για να βρούμε τι σημαίνουν αυτοί οι κώδικες:

$ python -c 'import locale; locale.setlocale(locale.LC_MESSAGES,
"*en_US*.UTF-8");
print(locale.nl_langinfo(locale.YESEXPR))'
^[yY].*
^[nN].*

$ python -c 'import locale; locale.setlocale(locale.LC_MESSAGES,
"*el_GR*.UTF-8");
print(locale.nl_langinfo(locale.YESEXPR))'
^[νΝyY].*
^[οΟnN].*

Το προβληματικό πακέτο φαίνεται να είναι το locales. "^[νΝyY].*" σημαίνει
χαρακτήρας ν ή Ν ή y ή Y.
Σύμφωνα με αυτά θα πρέπει να δουλεύει και με το ελληνικό "Ν" αλλά και με το
αγγλικό "Y".
Το ίδιο ισχύει και για το NOEXPR, ελληνικό "Ο" ή αγγλικό "N".

Το πακέτο locales ανήκει στο πρόγραμμα:
http://www.eglibc.org/home
http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/libc/localedata/locales/el_GR?view=markup

Κανονικά θα έπρεπε να δουλεύει και με τις δύο γλώσσες:

$ LANG=el_GR.UTF-8 LANGUAGE=el_GR:el LC_CTYPE=el_GR.UTF-8
LC_NUMERIC=el_GR.UTF-8 LC_TIME=el_GR.UTF-8 LC_COLLATE=el_GR.UTF-8
LC_MONETARY=el_GR.UTF-8 LC_MESSAGES=el_GR.UTF-8 LC_PAPER=el_GR.UTF-8
LC_NAME=el_GR.UTF-8 LC_ADDRESS=el_GR.UTF-8 LC_TELEPHONE=el_GR.UTF-8
LC_MEASUREMENT=el_GR.UTF-8 LC_IDENTIFICATION=el_GR.UTF-8 LC_ALL=el_GR.UTF-8
sudo apt-get install deluge

Ανάγνωση Λιστών Πακέτων... Ολοκληρώθηκε
Κατασκευή Δένδρου Εξαρτήσεων
Ανάγνωση περιγραφής της τρέχουσας κατάσταση... Ολοκληρώθηκε
Τα ακόλουθα επιπλέον πακέτα θα εγκατασταθούν:
  deluge-common deluge-gtk libportmidi0 python-libtorrent python-pygame
Τα ακόλουθα ΝΕΑ πακέτα θα εγκατασταθούν:
  deluge deluge-common deluge-gtk libportmidi0 python-libtorrent
python-pygame
0 αναβαθμίστηκαν, 6 νέο εγκατεστημένα, 0 θα αφαιρεθούν και 0 δεν
αναβαθμίζονται.
Χρειάζεται να μεταφορτωθούν 5375 kB από αρχεία.
Μετά από αυτή τη λειτουργία, θα χρησιμοποιηθούν 29,0 MB χώρου από το δίσκο.
*Θέλετε να συνεχίσετε [Ν/ο]; y*
Φέρε:1 http://archive.ubuntu.com/ubuntu/ oneiric/universe python-libtorrent
amd64 0.15.7-1 [980 kB]
12% [1 python-libtorrent 692 kB/980 kB 70%]^C


$ LANG=el_GR.UTF-8 LANGUAGE=el_GR:el LC_CTYPE=el_GR.UTF-8
LC_NUMERIC=el_GR.UTF-8 LC_TIME=el_GR.UTF-8 LC_COLLATE=el_GR.UTF-8
LC_MONETARY=el_GR.UTF-8 LC_MESSAGES=el_GR.UTF-8 LC_PAPER=el_GR.UTF-8
LC_NAME=el_GR.UTF-8 LC_ADDRESS=el_GR.UTF-8 LC_TELEPHONE=el_GR.UTF-8
LC_MEASUREMENT=el_GR.UTF-8 LC_IDENTIFICATION=el_GR.UTF-8 LC_ALL=el_GR.UTF-8
sudo apt-get install deluge

Ανάγνωση Λιστών Πακέτων... Ολοκληρώθηκε
Κατασκευή Δένδρου Εξαρτήσεων
Ανάγνωση περιγραφής της τρέχουσας κατάσταση... Ολοκληρώθηκε
Τα ακόλουθα επιπλέον πακέτα θα εγκατασταθούν:
  deluge-common deluge-gtk libportmidi0 python-libtorrent python-pygame
Τα ακόλουθα ΝΕΑ πακέτα θα εγκατασταθούν:
  deluge deluge-common deluge-gtk libportmidi0 python-libtorrent
python-pygame
0 αναβαθμίστηκαν, 6 νέο εγκατεστημένα, 0 θα αφαιρεθούν και 0 δεν
αναβαθμίζονται.
Χρειάζεται να μεταφορτωθούν 5375 kB από αρχεία.
Μετά από αυτή τη λειτουργία, θα χρησιμοποιηθούν 29,0 MB χώρου από το δίσκο.
*Θέλετε να συνεχίσετε [Ν/ο]; ν*
Φέρε:1 http://archive.ubuntu.com/ubuntu/ oneiric/universe python-libtorrent
amd64 0.15.7-1 [980 kB]
Φέρε:2 http://archive.ubuntu.com/ubuntu/ oneiric/universe deluge-common all
1.3.3-1ubuntu1 [1210 kB]
19% [2 deluge-common 78,0 kB/1210 kB 6%]^C

Και δουλεύει... Θα ήθελα οι Sergey και Christos να δοκιμάσουν τις ακόλουθες
εντολές και να δώσουν το αποτέλεσμα:
http://pastebin.com/RZ0ehuCE

Αν έχετε εγκατεστημένο το deluge δοκιμάστε κάποιο άλλο «εξωτικό» πακέτο με
εξαρτώμενα πακέτα, π.χ... clementine
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<https://lists.ubuntu.com/archives/ubuntu-gr/attachments/20120412/89a09559/attachment.html>
-- 
Ubuntu-gr mailing list
Ubuntu-gr@lists.ubuntu.com

If you do not want to receive any more messages from the ubuntu-gr mailing 
list, please follow this link and choose unsubscribe:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr

Απαντηση