Swift 本地化的命令行工具 xcmultilingual
- 授权协议: MIT
- 开发语言: Swift
- 操作系统: OS X
- 软件首页: https://github.com/morizotter/xcmultilingual
软件介绍
xcmultilingual 是用于 Swift 本地化的命令行工具。它分析项目中的本地化文件,和输出包含有补充的函数的转移文件。
代码示例:
import Foundation
struct Multilingual {
enum Animal: String {
case CAT = "CAT"
case DOG = "DOG"
case BEAR = "BEAR"
case DEER = "DEER"
case SQUIRREL = "SQUIRREL"
case ELEPHANT = "ELEPHANT"
case GIRAFFE = "GIRAFFE"
case TIGER = "TIGER"
case LION = "LION"
case RABBIT = "RABBIT"
case RHINOCEROS = "RHINOCEROS"
case GORILLA = "GORILLA"
case MONKEY = "MONKEY"
func string() -> String {
return NSLocalizedString(rawValue, tableName: "Animal", bundle: NSBundle.mainBundle(), value: "\(rawValue)", comment: "")
}
static func keys() -> [String] {
return ["CAT", "DOG", "BEAR", "DEER", "SQUIRREL", "ELEPHANT", "GIRAFFE", "TIGER", "LION", "RABBIT", "RHINOCEROS", "GORILLA", "MONKEY"]
}
static func localizations() -> [String] {
return Animal.keys().map { Animal(rawValue: $0)!.string() }
}
}
enum Localizable: String {
case HELLO = "HELLO"
case GOODMORNING = "GOODMORNING"
case GOODEVENING = "GOODEVENING"
func string() -> String {
return NSLocalizedString(rawValue, tableName: "Localizable", bundle: NSBundle.mainBundle(), value: "\(rawValue)", comment: "")
}
static func keys() -> [String] {
return ["HELLO", "GOODMORNING", "GOODEVENING"]
}
static func localizations() -> [String] {
return Localizable.keys().map { Localizable(rawValue: $0)!.string() }
}
}
private static func bundle(relativePath: String) -> NSBundle {
var components = (__FILE__ as String).pathComponents
components.removeLast()
let bundlePath = join("/", components) + "/" + relativePath
return NSBundle(path: bundlePath) ?? NSBundle.mainBundle()
}
}
ACM国际大学生程序设计竞赛题解
赵端阳//袁鹤 / 电子工业 / 2010-7 / 39.00元
随着各大专院校参加ACM/ICPC热情的高涨,迫切需要有关介绍ACM国际大学生程序设计竞赛题解的书籍。《ACM国际大学生程序设计竞赛题解(2)》根据浙江大学在线题库的部分题目,经过分类、筛选、汇编,并进行了解答(个别特别简单或者特别复杂的题目未选择),比较详细地分析和深入浅出地讲解了解题的方法和用到的算法。题目的类型包括基础编程、模拟、字符串处理、搜索、动态规划、回溯、图论、几何和数学题。 ......一起来看看 《ACM国际大学生程序设计竞赛题解》 这本书的介绍吧!
