package timezone; # $Id$ use diagnostics; use strict; use vars qw($ntp_servers); use common; use commands; use log; sub getTimeZones { my ($prefix) = @_; local *F; open F, "cd $prefix/usr/share/zoneinfo && find [A-Z]* -type f |"; my @l = chomp_(); close F or die "cannot list the available zoneinfos"; sort @l; } sub read { my ($prefix) = @_; my $f = "$prefix/etc/sysconfig/clock"; my %t = getVarsFromSh($f) or return; (timezone => $t{ZONE}, UTC => text2bool($t{UTC})); } sub ntp_server { my ($prefix, $server) = @_; my $f = "$prefix/etc/ntp.conf"; -e $f or return; if (@_ > 1) { substInFile { if (/^#?\s*server\s+(\S*)/ && $1 ne '127.127.1.0') { $_ = $server ? "server $server\n" : "#server $1\n"; $server = ''; } } $f; } else { ($server) = grep { $_ ne '127.127.1.0' } map { if_(/^\s*server\s+(\S*)/, $1) } cat_($f); } $server; } sub write { my ($prefix, $t) = @_; ntp_server($prefix, $t->{ntp}); eval { commands::cp("-f", "$prefix/usr/share/zoneinfo/$t->{timezone}", "$prefix/etc/localtime") }; $@ and log::l("installing /etc/localtime failed"); setVarsInSh("$prefix/etc/sysconfig/clock", { ZONE => $t->{timezone}, UTC => bool2text($t->{UTC}), ARC => "false", }); } my %l2t = ( 'Afrikaans (South Africa)' => 'Africa/Johannesburg', 'Arabic' => 'Africa/Cairo', 'Armenian (Armenia)' => 'Asia/Yerevan', 'Azeri (Azerbaijan)' => 'Asia/Baku', 'Belarussian (Belarus)' => 'Europe/Minsk', 'Bosnian (Bosnia)' => 'Europe/Sarajevo', 'Brezhoneg (Brittany)' => 'Europe/Paris', 'Bulgarian (Bulgaria)' => 'Europe/Sofia', 'Catalan' => 'Europe/Madrid', 'Chinese (China)' => 'Asia/Shanghai', 'Croatian (Bosnia)' => 'Europe/Sarajevo', 'Croatian (Croatia)' => 'Europe/Zagreb', 'Cymraeg (Welsh)' => 'Europe/London', 'Czech' => 'Europe/Prague', 'Danish (Denmark)' => 'Europe/Copenhagen', 'Dutch (Netherlands)' => 'Europe/Amsterdam', 'English (United States)' => 'America/New_York', 'English (United Kingdom)' => 'Europe/London', 'Esperanto' => 'Europe/Warsaw', 'Estonian (Estonia)' => 'Europe/Tallinn', 'Euskara (Basque)' => 'Europe/Madrid', 'Finnish (Finland)' => 'Europe/Helsinki', 'French (France)' => 'Europe/Paris', 'French (Belgium)' => 'Europe/Brussels', 'French (Canada)' => 'Canada/Atlantic', # or Newfoundland ? or Eastern ? 'Gaeilge (Ireland)' => 'Europe/Dublin', 'Galego' => 'Europe/Madrid', 'Georgian (Georgia)' => 'Asia/Yerevan', 'German (Austria)' => 'Europe/Vienna', 'German (Germany)' => 'Europe/Berlin', 'Greek (Greece)' => 'Europe/Athens', 'Greenlandic' => 'Arctic/Longyearbyen', 'Hebrew (Israel)' => 'Asia/Tel_Aviv', 'Hungarian (Hungary)' => 'Europe/Budapest', 'Icelandic (Iceland)' => 'Atlantic/Reykjavik', 'Indonesian (Indonesia)' => 'Asia/Jakarta', 'Iranian (Iran)' => 'Asia/Tehran', 'Italian (Italy)' => 'Europe/Rome', #-'Italian (San Marino)' => 'Europe/San_Marino', #-'Italian (Vatican)' => 'Europe/Vatican', #-'Italian (Switzerland)' => 'Europe/Zurich', 'Japanese (Japon)' => 'Asia/Tokyo', 'Korean (Korea)' => 'Asia/Seoul', 'Latvian (Latvia)' => 'Europe/Riga', 'Lithuanian (Lithuania)' => 'Europe/Vilnius', 'Macedonian (Macedonia)' => 'Europe/Skopje', 'Maori (New Zealand)' => 'Australia/Sydney', 'Norwegian (Bokmaal)' => 'Europe/Oslo', 'Norwegian (Nynorsk)' => 'Europe/Oslo', 'Polish (Poland)' => 'Europe/Warsaw', 'Portuguese (Brazil)' => 'Brazil/East', # most people live on the east coast 'Portuguese (Portugal)' => 'Europe/Lisbon', 'Romanian (Rumania)' => 'Europe/Bucharest', 'Russian (Russia)' => 'Europe/Moscow', 'Serbian (Serbia)' => 'Europe/Belgrade', 'Slovak (Slovakia)' => 'Europe/Bratislava', 'Slovenian (Slovenia)' => 'Europe/Ljubljana', 'Spanish (Argentina)' => 'America/Buenos_Aires', 'Spanish (Mexico)' => 'America/Mexico_City', 'Spanish (Spain)' => 'Europe/Madrid', 'Swedish (Sweden)' => 'Europe/Stockholm', 'Tajik (Tajikistan)' => 'Asia/Dushanbe', 'Tamil (Sri Lanka)' => 'Asia/Colombo', 'Tatar' => 'Europe/Minsk', 'Thai (Thailand)' => 'Asia/Bangkok', 'Turkish (Turkey)' => 'Europe/Istanbul', 'Ukrainian (Ukraine)' => 'Europe/Kiev', 'Uzbek (Uzbekistan)' => 'Asia/Tashkent', 'Vietnamese (Vietnam)' => 'Asia/Saigon', 'Walon (Belgium)' => 'Europe/Brussels', ); sub fuzzyChoice { my ($b, $count) = common::bestMatchSentence($_[0], keys %l2t); $count ? $b : ''; } sub bestTimezone { $l2t{fuzzyChoice($_[0])} || 'GMT' } my %sex = ( fr_FR => { '[iln]a$' => 1, '[cdilnst]e$' => 1, 'e$' => .8, 'n$' => .1, 'd$' => .05, 't$' => 0 }, en => { 'a$' => 1, 'o$' => 0, '[ln]$' => .3, '[rs]$' => .2 }, ); sub sexProb($) { local ($_) = @_; my $l = $sex{$ENV{LC_ALL}} or return 0.5; my ($prob, $nb) = (0, 0); foreach my $k (keys %$l) { /$k/ and $prob += $l->{$k}, $nb++; } $nb ? $prob / $nb : 0.5; } $ntp_servers = q(Australia (ntp.adelaide.edu.au) Australia (ntp.saard.net) Australia (time.esec.com.au) Canada (ntp.cpsc.ucalgary.ca) Canada (ntp1.cmc.ec.gc.ca) Canada (ntp2.cmc.ec.gc.ca) Canada (time.chu.nrc.ca) Canada (time.nrc.ca) Canada (timelord.uregina.ca) Spain (slug.ctv.es) France (ntp.univ-lyon1.fr) Croatia (zg1.ntp.carnet.hr) Croatia (zg2.ntp.carnet.hr) Croatia (st.ntp.carnet.hr) Croatia (ri.ntp.carnet.hr) Croatia (os.ntp.carnet.hr) Indonesia (ntp.incaf.net) Korea, republic of (time.nuri.net) Norway (fartein.ifi.uio.no) Russia (ntp.landau.ac.ru) Singapore (ntp.shim.org) Slovenia (time.ijs.si) Slovenia (time.ijs.si) United kingdom (ntp.cs.strath.ac.uk) United kingdom (ntp2a.mcc.ac.uk) United kingdom (ntp2b.mcc.ac.uk) United kingdom (ntp2c.mcc.ac.uk) United kingdom (ntp2d.mcc.ac.uk) United states DE (louie.udel.edu) United states IL (ntp-0.cso.uiuc.edu) United states IL (ntp-1.cso.uiuc.edu) United states IL (ntp-2.cso.uiuc.edu) United states IN (gilbreth.ecn.purdue.edu) United states IN (harbor.ecn.purdue.edu) United states IN (molecule.ecn.purdue.edu) ); 1; name='ignorews' onchange='this.form.submit();'>mode:
authorJani Välimaa <wally@mandriva.org>2009-09-18 15:17:22 +0000
committerJani Välimaa <wally@mandriva.org>2009-09-18 15:17:22 +0000
commit785e220d9d8085ecc9ea2d315036c29ce08605e0 (patch)
tree465140093e904e229f4956ded581ea755e94b625 /rescue
parent21b08cd71088b109da0f5789302f57bed623853e (diff)
downloaddrakx-backup-do-not-use-785e220d9d8085ecc9ea2d315036c29ce08605e0.tar
drakx-backup-do-not-use-785e220d9d8085ecc9ea2d315036c29ce08605e0.tar.gz
drakx-backup-do-not-use-785e220d9d8085ecc9ea2d315036c29ce08605e0.tar.bz2
drakx-backup-do-not-use-785e220d9d8085ecc9ea2d315036c29ce08605e0.tar.xz
drakx-backup-do-not-use-785e220d9d8085ecc9ea2d315036c29ce08605e0.zip
updated fi translation, really
Diffstat (limited to 'rescue')
0 files changed, 0 insertions, 0 deletions