summaryrefslogtreecommitdiff
path: root/solenv/bin/modules/installer/languages.pm
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2005-06-24 10:38:14 +0000
committerRüdiger Timm <rt@openoffice.org>2005-06-24 10:38:14 +0000
commit02bdf8ad2b0059241431fbaad0d6e40b8c5ce046 (patch)
tree3d4406bfe728a720df5803f9b7749712db6eaabb /solenv/bin/modules/installer/languages.pm
parent261e01989658e5d3e49048c2861a0925b10e711b (diff)
INTEGRATION: CWS ooo20l10n (1.5.66); FILE MERGED
2005/06/15 14:36:09 is 1.5.66.3: #i49581# starting Office with preselected language, for example khmer 2005/06/10 09:51:03 is 1.5.66.2: #i49581# adding english automatically for languages not supported by Windows 2005/06/09 14:46:35 is 1.5.66.1: #i49581# adding second language automatically to languages not supported by Windows
Diffstat (limited to 'solenv/bin/modules/installer/languages.pm')
-rw-r--r--solenv/bin/modules/installer/languages.pm42
1 files changed, 41 insertions, 1 deletions
diff --git a/solenv/bin/modules/installer/languages.pm b/solenv/bin/modules/installer/languages.pm
index 73873a0e30d1..844c7ae64433 100644
--- a/solenv/bin/modules/installer/languages.pm
+++ b/solenv/bin/modules/installer/languages.pm
@@ -60,6 +60,7 @@
package installer::languages;
use installer::converter;
+use installer::existence;
use installer::exiter;
use installer::globals;
use installer::remover;
@@ -126,13 +127,35 @@ sub get_info_about_languages
analyze_languagelist();
}
+#############################################################################
+# Checking whether all elements of an array A are also member of array B
+#############################################################################
+
+sub all_elements_of_array1_in_array2
+{
+ my ($array1, $array2) = @_;
+
+ my $array2_contains_all_elements_of_array1 = 1;
+
+ for ( my $i = 0; $i <= $#{$array1}; $i++ )
+ {
+ if (! installer::existence::exists_in_array(${$array1}[$i], $array2))
+ {
+ $array2_contains_all_elements_of_array1 = 0;
+ last;
+ }
+ }
+
+ return $array2_contains_all_elements_of_array1;
+}
+
#############################################
# All languages defined for one product
#############################################
sub get_all_languages_for_one_product
{
- my ( $languagestring ) = @_;
+ my ( $languagestring, $allvariables ) = @_;
my @languagearray = ();
@@ -152,6 +175,23 @@ sub get_all_languages_for_one_product
installer::remover::remove_leading_and_ending_whitespaces(\$last);
push(@languagearray, "$last");
+ # For some languages (that are not supported by Windows, english needs to be added to the installation set
+ # Languages saved in "@installer::globals::noMSLocaleLangs"
+
+ if ( $installer::globals::iswindowsbuild )
+ {
+ if ( all_elements_of_array1_in_array2(\@languagearray, \@installer::globals::noMSLocaleLangs) )
+ {
+ my $officestartlanguage = $languagearray[0];
+ unshift(@languagearray, "en-US"); # am Anfang einfgen!
+ $installer::globals::ismultilingual = 1;
+ $installer::globals::added_english = 1;
+ $installer::globals::set_office_start_language = 1;
+ # setting the variable PRODUCTLANGUAGE, needed for Linguistic-ForceDefaultLanguage.xcu
+ $allvariables->{'PRODUCTLANGUAGE'} = $officestartlanguage;
+ }
+ }
+
return \@languagearray;
}