mirror of
https://github.com/webmin/webmin.git
synced 2026-08-17 12:50:30 +01:00
Fix to improve post-translation formatting
This commit is contained in:
@@ -642,6 +642,12 @@ sub translate_substitute
|
||||
$value =~ s/<tt>/<tt translate="no">/gm;
|
||||
$value =~
|
||||
s/(?:(^(?<!<)(\/[\w+].*?),|^(?<!<)(\/[\w+].*?)\.|(?<!<)(\/[\w+].*?) |(?<!<)(\/[\w+].*?)$))/<span translate="no">"$1"<\/span>/g;
|
||||
|
||||
# Wrap $1, $2 and etc into a tag with translate=no attr skipping already wrapped
|
||||
$value =~ s/(?<!["])(\$\d+)(?!["'])/<span translate="no">$1<\/span>/g;
|
||||
|
||||
# Never translate email addresses, as translations to some languages break it
|
||||
$value =~ s/([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,63})/<span translate="no">$1<\/span>/g;
|
||||
}
|
||||
|
||||
return $value;
|
||||
@@ -729,6 +735,8 @@ sub translated_substitute
|
||||
$translated =~ s/'/'/gi;
|
||||
|
||||
$translated =~ s/<tt translate="no">/<tt>/gm;
|
||||
|
||||
$translated =~ s/<span translate="no">(.*?)<\/span>/$1/gm;
|
||||
}
|
||||
|
||||
# Restore destroyed tags
|
||||
@@ -812,6 +820,17 @@ sub translated_substitute
|
||||
$translated =~ s/\.\.\. /.../g;
|
||||
}
|
||||
|
||||
# If original ends with `..` fix translator changing it to `.`
|
||||
if ($original =~ /\.\.\s*$/) {
|
||||
my ($spaces) = $original =~ /(\s*)\.\.\s*$/;
|
||||
$translated =~ s/\s*[.]+$/$spaces../;
|
||||
}
|
||||
|
||||
# If original doesn't end with `.` fix translator adding a dot
|
||||
if ($original !~ /\.$/ && $translated =~ /\.$/) {
|
||||
$translated =~ s/[.]+$//;
|
||||
}
|
||||
|
||||
# If original value on template file contained escaped HTML entities, do the same on translated string
|
||||
if ($original =~ /<|>/ && $original !~ /<|>/ && $translated =~ /<|>/) {
|
||||
$translated =~ s/</</g;
|
||||
|
||||
Reference in New Issue
Block a user