更改标签栏元素的语言

时间:2009-04-29 15:59:06

标签: iphone

我们正在开发一个在西班牙发行的iphone应用程序。它包含一个标签栏,但我们不太确定如何更改更多和编辑为西班牙语。我确信有一个简单的解决方案......任何人都知道这样做的方法吗?

====编辑1 ====

这是我们添加标签栏的方式。如您所见,我们为每个按钮创建了一个tabBarItem,但是当超过5时,会自动显示更多按钮(如预期的那样)。

for (int i = 0; i < [buttonNames count]; i++) {
   switch (i) {
      case 1:
         viewController = [[fotos alloc] init];
         break;
      case 2:
         viewController =[[videos alloc] init];
         break;
      case 3:
         viewController =[[deportes alloc] init];
         break;
      default:
         viewController = [[MyAppViewController alloc] initWithCategory:i strCategory:[tempNames objectAtIndex:i]];
         break;
   }

   UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
   UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTitle:[buttonNames objectAtIndex:i] image:[UIImage imageNamed:[imgNames objectAtIndex:i]] tag:i];
   nav.tabBarItem = tabBarItem;
   [controllers addObject:nav];
   [viewController release];
   [nav release];
   [tabBarItem release];
}

// Create the toolbar and add the view controllers
tabBarController = [[UITabBarController alloc] init];
[tabBarController setViewControllers:controllers animated:YES];
tabBarController.customizableViewControllers = controllers;
tabBarController.delegate = self;

// Set up the window
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];

====解决了====

我需要的只是我项目中的es.lproj目录。我在XCode中创建了一个新文件(文件&gt;新文件...&gt; Mac OS X /其他&gt;字符串文件),我将其命名为Localizable.strings并将其保存在es.lproj中。需要本地化的任何字符串都需要在此文件中定义,但操作系统生成的所有其他字符串(tabBar中的More,Edit和Done按钮,视频控件等)将自动翻译。

2 个答案:

答案 0 :(得分:3)

如果您使用内置定义的类型,它应该自动工作。如果它们是您自己的文本,则需要从代码中使用NSLocalizedString,从终端运行genstrings,然后在您的包中提供西班牙语lproj。

答案 1 :(得分:0)

将本地化的String添加到项目中,并在NSLOCalizedString();

中给出文本

也会更改本地化文字。