有没有办法本地化Eureka的所有输出?
我现在面临的主要问题是更改CountDownRow中的文本。我想改成行中的输出。我找不到编辑“小时”和“分钟”文本的方法
忽略可选标签。我认为这是一个单独的问题。
答案 0 :(得分:0)
你好使Localized成为countDownCell,你必须创建自己的子类,因为这似乎是框架实现的一个错误,但是要创建一个这样的子类
//
// MyCountDownRow.swift
// EurekaExamplesSwift3
//
// Created by Reinier Melian on 2/20/17.
// Copyright © 2017 Reinier Melian. All rights reserved.
//
import UIKit
import Eureka
final class MyCountDownRow: _CountDownRow,RowType {
required public init(tag: String?) {
super.init(tag: tag)
displayValueFor = { [unowned self] value in
guard let val = value else {
return nil
}
if let formatter = self.dateFormatter {
return formatter.string(from: val)
}
let components = Calendar.current.dateComponents([Calendar.Component.minute, Calendar.Component.hour], from: val)
var hourString = NSLocalizedString("k_hour", comment: "")
if components.hour != 1{
hourString += "s"
}
return "\(components.hour!) \(hourString) \(components.minute!) \(NSLocalizedString("k_min", comment: ""))"
}
}
}
使用您自己的班级
<<< MyCountDownRow(){
$0.title = "Spanish"
}.cellSetup({ (dateCell, myCoutDownRow) in
let currentDate = NSDate() as Date
myCoutDownRow.dateFormatter?.dateStyle = .short
myCoutDownRow.dateFormatter?.timeStyle = .short
dateCell.row.value = currentDate
})
您可以处理本地化,然后在Localizable.string中定义密钥k_hour
和k_min
,您必须拥有此结果
我希望这可以帮到你,