OSDN Git Service

洋上補給の補強増設用のショートネームをつけた
[kcd/KCD.git] / KCD / Localizable.swift
1 //
2 //  Localizable.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/10/01.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 // genstring に対応したローカライズ用プロトコル群
10
11 import Foundation
12
13 protocol Localizable {
14     
15     var key: String { get }
16     var table: String? { get }
17     var comment: String { get }
18     
19     var string: String { get }
20 }
21
22 extension Localizable {
23     
24     var string: String {
25         
26         return NSLocalizedString(key, tableName: table, bundle: .main, comment: comment)
27     }
28 }
29
30 struct LocalizedString: Localizable {
31     
32     let key: String
33     let table: String? = nil
34     let comment: String
35     
36     
37     init(_ string: String, comment: String) {
38         self.key = string
39         self.comment = comment
40     }
41 }
42
43 struct LocalizedStringFromTable: Localizable {
44     
45     let key: String
46     let table: String?
47     let comment: String
48     
49     
50     init(_ string: String, tableName: String, comment: String) {
51         self.key = string
52         self.table = tableName
53         self.comment = comment
54     }
55 }