天道酬勤,学无止境

localization

为什么我不能向我的 iOS 应用程序添加本地化?(Why can't I add localization to my iOS app?)

问题 我正在尝试添加本地化。 我已经阅读了来自 Apple 和 raywenderlich.com 的所有本地化/国际化指南。 我已经用 NSLocalizedString 宏标记了我的所有代码,我已经使用 genstrings 来创建 Localizable.strings。 但不知何故,我错过了一些重要的步骤。 当我尝试将本地化添加到我的 Localizable.strings 时,我以某种方式仅限于英语。 当我尝试通过“编辑器”->“添加本地化”向项目添加本地化时,所有语言选项都被禁用。 有没有人对为什么我只能使用英语有任何想法? 我错过了什么? 我尝试将本地化添加到具有相同结果的其他项目。 :( 回答1 您需要首先将本地化添加到您的项目中。 单击项目文件,确保在中间窗格中选择了项目,而不是目标,然后选择“信息”屏幕。 有一个名为“本地化”的区域,您可以在其中添加语言。 然后,您应该能够本地化您的资源。 回答2 另一个可能的问题是您没有正确选择项目,这会导致添加本地化列表中的所有语言都被禁用。 默认情况下可能会选择目标,请确保选择项目。 然后就可以正常使用添加本地化了。 回答3 有件事让我忙了太久。 我查看了第一个列表中我需要的语言(瑞典语)并从“其他”列表中选择了一个。 好吧,我的手机或模拟器根本没有更改为瑞典语。 但是当我从第一个列表中选择瑞典语时

2021-12-08 22:06:00    分类:技术分享    ios   xcode   localization

XCode 4.4 .strings 文件添加新的本地化选项不见了(XCode 4.4 .strings file add new localization option gone)

问题 今天升级到 Xcode 4.4,当单击我的字符串文件并查看“实用工具”窗口时,我不再看到允许我添加新语言的加号按钮。 这去哪儿了? 回答1 +/- 从 Xcode 4.4 开始被移除。 添加本地化的方法是转到您的项目设置窗格(您将在同一位置更改项目的构建设置)并单击项目标题下的项目名称。 然后,您可以在“本地化”部分添加本地化。

2021-12-08 21:31:27    分类:技术分享    objective-c   ios   xcode   localization

如何使用asp.net mvc razor在视图中访问全局资源(How to access global resources in a view using asp.net mvc razor)

问题 使用 ASP.NET MVC Razor,我在App_GlobalResources有一个名为General.resx和General.fr.resx的资源文件,其名称值对为“Hello”和“Hello”以及“Hello”和“Bonjour”。 我如何从我的角度参考这些? 这些不起作用: @Html.Resource("General.Hello") @Html.Resource("GlobalResources.Hello") @Html.Resource("GlobalResources.General.Hello") @Html.Resource("GlobalResources, General.Hello") 回答1 尝试这个, @Resources.General.Hello 语法: Resources.[ResourceName].[Property] 回答2 你需要引用你的命名空间: @GeneralResxNamespace.General.Hello 您可以通过将命名空间添加到 /Views/Web.config 文件中以更简单的方式做到这一点,在下面的命名空间部分添加部分: <add namespace="*YourProjectNamespace*.*ResourcesNamespace*.Resources" /> 然后您可以使用没有命名空间的资源

2021-12-08 18:53:13    分类:技术分享    asp.net-mvc   razor   localization   globalization

用于验证本地化字符串中的字母和数字的正则表达式(Regex for validating alphabetics and numbers in the localized string)

问题 我有一个本地化的输入字段。 我需要使用正则表达式添加验证,它必须只包含字母和数字。 如果我只使用英语,我可以使用[a-z0-9] 。 到目前为止,我正在使用Character.isLetterOrDigit(name.charAt(i)) (是的,我正在遍历每个字符)来过滤掉各种语言中存在的字母表。 有没有更好的方法来做到这一点? 任何可用的正则表达式或其他库? 回答1 从 Java 7 开始,您可以使用Pattern.UNICODE_CHARACTER_CLASS String s = "Müller"; Pattern p = Pattern.compile("^\\w+$", Pattern.UNICODE_CHARACTER_CLASS); Matcher m = p.matcher(s); if (m.find()) { System.out.println(m.group()); } else { System.out.println("not found"); } 如果没有该选项,它将无法识别“Müller”一词,而是使用Pattern.UNICODE_CHARACTER_CLASS 启用 Unicode 版本的预定义字符类和 POSIX 字符类。 请参阅此处了解更多详情 您还可以在此处查看 Java 7 中的更多 Unicode 信息。 在这里,regular

2021-12-08 15:56:47    分类:技术分享    java   regex   unicode   localization

如何知道iOS设备何时插入?(How to know when iOS device is plugged in?)

问题 有没有办法知道我的设备 (iPhone) 何时插入电源,例如计算机或带有 USB 端口的汽车音响系统? 我在我的应用程序中使用本地化服务,我想在插入设备时自动更改为kCLLocationAccuracyBestForNavigation 。 谢谢... 回答1 您可以通过 UIDevice 类启用电池监控并检查电池状态以查看是否正在充电: typedef enum { UIDeviceBatteryStateUnknown, UIDeviceBatteryStateUnplugged, UIDeviceBatteryStateCharging, UIDeviceBatteryStateFull, } UIDeviceBatteryState; 在启用最佳 GPS 精度之前,您需要检查正在充电或充满电。 回答2 您可以注册以在附件连接或断开连接时收到通知。 例子: [[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications]; NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; [notificationCenter addObserver:self selector

2021-12-08 12:28:00    分类:技术分享    iphone   ios   localization

如何在复合组件中参数化 requiredMessage 属性?(How to parameterize requiredMessage attribute in composite component?)

问题 BalusC 很好地回答了有关如何为每个复合组件设置消息的问题。 为不同的复合组件指定不同的错误消息 答案涉及使用每个组件的资源包。 我已经应用了这种方法,但是当我在消息中使用{0}将当前组件标签指定为消息的一部分时, {0}在我的错误中按原样呈现,而不是被解决。 当我使用这种方法时,这种标签分辨率是否可用? 还是我必须在复合组件中手动构建错误消息? 例如 requiredMessage="#{cc.resourceBundleMap.requiredMessage} #{cc.attrs.prefix} #{cc.attrs.label}" 我想更深层次的问题是如何在我的资源包中参数化消息字符串? 我需要构建某种自定义消息解析器吗? 回答1 不幸的是, requiredMessage (以及validatorMessage和converterMessage )属性默认是不可参数化的。 我认为无论如何这没什么意义,因为它们特别与特定的组件相关联。 一个复合组件通常不包含多个相同的组件。 您需要为每个单独的组件指定单独的消息。 然而,理论上可以创建一个自定义 EL 函数来完成消息格式化工作。 该方法看起来像这样: public static String format(String message, Object argument1, Object argument2) {

2021-12-08 12:21:33    分类:技术分享    localization   jsf-2   composite-component

您能否以编程方式访问 Cocoa Touch 中的标准本地化字符串?(Can you programmatically get access to the standard localised strings in Cocoa Touch?)

问题 一些 iOS 控件具有 Apple 内置的本地化字符串。 “完成”、“编辑”、“返回”栏按钮项目是一些示例。 有没有办法访问这些字符串? 我正在制作一个带有标准“删除”或“取消”选项的 UIActionSheet,就像您在联系人应用程序中删除联系人一样。 有没有办法在代码中引用这些字符串? 如果没有,有什么地方我至少可以得到这些字符串(比如从 Apple 应用程序的资源中提取它们)? 它将节省额外的本地化工作并确保与平台的一致性。 回答1 如果 iOS 就像 Mac OS,每个应用程序都带有自己的 Localizable.strings 文件。 在每个字符串文件中,您都有所有这些小字符串,如完成、编辑、取消等。 这些是我从 Finder.app 的英文 Localizable.string 文件中复制的一些字符串: <key>AL1</key> <string>Cancel</string> <key>AL4</key> <string>OK</string> <key>AL9</key> <string>Don’t Save</string> <key>FF24</key> <string>Save</string> <key>U32</key> <string>Yes</string> <key>U33</key> <string>No</string> 你明白了。

2021-12-08 11:50:29    分类:技术分享    iphone   ios   localization

通过为不同市场发布单独的应用程序来实现 iPhone 应用程序本地化(iPhone app localization by releasing separate apps for different markets)

问题 我在瑞典 App Store 上有一个应用程序,我打算适应其他一些市场。 在这种情况下,本地化最重要的部分是改变应用程序在不同市场(国家/地区)工作方式的某些方面,因此这主要不是语言改编。 可能,我不会使用正常的内置机制进行本地化。 相反,我考虑为不同的市场构建单独的版本,并在 App Store 上将它们作为单独的应用程序发布(具有相同的图标和相似的名称),每个应用程序仅在一个国家/地区可用。 我的主要论点是: 1) 由于 App Store 支持的语言比 iOS 少,因此有多个国家/地区 Apple 将 App Store 语言定义为英国英语(例如丹麦、挪威)。 然后我就无法用他们自己的语言创建好的销售宣传,除非我为这些国家/地区发布完全独立的应用程序。 2) 我认为在这种特殊情况下,通过在源代码中插入编译器指令并为不同的市场制作不同的 Xcode 目标,我认为实现本地化会更快。 (这可能是由我的应用程序的第一个版本的不那么智能的架构引起的,尽管如此,这是当前状态。) 现在,我的问题: 为不同的市场发布单独的应用程序是否有任何缺点,除了明显的会有更多的管理? (例如不太利于在 App Store 上获得良好的排名、被拒绝的风险等......) 回答1 苹果一般不太喜欢这种方法。 我在某处听说出于本地化原因,对同一应用程序的三个副本存在非官方限制,但我不知道这有多具体。

2021-12-08 10:37:07    分类:技术分享    iphone   ios   localization   internationalization   app-store

有哪些工具可用于向 ASP.NET 项目添加本地化?(What tools are available for adding Localization to an ASP.NET project?)

问题 我正在处理的一个 ASP.NET 项目将在下一个版本中添加本地化。 当我们将 ASPX 页面中的文本提取到资源文件中,并将其他数据提取到数据库表中时,我们可能需要评估哪些工具来协助此过程? 是否有任何工具可以帮助翻译人员创建本地化文件? 回答1 资源重构工具替代文本 http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=ResourceRefactoring&DownloadId=3748 与 IDE 集成的 Microsoft“开源”Visual Studio 工具。 只需单击几下,您就可以轻松地将出现的每个字符串替换为资源引用。 http://www.codeplex.com/ResourceRefactoring Zeta 资源编辑器替代文本 http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=ZetaResourceEditor&DownloadId=40997 多个资源文件的并排编辑器。 http://www.codeplex.com/ZetaResourceEditor/ 回答2 参见 Resharper 进行本地化 -http://www.jetbrains.com/resharper

2021-12-08 10:18:55    分类:技术分享    asp.net   unicode   localization   globalization

本地化通知负载(Localize notification payload)

问题 我目前正在开发一个使用推送通知的本地化应用程序。 我想知道是否可以本地化通知消息中发送的字符串、toast 通知的Text元素和磁贴通知的Title元素。 我想使用我创建的本地化资源字符串来本地化应用程序的其余部分。 我已经看到可以按照以下指南通过在主磁贴中使用'@'字符来本地化应用程序标题:http://msdn.microsoft.com/en-us/library/ff967550(v=VS. 92).aspx 但不幸的是,我不知道在收到推送通知时是否可以重现此行为。 那么最后,有没有办法本地化推送通知? 回答1 我也在 msdn 站点上发布了这个问题: http://forums.create.msdn.com/forums/t/96082.aspx 因此,我将在服务器端实现 l8n,因为它似乎是本地化通知有效负载的唯一方法。 谢谢海因里希。

2021-12-08 07:04:58    分类:技术分享    windows-phone-7   localization   push-notification   mpns