version 1.1087, 2012/07/21 22:10:23
|
version 1.1090, 2012/08/07 10:52:17
|
Line 154 sub ssi_with_retries {
|
Line 154 sub ssi_with_retries {
|
# ----------------------------------------------- Filetypes/Languages/Copyright |
# ----------------------------------------------- Filetypes/Languages/Copyright |
my %language; |
my %language; |
my %supported_language; |
my %supported_language; |
|
my %supported_codes; |
my %latex_language; # For choosing hyphenation in <transl..> |
my %latex_language; # For choosing hyphenation in <transl..> |
my %latex_language_bykey; # for choosing hyphenation from metadata |
my %latex_language_bykey; # for choosing hyphenation from metadata |
my %cprtag; |
my %cprtag; |
Line 188 BEGIN {
|
Line 189 BEGIN {
|
while (my $line = <$fh>) { |
while (my $line = <$fh>) { |
next if ($line=~/^\#/); |
next if ($line=~/^\#/); |
chomp($line); |
chomp($line); |
my ($key,$two,$country,$three,$enc,$val,$sup,$latex)=(split(/\t/,$line)); |
my ($key,$code,$country,$three,$enc,$val,$sup,$latex)=(split(/\t/,$line)); |
$language{$key}=$val.' - '.$enc; |
$language{$key}=$val.' - '.$enc; |
if ($sup) { |
if ($sup) { |
$supported_language{$key}=$sup; |
$supported_language{$key}=$sup; |
|
$supported_codes{$key} = $code; |
} |
} |
if ($latex) { |
if ($latex) { |
$latex_language_bykey{$key} = $latex; |
$latex_language_bykey{$key} = $latex; |
$latex_language{$two} = $latex; |
$latex_language{$code} = $latex; |
} |
} |
} |
} |
close($fh); |
close($fh); |
Line 657 if (!Array.prototype.indexOf) {
|
Line 659 if (!Array.prototype.indexOf) {
|
var n = 0; |
var n = 0; |
if (arguments.length > 0) { |
if (arguments.length > 0) { |
n = Number(arguments[1]); |
n = Number(arguments[1]); |
if (n !== n) { // shortcut for verifying if it's NaN |
if (n !== n) { // shortcut for verifying if it is NaN |
n = 0; |
n = 0; |
} else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { |
} else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { |
n = (n > 0 || -1) * Math.floor(Math.abs(n)); |
n = (n > 0 || -1) * Math.floor(Math.abs(n)); |
Line 995 sub select_language {
|
Line 997 sub select_language {
|
|
|
=pod |
=pod |
|
|
|
|
|
=item * &list_languages() |
|
|
|
Returns an array reference that is suitable for use in language prompters. |
|
Each array element is itself a two element array. The first element |
|
is the language code. The second element a descsriptiuon of the |
|
language itself. This is suitable for use in e.g. |
|
&Apache::edit::select_arg (once dereferenced that is). |
|
|
|
=cut |
|
|
|
sub list_languages { |
|
my @lang_choices; |
|
|
|
foreach my $id (&languageids()) { |
|
my $code = &supportedlanguagecode($id); |
|
if ($code) { |
|
my $selector = $supported_codes{$id}; |
|
my $description = &plainlanguagedescription($id); |
|
push (@lang_choices, [$selector, $description]); |
|
} |
|
} |
|
return \@lang_choices; |
|
} |
|
|
|
=pod |
|
|
=item * &linked_select_forms(...) |
=item * &linked_select_forms(...) |
|
|
linked_select_forms returns a string containing a <script></script> block |
linked_select_forms returns a string containing a <script></script> block |
Line 2986 sub get_related_words {
|
Line 3015 sub get_related_words {
|
untie %thesaurus_db; |
untie %thesaurus_db; |
return @Words; |
return @Words; |
} |
} |
|
############################################################### |
|
# |
|
# Spell checking |
|
# |
|
|
|
=pod |
|
|
|
=head1 Spell checking |
|
|
|
=over 4 |
|
|
|
=item * &check_spelling($wordlist $language) |
|
|
|
Takes a string containing words and feeds it to an external |
|
spellcheck program via a pipeline. Returns a string containing |
|
them mis-spelled words. |
|
|
|
Parameters: |
|
|
|
=over 4 |
|
|
|
=item - $wordlist |
|
|
|
String that will be fed into the spellcheck program. |
|
|
|
=item - $language |
|
|
|
Language string that specifies the language for which the spell |
|
check will be performed. |
|
|
|
=back |
|
|
|
=back |
|
|
|
Note: This sub assumes that aspell is installed. |
|
|
|
|
|
=cut |
|
|
|
|
=pod |
=pod |
|
|
Line 2993 sub get_related_words {
|
Line 3061 sub get_related_words {
|
|
|
=cut |
=cut |
|
|
|
sub check_spelling { |
|
my ($wordlist, $language) = @_; |
|
|
|
# Format the command. If $language is null then |
|
# don't request a language - Note that's dangerous |
|
# because there's no assurance the server is running the intended default |
|
# language. |
|
|
|
my $langswitch = ''; |
|
if ($language) { |
|
$langswitch = "--lang=$language"; |
|
} |
|
|
|
my $aspell_command = "aspell -a $language"; |
|
my $full_command = "echo $wordlist | $aspell_command"; |
|
|
|
my $ispell_result = `$full_command`; |
|
|
|
# The result is several lines of text. |
|
# the first line will start with @(#). Other wise |
|
# There's an error. With an error our fallback is to declare |
|
# all the words are correctly spelled (return empty string). |
|
|
|
my @misspellings; |
|
my @lines = split(/\n/, $ispell_result); |
|
my $heading = shift(@lines); # header |
|
if ($heading =~ /^\@\(#\) /) { |
|
foreach my $word (split(/\s+/, $wordlist)) { |
|
my $spellok = pop(@lines); |
|
if (!($spellok =~ /^\*/)) { |
|
push(@misspellings, $word); |
|
} |
|
} |
|
return join(' ', (@misspellings)); # empty if all words ok. |
|
} else { |
|
return ""; |
|
} |
|
} |
|
|
# -------------------------------------------------------------- Plaintext name |
# -------------------------------------------------------------- Plaintext name |
=pod |
=pod |
|
|