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()
}
}
Linux内核完全剖析
赵炯 / 机械工业出版社 / 2006-1 / 79.00元
本书对早期Linux操作系统内核全部代友文件进行了详细的剖析,旨在让读者在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。虽然选择的版本较低,但该内核已能够正常编译运行,并且其中已包括了Linux工作原理的精髓。书中首先以Linux源代码版本的变迁为主线,简要介绍了Lin-ux系统的发展历史,同时着重说明了各个内核版本之间的主要区别和改进方......一起来看看 《Linux内核完全剖析》 这本书的介绍吧!
