<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          xcmultilingualSwift 本地化的命令行工具

          聯(lián)合創(chuàng)作 · 2023-09-27 15:19

          xcmultilingual 是用于 Swift 本地化的命令行工具。它分析項(xiàng)目中的本地化文件,和輸出包含有補(bǔ)充的函數(shù)的轉(zhuǎn)移文件。

          代碼示例:

          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()
              }
          }
          瀏覽 21
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产黄视频在线免费看 | 精品久久一区二区三区四区五区 | 人人看天天操 | 丁香五月大香蕉 | 欧美性受XXXX黑人XYX性爽 |