Please find the below answers for your questions
1.Yes. You can implement it.
In our project we have added localizable strings for each languages. In the setting screen we have shown drop down to select the language for the application
for e.g
switch([indexPath row])//table row index selected by user
{
case 1:[[NSUserDefaults standardUserDefaults] setValue:@"french" forKey:@"language"];
break;
case 2:[[NSUserDefaults standardUserDefaults] setValue:@"german" forKey:@"language"];
break;
case 0:[[NSUserDefaults standardUserDefaults] setValue:@"english" forKey:@"language"];
break;
case 3:[[NSUserDefaults standardUserDefaults] setValue:@"Portuguese" forKey:@"language"];
break;
}
For the first time by default we have set the English language.After selecting the language we call the following function by passing key to it
-(NSString*) languageSelectedStringForKey:(NSString*) key
{
//set = [[SettingsViewController alloc]initWithNibName:@"SettingsViewController" bundle:nil];
NSString *path=@"";
NSString *currentLanguage=[[NSUserDefaults standardUserDefaults] valueForKey:@"language"];
if([currentLanguage isEqualToString:@"english"])
{
path = [[NSBundle mainBundle] pathForResource:@"English" ofType:@"lproj"];
}
else if([currentLanguage isEqualToString:@"german"])
{
path = [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"];
}
else if([currentLanguage isEqualToString:@"french"])
{
path = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
}
else if([currentLanguage isEqualToString:@"Portuguese"])
{
path = [[NSBundle mainBundle] pathForResource:@"Portuguese" ofType:@"lproj"];
}
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
NSString* str=[languageBundle localizedStringForKey:key value:@"" table:nil];
return str;
}
for e.g.
aboutUsTitle.text=[self languageSelectedStringForKey:@"AboutUs"];
where in the localizable file you have to set the following key values to get the About us value
"AboutUs" = "A propos de nous";//for french(fr.lproj)
"AboutUs" = "About Us";//for english(english.lproj)
2.http://kb.tethras.com/localizing-your-ios-app
Hope this will help you