locfiles/group/gen_localization_iby.pl
changeset 24 96f7513ad2d7
parent 0 6d65d5acee06
child 25 eae91afea9e5
child 36 fc38b048ab2f
--- a/locfiles/group/gen_localization_iby.pl	Tue Feb 02 01:12:20 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-# ============================================================================
-#  Name     : gen_localization_iby.pl
-#  Part of  : generate iby fole to select correct localised resources for ROM
-#  Origin   : S60,NMP
-#  Created  : Tue May 26 11:32:47 2007
-#  Description:
-#	
-
-use strict;
-use File::Find;     # for finding
-use File::Basename; # for fileparse
-use Getopt::Long;
-
-#
-# Variables...
-#
-my $version = "V0.1";
-my $outputfile = "localized_resources.iby"; # exclude file for cenrep
-my $input; # inputfile
-my @lang_ids;
-
-my %macro_definitions = (	
-		"RESOURCE_FILES_LOCALIZED" => "data\=DATAZ_\\RESOURCE_FILES_DIR\\\#\# NAME \#\# .r \#\# ID   RESOURCE_FILES_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"APP_RESOURCE_LOCALIZED" => "data\=DATAZ_\\APP_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID   APP_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"ECOM_RESOURCE_LOCALIZED" => "data\=DATAZ_\\ECOM_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID   ECOM_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"MTM_RESOURCE_LOCALIZED" => "data\=DATAZ_\\MTM_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID   MTM_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"MTM_INFO_FILE_LOCALIZED" => "data\=DATAZ_\\MTM_INFO_FILE_DIR\\\#\# NAME \#\# .r \#\# ID   MTM_INFO_FILE_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"CONTACTS_RESOURCE_LOCALIZED" => "data\=DATAZ_\\CONTACTS_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID   CONTACTS_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"FEP_RESOURCES_LOCALIZED" => "data\=DATAZ_\\FEP_RESOURCES_DIR\\\#\# NAME \#\# .r \#\# ID   FEP_RESOURCES_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"UIKLAF_RESOURCE_LOCALIZED" => "data\=DATAZ_\\UIKLAF_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID   UIKLAF_RESOURCE_DIR\\\#\# NAME \#\# .r \#\# ID",
-		"HELP_FILE_LOCALIZED" => "data\=DATAZ_\\HELP_FILE_DIR\\\#\# NAME \#\# .r \#\# ID   HELP_FILE_DIR\\\#\# NAME \#\# .r \#\# ID"
-   	);
-# END Variation Table
-
-
-my $result = GetOptions('i=s' => \$input);	
-		
-if (!$result){die("Required Argument(s) are missing or wrong");}
-
-if ($input eq "") {	
-	my $given_cmd=$0;
-	$given_cmd =~ s/.*\\(\w+\.\w+)$/$1/;
-
-	print "This is localization_resource.iby generator\n";
-	print "This generate localization_resource.iby base on language ids.\n";
-	print "\tUsed language ids can given in input file where all ids are listed\n";
-	print "\tor input can be a path where all langage ids are listed as folder\n";
-	print "Usage :\n";
-	print "Usage : $given_cmd -i <input file>\n";
-	print "Usage : $given_cmd -i <input folder>\n";
-	exit 0;
-}
-
-if (!get_lang_ids()){die("No input file or folder exists!");}
-
-open (OUTPUT,">$outputfile") or die("Cannot open $outputfile");
-
-create_iby();
-close OUTPUT;
-
-sub create_iby {
-	usage();
-	macros();
-	language_switch();
-}
-
-sub usage {
-	my $given_command=$0;
-	$given_command =~ s/.*\\(\w+\.\w+)$/$1/;
-	print OUTPUT "\/*\n";
-	print OUTPUT "* This has generated by $given_command. Do not edit manually.\n*\n";
-
-	print OUTPUT "* This file selected correct localised resources for ROM image base on languages\n";
-	print OUTPUT "* This file should be used only for localised resources\n*\n";
-	
-	print OUTPUT "* Define user localized macro to get correct localized resources to ROM image\n";
-	print OUTPUT "* All paltform supported languages are included by default\n";
-	print OUTPUT "* Macros LANGUAGE_<id> or NO_LANGUAGE_<id> can be used to change supported component languages\n";
-	print OUTPUT "* First define used macro and after macro definition should include this file\n";
-	print OUTPUT "* All user defined macros are undefineded end of this file\n";
-
-	print OUTPUT "*\n* Usage in iby file:\n";
-	print OUTPUT "*  \#define \[user localized macro\] \[resource file name\]\n";
-	print OUTPUT "*  \#include \<Variant\/localized_resources.iby\>\n";
-
-	print OUTPUT "*\n* How to include correct localised 'example' resources in 'example_variant.iby':\n";
-	print OUTPUT "*  \#define USER_APP_RESOURCE_LOCALIZED example\n";
-	print OUTPUT "*  \#include \<Variant\/localized_resources.iby\>\n";
-
-	print OUTPUT "*\n* How to specify languages that component support\n";
-	print OUTPUT "*  \#define USER_APP_RESOURCE_LOCALIZED example\n";
-	print OUTPUT "*  \#define LANGUAGE_01\n";
-	print OUTPUT "*  \#define LANGUAGE_02\n";
-	print OUTPUT "*  \#include \<Variant\/localized_resources.iby\>\n";
-
-
-	print OUTPUT "*\n* How to exclude languages that component do not support\n";
-	print OUTPUT "*  \#define USER_APP_RESOURCE_LOCALIZED example\n";
-	print OUTPUT "*  \#define NO_LANGUAGE_29\n";
-	print OUTPUT "*  \#define NO_LANGUAGE_159\n";
-	print OUTPUT "*  \#include \<Variant\/localized_resources.iby\>\n";
-
-	print OUTPUT "*\n* Supported user localized macros (source=<path in environment>,target=<path in ROM image>):\n";
-
-	foreach my $macro (sort keys %macro_definitions) {
-    my $paths = $macro_definitions{$macro};
-    $paths =~ s/^data=//i;
-
-    my $src = $paths;
-    $src =~ s/\#.*//i;
-    $paths =~ s/.*ID\s+//i;
-
-    my $trg = $paths;
-    $trg =~ s/\#.*//i;
-    
-  	print OUTPUT "*  USER_${macro}\t(source=$src,target=$trg)\n";
-	}
-
-	print OUTPUT "*\/\n\n";
-}
-
-sub macros {
-  my $postfix = "_INTERNAL";
-  
-	print OUTPUT "\n\/\/ Define macros used in this file\n";
-
-	foreach my $macro (sort keys %macro_definitions) {
-  	print OUTPUT "\#define ${macro}${postfix}(NAME,ID)  $macro_definitions{$macro}\n";
-  	print OUTPUT "\#define ${macro}(NAME,ID)  ${macro}${postfix}(NAME,ID)\n";
-	}
-
-	print OUTPUT "\n";
-}
-
-sub language_switch {
-	my $use_selected_macro = "USE_SELECTED_LANGUAGES";
-	my $locales = "__LOCALES_%ID%_IBY__"; #
-	my $lang = "LANGUAGE_"; # + id
-	my $no_lang = "NO_LANGUAGE_"; # + id
-
-
-#check if only some languages should include
-
-	print OUTPUT "\n\/\/ Check is only some languages in use\n";
-
-	my $counter = 0;
-	foreach my $id (@lang_ids) {
-		if (!$counter) {
-			print OUTPUT "\#if defined(${lang}${id})";
-		}
-		else {
-			print OUTPUT "\ || defined(${lang}${id})";
-		}
-		$counter++;
-	}
-
-	print OUTPUT "\n \#define ${use_selected_macro}\n\#endif\n\n";
-
-#define macros by language
-  print OUTPUT "\/\/ Selectors for language macros\n";
-	foreach my $id (@lang_ids) {
-		my $line = "\#if defined(${locales}) && (!defined(${use_selected_macro}) || defined(${lang}${id}))  && !defined(${no_lang}${id})\n";
-		$line =~ s/%ID%/${id}/;
-		print OUTPUT "$line";
-	  
-	  my $predef = " \#if defined";
-  	foreach my $macro (sort keys %macro_definitions) {
-     	print OUTPUT "${predef} USER_${macro}\n";
-  	  $predef = " \#elif defined";
-  		print OUTPUT "  ${macro}(USER_${macro}, ". lc $id .")\n";
-  	}
-# end macro definition
- 	  print OUTPUT " \#endif\n";
-
-# end language definition
-	  print OUTPUT "\#endif\n";
-	  print OUTPUT "\#undef ${no_lang}${id}\n";
-	  print OUTPUT "\#undef ${lang}${id}\n\n";
-	}
-
-
-
-  print OUTPUT "\/\/ Undefine user macros\n";
-#  print OUTPUT "\n\#endif\n\n";
-	foreach my $macro (sort keys %macro_definitions) {
-  	print OUTPUT "\#undef USER_${macro}\n";
-	}
-
-  print OUTPUT "\#undef ${use_selected_macro}\n";
-}
-
-sub get_lang_ids {
-	if (-f $input) {
-		open (INPUT,"$input") or die("Cannot open file $input");
-	  while (<INPUT>) {
-		  chomp; #Remove line feed and carriage return  
-		  next if (/^\/\//); # Skip comment lines
-		  next if (/^#/); # Skip comment lines
-		  next if (/^ *$/); # Skip empty lines 
-  		
-  		$_ =~ s/\s//gi; # remove white spaces
-  		
-	    push (@lang_ids,uc $_); # for zipping
-	  }
-		
-		close INPUT;
-		return 1;
-	}
-	elsif (-d $input) {
-	  opendir(SDIR, $input) or die("can not read folder $input\n");
-		my @folders = grep !/^\.\.?$/, readdir SDIR;
-	  closedir(SDIR);
-	  
-    push (@lang_ids,"SC"); 
-
-	  foreach (@folders) {
-	  	next if (!/^\d+$/);
-
-	    push (@lang_ids,uc $_); 
-	  }
-	  return 1;
-	}
-	
-	return 0;
-}
\ No newline at end of file