diff --git a/.travis.yml b/.travis.yml
index ef0eda87..b11dfb4f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: objective-c
-osx_image: xcode10.1
+osx_image: xcode10.2
env:
global:
@@ -11,8 +11,8 @@ env:
- TVOS_FRAMEWORK_SCHEME="SwiftDate-tvOS"
- WATCHOS_FRAMEWORK_SCHEME="SwiftDate-watchOS"
matrix:
- - DESTINATION="OS=11.3,name=iPhone X" SCHEME="$IOS_FRAMEWORK_SCHEME"
- - DESTINATION="OS=11.3,name=Apple TV 4K" SCHEME="$TVOS_FRAMEWORK_SCHEME"
+ - DESTINATION="OS=12.2,name=iPhone X" SCHEME="$IOS_FRAMEWORK_SCHEME"
+ - DESTINATION="OS=12.2,name=Apple TV 4K" SCHEME="$TVOS_FRAMEWORK_SCHEME"
- DESTINATION="arch=x86_64" SCHEME="$MACOS_FRAMEWORK_SCHEME"
script:
diff --git a/Documentation/0.Informations.md b/Documentation/0.Informations.md
index 7b06ebf0..98a45447 100644
--- a/Documentation/0.Informations.md
+++ b/Documentation/0.Informations.md
@@ -1,4 +1,4 @@
-![](./SwiftDate.png)
+![](./SwiftDateArt.png)
@@ -34,6 +34,7 @@ If you ever find a test case that is incomplete, please open an issue so we can
+
## Linux Compatibility
Since SwiftDate 5.0.13 the package compile successfully on Linux environment with the latest Swift 4.2 snapshot.
diff --git a/Documentation/3.Manipulate_Date.md b/Documentation/3.Manipulate_Date.md
index 697c8817..09e96049 100644
--- a/Documentation/3.Manipulate_Date.md
+++ b/Documentation/3.Manipulate_Date.md
@@ -22,6 +22,8 @@
- [3.11 - Enumerate Dates for Weekday in Range](3.Manipulate_Date.md#enumerateweekdays)
- [3.12 - Random Dates](3.Manipulate_Date.md#randomdates)
- [3.13 - Sort Dates](3.Manipulate_Date.md#sort)
+- [3.14 - Get the next weekday](3.Manipulate_Date.md#nextWeekDay)
+- [3.15 - Get date at given week number/weekday](3.Manipulate_Date.md#dateAtWeeknumberWeekday)
Dates can be manipulated as you need by using classic math operators and readable time units.
@@ -479,4 +481,28 @@ let oldestDate = DateInRegion.oldestIn(list: arrayOfDates)
[^ Top](#index)
+
+
+## 3.14 - Get the next weekday
+
+In order to get the next weekday preserving smaller components (hour, minute, seconds) you can use the `nextWeekday()` function:
+
+```swift
+let date1 = DateInRegion("2019-05-11 00:00:00", format: dateFormat, region: regionRome)!
+let nextFriday = date1.nextWeekday(.friday) // 2019-05-17T00:00:00+02:00
+```
+
+[^ Top](#index)
+
+
+
+## 3.15 - Get date at given week number/weekday
+
+To returns the date at the given week number and week day preserving smaller components (hour, minute, seconds) you can use the `dateAt(weekdayOrdinal:weekday:monthNumber:yearNumber:)` function:
+
+```swift
+let date = DateInRegion("2019-05-11 00:00:00", format: dateFormat, region: regionRome)!
+let _ = date1.dateAt(weekdayOrdinal: 3, weekday: .friday, monthNumber: date1.month + 1) // 2019-06-21T00:00:00+02:00
+```
+
[**Next Chapter**: Compare Dates](#4.CompareDates.md)
diff --git a/Documentation/Index.md b/Documentation/Index.md
index 4870b333..c76a2610 100644
--- a/Documentation/Index.md
+++ b/Documentation/Index.md
@@ -52,6 +52,8 @@ The following documentation explore all the major features of the library. If yo
- [3.11 - Enumerate Dates for Weekday in Range](3.Manipulate_Date.md#enumerateweekdays)
- [3.12 - Random Dates](3.Manipulate_Date.md#randomdates)
- [3.13 - Sort Dates](3.Manipulate_Date.md#sort)
+- [3.14 - Get the next weekday](3.Manipulate_Date.md#nextWeekDay)
+- [3.15 - Get date at given week number/weekday](3.Manipulate_Date.md#dateAtWeeknumberWeekday)
### [4 - Compare Dates](4.Compare_Dates.md)
diff --git a/Sources/SwiftDate/Date/Date+Compare.swift b/Sources/SwiftDate/Date/Date+Compare.swift
index f6abc17b..f02080d9 100644
--- a/Sources/SwiftDate/Date/Date+Compare.swift
+++ b/Sources/SwiftDate/Date/Date+Compare.swift
@@ -1,9 +1,13 @@
//
-// Date+Compare.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 07/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Date/Date+Components.swift b/Sources/SwiftDate/Date/Date+Components.swift
index 7c7b0d86..137a4c87 100644
--- a/Sources/SwiftDate/Date/Date+Components.swift
+++ b/Sources/SwiftDate/Date/Date+Components.swift
@@ -1,9 +1,13 @@
//
-// Date+Components.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 07/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Date/Date+Create.swift b/Sources/SwiftDate/Date/Date+Create.swift
index bdc5ab28..965f5c35 100644
--- a/Sources/SwiftDate/Date/Date+Create.swift
+++ b/Sources/SwiftDate/Date/Date+Create.swift
@@ -1,9 +1,13 @@
//
-// Date+Operations.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -22,7 +26,7 @@ public extension Date {
})
}
- /// Return the oldest date in given list.
+ /// Return the newest date in given list.
///
/// - Parameter list: list of dates
/// - Returns: a tuple with the index of the oldest date and its instance.
@@ -214,4 +218,33 @@ public extension Date {
return DateInRegion.datesForWeekday(weekday, from: fromDate, to: toDate, region: region).map { $0.date }
}
+ /// Returns the date at the given week number and week day preserving smaller components (hour, minute, seconds)
+ ///
+ /// For example: to get the third friday of next month
+ /// let today = DateInRegion()
+ /// let result = today.dateAt(weekdayOrdinal: 3, weekday: .friday, monthNumber: today.month + 1)
+ ///
+ /// - Parameters:
+ /// - weekdayOrdinal: the week number (by set position in a recurrence rule)
+ /// - weekday: WeekDay
+ /// - monthNumber: a number from 1 to 12 representing the month, optional parameter
+ /// - yearNumber: a number representing the year, optional parameter
+ /// - Returns: new date created with the given parameters
+ func dateAt(weekdayOrdinal: Int, weekday: WeekDay, monthNumber: Int? = nil,
+ yearNumber: Int? = nil) -> Date {
+ let date = DateInRegion(self, region: region)
+ return date.dateAt(weekdayOrdinal: weekdayOrdinal, weekday: weekday, monthNumber: monthNumber, yearNumber: yearNumber).date
+ }
+
+ /// Returns the next weekday preserving smaller components (hour, minute, seconds)
+ ///
+ /// - Parameters:
+ /// - weekday: weekday to get.
+ /// - region: region target, omit to use `SwiftDate.defaultRegion`
+ /// - Returns: `Date`
+ func nextWeekday(_ weekday: WeekDay, region: Region = SwiftDate.defaultRegion) -> Date {
+ let date = DateInRegion(self, region: region)
+ return date.nextWeekday(weekday).date
+ }
+
}
diff --git a/Sources/SwiftDate/Date/Date+Math.swift b/Sources/SwiftDate/Date/Date+Math.swift
index 00280b58..5383c9bd 100644
--- a/Sources/SwiftDate/Date/Date+Math.swift
+++ b/Sources/SwiftDate/Date/Date+Math.swift
@@ -1,9 +1,13 @@
//
-// Date+Math.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 07/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Date/Date.swift b/Sources/SwiftDate/Date/Date.swift
index 1b1153dd..8ef4c05a 100644
--- a/Sources/SwiftDate/Date/Date.swift
+++ b/Sources/SwiftDate/Date/Date.swift
@@ -1,9 +1,13 @@
//
-// Date.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/DateInRegion/DateInRegion+Compare.swift b/Sources/SwiftDate/DateInRegion/DateInRegion+Compare.swift
index b00107cc..9b4fe4df 100644
--- a/Sources/SwiftDate/DateInRegion/DateInRegion+Compare.swift
+++ b/Sources/SwiftDate/DateInRegion/DateInRegion+Compare.swift
@@ -1,9 +1,13 @@
//
-// DateInRegion+Compare.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 07/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/DateInRegion/DateInRegion+Components.swift b/Sources/SwiftDate/DateInRegion/DateInRegion+Components.swift
index cca7dad1..55e7ffc9 100644
--- a/Sources/SwiftDate/DateInRegion/DateInRegion+Components.swift
+++ b/Sources/SwiftDate/DateInRegion/DateInRegion+Components.swift
@@ -1,9 +1,13 @@
//
-// DateInRegion+Components.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/DateInRegion/DateInRegion+Create.swift b/Sources/SwiftDate/DateInRegion/DateInRegion+Create.swift
index 3e4df161..15769858 100644
--- a/Sources/SwiftDate/DateInRegion/DateInRegion+Create.swift
+++ b/Sources/SwiftDate/DateInRegion/DateInRegion+Create.swift
@@ -1,9 +1,13 @@
//
-// DateInRegion+Operations.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -94,10 +98,10 @@ public extension DateInRegion {
return list.sorted(by: { $0.date.compare($1.date) == .orderedDescending })
}
- /// Return the oldest date in given list (timezone is ignored, comparison uses absolute date).
+ /// Return the newest date in given list (timezone is ignored, comparison uses absolute date).
///
/// - Parameter list: list of dates
- /// - Returns: a tuple with the index of the oldest date and its instance.
+ /// - Returns: a tuple with the index of the newest date and its instance.
static func newestIn(list: [DateInRegion]) -> DateInRegion? {
guard list.count > 0 else { return nil }
guard list.count > 1 else { return list.first! }
@@ -527,3 +531,60 @@ public extension DateInRegion {
}
}
+
+public extension DateInRegion {
+
+ /// Returns the date at the given week number and week day preserving smaller components (hour, minute, seconds)
+ ///
+ /// For example: to get the third friday of next month
+ /// let today = DateInRegion()
+ /// let result = today.dateAt(weekdayOrdinal: 3, weekday: .friday, monthNumber: today.month + 1)
+ ///
+ /// - Parameters:
+ /// - weekdayOrdinal: the week number (by set position in a recurrence rule)
+ /// - weekday: WeekDay
+ /// - monthNumber: a number from 1 to 12 representing the month, optional parameter
+ /// - yearNumber: a number representing the year, optional parameter
+ /// - Returns: new date created with the given parameters
+ func dateAt(weekdayOrdinal: Int, weekday: WeekDay, monthNumber: Int? = nil,
+ yearNumber: Int? = nil) -> DateInRegion {
+ let monthNum = monthNumber ?? month
+ let yearNum = yearNumber ?? year
+
+ var requiredWeekNum = weekdayOrdinal
+ var result = DateInRegion(year: yearNum, month: monthNum, day: 1, hour: hour,
+ minute: minute, second: second, nanosecond: nanosecond, region: region)
+
+ if result.weekday == weekday.rawValue {
+ requiredWeekNum -= 1
+ }
+
+ while requiredWeekNum > 0 {
+ result = result.nextWeekday(weekday)
+ requiredWeekNum -= 1
+ }
+
+ return result
+ }
+
+ /// Returns the next weekday preserving smaller components (hour, minute, seconds)
+ ///
+ /// - Parameters:
+ /// - weekday: weekday to get.
+ /// - region: region target, omit to use `SwiftDate.defaultRegion`
+ /// - Returns: `DateInRegion`
+ func nextWeekday(_ weekday: WeekDay) -> DateInRegion {
+ var components = DateComponents()
+ components.weekday = weekday.rawValue
+ components.hour = hour
+ components.second = second
+ components.minute = minute
+
+ guard let next = region.calendar.nextDate(after: date, matching: components,
+ matchingPolicy: .nextTimePreservingSmallerComponents) else {
+ return self
+ }
+
+ return DateInRegion(next, region: region)
+ }
+}
diff --git a/Sources/SwiftDate/DateInRegion/DateInRegion+Math.swift b/Sources/SwiftDate/DateInRegion/DateInRegion+Math.swift
index aac57aec..5bb8f40c 100644
--- a/Sources/SwiftDate/DateInRegion/DateInRegion+Math.swift
+++ b/Sources/SwiftDate/DateInRegion/DateInRegion+Math.swift
@@ -1,9 +1,13 @@
//
-// DateInRegion+Math.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 07/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/DateInRegion/DateInRegion.swift b/Sources/SwiftDate/DateInRegion/DateInRegion.swift
index 37b11a65..98133f70 100644
--- a/Sources/SwiftDate/DateInRegion/DateInRegion.swift
+++ b/Sources/SwiftDate/DateInRegion/DateInRegion.swift
@@ -1,9 +1,13 @@
//
-// DateInRegion.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/DateInRegion/Region.swift b/Sources/SwiftDate/DateInRegion/Region.swift
index 2ab12d1b..8818a95e 100644
--- a/Sources/SwiftDate/DateInRegion/Region.swift
+++ b/Sources/SwiftDate/DateInRegion/Region.swift
@@ -1,9 +1,13 @@
//
-// Region.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/DateRepresentable.swift b/Sources/SwiftDate/DateRepresentable.swift
index 1973abf5..717fd21f 100644
--- a/Sources/SwiftDate/DateRepresentable.swift
+++ b/Sources/SwiftDate/DateRepresentable.swift
@@ -1,9 +1,13 @@
//
-// DateRepresentable.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Formatters/DotNetParserFormatter.swift b/Sources/SwiftDate/Formatters/DotNetParserFormatter.swift
index 94e9df23..f52e789b 100644
--- a/Sources/SwiftDate/Formatters/DotNetParserFormatter.swift
+++ b/Sources/SwiftDate/Formatters/DotNetParserFormatter.swift
@@ -1,9 +1,13 @@
//
-// DotNetParserFormatter.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -44,9 +48,10 @@ public class DOTNETParser: StringToDateTransformable {
}
}
- public static func parse(_ string: String, region: Region, options: Any?) -> DateInRegion? {
+ public static func parse(_ string: String, region: Region?, options: Any?) -> DateInRegion? {
guard let result = DOTNETParser.parse(string) else { return nil }
- let adaptedRegion = Region(calendar: region.calendar, zone: result.tz, locale: region.locale)
+ let regionSet = region ?? Region.ISO
+ let adaptedRegion = Region(calendar: regionSet.calendar, zone: regionSet.timeZone, locale: regionSet.locale)
return DateInRegion(seconds: result.seconds, region: adaptedRegion)
}
diff --git a/Sources/SwiftDate/Formatters/Formatter+Protocols.swift b/Sources/SwiftDate/Formatters/Formatter+Protocols.swift
index fa665f5b..d0580ffd 100644
--- a/Sources/SwiftDate/Formatters/Formatter+Protocols.swift
+++ b/Sources/SwiftDate/Formatters/Formatter+Protocols.swift
@@ -1,9 +1,13 @@
//
-// DateFormatters.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -13,7 +17,7 @@ public protocol DateToStringTrasformable {
}
public protocol StringToDateTransformable {
- static func parse(_ string: String, region: Region, options: Any?) -> DateInRegion?
+ static func parse(_ string: String, region: Region?, options: Any?) -> DateInRegion?
}
// MARK: - Formatters
diff --git a/Sources/SwiftDate/Formatters/ISOFormatter.swift b/Sources/SwiftDate/Formatters/ISOFormatter.swift
index dc87c3a9..8812a6c2 100644
--- a/Sources/SwiftDate/Formatters/ISOFormatter.swift
+++ b/Sources/SwiftDate/Formatters/ISOFormatter.swift
@@ -1,9 +1,13 @@
//
-// ISO8601Formatter.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Formatters/ISOParser.swift b/Sources/SwiftDate/Formatters/ISOParser.swift
index 89a77b8d..70da3baa 100644
--- a/Sources/SwiftDate/Formatters/ISOParser.swift
+++ b/Sources/SwiftDate/Formatters/ISOParser.swift
@@ -1,9 +1,13 @@
//
-// ISOParser.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
// swiftlint:disable file_length
@@ -913,15 +917,15 @@ public class ISOParser: StringToDateTransformable {
return (parser.parsedDate, parser.parsedTimeZone)
}
- public static func parse(_ string: String, region: Region, options: Any?) -> DateInRegion? {
+ public static func parse(_ string: String, region: Region?, options: Any?) -> DateInRegion? {
let formatOptions = options as? ISOParser.Options
guard let parser = ISOParser(string, options: formatOptions),
let date = parser.parsedDate else {
return nil
}
- let parsedRegion = Region(calendar: region.calendar,
- zone: (parser.parsedTimeZone ?? region.timeZone),
- locale: region.locale)
+ let parsedRegion = Region(calendar: region?.calendar ?? Region.ISO.calendar,
+ zone: (region?.timeZone ?? parser.parsedTimeZone ?? Region.ISO.timeZone),
+ locale: region?.locale ?? Region.ISO.locale)
return DateInRegion(date, region: parsedRegion)
}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter+Style.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter+Style.swift
index 2c59f33e..976a2456 100644
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter+Style.swift
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter+Style.swift
@@ -1,9 +1,13 @@
//
-// Style.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 08/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -14,31 +18,6 @@ import Glibc
import Darwin
#endif
-/// Languages table.
-/// In order to be fully compatible with Linux environment we need to
-/// handle directly with .swift files instead of plain text files.
-public protocol RelativeFormatterLang {
-
- /// Table with the data of the language.
- /// Data is structured in:
- /// { flavour: { unit : { data } } }
- var flavours: [String: Any] { get }
-
- /// Identifier of the language.
- /// Must be the languageIdentifier of the `Locale` instance.
- static var identifier: String { get }
-
- /// This is the rule to return singular or plural forms
- /// based upon the CDLC specs. Must return the appropriate
- /// value (other, few, none...)
- ///
- /// - Parameter value: quantity to evaluate
- func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm?
-
- /// Init
- init()
-}
-
// MARK: - Style
public extension RelativeFormatter {
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter.swift
index f7e77425..af5596d6 100644
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter.swift
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatter.swift
@@ -1,9 +1,13 @@
//
-// RelativeFormatter.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 08/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -13,173 +17,30 @@ public class RelativeFormatter: DateToStringTrasformable {
/// Private singleton for relative formatter
private static let shared = RelativeFormatter()
- /// A cache with all loaded languagues
- private var languagesCache: [String: RelativeFormatterLang] = [:]
-
- /// Mapping for languages file to be loaded. Languages table are
- /// loaded only upon request.
- private var languagesMap: [String: RelativeFormatterLang.Type] = [
- lang_af.identifier: lang_af.self,
- lang_en.identifier: lang_en.self,
- lang_am.identifier: lang_am.self,
- lang_ar.identifier: lang_ar.self,
- lang_arAE.identifier: lang_arAE.self,
- lang_as.identifier: lang_as.self,
- lang_be.identifier: lang_be.self,
- lang_bg.identifier: lang_bg.self,
- lang_bn.identifier: lang_bn.self,
- lang_br.identifier: lang_br.self,
- lang_bs.identifier: lang_bs.self,
- lang_bsCyrl.identifier: lang_bsCyrl.self,
- lang_ca.identifier: lang_ca.self,
- lang_cs.identifier: lang_cs.self,
- lang_cy.identifier: lang_cy.self,
- lang_da.identifier: lang_da.self,
- lang_de.identifier: lang_de.self,
- lang_dsb.identifier: lang_dsb.self,
- lang_dz.identifier: lang_dz.self,
- lang_ee.identifier: lang_ee.self,
- lang_el.identifier: lang_el.self,
- lang_es.identifier: lang_es.self,
- lang_esAR.identifier: lang_esAR.self,
- lang_esMX.identifier: lang_esMX.self,
- lang_esPY.identifier: lang_esPY.self,
- lang_esUS.identifier: lang_esUS.self,
- lang_et.identifier: lang_et.self,
- lang_eu.identifier: lang_eu.self,
- lang_fa.identifier: lang_fa.self,
- lang_fi.identifier: lang_fi.self,
- lang_fil.identifier: lang_fil.self,
- lang_fo.identifier: lang_fo.self,
- lang_fr.identifier: lang_fr.self,
- lang_frCA.identifier: lang_frCA.self,
- lang_fur.identifier: lang_fur.self,
- lang_fy.identifier: lang_fy.self,
- lang_ga.identifier: lang_ga.self,
- lang_gd.identifier: lang_gd.self,
- lang_gl.identifier: lang_gl.self,
- lang_gu.identifier: lang_gu.self,
- lang_he.identifier: lang_he.self,
- lang_hi.identifier: lang_hi.self,
- lang_hr.identifier: lang_hr.self,
- lang_hsb.identifier: lang_hsb.self,
- lang_hu.identifier: lang_hu.self,
- lang_hy.identifier: lang_hy.self,
- lang_id.identifier: lang_id.self,
- lang_is.identifier: lang_is.self,
- lang_it.identifier: lang_it.self,
- lang_ja.identifier: lang_ja.self,
- lang_jgo.identifier: lang_jgo.self,
- lang_ka.identifier: lang_ka.self,
- lang_kea.identifier: lang_kea.self,
- lang_kk.identifier: lang_kk.self,
- lang_kl.identifier: lang_kl.self,
- lang_km.identifier: lang_km.self,
- lang_kn.identifier: lang_kn.self,
- lang_ko.identifier: lang_ko.self,
- lang_kok.identifier: lang_kok.self,
- lang_ksh.identifier: lang_ksh.self,
- lang_ky.identifier: lang_ky.self,
- lang_lb.identifier: lang_lb.self,
- lang_lkt.identifier: lang_lkt.self,
- lang_lo.identifier: lang_lo.self,
- lang_lt.identifier: lang_lt.self,
- lang_lv.identifier: lang_lv.self,
- lang_mk.identifier: lang_mk.self,
- lang_ml.identifier: lang_ml.self,
- lang_mn.identifier: lang_mn.self,
- lang_mr.identifier: lang_mr.self,
- lang_ms.identifier: lang_ms.self,
- lang_mt.identifier: lang_mt.self,
- lang_my.identifier: lang_my.self,
- lang_mzn.identifier: lang_mzn.self,
- lang_nb.identifier: lang_nb.self,
- lang_ne.identifier: lang_ne.self,
- lang_nl.identifier: lang_nl.self,
- lang_nn.identifier: lang_nn.self,
- lang_or.identifier: lang_or.self,
- lang_pa.identifier: lang_pa.self,
- lang_pl.identifier: lang_pl.self,
- lang_ps.identifier: lang_ps.self,
- lang_pt.identifier: lang_pt.self,
- lang_ro.identifier: lang_ro.self,
- lang_ru.identifier: lang_ru.self,
- lang_sah.identifier: lang_sah.self,
- lang_sd.identifier: lang_sd.self,
- lang_seFI.identifier: lang_seFI.self,
- lang_se.identifier: lang_se.self,
- lang_si.identifier: lang_si.self,
- lang_sk.identifier: lang_sk.self,
- lang_sl.identifier: lang_sl.self,
- lang_sq.identifier: lang_sq.self,
- lang_srLatn.identifier: lang_srLatn.self,
- lang_sv.identifier: lang_sv.self,
- lang_sw.identifier: lang_sw.self,
- lang_ta.identifier: lang_ta.self,
- lang_te.identifier: lang_te.self,
- lang_th.identifier: lang_th.self,
- lang_ti.identifier: lang_ti.self,
- lang_tk.identifier: lang_tk.self,
- lang_to.identifier: lang_to.self,
- lang_tr.identifier: lang_tr.self,
- lang_ug.identifier: lang_ug.self,
- lang_uk.identifier: lang_uk.self,
- lang_urIN.identifier: lang_urIN.self,
- lang_ur.identifier: lang_ur.self,
- lang_uz.identifier: lang_uz.self,
- lang_uzCyrl.identifier: lang_uzCyrl.self,
- lang_vi.identifier: lang_vi.self,
- lang_wae.identifier: lang_wae.self,
- lang_yi.identifier: lang_yi.self,
- lang_zh.identifier: lang_zh.self,
- lang_zhHansHK.identifier: lang_zhHansHK.self,
- lang_yueHans.identifier: lang_yueHans.self,
- lang_yueHant.identifier: lang_yueHant.self,
- lang_zhHansMO.identifier: lang_zhHansMO.self,
- lang_zhHansSG.identifier: lang_zhHansSG.self,
- lang_zhHantHK.identifier: lang_zhHantHK.self,
- lang_zhHant.identifier: lang_zhHant.self,
- lang_zu.identifier: lang_zu.self
- ]
-
/// Return all languages supported by the library for relative date formatting
- public static var allLanguages: [RelativeFormatterLang.Type] {
- return Array(RelativeFormatter.shared.languagesMap.values)
+ public static var allLanguages: [RelativeFormatterLanguage] {
+ return RelativeFormatterLanguage.allCases
}
private init() {}
- /// Add/replace a new language table.
- ///
- /// - Parameter lang: language file type
- public static func addLanguage(_ lang: RelativeFormatterLang.Type) {
- shared.languagesMap[lang.identifier] = lang // replace or add
- shared.languagesCache.removeValue(forKey: lang.identifier) // cleanup cache
- }
-
/// Return the language table for a specified locale.
/// If not loaded yet a new instance of the table is loaded and cached.
///
/// - Parameter locale: locale to load
/// - Returns: language table
- private func language(forLocale locale: Locale) -> RelativeFormatterLang {
+ private func tableForLocale(_ locale: Locale) -> RelativeFormatterLanguage {
let localeId = (locale.collatorIdentifier ?? Locales.english.toLocale().collatorIdentifier!)
- guard let table = languagesCache[localeId] else {
- var tableType = languagesMap[localeId]
- if tableType == nil {
- tableType = languagesMap[localeId.components(separatedBy: "_").first!]
- if tableType == nil {
- tableType = languagesMap[localeId.components(separatedBy: "-").first!]
- }
- if tableType == nil {
- return language(forLocale: Locales.english.toLocale())
- }
- }
- let instanceOfTable = tableType!.init()
- languagesCache[localeId] = instanceOfTable
- return instanceOfTable
+
+ if let lang = RelativeFormatterLanguage(rawValue: localeId) {
+ return lang
+ }
+
+ guard let fallbackFlavours = RelativeFormatterLanguage(rawValue: localeId.components(separatedBy: "_").first!) ??
+ RelativeFormatterLanguage(rawValue: localeId.components(separatedBy: "-").first!) else {
+ return tableForLocale(Locales.english.toLocale()) // fallback not found, return english
}
- return table
+ return fallbackFlavours // return fallback
}
/// Implementation of the protocol for DateToStringTransformable.
@@ -247,7 +108,7 @@ public class RelativeFormatter: DateToStringTrasformable {
}
private static func relativeFormat(locale: Locale, flavour: Flavour, value: Double, unit: Unit) -> String {
- let table = RelativeFormatter.shared.language(forLocale: locale)
+ let table = RelativeFormatter.shared.tableForLocale(locale)
guard let styleTable = table.flavours[flavour.rawValue] as? [String: Any] else {
return ""
}
@@ -307,7 +168,7 @@ public class RelativeFormatter: DateToStringTrasformable {
/// - locale: locale to use.
/// - Returns: a pair of found flavor and locale table
private static func suitableFlavour(inList flavours: [Flavour], forLocale locale: Locale) -> (flavour: Flavour, locale: [String: Any]) {
- let localeData = RelativeFormatter.shared.language(forLocale: locale) // get the locale table
+ let localeData = RelativeFormatter.shared.tableForLocale(locale) // get the locale table
for flavour in flavours {
if let flavourData = localeData.flavours[flavour.rawValue] as? [String: Any] {
return (flavour, flavourData) // found our required flavor in passed locale
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatterLanguage.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatterLanguage.swift
new file mode 100644
index 00000000..f4b25d9f
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/RelativeFormatterLanguage.swift
@@ -0,0 +1,420 @@
+//
+// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
+//
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
+//
+
+import Foundation
+
+internal class RelativeFormatterLanguagesCache {
+
+ static let shared = RelativeFormatterLanguagesCache()
+
+ private(set) var cachedValues = [String: [String: Any]]()
+
+ func flavoursForLocaleID(_ langID: String) -> [String: Any]? {
+ do {
+ guard let fullURL = Bundle(for: RelativeFormatter.self).resourceURL?.appendingPathComponent("langs/\(langID).json") else {
+ return nil
+ }
+ let data = try Data(contentsOf: fullURL)
+ let json = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments)
+
+ if let value = json as? [String: Any] {
+ cachedValues[langID] = value
+ return value
+ } else {
+ return nil
+ }
+
+ } catch {
+ debugPrint("Failed to read data for language id: \(langID)")
+ return nil
+ }
+ }
+}
+
+public enum RelativeFormatterLanguage: String, CaseIterable {
+ case af = "af" // Locales.afrikaans
+ case am = "am" // Locales.amharic
+ case ar_AE = "ar_AE" // Locales.arabicUnitedArabEmirates
+ case ar = "ar" // Locales.arabic
+ case `as` = "as" // Locales.assamese
+ case az = "az" // Locales.assamese
+ case be = "be" // Locales.belarusian
+ case bg = "bg" // Locales.bulgarian
+ case bn = "bn" // Locales.bengali
+ case br = "br" // Locales.breton
+ case bs = "bs" // Locales.bosnian
+ case bs_Cyrl = "bs-Cyrl" // Locales.belarusian
+ case ca = "ca" // Locales.catalan
+ case cz = "cz" // Locales.czech
+ case cy = "cy" // Locales.welsh
+ case cs = "cs" // Locales.czech
+ case da = "da" // Locales.danish
+ case de = "de" // Locales.dutch
+ case dsb = "dsb" // Locales.lowerSorbian
+ case dz = "dz" // Locales.dzongkha
+ case ee = "ee" // Locales.ewe
+ case el = "el" // Locales.greek
+ case en = "en" // Locales.english
+ case es_AR = "es_AR" // Locales.spanishArgentina
+ case es_PY = "es_PY" // Locales.spanishParaguay
+ case es_MX = "es_MX" // Locales.spanishMexico
+ case es_US = "es_US" // Locales.spanishUnitedStates
+ case es = "es" // Locales.spanish
+ case et = "et" // Locales.estonian
+ case eu = "eu" // Locales.basque
+ case fa = "fa" // Locales.persian
+ case fi = "fi" // Locales.finnish
+ case fil = "fil" // Locales.filipino
+ case fo = "fo" // Locales.faroese
+ case fr_CA = "fr_CA" // French (Canada)
+ case fr = "fr" // French
+ case fur = "fur" // Friulian
+ case fy = "fy" // Western Frisian
+ case ga = "ga" // Irish
+ case gd = "gd" // Scottish Gaelic
+ case gl = "gl" // Galician
+ case gu = "gu" // Gujarati
+ case he = "he" // Hebrew
+ case hi = "hi" // Hindi
+ case hr = "hr" // Croatian
+ case hsb = "hsb" // Upper Sorbian
+ case hu = "hu" // Hungarian
+ case hy = "hy" // Armenian
+ case id = "id" // Indonesian
+ case `is` = "is" // Icelandic
+ case it = "it" // Locales.italian
+ case js = "js" // Japanese
+ case jgo = "jgo" // Ngomba
+ case ka = "ka" // Georgian
+ case kea = "kea" // Kabuverdianu
+ case kk = "kk" // Kazakh
+ case kl = "kl" // Kalaallisut
+ case km = "km" // Khmer
+ case kn = "kn" // Kannada
+ case ko = "ko" // Korean
+ case kok = "kok" // Konkani
+ case ksh = "ksh" // Colognian
+ case ky = "ky" // Kyrgyz
+ case lb = "lb" // Luxembourgish
+ case lkt = "lkt" // Lakota
+ case lo = "lo" // Lao
+ case lt = "lt" // Lithuanian
+ case lv = "lv" // Latvian
+ case mk = "mk" // Macedonian
+ case ml = "ml" // Malayalam
+ case mn = "mn" // Mongolian
+ case mr = "mr" // Marathi
+ case ms = "ms" // Malay
+ case mt = "mt" // Maltese
+ case my = "my" // Burmese
+ case mzn = "mzn" // Mazanderani
+ case nb = "nb" // Norwegian Bokmål
+ case ne = "ne" // Nepali
+ case nl = "nl" // Netherland
+ case nn = "nn" // Norwegian Nynorsk
+ case or = "or" // Odia
+ case pa = "pa" // Punjabi
+ case pl = "pl" // Polish
+ case ps = "ps" // Pashto
+ case pt = "pt" // Portuguese
+ case ro = "ro" // Romanian
+ case ru = "ru" // Russian
+ case sah = "sah" // Sakha
+ case sd = "sd" // Sindhi
+ case se_FI = "se_FI" // Northern Sami (Finland)
+ case se = "se" // Northern Sami
+ case si = "si" // Sinhala
+ case sk = "sk" // Slovak
+ case sl = "sl" // Slovenian
+ case sq = "sq" // Albanian
+ case sr_Latn = "sr_Latn" // Serbian (Latin)
+ case sr = "sr" // Serbian
+ case sv = "sv" // Swedish
+ case sw = "sw" // Swedish
+ case ta = "ta" // Tamil
+ case te = "te" // Telugu
+ case th = "th" // Thai
+ case ti = "ti" // Tigrinya
+ case tk = "tk" // Turkmen
+ case to = "to" // Tongan
+ case tr = "tr" // Turkish
+ case ug = "ug" // Uyghur
+ case uk = "uk" // Ukrainian
+ case ur_IN = "ur_IN" // Urdu (India)
+ case ur = "ur" // Urdu
+ case uz_Cyrl = "uz_Cyrl" // Uzbek (Cyrillic)
+ case uz = "uz" // Uzbek (Cyrillic)
+ case vi = "vi" // Vietnamese
+ case wae = "wae" // Walser
+ case yue_Hans = "yue_Hans" // Cantonese (Simplified)
+ case yue_Hant = "yue_Hant" // Cantonese (Traditional)
+ case zh_Hans_HK = "zh_Hans_HK" // Chinese (Simplified, Hong Kong [China])
+ case zh_Hans_MO = "zh_Hans_MO" // Chinese (Simplified, Macau [China])
+ case zh_Hans_SG = "zh_Hans_SG" // Chinese (Simplified, Singapore)
+ case zh_Hant_HK = "zh_Hant_HK" // Chinese (Traditional, Hong Kong [China])
+ case zh_Hant_MO = "zh_Hant_MO" // Chinese (Traditional, Macau [China])
+ case zh_Hant = "zh_Hant" // Chinese (Traditional)
+ case zh = "zh" // Chinese
+ case zu = "zu" // Zulu
+
+ /// Table with the data of the language.
+ /// Data is structured in:
+ /// { flavour: { unit : { data } } }
+ public var flavours: [String: Any] {
+ return RelativeFormatterLanguagesCache.shared.flavoursForLocaleID(self.rawValue) ?? [:]
+ }
+
+ public var identifier: String {
+ return self.rawValue
+ }
+
+ public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
+ switch self {
+
+ case .sr_Latn, .sr, .uk:
+ let mod10 = Int(value) % 10
+ let mod100 = Int(value) % 100
+
+ switch mod10 {
+ case 1:
+ switch mod100 {
+ case 11:
+ break
+ default:
+ return .one
+ }
+ case 2, 3, 4:
+ switch mod100 {
+ case 12, 13, 14:
+ break
+ default:
+ return .few
+ }
+ default:
+ break
+ }
+
+ return .many
+
+ case .ru, .sk, .sl:
+ let mod10 = Int(value) % 10
+ let mod100 = Int(value) % 100
+
+ switch mod100 {
+ case 11...14:
+ break
+
+ default:
+ switch mod10 {
+ case 1:
+ return .one
+ case 2...4:
+ return .few
+ default:
+ break
+ }
+
+ }
+ return .many
+
+ case .ro:
+ let mod100 = Int(value) % 100
+
+ switch value {
+ case 0:
+ return .few
+ case 1:
+ return .one
+ default:
+ if mod100 > 1 && mod100 <= 19 {
+ return .few
+ }
+ }
+
+ return .other
+
+ case .pa:
+ switch value {
+ case 0, 1:
+ return .one
+ default:
+ return .other
+ }
+
+ case .mt:
+ switch value {
+ case 1: return .one
+ case 0: return .few
+ case 2...10: return .few
+ case 11...19: return .many
+ default: return .other
+ }
+
+ case .lt, .lv:
+ let mod10 = Int(value) % 10
+ let mod100 = Int(value) % 100
+
+ if value == 0 {
+ return .zero
+ }
+
+ if value == 1 {
+ return .one
+ }
+
+ switch mod10 {
+ case 1:
+ if mod100 != 11 {
+ return .one
+ }
+ return .many
+ default:
+ return .many
+ }
+
+ case .ksh, .se:
+ switch value {
+ case 0: return .zero
+ case 1: return .one
+ default: return .other
+ }
+
+ case .`is`:
+ let mod10 = Int(value) % 10
+ let mod100 = Int(value) % 100
+
+ if value == 0 {
+ return .zero
+ }
+
+ if value == 1 {
+ return .one
+ }
+
+ switch mod10 {
+ case 1:
+ if mod100 != 11 {
+ return .one
+ }
+ default:
+ break
+ }
+
+ return .many
+
+ case .id, .js, .ms, .my, .mzn, .sah, .se_FI, .si, .th, .yue_Hans, .yue_Hant,
+ .zh_Hans_HK, .zh_Hans_MO, .zh_Hans_SG, .zh_Hant_HK, .zh_Hant_MO, .zh:
+
+ return .other
+
+ case .hy:
+ return (value >= 0 && value < 2 ? .one : .other)
+
+ case .ga, .gd:
+ switch Int(value) {
+ case 1: return .one
+ case 2: return .two
+ case 3...6: return .few
+ case 7...10: return .many
+ default: return .other
+ }
+
+ case .fr_CA, .fr:
+ return (value >= 0 && value < 2 ? .one : .other)
+
+ case .dz, .kea, .ko, .kok, .lkt, .lo:
+ return nil
+
+ case .cs: // Locales.czech
+ switch value {
+ case 1:
+ return .one
+ case 2, 3, 4:
+ return .few
+ default:
+ return .other
+ }
+
+ case .cy:
+ switch value {
+ case 0: return .zero
+ case 1: return .one
+ case 2: return .two
+ case 3: return .few
+ case 6: return .many
+ default: return .other
+ }
+
+ case .cz, .dsb:
+ switch value {
+ case 1:
+ return .one
+ case 2, 3, 4:
+ return .few
+ default:
+ return .other
+ }
+
+ case .br:
+ let n = Int(value)
+ return n % 10 == 1 && n % 100 != 11 && n % 100 != 71 && n % 100 != 91 ? .zero : n % 10 == 2 && n % 100 != 12 && n % 100 != 72 && n % 100 != 92 ? .one : (n % 10 == 3 || n % 10 == 4 || n % 10 == 9) && n % 100 != 13 && n % 100 != 14 && n % 100 != 19 && n % 100 != 73 && n % 100 != 74 && n % 100 != 79 && n % 100 != 93 && n % 100 != 94 && n % 100 != 99 ? .two : n % 1_000_000 == 0 && n != 0 ? .many : .other
+
+ case .be, .bs, .bs_Cyrl, .hr, .hsb, .pl:
+ let mod10 = Int(value) % 10
+ let mod100 = Int(value) % 100
+
+ switch mod10 {
+ case 1:
+ switch mod100 {
+ case 11:
+ break
+ default:
+ return .one
+ }
+ case 2, 3, 4:
+ switch mod100 {
+ case 12, 13, 14:
+ break
+ default:
+ return .few
+ }
+ default:
+ break
+ }
+ return .many
+
+ case .ar, .ar_AE, .he:
+ switch value {
+ case 0: return .zero
+ case 1: return .one
+ case 2: return .two
+ default:
+ let mod100 = Int(value) % 100
+ if mod100 >= 3 && mod100 <= 10 {
+ return .few
+ } else if mod100 >= 11 {
+ return .many
+ } else {
+ return .other
+ }
+ }
+
+ case .am, .bn, .fa, .gu, .kn, .mr, .zu:
+ return (value >= 0 && value <= 1 ? .one : .other)
+
+ default:
+ return (value == 1 ? .one : .other)
+
+ }
+ }
+
+}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/af.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/af.json
new file mode 100644
index 00000000..bbb28b21
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/af.json
@@ -0,0 +1,209 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "previous" : "vorige kwartaal",
+ "current" : "hierdie kwartaal",
+ "next" : "volgende kwartaal",
+ "past" : "{0} kwartale gelede",
+ "future" : "oor {0} kwartale"
+ },
+ "month" : {
+ "past" : "{0} md. gelede",
+ "next" : "volgende maand",
+ "future" : "oor {0} md.",
+ "previous" : "verlede maand",
+ "current" : "vandeesmaand"
+ },
+ "now" : "nou",
+ "hour" : {
+ "future" : "oor {0} uur",
+ "past" : "{0} uur gelede",
+ "current" : "hierdie uur"
+ },
+ "minute" : {
+ "past" : "{0} min. gelede",
+ "current" : "hierdie minuut",
+ "future" : "oor {0} min."
+ },
+ "day" : {
+ "previous" : "gister",
+ "future" : {
+ "one" : "oor {0} dag",
+ "other" : "oor {0} dae"
+ },
+ "past" : {
+ "one" : "{0} dag gelede",
+ "other" : "{0} dae gelede"
+ },
+ "current" : "vandag",
+ "next" : "môre"
+ },
+ "year" : {
+ "next" : "volgende jaar",
+ "past" : "{0} jaar gelede",
+ "future" : "oor {0} jaar",
+ "previous" : "verlede jaar",
+ "current" : "hierdie jaar"
+ },
+ "week" : {
+ "next" : "volgende week",
+ "previous" : "verlede week",
+ "past" : "{0} w. gelede",
+ "future" : "oor {0} w.",
+ "current" : "vandeesweek"
+ },
+ "second" : {
+ "future" : "oor {0} sek.",
+ "current" : "nou",
+ "past" : "{0} sek. gelede"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "future" : "oor {0} min.",
+ "current" : "hierdie minuut",
+ "past" : "{0} min. gelede"
+ },
+ "month" : {
+ "current" : "vandeesmaand",
+ "past" : "{0} md. gelede",
+ "future" : "oor {0} md.",
+ "next" : "volgende maand",
+ "previous" : "verlede maand"
+ },
+ "week" : {
+ "current" : "vandeesweek",
+ "past" : "{0} w. gelede",
+ "future" : "oor {0} w.",
+ "next" : "volgende week",
+ "previous" : "verlede week"
+ },
+ "hour" : {
+ "future" : "oor {0} uur",
+ "current" : "hierdie uur",
+ "past" : "{0} uur gelede"
+ },
+ "day" : {
+ "next" : "môre",
+ "current" : "vandag",
+ "previous" : "gister",
+ "past" : {
+ "one" : "{0} dag gelede",
+ "other" : "{0} dae gelede"
+ },
+ "future" : {
+ "one" : "oor {0} dag",
+ "other" : "oor {0} dae"
+ }
+ },
+ "second" : {
+ "future" : "oor {0} sek.",
+ "current" : "nou",
+ "past" : "{0} sek. gelede"
+ },
+ "now" : "nou",
+ "year" : {
+ "current" : "hierdie jaar",
+ "future" : "oor {0} jaar",
+ "past" : "{0} jaar gelede",
+ "next" : "volgende jaar",
+ "previous" : "verlede jaar"
+ },
+ "quarter" : {
+ "current" : "hierdie kwartaal",
+ "future" : {
+ "one" : "oor {0} kwartaal",
+ "other" : "oor {0} kwartale"
+ },
+ "previous" : "vorige kwartaal",
+ "next" : "volgende kwartaal",
+ "past" : {
+ "other" : "{0} kwartale gelede",
+ "one" : "{0} kwartaal gelede"
+ }
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "gister",
+ "past" : {
+ "one" : "{0} dag gelede",
+ "other" : "{0} dae gelede"
+ },
+ "future" : {
+ "other" : "oor {0} dae",
+ "one" : "oor {0} dag"
+ },
+ "next" : "môre",
+ "current" : "vandag"
+ },
+ "hour" : {
+ "current" : "hierdie uur",
+ "future" : "oor {0} uur",
+ "past" : "{0} uur gelede"
+ },
+ "month" : {
+ "next" : "volgende maand",
+ "current" : "vandeesmaand",
+ "past" : {
+ "one" : "{0} maand gelede",
+ "other" : "{0} maande gelede"
+ },
+ "previous" : "verlede maand",
+ "future" : "oor {0} minuut"
+ },
+ "quarter" : {
+ "next" : "volgende kwartaal",
+ "past" : {
+ "one" : "{0} kwartaal gelede",
+ "other" : "{0} kwartale gelede"
+ },
+ "previous" : "vorige kwartaal",
+ "current" : "hierdie kwartaal",
+ "future" : {
+ "one" : "oor {0} kwartaal",
+ "other" : "oor {0} kwartale"
+ }
+ },
+ "year" : {
+ "previous" : "verlede jaar",
+ "current" : "hierdie jaar",
+ "next" : "volgende jaar",
+ "past" : "{0} jaar gelede",
+ "future" : "oor {0} jaar"
+ },
+ "minute" : {
+ "past" : {
+ "other" : "{0} minute gelede",
+ "one" : "{0} minuut gelede"
+ },
+ "future" : "oor {0} minuut",
+ "current" : "hierdie minuut"
+ },
+ "second" : {
+ "current" : "nou",
+ "future" : {
+ "one" : "oor {0} sekonde",
+ "other" : "oor {0} sekondes"
+ },
+ "past" : {
+ "other" : "{0} sekondes gelede",
+ "one" : "{0} sekonde gelede"
+ }
+ },
+ "week" : {
+ "future" : {
+ "other" : "oor {0} weke",
+ "one" : "oor {0} week"
+ },
+ "previous" : "verlede week",
+ "current" : "vandeesweek",
+ "next" : "volgende week",
+ "past" : {
+ "one" : "{0} week gelede",
+ "other" : "{0} weke gelede"
+ }
+ },
+ "now" : "nou"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/am.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/am.json
new file mode 100644
index 00000000..3bc65b9d
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/am.json
@@ -0,0 +1,248 @@
+{
+ "short" : {
+ "month" : {
+ "previous" : "ያለፈው ወር",
+ "current" : "በዚህ ወር",
+ "next" : "የሚቀጥለው ወር",
+ "past" : "ከ{0} ወራት በፊት",
+ "future" : "በ{0} ወራት ውስጥ"
+ },
+ "now" : "አሁን",
+ "day" : {
+ "next" : "ነገ",
+ "current" : "ዛሬ",
+ "previous" : "ትላንትና",
+ "past" : {
+ "other" : "ከ{0} ቀኖች በፊት",
+ "one" : "ከ {0} ቀን በፊት"
+ },
+ "future" : {
+ "other" : "በ{0} ቀኖች ውስጥ",
+ "one" : "በ{0} ቀን ውስጥ"
+ }
+ },
+ "year" : {
+ "current" : "በዚህ ዓመት",
+ "future" : "በ{0} ዓመታት ውስጥ",
+ "previous" : "ያለፈው ዓመት",
+ "next" : "የሚቀጥለው ዓመት",
+ "past" : "ከ{0} ዓመታት በፊት"
+ },
+ "hour" : {
+ "past" : {
+ "one" : "ከ{0} ሰዓት በፊት",
+ "other" : "ከ{0} ሰዓቶች በፊት"
+ },
+ "future" : {
+ "one" : "በ{0} ሰዓት ውስጥ",
+ "other" : "በ{0} ሰዓቶች ውስጥ"
+ },
+ "current" : "ይህ ሰዓት"
+ },
+ "minute" : {
+ "current" : "ይህ ደቂቃ",
+ "future" : {
+ "other" : "በ{0} ደቂቃዎች ውስጥ",
+ "one" : "በ{0} ደቂቃ ውስጥ"
+ },
+ "past" : {
+ "other" : "ከ{0} ደቂቃዎች በፊት",
+ "one" : "ከ{0} ደቂቃ በፊት"
+ }
+ },
+ "second" : {
+ "current" : "አሁን",
+ "future" : {
+ "other" : "በ{0} ሰከንዶች ውስጥ",
+ "one" : "በ{0} ሰከንድ ውስጥ"
+ },
+ "past" : {
+ "one" : "ከ{0} ሰከንድ በፊት",
+ "other" : "ከ{0} ሰከንዶች በፊት"
+ }
+ },
+ "quarter" : {
+ "future" : "+{0} ሩብ",
+ "previous" : "የመጨረሻው ሩብ",
+ "next" : "የሚቀጥለው ሩብ",
+ "past" : "{0} ሩብ በፊት",
+ "current" : "ይህ ሩብ"
+ },
+ "week" : {
+ "next" : "የሚቀጥለው ሳምንት",
+ "past" : "ከ{0} ሳምንታት በፊት",
+ "current" : "በዚህ ሣምንት",
+ "previous" : "ባለፈው ሳምንት",
+ "future" : "በ{0} ሳምንታት ውስጥ"
+ }
+ },
+ "narrow" : {
+ "now" : "አሁን",
+ "year" : {
+ "current" : "በዚህ ዓመት",
+ "next" : "የሚቀጥለው ዓመት",
+ "past" : "ከ{0} ዓመታት በፊት",
+ "future" : "በ{0} ዓመታት ውስጥ",
+ "previous" : "ያለፈው ዓመት"
+ },
+ "day" : {
+ "past" : {
+ "other" : "ከ{0} ቀኖች በፊት",
+ "one" : "ከ {0} ቀን በፊት"
+ },
+ "future" : {
+ "one" : "በ{0} ቀን ውስጥ",
+ "other" : "በ{0} ቀኖች ውስጥ"
+ },
+ "next" : "ነገ",
+ "current" : "ዛሬ",
+ "previous" : "ትላንትና"
+ },
+ "month" : {
+ "current" : "በዚህ ወር",
+ "future" : "በ{0} ወራት ውስጥ",
+ "next" : "የሚቀጥለው ወር",
+ "past" : "ከ{0} ወራት በፊት",
+ "previous" : "ያለፈው ወር"
+ },
+ "second" : {
+ "future" : {
+ "one" : "በ{0} ሰከንድ ውስጥ",
+ "other" : "በ{0} ሰከንዶች ውስጥ"
+ },
+ "current" : "አሁን",
+ "past" : {
+ "one" : "ከ{0} ሰከንድ በፊት",
+ "other" : "ከ{0} ሰከንዶች በፊት"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "one" : "በ{0} ደቂቃ ውስጥ",
+ "other" : "በ{0} ደቂቃዎች ውስጥ"
+ },
+ "current" : "ይህ ደቂቃ",
+ "past" : {
+ "one" : "ከ{0} ደቂቃ በፊት",
+ "other" : "ከ{0} ደቂቃዎች በፊት"
+ }
+ },
+ "week" : {
+ "future" : "በ{0} ሳምንታት ውስጥ",
+ "next" : "የሚቀጥለው ሳምንት",
+ "previous" : "ባለፈው ሳምንት",
+ "past" : "ከ{0} ሳምንታት በፊት",
+ "current" : "በዚህ ሣምንት"
+ },
+ "quarter" : {
+ "future" : "+{0} ሩብ",
+ "current" : "ይህ ሩብ",
+ "past" : "{0} ሩብ በፊት",
+ "previous" : "የመጨረሻው ሩብ",
+ "next" : "የሚቀጥለው ሩብ"
+ },
+ "hour" : {
+ "current" : "ይህ ሰዓት",
+ "past" : {
+ "one" : "ከ{0} ሰዓት በፊት",
+ "other" : "ከ{0} ሰዓቶች በፊት"
+ },
+ "future" : {
+ "other" : "በ{0} ሰዓቶች ውስጥ",
+ "one" : "በ{0} ሰዓት ውስጥ"
+ }
+ }
+ },
+ "long" : {
+ "now" : "አሁን",
+ "minute" : {
+ "current" : "ይህ ደቂቃ",
+ "future" : {
+ "one" : "በ{0} ደቂቃ ውስጥ",
+ "other" : "በ{0} ደቂቃዎች ውስጥ"
+ },
+ "past" : {
+ "one" : "ከ{0} ደቂቃ በፊት",
+ "other" : "ከ{0} ደቂቃዎች በፊት"
+ }
+ },
+ "year" : {
+ "past" : {
+ "other" : "ከ{0} ዓመታት በፊት",
+ "one" : "ከ{0} ዓመት በፊት"
+ },
+ "previous" : "ያለፈው ዓመት",
+ "current" : "በዚህ ዓመት",
+ "next" : "የሚቀጥለው ዓመት",
+ "future" : "በ{0} ዓመታት ውስጥ"
+ },
+ "hour" : {
+ "current" : "ይህ ሰዓት",
+ "future" : {
+ "one" : "በ{0} ሰዓት ውስጥ",
+ "other" : "በ{0} ሰዓቶች ውስጥ"
+ },
+ "past" : {
+ "one" : "ከ{0} ሰዓት በፊት",
+ "other" : "ከ{0} ሰዓቶች በፊት"
+ }
+ },
+ "second" : {
+ "current" : "አሁን",
+ "past" : {
+ "one" : "ከ{0} ሰከንድ በፊት",
+ "other" : "ከ{0} ሰከንዶች በፊት"
+ },
+ "future" : {
+ "other" : "በ{0} ሰከንዶች ውስጥ",
+ "one" : "በ{0} ሰከንድ ውስጥ"
+ }
+ },
+ "day" : {
+ "previous" : "ትናንት",
+ "current" : "ዛሬ",
+ "future" : {
+ "other" : "በ{0} ቀናት ውስጥ",
+ "one" : "በ{0} ቀን ውስጥ"
+ },
+ "past" : {
+ "one" : "ከ{0} ቀን በፊት",
+ "other" : "ከ{0} ቀናት በፊት"
+ },
+ "next" : "ነገ"
+ },
+ "month" : {
+ "previous" : "ያለፈው ወር",
+ "current" : "በዚህ ወር",
+ "next" : "የሚቀጥለው ወር",
+ "future" : {
+ "one" : "በ{0} ወር ውስጥ",
+ "other" : "በ{0} ወራት ውስጥ"
+ },
+ "past" : {
+ "other" : "ከ{0} ወራት በፊት",
+ "one" : "ከ{0} ወር በፊት"
+ }
+ },
+ "quarter" : {
+ "next" : "የሚቀጥለው ሩብ",
+ "current" : "ይህ ሩብ",
+ "past" : "{0} ሩብ በፊት",
+ "future" : "+{0} ሩብ",
+ "previous" : "የመጨረሻው ሩብ"
+ },
+ "week" : {
+ "future" : {
+ "one" : "በ{0} ሳምንት ውስጥ",
+ "other" : "በ{0} ሳምንታት ውስጥ"
+ },
+ "current" : "በዚህ ሳምንት",
+ "next" : "የሚቀጥለው ሳምንት",
+ "previous" : "ያለፈው ሳምንት",
+ "past" : {
+ "other" : "ከ{0} ሳምንታት በፊት",
+ "one" : "ከ{0} ሳምንት በፊት"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ar.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ar.json
new file mode 100644
index 00000000..db62c90e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ar.json
@@ -0,0 +1,419 @@
+{
+ "narrow" : {
+ "second" : {
+ "past" : {
+ "other" : "قبل {0} ثانية",
+ "one" : "قبل ثانية واحدة",
+ "two" : "قبل ثانيتين",
+ "few" : "قبل {0} ثوانٍ"
+ },
+ "current" : "الآن",
+ "future" : {
+ "two" : "خلال ثانيتين",
+ "one" : "خلال ثانية واحدة",
+ "other" : "خلال {0} ثانية",
+ "few" : "خلال {0} ثوانٍ"
+ }
+ },
+ "week" : {
+ "past" : {
+ "one" : "قبل أسبوع واحد",
+ "few" : "قبل {0} أسابيع",
+ "two" : "قبل أسبوعين",
+ "many" : "قبل {0} أسبوعًا",
+ "other" : "قبل {0} أسبوع"
+ },
+ "previous" : "الأسبوع الماضي",
+ "future" : {
+ "one" : "خلال أسبوع واحد",
+ "many" : "خلال {0} أسبوعًا",
+ "other" : "خلال {0} أسبوع",
+ "two" : "خلال أسبوعين",
+ "few" : "خلال {0} أسابيع"
+ },
+ "current" : "هذا الأسبوع",
+ "next" : "الأسبوع القادم"
+ },
+ "day" : {
+ "current" : "اليوم",
+ "next" : "غدًا",
+ "past" : {
+ "one" : "قبل يوم واحد",
+ "many" : "قبل {0} يومًا",
+ "other" : "قبل {0} يوم",
+ "few" : "قبل {0} أيام",
+ "two" : "قبل يومين"
+ },
+ "previous" : "أمس",
+ "future" : {
+ "two" : "خلال يومين",
+ "few" : "خلال {0} أيام",
+ "other" : "خلال {0} يوم",
+ "one" : "خلال يوم واحد",
+ "many" : "خلال {0} يومًا"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "two" : "قبل ساعتين",
+ "other" : "قبل {0} ساعة",
+ "few" : "قبل {0} ساعات",
+ "one" : "قبل ساعة واحدة"
+ },
+ "current" : "الساعة الحالية",
+ "future" : {
+ "few" : "خلال {0} ساعات",
+ "other" : "خلال {0} ساعة",
+ "one" : "خلال ساعة واحدة",
+ "two" : "خلال ساعتين"
+ }
+ },
+ "year" : {
+ "past" : {
+ "two" : "قبل سنتين",
+ "other" : "قبل {0} سنة",
+ "few" : "قبل {0} سنوات",
+ "one" : "قبل سنة واحدة"
+ },
+ "previous" : "السنة الماضية",
+ "next" : "السنة القادمة",
+ "future" : {
+ "one" : "خلال سنة واحدة",
+ "two" : "خلال سنتين",
+ "other" : "خلال {0} سنة",
+ "few" : "خلال {0} سنوات"
+ },
+ "current" : "السنة الحالية"
+ },
+ "quarter" : {
+ "next" : "الربع القادم",
+ "future" : {
+ "other" : "خلال {0} ربع سنة",
+ "one" : "خلال ربع سنة واحد",
+ "few" : "خلال {0} أرباع سنة",
+ "two" : "خلال ربعي سنة"
+ },
+ "previous" : "الربع الأخير",
+ "current" : "هذا الربع",
+ "past" : {
+ "one" : "قبل ربع سنة واحد",
+ "other" : "قبل {0} ربع سنة",
+ "two" : "قبل ربعي سنة",
+ "few" : "قبل {0} أرباع سنة"
+ }
+ },
+ "month" : {
+ "past" : {
+ "few" : "قبل {0} أشهر",
+ "many" : "قبل {0} شهرًا",
+ "other" : "قبل {0} شهر",
+ "one" : "قبل شهر واحد",
+ "two" : "قبل شهرين"
+ },
+ "next" : "الشهر القادم",
+ "current" : "هذا الشهر",
+ "previous" : "الشهر الماضي",
+ "future" : {
+ "many" : "خلال {0} شهرًا",
+ "two" : "خلال شهرين",
+ "other" : "خلال {0} شهر",
+ "one" : "خلال شهر واحد",
+ "few" : "خلال {0} أشهر"
+ }
+ },
+ "now" : "الآن",
+ "minute" : {
+ "future" : {
+ "two" : "خلال دقيقتين",
+ "few" : "خلال {0} دقائق",
+ "other" : "خلال {0} دقيقة",
+ "one" : "خلال دقيقة واحدة"
+ },
+ "past" : {
+ "one" : "قبل دقيقة واحدة",
+ "few" : "قبل {0} دقائق",
+ "other" : "قبل {0} دقيقة",
+ "two" : "قبل دقيقتين"
+ },
+ "current" : "هذه الدقيقة"
+ }
+ },
+ "long" : {
+ "now" : "الآن",
+ "day" : {
+ "current" : "اليوم",
+ "previous" : "أمس",
+ "next" : "غدًا",
+ "past" : {
+ "one" : "قبل يوم واحد",
+ "two" : "قبل يومين",
+ "many" : "قبل {0} يومًا",
+ "few" : "قبل {0} أيام",
+ "other" : "قبل {0} يوم"
+ },
+ "future" : {
+ "two" : "خلال يومين",
+ "many" : "خلال {0} يومًا",
+ "few" : "خلال {0} أيام",
+ "one" : "خلال يوم واحد",
+ "other" : "خلال {0} يوم"
+ }
+ },
+ "month" : {
+ "future" : {
+ "few" : "خلال {0} أشهر",
+ "many" : "خلال {0} شهرًا",
+ "other" : "خلال {0} شهر",
+ "one" : "خلال شهر واحد",
+ "two" : "خلال شهرين"
+ },
+ "past" : {
+ "two" : "قبل شهرين",
+ "few" : "قبل {0} أشهر",
+ "one" : "قبل شهر واحد",
+ "many" : "قبل {0} شهرًا",
+ "other" : "قبل {0} شهر"
+ },
+ "current" : "هذا الشهر",
+ "previous" : "الشهر الماضي",
+ "next" : "الشهر القادم"
+ },
+ "minute" : {
+ "future" : {
+ "two" : "خلال دقيقتين",
+ "few" : "خلال {0} دقائق",
+ "other" : "خلال {0} دقيقة",
+ "one" : "خلال دقيقة واحدة"
+ },
+ "past" : {
+ "two" : "قبل دقيقتين",
+ "other" : "قبل {0} دقيقة",
+ "few" : "قبل {0} دقائق",
+ "one" : "قبل دقيقة واحدة"
+ },
+ "current" : "هذه الدقيقة"
+ },
+ "second" : {
+ "future" : {
+ "two" : "خلال ثانيتين",
+ "other" : "خلال {0} ثانية",
+ "one" : "خلال ثانية واحدة",
+ "few" : "خلال {0} ثوانٍ"
+ },
+ "current" : "الآن",
+ "past" : {
+ "two" : "قبل ثانيتين",
+ "one" : "قبل ثانية واحدة",
+ "other" : "قبل {0} ثانية",
+ "few" : "قبل {0} ثوانِ"
+ }
+ },
+ "hour" : {
+ "current" : "الساعة الحالية",
+ "past" : {
+ "few" : "قبل {0} ساعات",
+ "other" : "قبل {0} ساعة",
+ "one" : "قبل ساعة واحدة",
+ "two" : "قبل ساعتين"
+ },
+ "future" : {
+ "other" : "خلال {0} ساعة",
+ "one" : "خلال ساعة واحدة",
+ "two" : "خلال ساعتين",
+ "few" : "خلال {0} ساعات"
+ }
+ },
+ "year" : {
+ "previous" : "السنة الماضية",
+ "future" : {
+ "one" : "خلال سنة واحدة",
+ "two" : "خلال سنتين",
+ "few" : "خلال {0} سنوات",
+ "other" : "خلال {0} سنة"
+ },
+ "current" : "السنة الحالية",
+ "next" : "السنة القادمة",
+ "past" : {
+ "one" : "قبل سنة واحدة",
+ "other" : "قبل {0} سنة",
+ "two" : "قبل سنتين",
+ "few" : "قبل {0} سنوات"
+ }
+ },
+ "quarter" : {
+ "current" : "هذا الربع",
+ "past" : {
+ "other" : "قبل {0} ربع سنة",
+ "two" : "قبل ربعي سنة",
+ "few" : "قبل {0} أرباع سنة",
+ "one" : "قبل ربع سنة واحد"
+ },
+ "future" : {
+ "two" : "خلال ربعي سنة",
+ "few" : "خلال {0} أرباع سنة",
+ "other" : "خلال {0} ربع سنة",
+ "one" : "خلال ربع سنة واحد"
+ },
+ "next" : "الربع القادم",
+ "previous" : "الربع الأخير"
+ },
+ "week" : {
+ "next" : "الأسبوع القادم",
+ "current" : "هذا الأسبوع",
+ "past" : {
+ "one" : "قبل أسبوع واحد",
+ "many" : "قبل {0} أسبوعًا",
+ "two" : "قبل أسبوعين",
+ "other" : "قبل {0} أسبوع",
+ "few" : "قبل {0} أسابيع"
+ },
+ "future" : {
+ "other" : "خلال {0} أسبوع",
+ "two" : "خلال أسبوعين",
+ "few" : "خلال {0} أسابيع",
+ "one" : "خلال أسبوع واحد",
+ "many" : "خلال {0} أسبوعًا"
+ },
+ "previous" : "الأسبوع الماضي"
+ }
+ },
+ "short" : {
+ "now" : "الآن",
+ "year" : {
+ "current" : "السنة الحالية",
+ "past" : {
+ "few" : "قبل {0} سنوات",
+ "two" : "قبل سنتين",
+ "other" : "قبل {0} سنة",
+ "one" : "قبل سنة واحدة"
+ },
+ "previous" : "السنة الماضية",
+ "next" : "السنة القادمة",
+ "future" : {
+ "few" : "خلال {0} سنوات",
+ "one" : "خلال سنة واحدة",
+ "two" : "خلال سنتين",
+ "other" : "خلال {0} سنة"
+ }
+ },
+ "quarter" : {
+ "past" : {
+ "two" : "قبل ربعي سنة",
+ "few" : "قبل {0} أرباع سنة",
+ "other" : "قبل {0} ربع سنة",
+ "one" : "قبل ربع سنة واحد"
+ },
+ "next" : "الربع القادم",
+ "previous" : "الربع الأخير",
+ "current" : "هذا الربع",
+ "future" : {
+ "few" : "خلال {0} أرباع سنة",
+ "one" : "خلال ربع سنة واحد",
+ "other" : "خلال {0} ربع سنة",
+ "two" : "خلال ربعي سنة"
+ }
+ },
+ "second" : {
+ "past" : {
+ "few" : "قبل {0} ثوانٍ",
+ "other" : "قبل {0} ثانية",
+ "one" : "قبل ثانية واحدة",
+ "two" : "قبل ثانيتين"
+ },
+ "future" : {
+ "one" : "خلال ثانية واحدة",
+ "two" : "خلال ثانيتين",
+ "few" : "خلال {0} ثوانٍ",
+ "other" : "خلال {0} ثانية"
+ },
+ "current" : "الآن"
+ },
+ "hour" : {
+ "current" : "الساعة الحالية",
+ "past" : {
+ "other" : "قبل {0} ساعة",
+ "two" : "قبل ساعتين",
+ "one" : "قبل ساعة واحدة",
+ "few" : "قبل {0} ساعات"
+ },
+ "future" : {
+ "two" : "خلال ساعتين",
+ "one" : "خلال ساعة واحدة",
+ "other" : "خلال {0} ساعة",
+ "few" : "خلال {0} ساعات"
+ }
+ },
+ "day" : {
+ "future" : {
+ "other" : "خلال {0} يوم",
+ "one" : "خلال يوم واحد",
+ "few" : "خلال {0} أيام",
+ "two" : "خلال يومين",
+ "many" : "خلال {0} يومًا"
+ },
+ "previous" : "أمس",
+ "current" : "اليوم",
+ "past" : {
+ "many" : "قبل {0} يومًا",
+ "other" : "قبل {0} يوم",
+ "two" : "قبل يومين",
+ "few" : "قبل {0} أيام",
+ "one" : "قبل يوم واحد"
+ },
+ "next" : "غدًا"
+ },
+ "month" : {
+ "next" : "الشهر القادم",
+ "past" : {
+ "two" : "قبل شهرين",
+ "other" : "قبل {0} شهر",
+ "few" : "خلال {0} أشهر",
+ "many" : "قبل {0} شهرًا",
+ "one" : "قبل شهر واحد"
+ },
+ "future" : {
+ "one" : "خلال شهر واحد",
+ "two" : "خلال شهرين",
+ "other" : "خلال {0} شهر",
+ "many" : "خلال {0} شهرًا",
+ "few" : "خلال {0} أشهر"
+ },
+ "previous" : "الشهر الماضي",
+ "current" : "هذا الشهر"
+ },
+ "week" : {
+ "future" : {
+ "one" : "خلال أسبوع واحد",
+ "two" : "خلال {0} أسبوعين",
+ "few" : "خلال {0} أسابيع",
+ "many" : "خلال {0} أسبوعًا",
+ "other" : "خلال {0} أسبوع"
+ },
+ "next" : "الأسبوع القادم",
+ "previous" : "الأسبوع الماضي",
+ "past" : {
+ "many" : "قبل {0} أسبوعًا",
+ "other" : "قبل {0} أسبوع",
+ "two" : "قبل أسبوعين",
+ "one" : "قبل أسبوع واحد",
+ "few" : "قبل {0} أسابيع"
+ },
+ "current" : "هذا الأسبوع"
+ },
+ "minute" : {
+ "current" : "هذه الدقيقة",
+ "past" : {
+ "few" : "قبل {0} دقائق",
+ "two" : "قبل دقيقتين",
+ "one" : "قبل دقيقة واحدة",
+ "other" : "قبل {0} دقيقة"
+ },
+ "future" : {
+ "few" : "خلال {0} دقائق",
+ "other" : "خلال {0} دقيقة",
+ "one" : "خلال دقيقة واحدة",
+ "two" : "خلال دقيقتين"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ar_AE.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ar_AE.json
new file mode 100644
index 00000000..1003a64b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ar_AE.json
@@ -0,0 +1,419 @@
+{
+ "short" : {
+ "month" : {
+ "future" : {
+ "other" : "خلال {0} شهر",
+ "one" : "خلال شهر واحد",
+ "two" : "خلال شهرين",
+ "few" : "خلال {0} أشهر",
+ "many" : "خلال {0} شهرًا"
+ },
+ "previous" : "الشهر الماضي",
+ "next" : "الشهر القادم",
+ "past" : {
+ "one" : "قبل شهر واحد",
+ "two" : "قبل شهرين",
+ "few" : "خلال {0} أشهر",
+ "other" : "قبل {0} شهر",
+ "many" : "قبل {0} شهرًا"
+ },
+ "current" : "هذا الشهر"
+ },
+ "day" : {
+ "future" : {
+ "two" : "خلال يومين",
+ "one" : "خلال يوم واحد",
+ "few" : "خلال {0} أيام",
+ "other" : "خلال {0} يوم",
+ "many" : "خلال {0} يومًا"
+ },
+ "previous" : "أمس",
+ "next" : "غدًا",
+ "past" : {
+ "two" : "قبل يومين",
+ "many" : "قبل {0} يومًا",
+ "other" : "قبل {0} يوم",
+ "one" : "قبل يوم واحد",
+ "few" : "قبل {0} أيام"
+ },
+ "current" : "اليوم"
+ },
+ "second" : {
+ "future" : {
+ "one" : "خلال ثانية واحدة",
+ "few" : "خلال {0} ثوانٍ",
+ "two" : "خلال ثانيتين",
+ "other" : "خلال {0} ثانية"
+ },
+ "current" : "الآن",
+ "past" : {
+ "two" : "قبل ثانيتين",
+ "other" : "قبل {0} ثانية",
+ "few" : "قبل {0} ثوانٍ",
+ "one" : "قبل ثانية واحدة"
+ }
+ },
+ "quarter" : {
+ "past" : {
+ "other" : "قبل {0} ربع سنة",
+ "two" : "قبل ربعي سنة",
+ "one" : "قبل ربع سنة واحد",
+ "few" : "قبل {0} أرباع سنة"
+ },
+ "next" : "الربع القادم",
+ "future" : {
+ "other" : "خلال {0} ربع سنة",
+ "few" : "خلال {0} أرباع سنة",
+ "two" : "خلال ربعي سنة",
+ "one" : "خلال ربع سنة واحد"
+ },
+ "previous" : "الربع الأخير",
+ "current" : "هذا الربع"
+ },
+ "year" : {
+ "future" : {
+ "few" : "خلال {0} سنوات",
+ "other" : "خلال {0} سنة",
+ "one" : "خلال سنة واحدة",
+ "two" : "خلال سنتين"
+ },
+ "current" : "هذه السنة",
+ "previous" : "السنة الماضية",
+ "past" : {
+ "few" : "قبل {0} سنوات",
+ "other" : "قبل {0} سنة",
+ "two" : "قبل سنتين",
+ "one" : "قبل سنة واحدة"
+ },
+ "next" : "السنة التالية"
+ },
+ "hour" : {
+ "past" : {
+ "few" : "قبل {0} ساعات",
+ "other" : "قبل {0} ساعة",
+ "two" : "قبل ساعتين",
+ "one" : "قبل ساعة واحدة"
+ },
+ "future" : {
+ "two" : "خلال ساعتين",
+ "one" : "خلال ساعة واحدة",
+ "other" : "خلال {0} ساعة",
+ "few" : "خلال {0} ساعات"
+ },
+ "current" : "الساعة الحالية"
+ },
+ "week" : {
+ "current" : "هذا الأسبوع",
+ "previous" : "الأسبوع الماضي",
+ "past" : {
+ "two" : "قبل أسبوعين",
+ "other" : "قبل {0} أسبوع",
+ "few" : "قبل {0} أسابيع",
+ "one" : "قبل أسبوع واحد",
+ "many" : "قبل {0} أسبوعًا"
+ },
+ "next" : "الأسبوع القادم",
+ "future" : {
+ "two" : "خلال {0} أسبوعين",
+ "few" : "خلال {0} أسابيع",
+ "other" : "خلال {0} أسبوع",
+ "one" : "خلال أسبوع واحد",
+ "many" : "خلال {0} أسبوعًا"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "other" : "خلال {0} دقيقة",
+ "one" : "خلال دقيقة واحدة",
+ "few" : "خلال {0} دقائق",
+ "two" : "خلال دقيقتين"
+ },
+ "past" : {
+ "other" : "قبل {0} دقيقة",
+ "two" : "قبل دقيقتين",
+ "one" : "قبل دقيقة واحدة",
+ "few" : "قبل {0} دقائق"
+ },
+ "current" : "هذه الدقيقة"
+ },
+ "now" : "الآن"
+ },
+ "narrow" : {
+ "second" : {
+ "future" : {
+ "few" : "خلال {0} ثوانٍ",
+ "two" : "خلال ثانيتين",
+ "other" : "خلال {0} ثانية",
+ "one" : "خلال ثانية واحدة"
+ },
+ "current" : "الآن",
+ "past" : {
+ "one" : "قبل ثانية واحدة",
+ "few" : "قبل {0} ثوانٍ",
+ "two" : "قبل ثانيتين",
+ "other" : "قبل {0} ثانية"
+ }
+ },
+ "now" : "الآن",
+ "day" : {
+ "future" : {
+ "other" : "خلال {0} يوم",
+ "one" : "خلال يوم واحد",
+ "two" : "خلال يومين",
+ "few" : "خلال {0} أيام",
+ "many" : "خلال {0} يومًا"
+ },
+ "current" : "اليوم",
+ "past" : {
+ "one" : "قبل يوم واحد",
+ "many" : "قبل {0} يومًا",
+ "two" : "قبل يومين",
+ "other" : "قبل {0} يوم",
+ "few" : "قبل {0} أيام"
+ },
+ "next" : "غدًا",
+ "previous" : "أمس"
+ },
+ "hour" : {
+ "past" : {
+ "few" : "قبل {0} ساعات",
+ "two" : "قبل ساعتين",
+ "other" : "قبل {0} ساعة",
+ "one" : "قبل ساعة واحدة"
+ },
+ "future" : {
+ "two" : "خلال ساعتين",
+ "one" : "خلال ساعة واحدة",
+ "few" : "خلال {0} ساعات",
+ "other" : "خلال {0} ساعة"
+ },
+ "current" : "الساعة الحالية"
+ },
+ "quarter" : {
+ "past" : {
+ "one" : "قبل ربع سنة واحد",
+ "few" : "قبل {0} أرباع سنة",
+ "other" : "قبل {0} ربع سنة",
+ "two" : "قبل ربعي سنة"
+ },
+ "current" : "هذا الربع",
+ "future" : {
+ "one" : "خلال ربع سنة واحد",
+ "two" : "خلال ربعي سنة",
+ "few" : "خلال {0} أرباع سنة",
+ "other" : "خلال {0} ربع سنة"
+ },
+ "next" : "الربع القادم",
+ "previous" : "الربع الأخير"
+ },
+ "year" : {
+ "future" : {
+ "other" : "خلال {0} سنة",
+ "one" : "خلال سنة واحدة",
+ "few" : "خلال {0} سنوات",
+ "two" : "خلال سنتين"
+ },
+ "next" : "السنة التالية",
+ "previous" : "السنة الماضية",
+ "current" : "هذه السنة",
+ "past" : {
+ "two" : "قبل سنتين",
+ "few" : "قبل {0} سنوات",
+ "other" : "قبل {0} سنة",
+ "one" : "قبل سنة واحدة"
+ }
+ },
+ "month" : {
+ "next" : "الشهر القادم",
+ "previous" : "الشهر الماضي",
+ "future" : {
+ "other" : "خلال {0} شهر",
+ "few" : "خلال {0} أشهر",
+ "one" : "خلال شهر واحد",
+ "many" : "خلال {0} شهرًا",
+ "two" : "خلال شهرين"
+ },
+ "current" : "هذا الشهر",
+ "past" : {
+ "many" : "قبل {0} شهرًا",
+ "other" : "قبل {0} شهر",
+ "one" : "قبل شهر واحد",
+ "two" : "قبل شهرين",
+ "few" : "قبل {0} أشهر"
+ }
+ },
+ "week" : {
+ "previous" : "الأسبوع الماضي",
+ "next" : "الأسبوع القادم",
+ "past" : {
+ "many" : "قبل {0} أسبوعًا",
+ "few" : "قبل {0} أسابيع",
+ "other" : "قبل {0} أسبوع",
+ "two" : "قبل أسبوعين",
+ "one" : "قبل أسبوع واحد"
+ },
+ "future" : {
+ "one" : "خلال أسبوع واحد",
+ "many" : "خلال {0} أسبوعًا",
+ "few" : "خلال {0} أسابيع",
+ "two" : "خلال أسبوعين",
+ "other" : "خلال {0} أسبوع"
+ },
+ "current" : "هذا الأسبوع"
+ },
+ "minute" : {
+ "past" : {
+ "two" : "قبل دقيقتين",
+ "other" : "قبل {0} دقيقة",
+ "one" : "قبل دقيقة واحدة",
+ "few" : "قبل {0} دقائق"
+ },
+ "future" : {
+ "other" : "خلال {0} دقيقة",
+ "few" : "خلال {0} دقائق",
+ "two" : "خلال دقيقتين",
+ "one" : "خلال دقيقة واحدة"
+ },
+ "current" : "هذه الدقيقة"
+ }
+ },
+ "long" : {
+ "now" : "الآن",
+ "second" : {
+ "past" : {
+ "two" : "قبل ثانيتين",
+ "one" : "قبل ثانية واحدة",
+ "other" : "قبل {0} ثانية",
+ "few" : "قبل {0} ثوانِ"
+ },
+ "future" : {
+ "one" : "خلال ثانية واحدة",
+ "two" : "خلال ثانيتين",
+ "few" : "خلال {0} ثوانٍ",
+ "other" : "خلال {0} ثانية"
+ },
+ "current" : "الآن"
+ },
+ "minute" : {
+ "current" : "هذه الدقيقة",
+ "past" : {
+ "one" : "قبل دقيقة واحدة",
+ "few" : "قبل {0} دقائق",
+ "two" : "قبل دقيقتين",
+ "other" : "قبل {0} دقيقة"
+ },
+ "future" : {
+ "one" : "خلال دقيقة واحدة",
+ "few" : "خلال {0} دقائق",
+ "two" : "خلال دقيقتين",
+ "other" : "خلال {0} دقيقة"
+ }
+ },
+ "week" : {
+ "previous" : "الأسبوع الماضي",
+ "current" : "هذا الأسبوع",
+ "past" : {
+ "one" : "قبل أسبوع واحد",
+ "two" : "قبل أسبوعين",
+ "few" : "قبل {0} أسابيع",
+ "other" : "قبل {0} أسبوع",
+ "many" : "قبل {0} أسبوعًا"
+ },
+ "next" : "الأسبوع القادم",
+ "future" : {
+ "one" : "خلال أسبوع واحد",
+ "many" : "خلال {0} أسبوعًا",
+ "other" : "خلال {0} أسبوع",
+ "two" : "خلال أسبوعين",
+ "few" : "خلال {0} أسابيع"
+ }
+ },
+ "day" : {
+ "future" : {
+ "one" : "خلال يوم واحد",
+ "few" : "خلال {0} أيام",
+ "two" : "خلال يومين",
+ "many" : "خلال {0} يومًا",
+ "other" : "خلال {0} يوم"
+ },
+ "next" : "غدًا",
+ "previous" : "أمس",
+ "current" : "اليوم",
+ "past" : {
+ "many" : "قبل {0} يومًا",
+ "two" : "قبل يومين",
+ "one" : "قبل يوم واحد",
+ "few" : "قبل {0} أيام",
+ "other" : "قبل {0} يوم"
+ }
+ },
+ "month" : {
+ "current" : "هذا الشهر",
+ "next" : "الشهر القادم",
+ "future" : {
+ "many" : "خلال {0} شهرًا",
+ "few" : "خلال {0} أشهر",
+ "other" : "خلال {0} شهر",
+ "one" : "خلال شهر واحد",
+ "two" : "خلال شهرين"
+ },
+ "previous" : "الشهر الماضي",
+ "past" : {
+ "other" : "قبل {0} شهر",
+ "two" : "قبل شهرين",
+ "many" : "قبل {0} شهرًا",
+ "one" : "قبل شهر واحد",
+ "few" : "قبل {0} أشهر"
+ }
+ },
+ "year" : {
+ "future" : {
+ "one" : "خلال سنة واحدة",
+ "few" : "خلال {0} سنوات",
+ "two" : "خلال سنتين",
+ "other" : "خلال {0} سنة"
+ },
+ "previous" : "السنة الماضية",
+ "next" : "السنة التالية",
+ "current" : "هذه السنة",
+ "past" : {
+ "two" : "قبل سنتين",
+ "other" : "قبل {0} سنة",
+ "one" : "قبل سنة واحدة",
+ "few" : "قبل {0} سنوات"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "other" : "خلال {0} ساعة",
+ "one" : "خلال ساعة واحدة",
+ "two" : "خلال ساعتين",
+ "few" : "خلال {0} ساعات"
+ },
+ "past" : {
+ "two" : "قبل ساعتين",
+ "few" : "قبل {0} ساعات",
+ "one" : "قبل ساعة واحدة",
+ "other" : "قبل {0} ساعة"
+ },
+ "current" : "الساعة الحالية"
+ },
+ "quarter" : {
+ "past" : {
+ "one" : "قبل ربع سنة واحد",
+ "two" : "قبل ربعي سنة",
+ "other" : "قبل {0} ربع سنة",
+ "few" : "قبل {0} أرباع سنة"
+ },
+ "future" : {
+ "few" : "خلال {0} أرباع سنة",
+ "one" : "خلال ربع سنة واحد",
+ "other" : "خلال {0} ربع سنة",
+ "two" : "خلال ربعي سنة"
+ },
+ "previous" : "الربع الأخير",
+ "current" : "هذا الربع",
+ "next" : "الربع القادم"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/as.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/as.json
new file mode 100644
index 00000000..bb8596ef
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/as.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "{0} তিনি মাহ পূৰ্বে",
+ "future" : "{0} তিনি মাহত",
+ "current" : "এই তিনি মাহ",
+ "previous" : "যোৱা তিনি মাহ",
+ "next" : "অহা তিনি মাহ"
+ },
+ "year" : {
+ "previous" : "যোৱা বছৰ",
+ "next" : "অহা বছৰ",
+ "future" : "{0} বছৰত",
+ "current" : "এই বছৰ",
+ "past" : "{0} বছৰৰ পূৰ্বে"
+ },
+ "week" : {
+ "future" : "{0} সপ্তাহত",
+ "previous" : "যোৱা সপ্তাহ",
+ "next" : "অহা সপ্তাহ",
+ "past" : "{0} সপ্তাহ পূৰ্বে",
+ "current" : "এই সপ্তাহ"
+ },
+ "day" : {
+ "current" : "আজি",
+ "past" : "{0} দিন পূৰ্বে",
+ "next" : "কাইলৈ",
+ "future" : "{0} দিনত",
+ "previous" : "কালি"
+ },
+ "hour" : {
+ "current" : "এইটো ঘণ্টাত",
+ "past" : "{0} ঘণ্টা পূৰ্বে",
+ "future" : "{0} ঘণ্টাত"
+ },
+ "minute" : {
+ "future" : "{0} মিনিটত",
+ "current" : "এইটো মিনিটত",
+ "past" : "{0} মিনিট পূৰ্বে"
+ },
+ "month" : {
+ "next" : "অহা মাহ",
+ "current" : "এই মাহ",
+ "past" : "{0} মাহ পূৰ্বে",
+ "future" : "{0} মাহত",
+ "previous" : "যোৱা মাহ"
+ },
+ "now" : "এতিয়া",
+ "second" : {
+ "future" : "{0} ছেকেণ্ডত",
+ "current" : "এতিয়া",
+ "past" : "{0} ছেকেণ্ড পূৰ্বে"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} মিনিট পূৰ্বে",
+ "future" : "{0} মিনিটত",
+ "current" : "এইটো মিনিটত"
+ },
+ "week" : {
+ "current" : "এই সপ্তাহ",
+ "past" : "{0} সপ্তাহ পূৰ্বে",
+ "future" : "{0} সপ্তাহত",
+ "next" : "অহা সপ্তাহ",
+ "previous" : "যোৱা সপ্তাহ"
+ },
+ "year" : {
+ "future" : "{0} বছৰত",
+ "previous" : "যোৱা বছৰ",
+ "next" : "অহা বছৰ",
+ "current" : "এই বছৰ",
+ "past" : "{0} বছৰৰ পূৰ্বে"
+ },
+ "day" : {
+ "next" : "কাইলৈ",
+ "current" : "আজি",
+ "previous" : "কালি",
+ "past" : "{0} দিন পূৰ্বে",
+ "future" : "{0} দিনত"
+ },
+ "hour" : {
+ "future" : "{0} ঘণ্টাত",
+ "current" : "এইটো ঘণ্টাত",
+ "past" : "{0} ঘণ্টা পূৰ্বে"
+ },
+ "quarter" : {
+ "current" : "এই তিনি মাহ",
+ "future" : "{0} তিনি মাহত",
+ "previous" : "যোৱা তিনি মাহ",
+ "next" : "অহা তিনি মাহ",
+ "past" : "{0} তিনি মাহ পূৰ্বে"
+ },
+ "second" : {
+ "past" : "{0} ছেকেণ্ড পূৰ্বে",
+ "current" : "এতিয়া",
+ "future" : "{0} ছেকেণ্ডত"
+ },
+ "month" : {
+ "current" : "এই মাহ",
+ "past" : "{0} মাহ পূৰ্বে",
+ "future" : "{0} মাহত",
+ "next" : "অহা মাহ",
+ "previous" : "যোৱা মাহ"
+ },
+ "now" : "এতিয়া"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "{0} ঘণ্টাত",
+ "current" : "এইটো ঘণ্টাত",
+ "past" : "{0} ঘণ্টা পূৰ্বে"
+ },
+ "day" : {
+ "next" : "কাইলৈ",
+ "past" : "{0} দিন পূৰ্বে",
+ "previous" : "কালি",
+ "future" : "{0} দিনত",
+ "current" : "আজি"
+ },
+ "second" : {
+ "past" : "{0} ছেকেণ্ড পূৰ্বে",
+ "current" : "এতিয়া",
+ "future" : "{0} ছেকেণ্ডত"
+ },
+ "week" : {
+ "future" : "{0} সপ্তাহত",
+ "past" : "{0} সপ্তাহ পূৰ্বে",
+ "current" : "এই সপ্তাহ",
+ "next" : "অহা সপ্তাহ",
+ "previous" : "যোৱা সপ্তাহ"
+ },
+ "minute" : {
+ "future" : "{0} মিনিটত",
+ "past" : "{0} মিনিট পূৰ্বে",
+ "current" : "এইটো মিনিটত"
+ },
+ "month" : {
+ "future" : "{0} মাহত",
+ "past" : "{0} মাহ পূৰ্বে",
+ "current" : "এই মাহ",
+ "previous" : "যোৱা মাহ",
+ "next" : "অহা মাহ"
+ },
+ "now" : "এতিয়া",
+ "year" : {
+ "current" : "এই বছৰ",
+ "next" : "অহা বছৰ",
+ "previous" : "যোৱা বছৰ",
+ "future" : "{0} বছৰত",
+ "past" : "{0} বছৰৰ পূৰ্বে"
+ },
+ "quarter" : {
+ "future" : "{0} তিনি মাহত",
+ "previous" : "যোৱা তিনি মাহ",
+ "past" : "{0} তিনি মাহ পূৰ্বে",
+ "next" : "অহা তিনি মাহ",
+ "current" : "এই তিনি মাহ"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/be.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/be.json
new file mode 100644
index 00000000..e1add67f
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/be.json
@@ -0,0 +1,255 @@
+{
+ "long" : {
+ "quarter" : {
+ "previous" : "у мінулым квартале",
+ "next" : "у наступным квартале",
+ "past" : {
+ "one" : "{0} квартал таму",
+ "few" : "{0} кварталы таму",
+ "many" : "{0} кварталаў таму",
+ "other" : "{0} квартала таму"
+ },
+ "future" : {
+ "many" : "праз {0} кварталаў",
+ "one" : "праз {0} квартал",
+ "other" : "праз {0} квартала",
+ "few" : "праз {0} кварталы"
+ },
+ "current" : "у гэтым квартале"
+ },
+ "year" : {
+ "future" : {
+ "one" : "праз {0} год",
+ "many" : "праз {0} гадоў",
+ "few" : "праз {0} гады",
+ "other" : "праз {0} года"
+ },
+ "current" : "у гэтым годзе",
+ "next" : "у наступным годзе",
+ "past" : {
+ "one" : "{0} год таму",
+ "other" : "{0} года таму",
+ "many" : "{0} гадоў таму",
+ "few" : "{0} гады таму"
+ },
+ "previous" : "у мінулым годзе"
+ },
+ "month" : {
+ "current" : "у гэтым месяцы",
+ "past" : {
+ "one" : "{0} месяц таму",
+ "few" : "{0} месяцы таму",
+ "many" : "{0} месяцаў таму",
+ "other" : "{0} месяца таму"
+ },
+ "previous" : "у мінулым месяцы",
+ "next" : "у наступным месяцы",
+ "future" : {
+ "many" : "праз {0} месяцаў",
+ "other" : "праз {0} месяца",
+ "few" : "праз {0} месяцы",
+ "one" : "праз {0} месяц"
+ }
+ },
+ "hour" : {
+ "current" : "у гэту гадзіну",
+ "future" : {
+ "one" : "праз {0} гадзіну",
+ "other" : "праз {0} гадзіны",
+ "many" : "праз {0} гадзін"
+ },
+ "past" : {
+ "one" : "{0} гадзіну таму",
+ "other" : "{0} гадзіны таму",
+ "many" : "{0} гадзін таму"
+ }
+ },
+ "week" : {
+ "future" : {
+ "other" : "праз {0} тыдня",
+ "few" : "праз {0} тыдні",
+ "one" : "праз {0} тыдзень",
+ "many" : "праз {0} тыдняў"
+ },
+ "next" : "на наступным тыдні",
+ "previous" : "на мінулым тыдні",
+ "past" : {
+ "many" : "{0} тыдняў таму",
+ "one" : "{0} тыдзень таму",
+ "few" : "{0} тыдні таму",
+ "other" : "{0} тыдня таму"
+ },
+ "current" : "на гэтым тыдні"
+ },
+ "minute" : {
+ "future" : {
+ "one" : "праз {0} хвіліну",
+ "other" : "праз {0} хвіліны",
+ "many" : "праз {0} хвілін"
+ },
+ "current" : "у гэту хвіліну",
+ "past" : {
+ "one" : "{0} хвіліну таму",
+ "many" : "{0} хвілін таму",
+ "other" : "{0} хвіліны таму"
+ }
+ },
+ "now" : "цяпер",
+ "second" : {
+ "past" : {
+ "many" : "{0} секунд таму",
+ "other" : "{0} секунды таму",
+ "one" : "{0} секунду таму"
+ },
+ "future" : {
+ "many" : "праз {0} секунд",
+ "one" : "праз {0} секунду",
+ "other" : "праз {0} секунды"
+ },
+ "current" : "цяпер"
+ },
+ "day" : {
+ "current" : "сёння",
+ "next" : "заўтра",
+ "past" : {
+ "one" : "{0} дзень таму",
+ "many" : "{0} дзён таму",
+ "few" : "{0} дні таму",
+ "other" : "{0} дня таму"
+ },
+ "future" : {
+ "other" : "праз {0} дня",
+ "one" : "праз {0} дзень",
+ "many" : "праз {0} дзён",
+ "few" : "праз {0} дні"
+ },
+ "previous" : "учора"
+ }
+ },
+ "narrow" : {
+ "now" : "цяпер",
+ "quarter" : {
+ "current" : "у гэтым квартале",
+ "next" : "у наступным квартале",
+ "past" : "{0} кв. таму",
+ "previous" : "у мінулым квартале",
+ "future" : "праз {0} кв."
+ },
+ "day" : {
+ "past" : {
+ "one" : "{0} дзень таму",
+ "few" : "{0} дні таму",
+ "many" : "{0} дзён таму",
+ "other" : "{0} дня таму"
+ },
+ "previous" : "учора",
+ "current" : "сёння",
+ "next" : "заўтра",
+ "future" : {
+ "few" : "праз {0} дні",
+ "many" : "праз {0} дзён",
+ "other" : "праз {0} дня",
+ "one" : "праз {0} дзень"
+ }
+ },
+ "week" : {
+ "current" : "на гэтым тыдні",
+ "next" : "на наступным тыдні",
+ "future" : "праз {0} тыд",
+ "previous" : "на мінулым тыдні",
+ "past" : "{0} тыд таму"
+ },
+ "year" : {
+ "current" : "у гэтым годзе",
+ "previous" : "у мінулым годзе",
+ "past" : "{0} г. таму",
+ "next" : "у наступным годзе",
+ "future" : "праз {0} г."
+ },
+ "month" : {
+ "past" : "{0} мес. таму",
+ "current" : "у гэтым месяцы",
+ "future" : "праз {0} мес.",
+ "previous" : "у мінулым месяцы",
+ "next" : "у наступным месяцы"
+ },
+ "second" : {
+ "current" : "цяпер",
+ "past" : "{0} с таму",
+ "future" : "праз {0} с"
+ },
+ "minute" : {
+ "current" : "у гэту хвіліну",
+ "future" : "праз {0} хв",
+ "past" : "{0} хв таму"
+ },
+ "hour" : {
+ "future" : "праз {0} гадз",
+ "past" : "{0} гадз таму",
+ "current" : "у гэту гадзіну"
+ }
+ },
+ "short" : {
+ "month" : {
+ "current" : "у гэтым месяцы",
+ "next" : "у наступным месяцы",
+ "past" : "{0} мес. таму",
+ "future" : "праз {0} мес.",
+ "previous" : "у мінулым месяцы"
+ },
+ "now" : "цяпер",
+ "week" : {
+ "next" : "на наступным тыдні",
+ "past" : "{0} тыд таму",
+ "current" : "на гэтым тыдні",
+ "previous" : "на мінулым тыдні",
+ "future" : "праз {0} тыд"
+ },
+ "day" : {
+ "future" : {
+ "other" : "праз {0} дня",
+ "few" : "праз {0} дні",
+ "one" : "праз {0} дзень",
+ "many" : "праз {0} дзён"
+ },
+ "previous" : "учора",
+ "current" : "сёння",
+ "next" : "заўтра",
+ "past" : {
+ "one" : "{0} дзень таму",
+ "few" : "{0} дні таму",
+ "other" : "{0} дня таму",
+ "many" : "{0} дзён таму"
+ }
+ },
+ "year" : {
+ "current" : "у гэтым годзе",
+ "future" : "праз {0} г.",
+ "previous" : "у мінулым годзе",
+ "next" : "у наступным годзе",
+ "past" : "{0} г. таму"
+ },
+ "hour" : {
+ "past" : "{0} гадз таму",
+ "current" : "у гэту гадзіну",
+ "future" : "праз {0} гадз"
+ },
+ "minute" : {
+ "past" : "{0} хв таму",
+ "future" : "праз {0} хв",
+ "current" : "у гэту хвіліну"
+ },
+ "second" : {
+ "future" : "праз {0} с",
+ "current" : "цяпер",
+ "past" : "{0} с таму"
+ },
+ "quarter" : {
+ "future" : "праз {0} кв.",
+ "previous" : "у мінулым квартале",
+ "next" : "у наступным квартале",
+ "past" : "{0} кв. таму",
+ "current" : "у гэтым квартале"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bg.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bg.json
new file mode 100644
index 00000000..b9ab2311
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bg.json
@@ -0,0 +1,215 @@
+{
+ "narrow" : {
+ "week" : {
+ "next" : "сл. седм.",
+ "past" : "пр. {0} седм.",
+ "future" : "сл. {0} седм.",
+ "previous" : "мин. седм.",
+ "current" : "тази седм."
+ },
+ "quarter" : {
+ "next" : "следв. трим.",
+ "past" : "пр. {0} трим.",
+ "previous" : "мин. трим.",
+ "current" : "това трим.",
+ "future" : "сл. {0} трим."
+ },
+ "minute" : {
+ "current" : "в тази минута",
+ "past" : "пр. {0} мин",
+ "future" : "сл. {0} мин"
+ },
+ "day" : {
+ "previous" : "вчера",
+ "next" : "утре",
+ "current" : "днес",
+ "future" : "сл. {0} д",
+ "past" : "пр. {0} д"
+ },
+ "year" : {
+ "current" : "т. г.",
+ "previous" : "мин. г.",
+ "next" : "сл. г.",
+ "past" : "пр. {0} г.",
+ "future" : "сл. {0} г."
+ },
+ "second" : {
+ "past" : "пр. {0} сек",
+ "future" : "сл. {0} сек",
+ "current" : "сега"
+ },
+ "month" : {
+ "past" : "пр. {0} м.",
+ "future" : "сл. {0} м.",
+ "next" : "сл. м.",
+ "current" : "т. м.",
+ "previous" : "мин. м."
+ },
+ "now" : "сега",
+ "hour" : {
+ "past" : "пр. {0} ч",
+ "current" : "в този час",
+ "future" : "сл. {0} ч"
+ }
+ },
+ "short" : {
+ "year" : {
+ "next" : "следв. г.",
+ "future" : "след {0} г.",
+ "current" : "т. г.",
+ "past" : "преди {0} г.",
+ "previous" : "мин. г."
+ },
+ "quarter" : {
+ "future" : "след {0} трим.",
+ "next" : "следв. трим.",
+ "previous" : "мин. трим.",
+ "current" : "това трим.",
+ "past" : "преди {0} трим."
+ },
+ "second" : {
+ "future" : "след {0} сек",
+ "current" : "сега",
+ "past" : "преди {0} сек"
+ },
+ "minute" : {
+ "current" : "в тази минута",
+ "past" : "преди {0} мин",
+ "future" : "след {0} мин"
+ },
+ "day" : {
+ "past" : {
+ "one" : "преди {0} ден",
+ "other" : "преди {0} дни"
+ },
+ "next" : "утре",
+ "future" : {
+ "one" : "след {0} ден",
+ "other" : "след {0} дни"
+ },
+ "previous" : "вчера",
+ "current" : "днес"
+ },
+ "month" : {
+ "previous" : "мин. мес.",
+ "next" : "следв. мес.",
+ "past" : "преди {0} м.",
+ "current" : "този мес.",
+ "future" : "след {0} м."
+ },
+ "hour" : {
+ "current" : "в този час",
+ "past" : "преди {0} ч",
+ "future" : "след {0} ч"
+ },
+ "now" : "сега",
+ "week" : {
+ "previous" : "миналата седмица",
+ "current" : "тази седм.",
+ "next" : "следв. седм.",
+ "past" : "преди {0} седм.",
+ "future" : "след {0} седм."
+ }
+ },
+ "long" : {
+ "month" : {
+ "previous" : "предходен месец",
+ "past" : {
+ "one" : "преди {0} месец",
+ "other" : "преди {0} месеца"
+ },
+ "current" : "този месец",
+ "future" : {
+ "one" : "след {0} месец",
+ "other" : "след {0} месеца"
+ },
+ "next" : "следващ месец"
+ },
+ "week" : {
+ "previous" : "предходната седмица",
+ "current" : "тази седмица",
+ "next" : "следващата седмица",
+ "past" : {
+ "other" : "преди {0} седмици",
+ "one" : "преди {0} седмица"
+ },
+ "future" : {
+ "one" : "след {0} седмица",
+ "other" : "след {0} седмици"
+ }
+ },
+ "quarter" : {
+ "future" : {
+ "one" : "след {0} тримесечие",
+ "other" : "след {0} тримесечия"
+ },
+ "next" : "следващо тримесечие",
+ "previous" : "предходно тримесечие",
+ "current" : "това тримесечие",
+ "past" : {
+ "other" : "преди {0} тримесечия",
+ "one" : "преди {0} тримесечие"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "one" : "след {0} час",
+ "other" : "след {0} часа"
+ },
+ "current" : "в този час",
+ "past" : {
+ "one" : "преди {0} час",
+ "other" : "преди {0} часа"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "след {0} секунда",
+ "other" : "след {0} секунди"
+ },
+ "current" : "сега",
+ "past" : {
+ "one" : "преди {0} секунда",
+ "other" : "преди {0} секунди"
+ }
+ },
+ "now" : "сега",
+ "minute" : {
+ "future" : {
+ "one" : "след {0} минута",
+ "other" : "след {0} минути"
+ },
+ "past" : {
+ "one" : "преди {0} минута",
+ "other" : "преди {0} минути"
+ },
+ "current" : "в тази минута"
+ },
+ "year" : {
+ "current" : "тази година",
+ "next" : "следващата година",
+ "future" : {
+ "other" : "след {0} години",
+ "one" : "след {0} година"
+ },
+ "past" : {
+ "one" : "преди {0} година",
+ "other" : "преди {0} години"
+ },
+ "previous" : "миналата година"
+ },
+ "day" : {
+ "current" : "днес",
+ "previous" : "вчера",
+ "future" : {
+ "other" : "след {0} дни",
+ "one" : "след {0} ден"
+ },
+ "past" : {
+ "one" : "преди {0} ден",
+ "other" : "преди {0} дни"
+ },
+ "next" : "утре"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bn.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bn.json
new file mode 100644
index 00000000..eff95975
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bn.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "[0] ত্রৈমাসিক আগে",
+ "future" : "[0] ত্রৈমাসিকে",
+ "current" : "এই ত্রৈমাসিক",
+ "previous" : "গত ত্রৈমাসিক",
+ "next" : "পরের ত্রৈমাসিক"
+ },
+ "year" : {
+ "previous" : "গত বছর",
+ "next" : "পরের বছর",
+ "future" : "[0] বছরে",
+ "current" : "এই বছর",
+ "past" : "[0] বছর পূর্বে"
+ },
+ "week" : {
+ "future" : "[0] সপ্তাহে",
+ "previous" : "গত সপ্তাহ",
+ "next" : "পরের সপ্তাহ",
+ "past" : "[0] সপ্তাহ আগে",
+ "current" : "এই সপ্তাহ"
+ },
+ "day" : {
+ "current" : "আজ",
+ "past" : "[0] দিন আগে",
+ "next" : "আগামীকাল",
+ "future" : "[0] দিনের মধ্যে",
+ "previous" : "গতকাল"
+ },
+ "hour" : {
+ "current" : "এই ঘণ্টায়",
+ "past" : "[0] ঘন্টা আগে",
+ "future" : "[0] ঘন্টায়"
+ },
+ "minute" : {
+ "future" : "[0] মিনিটে",
+ "current" : "এই মিনিট",
+ "past" : "[0] মিনিট আগে"
+ },
+ "month" : {
+ "next" : "পরের মাস",
+ "current" : "এই মাস",
+ "past" : "[0] মাস আগে",
+ "future" : "[0] মাসে",
+ "previous" : "গত মাস"
+ },
+ "now" : "এখন",
+ "second" : {
+ "future" : "[0] সেকেন্ডে",
+ "current" : "এখন",
+ "past" : "[0] সেকেন্ড আগে"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "[0] মিনিট আগে",
+ "future" : "[0] মিনিটে",
+ "current" : "এই মিনিট"
+ },
+ "week" : {
+ "current" : "এই সপ্তাহ",
+ "past" : "[0] সপ্তাহ আগে",
+ "future" : "[0] সপ্তাহে",
+ "next" : "পরের সপ্তাহ",
+ "previous" : "গত সপ্তাহ"
+ },
+ "year" : {
+ "current" : "এই বছর",
+ "future" : "[0] বছরে",
+ "past" : "[0] বছর পূর্বে",
+ "next" : "পরের বছর",
+ "previous" : "গত বছর"
+ },
+ "day" : {
+ "next" : "আগামীকাল",
+ "current" : "আজ",
+ "previous" : "গতকাল",
+ "past" : "[0] দিন আগে",
+ "future" : "[0] দিনের মধ্যে"
+ },
+ "hour" : {
+ "future" : "[0] ঘন্টায়",
+ "current" : "এই ঘণ্টায়",
+ "past" : "[0] ঘন্টা আগে"
+ },
+ "quarter" : {
+ "current" : "এই ত্রৈমাসিক",
+ "future" : "[0] ত্রৈমাসিকে",
+ "previous" : "গত ত্রৈমাসিক",
+ "next" : "পরের ত্রৈমাসিক",
+ "past" : "[0] ত্রৈমাসিক আগে"
+ },
+ "second" : {
+ "past" : "[0] সেকেন্ড পূর্বে",
+ "current" : "এখন",
+ "future" : "[0] সেকেন্ডে"
+ },
+ "month" : {
+ "current" : "এই মাস",
+ "past" : "[0] মাস আগে",
+ "future" : "[0] মাসে",
+ "next" : "পরের মাস",
+ "previous" : "গত মাস"
+ },
+ "now" : "এখন"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "[0] ঘন্টায়",
+ "current" : "এই ঘণ্টায়",
+ "past" : "[0] ঘন্টা আগে"
+ },
+ "day" : {
+ "next" : "আগামীকাল",
+ "past" : "[0] দিন আগে",
+ "previous" : "গতকাল",
+ "future" : "[0] দিনের মধ্যে",
+ "current" : "আজ"
+ },
+ "second" : {
+ "past" : "[0] সেকেন্ড পূর্বে",
+ "current" : "এখন",
+ "future" : "[0] সেকেন্ডে"
+ },
+ "week" : {
+ "future" : "[0] সপ্তাহে",
+ "past" : "[0] সপ্তাহ আগে",
+ "current" : "এই সপ্তাহ",
+ "next" : "পরের সপ্তাহ",
+ "previous" : "গত সপ্তাহ"
+ },
+ "minute" : {
+ "future" : "[0] মিনিটে",
+ "past" : "[0] মিনিট আগে",
+ "current" : "এই মিনিট"
+ },
+ "month" : {
+ "future" : "[0] মাসে",
+ "past" : "[0] মাস আগে",
+ "current" : "এই মাস",
+ "previous" : "গত মাস",
+ "next" : "পরের মাস"
+ },
+ "now" : "এখন",
+ "year" : {
+ "current" : "এই বছর",
+ "next" : "পরের বছর",
+ "previous" : "গত বছর",
+ "future" : "[0] বছরে",
+ "past" : "[0] বছর পূর্বে"
+ },
+ "quarter" : {
+ "future" : "[0] ত্রৈমাসিকে",
+ "previous" : "গত ত্রৈমাসিক",
+ "past" : "[0] ত্রৈমাসিক আগে",
+ "next" : "পরের ত্রৈমাসিক",
+ "current" : "এই ত্রৈমাসিক"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/br.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/br.json
new file mode 100644
index 00000000..d7e7154b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/br.json
@@ -0,0 +1,240 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "past" : "-{0} trim.",
+ "future" : "+{0} trim."
+ },
+ "month" : {
+ "past" : "-{0} miz",
+ "next" : "ar miz a zeu",
+ "future" : "+{0} miz",
+ "previous" : "ar miz diaraok",
+ "current" : "ar miz-mañ"
+ },
+ "now" : "brem.",
+ "hour" : {
+ "future" : "+{0} h",
+ "past" : "-{0} h",
+ "current" : "this hour"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "current" : "this minute",
+ "future" : "+{0} min"
+ },
+ "day" : {
+ "current" : "hiziv",
+ "future" : "+{0} d",
+ "next" : "warcʼhoazh",
+ "previous" : "decʼh",
+ "past" : "-{0} d"
+ },
+ "year" : {
+ "next" : "ar bl. a zeu",
+ "past" : "-{0} bl.",
+ "future" : "+{0} bl.",
+ "previous" : "warlene",
+ "current" : "hevlene"
+ },
+ "week" : {
+ "next" : "ar sizhun a zeu",
+ "previous" : "ar sizhun diaraok",
+ "past" : {
+ "many" : "{0} a sizhunioù zo",
+ "other" : "{0} sizhun zo"
+ },
+ "future" : {
+ "many" : "a-benn {0} a sizhunioù",
+ "other" : "a-benn {0} sizhun"
+ },
+ "current" : "ar sizhun-mañ"
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "brem.",
+ "past" : "-{0} s"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "future" : "a-benn {0} min",
+ "current" : "this minute",
+ "past" : "{0} min zo"
+ },
+ "month" : {
+ "current" : "ar miz-mañ",
+ "past" : {
+ "two" : "{0} viz zo",
+ "many" : "{0} a vizioù zo",
+ "other" : "{0} miz zo"
+ },
+ "future" : {
+ "two" : "a-benn {0} viz",
+ "many" : "a-benn {0} a vizioù",
+ "other" : "a-benn {0} miz"
+ },
+ "next" : "ar miz a zeu",
+ "previous" : "ar miz diaraok"
+ },
+ "week" : {
+ "next" : "ar sizhun a zeu",
+ "current" : "ar sizhun-mañ",
+ "previous" : "ar sizhun diaraok",
+ "past" : {
+ "many" : "{0} a sizhunioù zo",
+ "other" : "{0} sizhun zo"
+ },
+ "future" : {
+ "other" : "a-benn {0} sizhun",
+ "many" : "a-benn {0} a sizhunioù"
+ }
+ },
+ "hour" : {
+ "future" : "a-benn {0} e",
+ "current" : "this hour",
+ "past" : "{0} e zo"
+ },
+ "day" : {
+ "future" : "a-benn {0} d",
+ "previous" : "decʼh",
+ "current" : "hiziv",
+ "next" : "warcʼhoazh",
+ "past" : "{0} d zo"
+ },
+ "second" : {
+ "future" : "a-benn {0} s",
+ "current" : "brem.",
+ "past" : "{0} s zo"
+ },
+ "now" : "brem.",
+ "year" : {
+ "current" : "hevlene",
+ "future" : "a-benn {0} bl.",
+ "past" : "{0} bl. zo",
+ "next" : "ar bl. a zeu",
+ "previous" : "warlene"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "a-benn {0} trim.",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "{0} trim. zo"
+ }
+ },
+ "long" : {
+ "minute" : {
+ "past" : {
+ "other" : "{0} munut zo",
+ "two" : "{0} vunut zo",
+ "many" : "{0} a vunutoù zo"
+ },
+ "future" : {
+ "two" : "a-benn {0} vunut",
+ "many" : "a-benn {0} a vunutoù",
+ "other" : "a-benn {0} munut"
+ },
+ "current" : "this minute"
+ },
+ "week" : {
+ "past" : {
+ "many" : "{0} a sizhunioù zo",
+ "other" : "{0} sizhun zo"
+ },
+ "future" : {
+ "many" : "a-benn {0} a sizhunioù",
+ "other" : "a-benn {0} sizhun"
+ },
+ "next" : "ar sizhun a zeu",
+ "previous" : "ar sizhun diaraok",
+ "current" : "ar sizhun-mañ"
+ },
+ "now" : "bremañ",
+ "hour" : {
+ "current" : "this hour",
+ "future" : {
+ "other" : "a-benn {0} eur",
+ "many" : "a-benn {0} a eurioù"
+ },
+ "past" : {
+ "other" : "{0} eur zo",
+ "many" : "{0} a eurioù zo"
+ }
+ },
+ "second" : {
+ "future" : {
+ "other" : "a-benn {0} eilenn",
+ "many" : "a-benn {0} a eilennoù"
+ },
+ "current" : "bremañ",
+ "past" : "{0} eilenn zo"
+ },
+ "day" : {
+ "next" : "warcʼhoazh",
+ "previous" : "decʼh",
+ "future" : {
+ "many" : "a-benn {0} a zeizioù",
+ "two" : "a-benn {0} zeiz",
+ "other" : "a-benn {0} deiz"
+ },
+ "current" : "hiziv",
+ "past" : {
+ "other" : "{0} deiz zo",
+ "many" : "{0} a zeizioù zo",
+ "two" : "{0} zeiz zo"
+ }
+ },
+ "year" : {
+ "next" : "ar bloaz a zeu",
+ "past" : {
+ "many" : "{0} a vloazioù zo",
+ "other" : "{0} vloaz zo",
+ "one" : "{0} bloaz zo",
+ "few" : "{0} bloaz zo"
+ },
+ "future" : {
+ "other" : "a-benn {0} vloaz",
+ "one" : "a-benn {0} bloaz",
+ "many" : "a-benn {0} a vloazioù",
+ "few" : "a-benn {0} bloaz"
+ },
+ "previous" : "warlene",
+ "current" : "hevlene"
+ },
+ "quarter" : {
+ "past" : {
+ "few" : "{0} zrimiziad zo",
+ "other" : "{0} trimiziad zo",
+ "many" : "{0} a zrimiziadoù zo",
+ "two" : "{0} drimiziad zo"
+ },
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "future" : {
+ "many" : "a-benn {0} a drimiziadoù",
+ "few" : "a-benn {0} zrimiziad",
+ "two" : "a-benn {0} drimiziad",
+ "other" : "a-benn {0} trimiziad"
+ },
+ "previous" : "last quarter"
+ },
+ "month" : {
+ "previous" : "ar miz diaraok",
+ "next" : "ar miz a zeu",
+ "future" : {
+ "two" : "a-benn {0} viz",
+ "many" : "a-benn {0} a vizioù",
+ "other" : "a-benn {0} miz"
+ },
+ "current" : "ar miz-mañ",
+ "past" : {
+ "two" : "{0} viz zo",
+ "other" : "{0} miz zo",
+ "many" : "{0} a vizioù zo"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bs-Cyrl.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bs-Cyrl.json
new file mode 100644
index 00000000..2f3ba61a
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bs-Cyrl.json
@@ -0,0 +1,317 @@
+{
+ "narrow" : {
+ "hour" : {
+ "future" : {
+ "other" : "за {0} сати",
+ "few" : "за {0} сата",
+ "one" : "за {0} сат"
+ },
+ "past" : {
+ "few" : "пре {0} сата",
+ "other" : "пре {0} сати",
+ "one" : "пре {0} сат"
+ },
+ "current" : "this hour"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "previous" : "last quarter"
+ },
+ "week" : {
+ "previous" : "Прошле недеље",
+ "current" : "Ове недеље",
+ "future" : {
+ "other" : "за {0} недеља",
+ "few" : "за {0} недеље",
+ "one" : "за {0} недељу"
+ },
+ "past" : {
+ "one" : "пре {0} недељу",
+ "other" : "пре {0} недеља",
+ "few" : "пре {0} недеље"
+ },
+ "next" : "Следеће недеље"
+ },
+ "day" : {
+ "next" : "сутра",
+ "past" : {
+ "one" : "пре {0} дан",
+ "other" : "пре {0} дана"
+ },
+ "future" : {
+ "one" : "за {0} дан",
+ "other" : "за {0} дана"
+ },
+ "current" : "данас",
+ "previous" : "јуче"
+ },
+ "second" : {
+ "past" : {
+ "few" : "пре {0} секунде",
+ "other" : "пре {0} секунди",
+ "one" : "пре {0} секунд"
+ },
+ "current" : "now",
+ "future" : {
+ "one" : "за {0} секунд",
+ "few" : "за {0} секунде",
+ "other" : "за {0} секунди"
+ }
+ },
+ "year" : {
+ "past" : {
+ "one" : "пре {0} годину",
+ "few" : "пре {0} године",
+ "other" : "пре {0} година"
+ },
+ "future" : {
+ "one" : "за {0} годину",
+ "few" : "за {0} године",
+ "other" : "за {0} година"
+ },
+ "previous" : "Прошле године",
+ "current" : "Ове године",
+ "next" : "Следеће године"
+ },
+ "month" : {
+ "previous" : "Прошлог месеца",
+ "current" : "Овог месеца",
+ "past" : {
+ "other" : "пре {0} месеци",
+ "one" : "пре {0} месец",
+ "few" : "пре {0} месеца"
+ },
+ "next" : "Следећег месеца",
+ "future" : {
+ "one" : "за {0} месец",
+ "few" : "за {0} месеца",
+ "other" : "за {0} месеци"
+ }
+ },
+ "now" : "now",
+ "minute" : {
+ "past" : {
+ "other" : "пре {0} минута",
+ "one" : "пре {0} минут"
+ },
+ "future" : {
+ "other" : "за {0} минута",
+ "one" : "за {0} минут"
+ },
+ "current" : "this minute"
+ }
+ },
+ "long" : {
+ "month" : {
+ "next" : "Следећег месеца",
+ "future" : {
+ "one" : "за {0} месец",
+ "other" : "за {0} месеци",
+ "few" : "за {0} месеца"
+ },
+ "previous" : "Прошлог месеца",
+ "current" : "Овог месеца",
+ "past" : {
+ "few" : "пре {0} месеца",
+ "one" : "пре {0} месец",
+ "other" : "пре {0} месеци"
+ }
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : {
+ "one" : "пре {0} минут",
+ "other" : "пре {0} минута"
+ },
+ "future" : {
+ "other" : "за {0} минута",
+ "one" : "за {0} минут"
+ }
+ },
+ "week" : {
+ "next" : "Следеће недеље",
+ "future" : {
+ "few" : "за {0} недеље",
+ "other" : "за {0} недеља",
+ "one" : "за {0} недељу"
+ },
+ "previous" : "Прошле недеље",
+ "past" : {
+ "few" : "пре {0} недеље",
+ "other" : "пре {0} недеља",
+ "one" : "пре {0} недељу"
+ },
+ "current" : "Ове недеље"
+ },
+ "second" : {
+ "past" : {
+ "other" : "пре {0} секунди",
+ "one" : "пре {0} секунд",
+ "few" : "пре {0} секунде"
+ },
+ "future" : {
+ "other" : "за {0} секунди",
+ "few" : "за {0} секунде",
+ "one" : "за {0} секунд"
+ },
+ "current" : "now"
+ },
+ "hour" : {
+ "future" : {
+ "other" : "за {0} сати",
+ "few" : "за {0} сата",
+ "one" : "за {0} сат"
+ },
+ "past" : {
+ "one" : "пре {0} сат",
+ "other" : "пре {0} сати",
+ "few" : "пре {0} сата"
+ },
+ "current" : "this hour"
+ },
+ "now" : "now",
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "previous" : "last quarter",
+ "future" : "+{0} Q",
+ "current" : "this quarter"
+ },
+ "year" : {
+ "next" : "Следеће године",
+ "past" : {
+ "one" : "пре {0} годину",
+ "few" : "пре {0} године",
+ "other" : "пре {0} година"
+ },
+ "current" : "Ове године",
+ "future" : {
+ "few" : "за {0} године",
+ "other" : "за {0} година",
+ "one" : "за {0} годину"
+ },
+ "previous" : "Прошле године"
+ },
+ "day" : {
+ "past" : {
+ "one" : "пре {0} дан",
+ "other" : "пре {0} дана"
+ },
+ "future" : {
+ "one" : "за {0} дан",
+ "other" : "за {0} дана"
+ },
+ "current" : "данас",
+ "previous" : "јуче",
+ "next" : "сутра"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q"
+ },
+ "month" : {
+ "future" : {
+ "other" : "за {0} месеци",
+ "few" : "за {0} месеца",
+ "one" : "за {0} месец"
+ },
+ "previous" : "Прошлог месеца",
+ "current" : "Овог месеца",
+ "next" : "Следећег месеца",
+ "past" : {
+ "other" : "пре {0} месеци",
+ "one" : "пре {0} месец",
+ "few" : "пре {0} месеца"
+ }
+ },
+ "year" : {
+ "previous" : "Прошле године",
+ "next" : "Следеће године",
+ "current" : "Ове године",
+ "future" : {
+ "few" : "за {0} године",
+ "other" : "за {0} година",
+ "one" : "за {0} годину"
+ },
+ "past" : {
+ "one" : "пре {0} годину",
+ "few" : "пре {0} године",
+ "other" : "пре {0} година"
+ }
+ },
+ "week" : {
+ "past" : {
+ "other" : "пре {0} недеља",
+ "one" : "пре {0} недељу",
+ "few" : "пре {0} недеље"
+ },
+ "future" : {
+ "one" : "за {0} недељу",
+ "other" : "за {0} недеља",
+ "few" : "за {0} недеље"
+ },
+ "next" : "Следеће недеље",
+ "current" : "Ове недеље",
+ "previous" : "Прошле недеље"
+ },
+ "day" : {
+ "past" : {
+ "other" : "пре {0} дана",
+ "one" : "пре {0} дан"
+ },
+ "next" : "сутра",
+ "previous" : "јуче",
+ "current" : "данас",
+ "future" : {
+ "one" : "за {0} дан",
+ "other" : "за {0} дана"
+ }
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : {
+ "one" : "пре {0} сат",
+ "few" : "пре {0} сата",
+ "other" : "пре {0} сати"
+ },
+ "future" : {
+ "few" : "за {0} сата",
+ "other" : "за {0} сати",
+ "one" : "за {0} сат"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "пре {0} минут",
+ "other" : "пре {0} минута"
+ },
+ "future" : {
+ "one" : "за {0} минут",
+ "other" : "за {0} минута"
+ },
+ "current" : "this minute"
+ },
+ "now" : "now",
+ "second" : {
+ "current" : "now",
+ "past" : {
+ "one" : "пре {0} секунд",
+ "few" : "пре {0} секунде",
+ "other" : "пре {0} секунди"
+ },
+ "future" : {
+ "other" : "за {0} секунди",
+ "few" : "за {0} секунде",
+ "one" : "за {0} секунд"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bs.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bs.json
new file mode 100644
index 00000000..b8f8ebfd
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/bs.json
@@ -0,0 +1,237 @@
+{
+ "narrow" : {
+ "second" : {
+ "past" : "prije {0} sek.",
+ "future" : "za {0} sek.",
+ "current" : "sada"
+ },
+ "week" : {
+ "current" : "ove sedmice",
+ "next" : "sljedeće sedmice",
+ "past" : "prije {0} sed.",
+ "previous" : "prošle sedmice",
+ "future" : "za {0} sed."
+ },
+ "year" : {
+ "next" : "sljedeće godine",
+ "previous" : "prošle godine",
+ "current" : "ove godine",
+ "past" : "prije {0} g.",
+ "future" : "za {0} g."
+ },
+ "minute" : {
+ "current" : "ova minuta",
+ "past" : "prije {0} min.",
+ "future" : "za {0} min."
+ },
+ "quarter" : {
+ "previous" : "posljednji kvartal",
+ "future" : "za {0} kv.",
+ "next" : "sljedeći kvartal",
+ "current" : "ovaj kvartal",
+ "past" : "prije {0} kv."
+ },
+ "hour" : {
+ "future" : {
+ "other" : "za {0} sati",
+ "one" : "za {0} sat",
+ "few" : "za {0} sata"
+ },
+ "past" : {
+ "other" : "prije {0} sati",
+ "one" : "prije {0} sat",
+ "few" : "prije {0} sata"
+ },
+ "current" : "ovaj sat"
+ },
+ "day" : {
+ "previous" : "jučer",
+ "current" : "danas",
+ "next" : "sutra",
+ "past" : "prije {0} d.",
+ "future" : "za {0} d."
+ },
+ "now" : "sada",
+ "month" : {
+ "future" : "za {0} mj.",
+ "previous" : "prošli mjesec",
+ "next" : "sljedeći mjesec",
+ "current" : "ovaj mjesec",
+ "past" : "prije {0} mj."
+ }
+ },
+ "long" : {
+ "week" : {
+ "previous" : "prošle sedmice",
+ "future" : {
+ "other" : "za {0} sedmica",
+ "one" : "za {0} sedmicu",
+ "few" : "za {0} sedmice"
+ },
+ "past" : {
+ "few" : "prije {0} sedmice",
+ "one" : "prije {0} sedmicu",
+ "other" : "prije {0} sedmica"
+ },
+ "current" : "ove sedmice",
+ "next" : "sljedeće sedmice"
+ },
+ "second" : {
+ "future" : {
+ "few" : "za {0} sekunde",
+ "one" : "za {0} sekundu",
+ "other" : "za {0} sekundi"
+ },
+ "current" : "sada",
+ "past" : {
+ "one" : "prije {0} sekundu",
+ "other" : "prije {0} sekundi",
+ "few" : "prije {0} sekunde"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "one" : "za {0} minutu",
+ "few" : "za {0} minute",
+ "other" : "za {0} minuta"
+ },
+ "current" : "ova minuta",
+ "past" : {
+ "one" : "prije {0} minutu",
+ "other" : "prije {0} minuta",
+ "few" : "prije {0} minute"
+ }
+ },
+ "quarter" : {
+ "future" : {
+ "one" : "za {0} kvartal",
+ "other" : "za {0} kvartala"
+ },
+ "current" : "ovaj kvartal",
+ "next" : "sljedeći kvartal",
+ "past" : {
+ "other" : "prije {0} kvartala",
+ "one" : "prije {0} kvartal"
+ },
+ "previous" : "posljednji kvartal"
+ },
+ "day" : {
+ "previous" : "jučer",
+ "current" : "danas",
+ "next" : "sutra",
+ "past" : {
+ "one" : "prije {0} dan",
+ "other" : "prije {0} dana"
+ },
+ "future" : {
+ "other" : "za {0} dana",
+ "one" : "za {0} dan"
+ }
+ },
+ "now" : "sada",
+ "month" : {
+ "next" : "sljedeći mjesec",
+ "current" : "ovaj mjesec",
+ "future" : {
+ "one" : "za {0} mjesec",
+ "other" : "za {0} mjeseci",
+ "few" : "za {0} mjeseca"
+ },
+ "previous" : "prošli mjesec",
+ "past" : {
+ "few" : "prije {0} mjeseca",
+ "one" : "prije {0} mjesec",
+ "other" : "prije {0} mjeseci"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "few" : "prije {0} sata",
+ "other" : "prije {0} sati",
+ "one" : "prije {0} sat"
+ },
+ "current" : "ovaj sat",
+ "future" : {
+ "few" : "za {0} sata",
+ "other" : "za {0} sati",
+ "one" : "za {0} sat"
+ }
+ },
+ "year" : {
+ "current" : "ove godine",
+ "past" : {
+ "one" : "prije {0} godinu",
+ "few" : "prije {0} godine",
+ "other" : "prije {0} godina"
+ },
+ "previous" : "prošle godine",
+ "future" : {
+ "one" : "za {0} godinu",
+ "other" : "za {0} godina",
+ "few" : "za {0} godine"
+ },
+ "next" : "sljedeće godine"
+ }
+ },
+ "short" : {
+ "week" : {
+ "previous" : "prošle sedmice",
+ "current" : "ove sedmice",
+ "next" : "sljedeće sedmice",
+ "past" : "prije {0} sed.",
+ "future" : "za {0} sed."
+ },
+ "day" : {
+ "next" : "sutra",
+ "past" : "prije {0} d.",
+ "future" : "za {0} d.",
+ "previous" : "jučer",
+ "current" : "danas"
+ },
+ "second" : {
+ "future" : "za {0} sek.",
+ "current" : "sada",
+ "past" : "prije {0} sek."
+ },
+ "month" : {
+ "previous" : "prošli mjesec",
+ "next" : "sljedeći mjesec",
+ "past" : "prije {0} mj.",
+ "current" : "ovaj mjesec",
+ "future" : "za {0} mj."
+ },
+ "hour" : {
+ "future" : {
+ "few" : "za {0} sata",
+ "other" : "za {0} sati",
+ "one" : "za {0} sat"
+ },
+ "current" : "ovaj sat",
+ "past" : {
+ "other" : "prije {0} sati",
+ "one" : "prije {0} sat",
+ "few" : "prije {0} sata"
+ }
+ },
+ "now" : "sada",
+ "quarter" : {
+ "future" : "za {0} kv.",
+ "next" : "sljedeći kvartal",
+ "previous" : "posljednji kvartal",
+ "current" : "ovaj kvartal",
+ "past" : "prije {0} kv."
+ },
+ "minute" : {
+ "current" : "ova minuta",
+ "past" : "prije {0} min.",
+ "future" : "za {0} min."
+ },
+ "year" : {
+ "next" : "sljedeće godine",
+ "future" : "za {0} god.",
+ "current" : "ove godine",
+ "past" : "prije {0} god.",
+ "previous" : "prošle godine"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ca.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ca.json
new file mode 100644
index 00000000..341e87b2
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ca.json
@@ -0,0 +1,245 @@
+{
+ "long" : {
+ "minute" : {
+ "current" : "aquest minut",
+ "past" : {
+ "one" : "fa {0} minut",
+ "other" : "fa {0} minuts"
+ },
+ "future" : {
+ "other" : "d’aquí a {0} minuts",
+ "one" : "d’aquí a {0} minut"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "other" : "fa {0} hores",
+ "one" : "fa {0} hora"
+ },
+ "future" : {
+ "one" : "d’aquí a {0} hora",
+ "other" : "d’aquí a {0} hores"
+ },
+ "current" : "aquesta hora"
+ },
+ "quarter" : {
+ "current" : "aquest trimestre",
+ "next" : "el trimestre que ve",
+ "previous" : "el trimestre passat",
+ "past" : {
+ "other" : "fa {0} trimestres",
+ "one" : "fa {0} trimestre"
+ },
+ "future" : {
+ "one" : "d’aquí a {0} trimestre",
+ "other" : "d’aquí a {0} trimestres"
+ }
+ },
+ "now" : "ara",
+ "year" : {
+ "next" : "l’any que ve",
+ "future" : {
+ "one" : "d’aquí a {0} any",
+ "other" : "d’aquí a {0} anys"
+ },
+ "past" : {
+ "one" : "fa {0} any",
+ "other" : "fa {0} anys"
+ },
+ "current" : "enguany",
+ "previous" : "l’any passat"
+ },
+ "month" : {
+ "future" : {
+ "other" : "d’aquí a {0} mesos",
+ "one" : "d’aquí a {0} mes"
+ },
+ "previous" : "el mes passat",
+ "next" : "el mes que ve",
+ "past" : {
+ "other" : "fa {0} mesos",
+ "one" : "fa {0} mes"
+ },
+ "current" : "aquest mes"
+ },
+ "second" : {
+ "future" : {
+ "one" : "d’aquí a {0} segon",
+ "other" : "d’aquí a {0} segons"
+ },
+ "current" : "ara",
+ "past" : {
+ "other" : "fa {0} segons",
+ "one" : "fa {0} segon"
+ }
+ },
+ "day" : {
+ "previous" : "ahir",
+ "current" : "avui",
+ "next" : "demà",
+ "future" : {
+ "other" : "d’aquí a {0} dies",
+ "one" : "d’aquí a {0} dia"
+ },
+ "past" : {
+ "one" : "fa {0} dia",
+ "other" : "fa {0} dies"
+ }
+ },
+ "week" : {
+ "current" : "aquesta setmana",
+ "previous" : "la setmana passada",
+ "past" : {
+ "other" : "fa {0} setmanes",
+ "one" : "fa {0} setmana"
+ },
+ "future" : {
+ "one" : "d’aquí a {0} setmana",
+ "other" : "d’aquí a {0} setmanes"
+ },
+ "next" : "la setmana que ve"
+ }
+ },
+ "narrow" : {
+ "year" : {
+ "previous" : "l’any passat",
+ "current" : "enguany",
+ "next" : "l’any que ve",
+ "past" : {
+ "one" : "fa {0} any",
+ "other" : "fa {0} anys"
+ },
+ "future" : {
+ "other" : "d’aquí a {0} anys",
+ "one" : "d’aquí a {0} any"
+ }
+ },
+ "second" : {
+ "current" : "ara",
+ "future" : "d’aquí a {0} s",
+ "past" : "fa {0} s"
+ },
+ "hour" : {
+ "past" : "fa {0} h",
+ "current" : "aquesta hora",
+ "future" : "d‘aquí a {0} h"
+ },
+ "week" : {
+ "current" : "aquesta setm.",
+ "previous" : "setm. passada",
+ "past" : "fa {0} setm.",
+ "next" : "setm. vinent",
+ "future" : "d’aquí a {0} setm."
+ },
+ "day" : {
+ "current" : "avui",
+ "next" : "demà",
+ "past" : {
+ "other" : "fa {0} dies",
+ "one" : "fa {0} dia"
+ },
+ "previous" : "ahir",
+ "future" : {
+ "one" : "d’aquí a {0} dia",
+ "other" : "d’aquí a {0} dies"
+ }
+ },
+ "month" : {
+ "current" : "aquest mes",
+ "next" : "mes vinent",
+ "past" : {
+ "one" : "fa {0} mes",
+ "other" : "fa {0} mesos"
+ },
+ "previous" : "mes passat",
+ "future" : {
+ "one" : "d’aquí a {0} mes",
+ "other" : "d’aquí a {0} mesos"
+ }
+ },
+ "now" : "ara",
+ "minute" : {
+ "current" : "aquest minut",
+ "past" : "fa {0} min",
+ "future" : "d’aquí a {0} min"
+ },
+ "quarter" : {
+ "previous" : "trim. passat",
+ "current" : "aquest trim.",
+ "past" : "fa {0} trim.",
+ "future" : "d’aquí a {0} trim.",
+ "next" : "trim. vinent"
+ }
+ },
+ "short" : {
+ "month" : {
+ "next" : "el mes que ve",
+ "past" : {
+ "other" : "fa {0} mesos",
+ "one" : "fa {0} mes"
+ },
+ "current" : "aquest mes",
+ "previous" : "el mes passat",
+ "future" : {
+ "other" : "d’aquí a {0} mesos",
+ "one" : "d’aquí a {0} mes"
+ }
+ },
+ "now" : "ara",
+ "day" : {
+ "next" : "demà",
+ "current" : "avui",
+ "previous" : "ahir",
+ "past" : {
+ "one" : "fa {0} dia",
+ "other" : "fa {0} dies"
+ },
+ "future" : {
+ "one" : "d’aquí a {0} dia",
+ "other" : "d’aquí a {0} dies"
+ }
+ },
+ "year" : {
+ "current" : "enguany",
+ "next" : "l’any que ve",
+ "past" : {
+ "other" : "fa {0} anys",
+ "one" : "fa {0} any"
+ },
+ "future" : {
+ "one" : "d’aquí a {0} any",
+ "other" : "d’aquí a {0} anys"
+ },
+ "previous" : "l’any passat"
+ },
+ "hour" : {
+ "current" : "aquesta hora",
+ "past" : "fa {0} h",
+ "future" : "d’aquí a {0} h"
+ },
+ "minute" : {
+ "past" : "fa {0} min",
+ "future" : "d’aquí a {0} min",
+ "current" : "aquest minut"
+ },
+ "second" : {
+ "future" : "d’aquí a {0} s",
+ "past" : "fa {0} s",
+ "current" : "ara"
+ },
+ "quarter" : {
+ "current" : "aquest trim.",
+ "future" : "d’aquí a {0} trim.",
+ "previous" : "el trim. passat",
+ "next" : "el trim. que ve",
+ "past" : "fa {0} trim."
+ },
+ "week" : {
+ "future" : "d’aquí a {0} setm.",
+ "previous" : "la setm. passada",
+ "next" : "la setm. que ve",
+ "past" : "fa {0} setm.",
+ "current" : "aquesta setm."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/cs.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/cs.json
new file mode 100644
index 00000000..63631475
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/cs.json
@@ -0,0 +1,266 @@
+{
+ "long" : {
+ "month" : {
+ "past" : {
+ "many" : "před {0} měsíce",
+ "other" : "před {0} měsíci",
+ "one" : "před {0} měsícem"
+ },
+ "previous" : "minulý měsíc",
+ "current" : "tento měsíc",
+ "future" : {
+ "one" : "za {0} měsíc",
+ "many" : "za {0} měsíce",
+ "few" : "za {0} měsíce",
+ "other" : "za {0} měsíců"
+ },
+ "next" : "příští měsíc"
+ },
+ "year" : {
+ "future" : {
+ "other" : "za {0} let",
+ "many" : "za {0} roku",
+ "one" : "za {0} rok",
+ "few" : "za {0} roky"
+ },
+ "past" : {
+ "one" : "před {0} rokem",
+ "many" : "před {0} roku",
+ "other" : "před {0} lety"
+ },
+ "current" : "tento rok",
+ "next" : "příští rok",
+ "previous" : "minulý rok"
+ },
+ "second" : {
+ "current" : "nyní",
+ "past" : {
+ "one" : "před {0} sekundou",
+ "other" : "před {0} sekundami",
+ "many" : "před {0} sekundy"
+ },
+ "future" : {
+ "many" : "za {0} sekundy",
+ "other" : "za {0} sekund",
+ "one" : "za {0} sekundu",
+ "few" : "za {0} sekundy"
+ }
+ },
+ "quarter" : {
+ "future" : "za {0} čtvrtletí",
+ "previous" : "minulé čtvrtletí",
+ "current" : "toto čtvrtletí",
+ "past" : {
+ "one" : "před {0} čtvrtletím",
+ "many" : "před {0} čtvrtletí",
+ "other" : "před {0} čtvrtletími"
+ },
+ "next" : "příští čtvrtletí"
+ },
+ "week" : {
+ "past" : {
+ "many" : "před {0} týdne",
+ "one" : "před {0} týdnem",
+ "other" : "před {0} týdny"
+ },
+ "current" : "tento týden",
+ "future" : {
+ "other" : "za {0} týdnů",
+ "one" : "za {0} týden",
+ "few" : "za {0} týdny",
+ "many" : "za {0} týdne"
+ },
+ "previous" : "minulý týden",
+ "next" : "příští týden"
+ },
+ "minute" : {
+ "current" : "tuto minutu",
+ "past" : {
+ "one" : "před {0} minutou",
+ "other" : "před {0} minutami",
+ "many" : "před {0} minuty"
+ },
+ "future" : {
+ "few" : "za {0} minuty",
+ "one" : "za {0} minutu",
+ "many" : "za {0} minuty",
+ "other" : "za {0} minut"
+ }
+ },
+ "day" : {
+ "past" : {
+ "other" : "před {0} dny",
+ "one" : "před {0} dnem",
+ "many" : "před {0} dne"
+ },
+ "previous" : "včera",
+ "current" : "dnes",
+ "next" : "zítra",
+ "future" : {
+ "few" : "za {0} dny",
+ "many" : "za {0} dne",
+ "other" : "za {0} dní",
+ "one" : "za {0} den"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "many" : "za {0} hodiny",
+ "other" : "za {0} hodin",
+ "one" : "za {0} hodinu",
+ "few" : "za {0} hodiny"
+ },
+ "current" : "tuto hodinu",
+ "past" : {
+ "many" : "před {0} hodiny",
+ "one" : "před {0} hodinou",
+ "other" : "před {0} hodinami"
+ }
+ },
+ "now" : "nyní"
+ },
+ "narrow" : {
+ "hour" : {
+ "future" : "za {0} h",
+ "current" : "tuto hodinu",
+ "past" : "před {0} h"
+ },
+ "minute" : {
+ "past" : "před {0} min",
+ "future" : "za {0} min",
+ "current" : "tuto minutu"
+ },
+ "second" : {
+ "past" : "před {0} s",
+ "current" : "nyní",
+ "future" : "za {0} s"
+ },
+ "now" : "nyní",
+ "quarter" : {
+ "past" : "-{0} Q",
+ "previous" : "minulé čtvrtletí",
+ "next" : "příští čtvrtletí",
+ "future" : "+{0} Q",
+ "current" : "toto čtvrtletí"
+ },
+ "week" : {
+ "previous" : "minulý týd.",
+ "past" : "před {0} týd.",
+ "next" : "příští týd.",
+ "current" : "tento týd.",
+ "future" : "za {0} týd."
+ },
+ "year" : {
+ "past" : {
+ "other" : "před {0} l.",
+ "many" : "před {0} r.",
+ "one" : "před {0} r.",
+ "few" : "před {0} r."
+ },
+ "previous" : "minulý rok",
+ "current" : "tento rok",
+ "next" : "příští rok",
+ "future" : {
+ "few" : "za {0} r.",
+ "many" : "za {0} r.",
+ "one" : "za {0} r.",
+ "other" : "za {0} l."
+ }
+ },
+ "day" : {
+ "past" : {
+ "one" : "před {0} dnem",
+ "other" : "před {0} dny",
+ "many" : "před {0} dne"
+ },
+ "previous" : "včera",
+ "future" : {
+ "one" : "za {0} den",
+ "few" : "za {0} dny",
+ "many" : "za {0} dne",
+ "other" : "za {0} dní"
+ },
+ "next" : "zítra",
+ "current" : "dnes"
+ },
+ "month" : {
+ "current" : "tento měs.",
+ "next" : "příští měs.",
+ "future" : "za {0} měs.",
+ "past" : "před {0} měs.",
+ "previous" : "minuý měs."
+ }
+ },
+ "short" : {
+ "year" : {
+ "current" : "tento rok",
+ "previous" : "minulý rok",
+ "next" : "příští rok",
+ "past" : {
+ "few" : "před {0} r.",
+ "one" : "před {0} r.",
+ "many" : "před {0} r.",
+ "other" : "před {0} l."
+ },
+ "future" : {
+ "few" : "za {0} r.",
+ "many" : "za {0} r.",
+ "other" : "za {0} l.",
+ "one" : "za {0} r."
+ }
+ },
+ "quarter" : {
+ "next" : "příští čtvrtletí",
+ "future" : "+{0} Q",
+ "current" : "toto čtvrtletí",
+ "past" : "-{0} Q",
+ "previous" : "minulé čtvrtletí"
+ },
+ "second" : {
+ "past" : "před {0} s",
+ "future" : "za {0} s",
+ "current" : "nyní"
+ },
+ "minute" : {
+ "future" : "za {0} min",
+ "current" : "tuto minutu",
+ "past" : "před {0} min"
+ },
+ "day" : {
+ "past" : {
+ "many" : "před {0} dne",
+ "other" : "před {0} dny",
+ "one" : "před {0} dnem"
+ },
+ "next" : "zítra",
+ "future" : {
+ "one" : "za {0} den",
+ "many" : "za {0} dne",
+ "other" : "za {0} dní",
+ "few" : "za {0} dny"
+ },
+ "previous" : "včera",
+ "current" : "dnes"
+ },
+ "month" : {
+ "future" : "za {0} měs.",
+ "next" : "příští měs.",
+ "previous" : "minulý měs.",
+ "current" : "tento měs.",
+ "past" : "před {0} měs."
+ },
+ "hour" : {
+ "future" : "za {0} h",
+ "current" : "tuto hodinu",
+ "past" : "před {0} h"
+ },
+ "now" : "nyní",
+ "week" : {
+ "previous" : "minulý týd.",
+ "next" : "příští týd.",
+ "past" : "před {0} týd.",
+ "current" : "tento týd.",
+ "future" : "za {0} týd."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/cy.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/cy.json
new file mode 100644
index 00000000..aee3d9ad
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/cy.json
@@ -0,0 +1,283 @@
+{
+ "narrow" : {
+ "now" : "nawr",
+ "minute" : {
+ "past" : "{0} mun. yn ôl",
+ "current" : "y funud hon",
+ "future" : "ymhen {0} mun."
+ },
+ "day" : {
+ "current" : "heddiw",
+ "future" : "ymhen {0} diwrnod",
+ "next" : "yfory",
+ "past" : {
+ "two" : "{0} ddiwrnod yn ôl",
+ "other" : "{0} diwrnod yn ôl"
+ },
+ "previous" : "ddoe"
+ },
+ "month" : {
+ "next" : "mis nesaf",
+ "past" : {
+ "two" : "{0} fis yn ôl",
+ "other" : "{0} mis yn ôl"
+ },
+ "future" : {
+ "one" : "ymhen mis",
+ "two" : "ymhen deufis",
+ "other" : "ymhen {0} mis"
+ },
+ "previous" : "mis diwethaf",
+ "current" : "y mis hwn"
+ },
+ "week" : {
+ "future" : "ymhen {0} wythnos",
+ "previous" : "wythnos ddiwethaf",
+ "current" : "yr wythnos hon",
+ "next" : "wythnos nesaf",
+ "past" : {
+ "two" : "pythefnos yn ôl",
+ "other" : "{0} wythnos yn ôl"
+ }
+ },
+ "quarter" : {
+ "previous" : "chwarter olaf",
+ "future" : "ymhen {0} chwarter",
+ "next" : "chwarter nesaf",
+ "current" : "chwarter hwn",
+ "past" : {
+ "one" : "{0} chwarter yn ôl",
+ "few" : "{0} chwarter yn ôl",
+ "many" : "{0} chwarter yn ôl",
+ "other" : "{0} o chwarteri yn ôl",
+ "two" : "{0} chwarter yn ôl"
+ }
+ },
+ "year" : {
+ "future" : {
+ "few" : "ymhen {0} blynedd",
+ "one" : "ymhen blwyddyn",
+ "many" : "ymhen {0} blynedd",
+ "other" : "ymhen {0} mlynedd",
+ "two" : "ymhen {0} flynedd"
+ },
+ "next" : "blwyddyn nesaf",
+ "past" : {
+ "other" : "{0} o flynyddoedd yn ôl",
+ "two" : "{0} flynedd yn ôl",
+ "few" : "{0} blynedd yn ôl",
+ "many" : "{0} blynedd yn ôl",
+ "one" : "blwyddyn yn ôl"
+ },
+ "previous" : "llynedd",
+ "current" : "eleni"
+ },
+ "hour" : {
+ "current" : "yr awr hon",
+ "past" : "{0} awr yn ôl",
+ "future" : "ymhen {0} awr"
+ },
+ "second" : {
+ "past" : "{0} eiliad yn ôl",
+ "current" : "nawr",
+ "future" : "ymhen {0} eiliad"
+ }
+ },
+ "long" : {
+ "now" : "nawr",
+ "year" : {
+ "past" : {
+ "one" : "blwyddyn yn ôl",
+ "two" : "{0} flynedd yn ôl",
+ "few" : "{0} blynedd yn ôl",
+ "many" : "{0} blynedd yn ôl",
+ "other" : "{0} o flynyddoedd yn ôl"
+ },
+ "previous" : "llynedd",
+ "current" : "eleni",
+ "next" : "blwyddyn nesaf",
+ "future" : {
+ "many" : "ymhen {0} blynedd",
+ "few" : "ymhen {0} blynedd",
+ "one" : "ymhen blwyddyn",
+ "other" : "ymhen {0} mlynedd",
+ "two" : "ymhen {0} flynedd"
+ }
+ },
+ "month" : {
+ "next" : "mis nesaf",
+ "current" : "y mis hwn",
+ "past" : {
+ "two" : "{0} fis yn ôl",
+ "other" : "{0} mis yn ôl"
+ },
+ "previous" : "mis diwethaf",
+ "future" : {
+ "two" : "ymhen deufis",
+ "other" : "ymhen {0} mis",
+ "one" : "ymhen mis"
+ }
+ },
+ "week" : {
+ "next" : "wythnos nesaf",
+ "future" : {
+ "other" : "ymhen {0} wythnos",
+ "one" : "ymhen wythnos",
+ "two" : "ymhen pythefnos"
+ },
+ "current" : "yr wythnos hon",
+ "past" : "{0} wythnos yn ôl",
+ "previous" : "wythnos ddiwethaf"
+ },
+ "hour" : {
+ "future" : {
+ "one" : "ymhen awr",
+ "other" : "ymhen {0} awr"
+ },
+ "current" : "yr awr hon",
+ "past" : "{0} awr yn ôl"
+ },
+ "minute" : {
+ "current" : "y funud hon",
+ "past" : "{0} munud yn ôl",
+ "future" : "ymhen {0} munud"
+ },
+ "second" : {
+ "future" : "ymhen {0} eiliad",
+ "past" : "{0} eiliad yn ôl",
+ "current" : "nawr"
+ },
+ "quarter" : {
+ "future" : "ymhen {0} chwarter",
+ "current" : "chwarter hwn",
+ "previous" : "chwarter olaf",
+ "next" : "chwarter nesaf",
+ "past" : {
+ "many" : "{0} chwarter yn ôl",
+ "other" : "{0} o chwarteri yn ôl",
+ "one" : "{0} chwarter yn ôl",
+ "few" : "{0} chwarter yn ôl",
+ "two" : "{0} chwarter yn ôl"
+ }
+ },
+ "day" : {
+ "future" : {
+ "one" : "ymhen diwrnod",
+ "two" : "ymhen deuddydd",
+ "other" : "ymhen {0} diwrnod"
+ },
+ "previous" : "ddoe",
+ "current" : "heddiw",
+ "next" : "yfory",
+ "past" : {
+ "two" : "{0} ddiwrnod yn ôl",
+ "other" : "{0} diwrnod yn ôl"
+ }
+ }
+ },
+ "short" : {
+ "year" : {
+ "current" : "eleni",
+ "past" : {
+ "other" : "{0} o flynyddoedd yn ôl",
+ "many" : "{0} blynedd yn ôl",
+ "one" : "blwyddyn yn ôl",
+ "two" : "{0} flynedd yn ôl",
+ "few" : "{0} blynedd yn ôl"
+ },
+ "future" : {
+ "few" : "ymhen {0} blynedd",
+ "one" : "ymhen blwyddyn",
+ "two" : "ymhen {0} flynedd",
+ "many" : "ymhen {0} blynedd",
+ "other" : "ymhen {0} mlynedd"
+ },
+ "next" : "blwyddyn nesaf",
+ "previous" : "llynedd"
+ },
+ "minute" : {
+ "future" : {
+ "one" : "ymhen {0} mun.",
+ "other" : "ymhen {0} munud",
+ "two" : "ymhen {0} fun."
+ },
+ "past" : {
+ "two" : "{0} fun. yn ôl",
+ "other" : "{0} munud yn ôl"
+ },
+ "current" : "y funud hon"
+ },
+ "day" : {
+ "previous" : "ddoe",
+ "current" : "heddiw",
+ "next" : "yfory",
+ "past" : {
+ "two" : "{0} ddiwrnod yn ôl",
+ "other" : "{0} diwrnod yn ôl"
+ },
+ "future" : {
+ "two" : "ymhen deuddydd",
+ "one" : "ymhen diwrnod",
+ "other" : "ymhen {0} diwrnod"
+ }
+ },
+ "second" : {
+ "past" : "{0} eiliad yn ôl",
+ "current" : "nawr",
+ "future" : "ymhen {0} eiliad"
+ },
+ "now" : "nawr",
+ "month" : {
+ "future" : {
+ "one" : "ymhen mis",
+ "two" : "ymhen deufis",
+ "other" : "ymhen {0} mis"
+ },
+ "current" : "y mis hwn",
+ "next" : "mis nesaf",
+ "previous" : "mis diwethaf",
+ "past" : {
+ "two" : "deufis yn ôl",
+ "other" : "{0} mis yn ôl"
+ }
+ },
+ "week" : {
+ "past" : {
+ "two" : "pythefnos yn ôl",
+ "other" : "{0} wythnos yn ôl"
+ },
+ "previous" : "wythnos ddiwethaf",
+ "future" : {
+ "one" : "ymhen wythnos",
+ "other" : "ymhen {0} wythnos",
+ "two" : "ymhen pythefnos"
+ },
+ "next" : "wythnos nesaf",
+ "current" : "yr wythnos hon"
+ },
+ "quarter" : {
+ "next" : "chwarter nesaf",
+ "current" : "chwarter hwn",
+ "previous" : "chwarter olaf",
+ "past" : {
+ "many" : "{0} chwarter yn ôl",
+ "one" : "{0} chwarter yn ôl",
+ "few" : "{0} chwarter yn ôl",
+ "other" : "{0} o chwarteri yn ôl",
+ "two" : "{0} chwarter yn ôl"
+ },
+ "future" : "ymhen {0} chwarter"
+ },
+ "hour" : {
+ "current" : "yr awr hon",
+ "future" : {
+ "one" : "ymhen awr",
+ "other" : "ymhen {0} awr"
+ },
+ "past" : {
+ "other" : "{0} awr yn ôl",
+ "one" : "awr yn ôl"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/da.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/da.json
new file mode 100644
index 00000000..11f16e3e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/da.json
@@ -0,0 +1,251 @@
+{
+ "narrow" : {
+ "hour" : {
+ "current" : "i den kommende time",
+ "future" : {
+ "one" : "om {0} time",
+ "other" : "om {0} timer"
+ },
+ "past" : {
+ "other" : "for {0} timer siden",
+ "one" : "for {0} time siden"
+ }
+ },
+ "week" : {
+ "previous" : "sidste uge",
+ "current" : "denne uge",
+ "next" : "næste uge",
+ "past" : {
+ "one" : "for {0} uge siden",
+ "other" : "for {0} uger siden"
+ },
+ "future" : {
+ "one" : "om {0} uge",
+ "other" : "om {0} uger"
+ }
+ },
+ "second" : {
+ "current" : "nu",
+ "future" : "om {0} sek.",
+ "past" : "for {0} sek. siden"
+ },
+ "month" : {
+ "previous" : "sidste md.",
+ "next" : "næste md.",
+ "future" : {
+ "other" : "om {0} mdr.",
+ "one" : "om {0} md."
+ },
+ "current" : "denne md.",
+ "past" : {
+ "other" : "for {0} mdr. siden",
+ "one" : "for {0} md. siden"
+ }
+ },
+ "minute" : {
+ "past" : "for {0} min. siden",
+ "future" : "om {0} min.",
+ "current" : "i det kommende minut"
+ },
+ "now" : "nu",
+ "year" : {
+ "future" : "om {0} år",
+ "previous" : "sidste år",
+ "current" : "i år",
+ "next" : "næste år",
+ "past" : "for {0} år siden"
+ },
+ "quarter" : {
+ "next" : "næste kvt.",
+ "future" : "om {0} kvt.",
+ "previous" : "sidste kvt.",
+ "current" : "dette kvt.",
+ "past" : "for {0} kvt. siden"
+ },
+ "day" : {
+ "previous" : "i går",
+ "current" : "i dag",
+ "next" : "i morgen",
+ "past" : {
+ "one" : "for {0} dag siden",
+ "other" : "for {0} dage siden"
+ },
+ "future" : {
+ "one" : "om {0} dag",
+ "other" : "om {0} dage"
+ }
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "i går",
+ "next" : "i morgen",
+ "future" : {
+ "other" : "om {0} dage",
+ "one" : "om {0} dag"
+ },
+ "current" : "i dag",
+ "past" : {
+ "one" : "for {0} dag siden",
+ "other" : "for {0} dage siden"
+ }
+ },
+ "second" : {
+ "past" : {
+ "other" : "for {0} sekunder siden",
+ "one" : "for {0} sekund siden"
+ },
+ "current" : "nu",
+ "future" : {
+ "one" : "om {0} sekund",
+ "other" : "om {0} sekunder"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "for {0} minut siden",
+ "other" : "for {0} minutter siden"
+ },
+ "current" : "i det kommende minut",
+ "future" : {
+ "one" : "om {0} minut",
+ "other" : "om {0} minutter"
+ }
+ },
+ "week" : {
+ "current" : "denne uge",
+ "past" : {
+ "one" : "for {0} uge siden",
+ "other" : "for {0} uger siden"
+ },
+ "future" : {
+ "other" : "om {0} uger",
+ "one" : "om {0} uge"
+ },
+ "previous" : "sidste uge",
+ "next" : "næste uge"
+ },
+ "now" : "nu",
+ "year" : {
+ "current" : "i år",
+ "next" : "næste år",
+ "past" : "for {0} år siden",
+ "previous" : "sidste år",
+ "future" : "om {0} år"
+ },
+ "month" : {
+ "previous" : "sidste måned",
+ "past" : {
+ "one" : "for {0} måned siden",
+ "other" : "for {0} måneder siden"
+ },
+ "future" : {
+ "one" : "om {0} måned",
+ "other" : "om {0} måneder"
+ },
+ "current" : "denne måned",
+ "next" : "næste måned"
+ },
+ "hour" : {
+ "future" : {
+ "one" : "om {0} time",
+ "other" : "om {0} timer"
+ },
+ "past" : {
+ "other" : "for {0} timer siden",
+ "one" : "for {0} time siden"
+ },
+ "current" : "i den kommende time"
+ },
+ "quarter" : {
+ "current" : "dette kvartal",
+ "future" : {
+ "other" : "om {0} kvartaler",
+ "one" : "om {0} kvartal"
+ },
+ "next" : "næste kvartal",
+ "previous" : "sidste kvartal",
+ "past" : {
+ "other" : "for {0} kvartaler siden",
+ "one" : "for {0} kvartal siden"
+ }
+ }
+ },
+ "short" : {
+ "hour" : {
+ "future" : {
+ "one" : "om {0} time",
+ "other" : "om {0} timer"
+ },
+ "past" : {
+ "other" : "for {0} timer siden",
+ "one" : "for {0} time siden"
+ },
+ "current" : "i den kommende time"
+ },
+ "now" : "nu",
+ "quarter" : {
+ "current" : "dette kvt.",
+ "future" : "om {0} kvt.",
+ "past" : "for {0} kvt. siden",
+ "next" : "næste kvt.",
+ "previous" : "sidste kvt."
+ },
+ "day" : {
+ "current" : "i dag",
+ "past" : {
+ "one" : "for {0} dag siden",
+ "other" : "for {0} dage siden"
+ },
+ "future" : {
+ "one" : "om {0} dag",
+ "other" : "om {0} dage"
+ },
+ "next" : "i morgen",
+ "previous" : "i går"
+ },
+ "week" : {
+ "current" : "denne uge",
+ "future" : {
+ "one" : "om {0} uge",
+ "other" : "om {0} uger"
+ },
+ "previous" : "sidste uge",
+ "next" : "næste uge",
+ "past" : {
+ "one" : "for {0} uge siden",
+ "other" : "for {0} uger siden"
+ }
+ },
+ "minute" : {
+ "past" : "for {0} min. siden",
+ "current" : "i det kommende minut",
+ "future" : "om {0} min."
+ },
+ "second" : {
+ "future" : "om {0} sek.",
+ "past" : "for {0} sek. siden",
+ "current" : "nu"
+ },
+ "month" : {
+ "future" : {
+ "one" : "om {0} md.",
+ "other" : "om {0} mdr."
+ },
+ "previous" : "sidste md.",
+ "next" : "næste md.",
+ "current" : "denne md.",
+ "past" : {
+ "other" : "for {0} mdr. siden",
+ "one" : "for {0} md. siden"
+ }
+ },
+ "year" : {
+ "next" : "næste år",
+ "previous" : "sidste år",
+ "current" : "i år",
+ "future" : "om {0} år",
+ "past" : "for {0} år siden"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/de.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/de.json
new file mode 100644
index 00000000..f83816aa
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/de.json
@@ -0,0 +1,251 @@
+{
+ "narrow" : {
+ "year" : {
+ "past" : {
+ "other" : "vor {0} Jahren",
+ "one" : "vor {0} Jahr"
+ },
+ "current" : "dieses Jahr",
+ "future" : {
+ "one" : "in {0} Jahr",
+ "other" : "in {0} Jahren"
+ },
+ "previous" : "letztes Jahr",
+ "next" : "nächstes Jahr"
+ },
+ "minute" : {
+ "future" : "in {0} m",
+ "current" : "in dieser Minute",
+ "past" : "vor {0} m"
+ },
+ "day" : {
+ "current" : "heute",
+ "past" : {
+ "one" : "vor {0} Tag",
+ "other" : "vor {0} Tagen"
+ },
+ "previous" : "gestern",
+ "next" : "morgen",
+ "future" : {
+ "one" : "in {0} Tag",
+ "other" : "in {0} Tagen"
+ }
+ },
+ "now" : "jetzt",
+ "week" : {
+ "current" : "diese Woche",
+ "future" : "in {0} Wo.",
+ "next" : "nächste Woche",
+ "past" : "vor {0} Wo.",
+ "previous" : "letzte Woche"
+ },
+ "second" : {
+ "current" : "jetzt",
+ "past" : "vor {0} s",
+ "future" : "in {0} s"
+ },
+ "hour" : {
+ "current" : "in dieser Stunde",
+ "future" : "in {0} Std.",
+ "past" : "vor {0} Std."
+ },
+ "quarter" : {
+ "current" : "dieses Quartal",
+ "previous" : "letztes Quartal",
+ "next" : "nächstes Quartal",
+ "future" : "in {0} Q",
+ "past" : "vor {0} Q"
+ },
+ "month" : {
+ "current" : "diesen Monat",
+ "future" : {
+ "one" : "in {0} Monat",
+ "other" : "in {0} Monaten"
+ },
+ "previous" : "letzten Monat",
+ "past" : {
+ "other" : "vor {0} Monaten",
+ "one" : "vor {0} Monat"
+ },
+ "next" : "nächsten Monat"
+ }
+ },
+ "long" : {
+ "month" : {
+ "previous" : "letzten Monat",
+ "next" : "nächsten Monat",
+ "past" : {
+ "other" : "vor {0} Monaten",
+ "one" : "vor {0} Monat"
+ },
+ "current" : "diesen Monat",
+ "future" : {
+ "one" : "in {0} Monat",
+ "other" : "in {0} Monaten"
+ }
+ },
+ "second" : {
+ "past" : {
+ "one" : "vor {0} Sekunde",
+ "other" : "vor {0} Sekunden"
+ },
+ "future" : {
+ "other" : "in {0} Sekunden",
+ "one" : "in {0} Sekunde"
+ },
+ "current" : "jetzt"
+ },
+ "hour" : {
+ "past" : {
+ "other" : "vor {0} Stunden",
+ "one" : "vor {0} Stunde"
+ },
+ "current" : "in dieser Stunde",
+ "future" : {
+ "one" : "in {0} Stunde",
+ "other" : "in {0} Stunden"
+ }
+ },
+ "quarter" : {
+ "previous" : "letztes Quartal",
+ "future" : {
+ "one" : "in {0} Quartal",
+ "other" : "in {0} Quartalen"
+ },
+ "next" : "nächstes Quartal",
+ "current" : "dieses Quartal",
+ "past" : {
+ "one" : "vor {0} Quartal",
+ "other" : "vor {0} Quartalen"
+ }
+ },
+ "now" : "jetzt",
+ "minute" : {
+ "current" : "in dieser Minute",
+ "future" : {
+ "other" : "in {0} Minuten",
+ "one" : "in {0} Minute"
+ },
+ "past" : {
+ "other" : "vor {0} Minuten",
+ "one" : "vor {0} Minute"
+ }
+ },
+ "day" : {
+ "past" : {
+ "one" : "vor {0} Tag",
+ "other" : "vor {0} Tagen"
+ },
+ "previous" : "gestern",
+ "current" : "heute",
+ "future" : {
+ "one" : "in {0} Tag",
+ "other" : "in {0} Tagen"
+ },
+ "next" : "morgen"
+ },
+ "year" : {
+ "past" : {
+ "other" : "vor {0} Jahren",
+ "one" : "vor {0} Jahr"
+ },
+ "next" : "nächstes Jahr",
+ "current" : "dieses Jahr",
+ "previous" : "letztes Jahr",
+ "future" : {
+ "one" : "in {0} Jahr",
+ "other" : "in {0} Jahren"
+ }
+ },
+ "week" : {
+ "current" : "diese Woche",
+ "past" : {
+ "other" : "vor {0} Wochen",
+ "one" : "vor {0} Woche"
+ },
+ "previous" : "letzte Woche",
+ "future" : {
+ "one" : "in {0} Woche",
+ "other" : "in {0} Wochen"
+ },
+ "next" : "nächste Woche"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "vor {0} Min.",
+ "future" : "in {0} Min.",
+ "current" : "in dieser Minute"
+ },
+ "week" : {
+ "past" : {
+ "one" : "vor {0} Woche",
+ "other" : "vor {0} Wochen"
+ },
+ "future" : {
+ "one" : "in {0} Woche",
+ "other" : "in {0} Wochen"
+ },
+ "next" : "nächste Woche",
+ "current" : "diese Woche",
+ "previous" : "letzte Woche"
+ },
+ "day" : {
+ "future" : {
+ "one" : "in {0} Tag",
+ "other" : "in {0} Tagen"
+ },
+ "current" : "heute",
+ "previous" : "gestern",
+ "next" : "morgen",
+ "past" : {
+ "one" : "vor {0} Tag",
+ "other" : "vor {0} Tagen"
+ }
+ },
+ "second" : {
+ "past" : "vor {0} Sek.",
+ "future" : "in {0} Sek.",
+ "current" : "jetzt"
+ },
+ "now" : "jetzt",
+ "year" : {
+ "past" : {
+ "other" : "vor {0} Jahren",
+ "one" : "vor {0} Jahr"
+ },
+ "future" : {
+ "one" : "in {0} Jahr",
+ "other" : "in {0} Jahren"
+ },
+ "previous" : "letztes Jahr",
+ "current" : "dieses Jahr",
+ "next" : "nächstes Jahr"
+ },
+ "month" : {
+ "past" : {
+ "other" : "vor {0} Monaten",
+ "one" : "vor {0} Monat"
+ },
+ "future" : {
+ "other" : "in {0} Monaten",
+ "one" : "in {0} Monat"
+ },
+ "next" : "nächsten Monat",
+ "previous" : "letzten Monat",
+ "current" : "diesen Monat"
+ },
+ "quarter" : {
+ "previous" : "letztes Quartal",
+ "future" : "in {0} Quart.",
+ "next" : "nächstes Quartal",
+ "past" : "vor {0} Quart.",
+ "current" : "dieses Quartal"
+ },
+ "hour" : {
+ "current" : "in dieser Stunde",
+ "past" : "vor {0} Std.",
+ "future" : "in {0} Std."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/dsb.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/dsb.json
new file mode 100644
index 00000000..83e5e56a
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/dsb.json
@@ -0,0 +1,237 @@
+{
+ "narrow" : {
+ "second" : {
+ "future" : "za {0} s",
+ "current" : "now",
+ "past" : "pśed {0} s"
+ },
+ "year" : {
+ "next" : "znowa",
+ "past" : "pśed {0} l.",
+ "future" : "za {0} l.",
+ "previous" : "łoni",
+ "current" : "lětosa"
+ },
+ "month" : {
+ "past" : "pśed {0} mjas.",
+ "next" : "pśiducy mjasec",
+ "future" : "za {0} mjas.",
+ "previous" : "slědny mjasec",
+ "current" : "ten mjasec"
+ },
+ "minute" : {
+ "future" : "za {0} m",
+ "current" : "this minute",
+ "past" : "pśed {0} m"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "past" : "pśed {0} kw.",
+ "future" : "za {0} kw."
+ },
+ "hour" : {
+ "future" : "za {0} g",
+ "current" : "this hour",
+ "past" : "pśed {0} g"
+ },
+ "now" : "now",
+ "week" : {
+ "next" : "pśiducy tyźeń",
+ "previous" : "slědny tyźeń",
+ "past" : "pśed {0} tyź.",
+ "future" : "za {0} tyź.",
+ "current" : "ten tyźeń"
+ },
+ "day" : {
+ "previous" : "cora",
+ "future" : "za {0} ź",
+ "past" : "pśed {0} d",
+ "current" : "źinsa",
+ "next" : "witśe"
+ }
+ },
+ "long" : {
+ "week" : {
+ "past" : {
+ "two" : "pśed {0} tyźenjoma",
+ "other" : "pśed {0} tyźenjami",
+ "one" : "pśed {0} tyźenjom"
+ },
+ "future" : {
+ "other" : "za {0} tyźenjow",
+ "two" : "za {0} tyźenja",
+ "few" : "za {0} tyźenje",
+ "one" : "za {0} tyźeń"
+ },
+ "previous" : "slědny tyźeń",
+ "current" : "ten tyźeń",
+ "next" : "pśiducy tyźeń"
+ },
+ "now" : "now",
+ "quarter" : {
+ "previous" : "last quarter",
+ "past" : {
+ "one" : "pśed {0} kwartalom",
+ "two" : "pśed {0} kwartaloma",
+ "other" : "pśed {0} kwartalami"
+ },
+ "future" : {
+ "one" : "za {0} kwartal",
+ "two" : "za {0} kwartala",
+ "few" : "za {0} kwartale",
+ "other" : "za {0} kwartalow"
+ },
+ "current" : "this quarter",
+ "next" : "next quarter"
+ },
+ "month" : {
+ "past" : {
+ "one" : "pśed {0} mjasecom",
+ "other" : "pśed {0} mjasecami",
+ "two" : "pśed {0} mjasecoma"
+ },
+ "current" : "ten mjasec",
+ "next" : "pśiducy mjasec",
+ "future" : {
+ "one" : "za {0} mjasec",
+ "few" : "za {0} mjasecy",
+ "two" : "za {0} mjaseca",
+ "other" : "za {0} mjasecow"
+ },
+ "previous" : "slědny mjasec"
+ },
+ "year" : {
+ "previous" : "łoni",
+ "future" : {
+ "one" : "za {0} lěto",
+ "few" : "za {0} lěta",
+ "other" : "za {0} lět",
+ "two" : "za {0} lěśe"
+ },
+ "next" : "znowa",
+ "current" : "lětosa",
+ "past" : {
+ "two" : "pśed {0} lětoma",
+ "one" : "pśed {0} lětom",
+ "other" : "pśed {0} lětami"
+ }
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : {
+ "one" : "za {0} minutu",
+ "few" : "za {0} minuty",
+ "two" : "za {0} minuśe",
+ "other" : "za {0} minutow"
+ },
+ "past" : {
+ "two" : "pśed {0} minutoma",
+ "one" : "pśed {0} minutu",
+ "other" : "pśed {0} minutami"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "two" : "za {0} góźinje",
+ "few" : "za {0} góźiny",
+ "one" : "za {0} góźinu",
+ "other" : "za {0} góźin"
+ },
+ "past" : {
+ "one" : "pśed {0} góźinu",
+ "two" : "pśed {0} góźinoma",
+ "other" : "pśed {0} góźinami"
+ },
+ "current" : "this hour"
+ },
+ "day" : {
+ "previous" : "cora",
+ "current" : "źinsa",
+ "next" : "witśe",
+ "future" : {
+ "two" : "za {0} dnja",
+ "few" : "za {0} dny",
+ "one" : "za {0} źeń",
+ "other" : "za {0} dnjow"
+ },
+ "past" : {
+ "other" : "pśed {0} dnjami",
+ "two" : "pśed {0} dnjoma",
+ "one" : "pśed {0} dnjom"
+ }
+ },
+ "second" : {
+ "future" : {
+ "two" : "za {0} sekunźe",
+ "other" : "za {0} sekundow",
+ "few" : "za {0} sekundy",
+ "one" : "za {0} sekundu"
+ },
+ "current" : "now",
+ "past" : {
+ "one" : "pśed {0} sekundu",
+ "two" : "pśed {0} sekundoma",
+ "other" : "pśed {0} sekundami"
+ }
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "pśed {0} min.",
+ "current" : "this minute",
+ "future" : "za {0} min."
+ },
+ "month" : {
+ "current" : "ten mjasec",
+ "past" : "pśed {0} mjas.",
+ "future" : "za {0} mjas.",
+ "next" : "pśiducy mjasec",
+ "previous" : "slědny mjasec"
+ },
+ "week" : {
+ "current" : "ten tyźeń",
+ "past" : "pśed {0} tyź.",
+ "future" : "za {0} tyź.",
+ "next" : "pśiducy tyźeń",
+ "previous" : "slědny tyźeń"
+ },
+ "hour" : {
+ "past" : "pśed {0} góź.",
+ "future" : "za {0} góź.",
+ "current" : "this hour"
+ },
+ "day" : {
+ "next" : "witśe",
+ "current" : "źinsa",
+ "previous" : "cora",
+ "past" : "pśed {0} dnj.",
+ "future" : {
+ "few" : "za {0} dny",
+ "other" : "za {0} dnj.",
+ "one" : "za {0} źeń"
+ }
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "pśed {0} sek.",
+ "future" : "za {0} sek."
+ },
+ "now" : "now",
+ "year" : {
+ "future" : "za {0} l.",
+ "previous" : "łoni",
+ "next" : "znowa",
+ "current" : "lětosa",
+ "past" : "pśed {0} l."
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "za {0} kwart.",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "pśed {0} kwart."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/dz.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/dz.json
new file mode 100644
index 00000000..8428014a
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/dz.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter"
+ },
+ "day" : {
+ "next" : "ནངས་པ་",
+ "previous" : "ཁ་ཙ་",
+ "future" : "ཉིནམ་ {0} ནང་",
+ "past" : "ཉིནམ་ {0} ཧེ་མ་",
+ "current" : "ད་རིས་"
+ },
+ "year" : {
+ "past" : "ལོ་འཁོར་ {0} ཧེ་མ་",
+ "previous" : "last year",
+ "future" : "ལོ་འཁོར་ {0} ནང་",
+ "next" : "next year",
+ "current" : "this year"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : "སྐར་མ་ {0} ཧེ་མ་",
+ "future" : "སྐར་མ་ {0} ནང་"
+ },
+ "now" : "now",
+ "week" : {
+ "current" : "this week",
+ "previous" : "last week",
+ "past" : "བངུན་ཕྲག་ {0} ཧེ་མ་",
+ "next" : "next week",
+ "future" : "བངུན་ཕྲག་ {0} ནང་"
+ },
+ "second" : {
+ "current" : "now",
+ "future" : "སྐར་ཆ་ {0} ནང་",
+ "past" : "སྐར་ཆ་ {0} ཧེ་མ་"
+ },
+ "month" : {
+ "future" : "ཟླཝ་ {0} ནང་",
+ "current" : "this month",
+ "past" : "ཟླཝ་ {0} ཧེ་མ་",
+ "previous" : "last month",
+ "next" : "next month"
+ },
+ "hour" : {
+ "past" : "ཆུ་ཚོད་ {0} ཧེ་མ་",
+ "future" : "ཆུ་ཚོད་ {0} ནང་",
+ "current" : "this hour"
+ }
+ },
+ "long" : {
+ "year" : {
+ "next" : "next year",
+ "previous" : "last year",
+ "past" : "ལོ་འཁོར་ {0} ཧེ་མ་",
+ "future" : "ལོ་འཁོར་ {0} ནང་",
+ "current" : "this year"
+ },
+ "now" : "now",
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "current" : "this quarter",
+ "previous" : "last quarter"
+ },
+ "month" : {
+ "past" : "ཟླཝ་ {0} ཧེ་མ་",
+ "next" : "next month",
+ "previous" : "last month",
+ "future" : "ཟླཝ་ {0} ནང་",
+ "current" : "this month"
+ },
+ "second" : {
+ "past" : "སྐར་ཆ་ {0} ཧེ་མ་",
+ "future" : "སྐར་ཆ་ {0} ནང་",
+ "current" : "now"
+ },
+ "week" : {
+ "past" : "བངུན་ཕྲག་ {0} ཧེ་མ་",
+ "previous" : "last week",
+ "future" : "བངུན་ཕྲག་ {0} ནང་",
+ "next" : "next week",
+ "current" : "this week"
+ },
+ "day" : {
+ "next" : "ནངས་པ་",
+ "future" : "ཉིནམ་ {0} ནང་",
+ "previous" : "ཁ་ཙ་",
+ "current" : "ད་རིས་",
+ "past" : "ཉིནམ་ {0} ཧེ་མ་"
+ },
+ "minute" : {
+ "past" : "སྐར་མ་ {0} ཧེ་མ་",
+ "future" : "སྐར་མ་ {0} ནང་",
+ "current" : "this minute"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "ཆུ་ཚོད་ {0} ཧེ་མ་",
+ "future" : "ཆུ་ཚོད་ {0} ནང་"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "this minute",
+ "past" : "སྐར་མ་ {0} ཧེ་མ་",
+ "future" : "སྐར་མ་ {0} ནང་"
+ },
+ "week" : {
+ "future" : "བངུན་ཕྲག་ {0} ནང་",
+ "previous" : "last week",
+ "next" : "next week",
+ "current" : "this week",
+ "past" : "བངུན་ཕྲག་ {0} ཧེ་མ་"
+ },
+ "year" : {
+ "current" : "this year",
+ "previous" : "last year",
+ "future" : "ལོ་འཁོར་ {0} ནང་",
+ "past" : "ལོ་འཁོར་ {0} ཧེ་མ་",
+ "next" : "next year"
+ },
+ "month" : {
+ "next" : "next month",
+ "past" : "ཟླཝ་ {0} ཧེ་མ་",
+ "future" : "ཟླཝ་ {0} ནང་",
+ "previous" : "last month",
+ "current" : "this month"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "future" : "+{0} Q"
+ },
+ "day" : {
+ "current" : "ད་རིས་",
+ "previous" : "ཁ་ཙ་",
+ "past" : "ཉིནམ་ {0} ཧེ་མ་",
+ "next" : "ནངས་པ་",
+ "future" : "ཉིནམ་ {0} ནང་"
+ },
+ "hour" : {
+ "future" : "ཆུ་ཚོད་ {0} ནང་",
+ "current" : "this hour",
+ "past" : "ཆུ་ཚོད་ {0} ཧེ་མ་"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "སྐར་ཆ་ {0} ཧེ་མ་",
+ "future" : "སྐར་ཆ་ {0} ནང་"
+ },
+ "now" : "now"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ee.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ee.json
new file mode 100644
index 00000000..c1a7bfb3
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ee.json
@@ -0,0 +1,275 @@
+{
+ "narrow" : {
+ "day" : {
+ "current" : "egbe",
+ "next" : "etsɔ si gbɔna",
+ "future" : {
+ "one" : "le ŋkeke {0} me",
+ "other" : "le ŋkeke {0} wo me"
+ },
+ "past" : {
+ "one" : "ŋkeke {0} si va yi",
+ "other" : "ŋkeke {0} si wo va yi"
+ },
+ "previous" : "etsɔ si va yi"
+ },
+ "week" : {
+ "next" : "kɔsiɖa si gbɔ na",
+ "previous" : "kɔsiɖa si va yi",
+ "future" : {
+ "other" : "le kɔsiɖa {0} wo me",
+ "one" : "le kɔsiɖa {0} me"
+ },
+ "current" : "kɔsiɖa sia",
+ "past" : {
+ "one" : "kɔsiɖa {0} si va yi",
+ "other" : "kɔsiɖa {0} si wo va yi"
+ }
+ },
+ "year" : {
+ "current" : "ƒe sia",
+ "past" : "ƒe {0} si va yi me",
+ "next" : "ƒe si gbɔ na",
+ "previous" : "ƒe si va yi",
+ "future" : "le ƒe {0} si gbɔna me"
+ },
+ "hour" : {
+ "past" : {
+ "other" : "gaƒoƒo {0} si wo va yi",
+ "one" : "gaƒoƒo {0} si va yi"
+ },
+ "future" : {
+ "other" : "le gaƒoƒo {0} wo me",
+ "one" : "le gaƒoƒo {0} me"
+ },
+ "current" : "this hour"
+ },
+ "now" : "fifi",
+ "second" : {
+ "past" : {
+ "one" : "sekend {0} si va yi",
+ "other" : "sekend {0} si wo va yi"
+ },
+ "current" : "fifi",
+ "future" : {
+ "other" : "le sekend {0} wo me",
+ "one" : "le sekend {0} me"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "other" : "le aɖabaƒoƒo {0} wo me",
+ "one" : "le aɖabaƒoƒo {0} me"
+ },
+ "current" : "this minute",
+ "past" : {
+ "one" : "aɖabaƒoƒo {0} si va yi",
+ "other" : "aɖabaƒoƒo {0} si wo va yi"
+ }
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : {
+ "one" : "le kɔta {0} si gbɔna me",
+ "other" : "le kɔta {0} si gbɔ na me"
+ },
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "past" : "kɔta {0} si va yi me"
+ },
+ "month" : {
+ "next" : "ɣleti si gbɔ na",
+ "past" : {
+ "other" : "ɣleti {0} si wo va yi",
+ "one" : "ɣleti {0} si va yi"
+ },
+ "future" : {
+ "one" : "le ɣleti {0} me",
+ "other" : "le ɣleti {0} wo me"
+ },
+ "previous" : "ɣleti si va yi",
+ "current" : "ɣleti sia"
+ }
+ },
+ "long" : {
+ "second" : {
+ "past" : {
+ "other" : "sekend {0} si wo va yi",
+ "one" : "sekend {0} si va yi"
+ },
+ "future" : {
+ "one" : "le sekend {0} me",
+ "other" : "le sekend {0} wo me"
+ },
+ "current" : "fifi"
+ },
+ "week" : {
+ "current" : "kɔsiɖa sia",
+ "next" : "kɔsiɖa si gbɔ na",
+ "previous" : "kɔsiɖa si va yi",
+ "past" : {
+ "one" : "kɔsiɖa {0} si va yi",
+ "other" : "kɔsiɖa {0} si wo va yi"
+ },
+ "future" : {
+ "one" : "le kɔsiɖa {0} me",
+ "other" : "le kɔsiɖa {0} wo me"
+ }
+ },
+ "day" : {
+ "past" : {
+ "other" : "ŋkeke {0} si wo va yi",
+ "one" : "ŋkeke {0} si va yi"
+ },
+ "previous" : "etsɔ si va yi",
+ "next" : "etsɔ si gbɔna",
+ "future" : {
+ "one" : "le ŋkeke {0} me",
+ "other" : "le ŋkeke {0} wo me"
+ },
+ "current" : "egbe"
+ },
+ "now" : "fifi",
+ "hour" : {
+ "future" : {
+ "other" : "le gaƒoƒo {0} wo me",
+ "one" : "le gaƒoƒo {0} me"
+ },
+ "past" : {
+ "one" : "gaƒoƒo {0} si va yi",
+ "other" : "gaƒoƒo {0} si wo va yi"
+ },
+ "current" : "this hour"
+ },
+ "month" : {
+ "future" : {
+ "one" : "le ɣleti {0} me",
+ "other" : "le ɣleti {0} wo me"
+ },
+ "past" : {
+ "other" : "ɣleti {0} si wo va yi",
+ "one" : "ɣleti {0} si va yi"
+ },
+ "current" : "ɣleti sia",
+ "next" : "ɣleti si gbɔ na",
+ "previous" : "ɣleti si va yi"
+ },
+ "minute" : {
+ "past" : {
+ "other" : "aɖabaƒoƒo {0} si wo va yi",
+ "one" : "aɖabaƒoƒo {0} si va yi"
+ },
+ "future" : {
+ "other" : "le aɖabaƒoƒo {0} wo me",
+ "one" : "le aɖabaƒoƒo {0} me"
+ },
+ "current" : "this minute"
+ },
+ "year" : {
+ "next" : "ƒe si gbɔ na",
+ "previous" : "ƒe si va yi",
+ "past" : {
+ "one" : "ƒe {0} si va yi",
+ "other" : "ƒe {0} si wo va yi"
+ },
+ "future" : "le ƒe {0} me",
+ "current" : "ƒe sia"
+ },
+ "quarter" : {
+ "future" : "le kɔta {0} si gbɔ na me",
+ "current" : "this quarter",
+ "past" : "kɔta {0} si va yi me",
+ "next" : "next quarter",
+ "previous" : "last quarter"
+ }
+ },
+ "short" : {
+ "week" : {
+ "future" : {
+ "one" : "le kɔsiɖa {0} me",
+ "other" : "le kɔsiɖa {0} wo me"
+ },
+ "next" : "kɔsiɖa si gbɔ na",
+ "current" : "kɔsiɖa sia",
+ "past" : {
+ "one" : "kɔsiɖa {0} si va yi",
+ "other" : "kɔsiɖa {0} si wo va yi"
+ },
+ "previous" : "kɔsiɖa si va yi"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : {
+ "one" : "le aɖabaƒoƒo {0} me",
+ "other" : "le aɖabaƒoƒo {0} wo me"
+ },
+ "past" : {
+ "one" : "aɖabaƒoƒo {0} si va yi",
+ "other" : "aɖabaƒoƒo {0} si wo va yi"
+ }
+ },
+ "day" : {
+ "next" : "etsɔ si gbɔna",
+ "current" : "egbe",
+ "previous" : "etsɔ si va yi",
+ "future" : {
+ "one" : "le ŋkeke {0} me",
+ "other" : "le ŋkeke {0} wo me"
+ },
+ "past" : {
+ "other" : "ŋkeke {0} si wo va yi",
+ "one" : "ŋkeke {0} si va yi"
+ }
+ },
+ "now" : "fifi",
+ "second" : {
+ "past" : {
+ "one" : "sekend {0} si va yi",
+ "other" : "sekend {0} si wo va yi"
+ },
+ "future" : {
+ "other" : "le sekend {0} wo me",
+ "one" : "le sekend {0} me"
+ },
+ "current" : "fifi"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : {
+ "one" : "gaƒoƒo {0} si va yi",
+ "other" : "gaƒoƒo {0} si wo va yi"
+ },
+ "future" : {
+ "one" : "le gaƒoƒo {0} me",
+ "other" : "le gaƒoƒo {0} wo me"
+ }
+ },
+ "month" : {
+ "current" : "ɣleti sia",
+ "past" : {
+ "one" : "ɣleti {0} si va yi",
+ "other" : "ɣleti {0} si wo va yi"
+ },
+ "previous" : "ɣleti si va yi",
+ "next" : "ɣleti si gbɔ na",
+ "future" : {
+ "other" : "le ɣleti {0} wo me",
+ "one" : "le ɣleti {0} me"
+ }
+ },
+ "year" : {
+ "next" : "ƒe si gbɔ na",
+ "future" : "le ƒe {0} me",
+ "current" : "ƒe sia",
+ "past" : "le ƒe {0} si va yi me",
+ "previous" : "ƒe si va yi"
+ },
+ "quarter" : {
+ "future" : "le kɔta {0} si gbɔ na me",
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "kɔta {0} si va yi me"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/el.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/el.json
new file mode 100644
index 00000000..06e6004c
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/el.json
@@ -0,0 +1,227 @@
+{
+ "narrow" : {
+ "now" : "τώρα",
+ "hour" : {
+ "future" : "σε {0} ώ.",
+ "past" : "{0} ώ. πριν",
+ "current" : "τρέχουσα ώρα"
+ },
+ "minute" : {
+ "past" : "{0} λ. πριν",
+ "current" : "τρέχον λεπτό",
+ "future" : "σε {0} λ."
+ },
+ "second" : {
+ "future" : "σε {0} δ.",
+ "current" : "τώρα",
+ "past" : "{0} δ. πριν"
+ },
+ "year" : {
+ "next" : "επόμενο έτος",
+ "future" : {
+ "one" : "σε {0} έτος",
+ "other" : "σε {0} έτη"
+ },
+ "previous" : "πέρσι",
+ "current" : "φέτος",
+ "past" : {
+ "one" : "{0} έτος πριν",
+ "other" : "{0} έτη πριν"
+ }
+ },
+ "week" : {
+ "past" : "{0} εβδ. πριν",
+ "next" : "επόμενη εβδομάδα",
+ "future" : "σε {0} εβδ.",
+ "previous" : "προηγούμενη εβδομάδα",
+ "current" : "τρέχουσα εβδομάδα"
+ },
+ "month" : {
+ "previous" : "προηγούμενος μήνας",
+ "current" : "τρέχων μήνας",
+ "next" : "επόμενος μήνας",
+ "past" : "{0} μ. πριν",
+ "future" : "σε {0} μ."
+ },
+ "quarter" : {
+ "next" : "επόμ. τρίμ.",
+ "past" : "{0} τρίμ. πριν",
+ "future" : "σε {0} τρίμ.",
+ "previous" : "προηγ. τρίμ.",
+ "current" : "τρέχον τρίμ."
+ },
+ "day" : {
+ "next" : "αύριο",
+ "previous" : "χθες",
+ "past" : "{0} ημ. πριν",
+ "future" : "σε {0} ημ.",
+ "current" : "σήμερα"
+ }
+ },
+ "long" : {
+ "week" : {
+ "future" : {
+ "other" : "σε {0} εβδομάδες",
+ "one" : "σε {0} εβδομάδα"
+ },
+ "past" : {
+ "other" : "πριν από {0} εβδομάδες",
+ "one" : "πριν από {0} εβδομάδα"
+ },
+ "next" : "επόμενη εβδομάδα",
+ "current" : "τρέχουσα εβδομάδα",
+ "previous" : "προηγούμενη εβδομάδα"
+ },
+ "minute" : {
+ "current" : "τρέχον λεπτό",
+ "future" : {
+ "other" : "σε {0} λεπτά",
+ "one" : "σε {0} λεπτό"
+ },
+ "past" : {
+ "one" : "πριν από {0} λεπτό",
+ "other" : "πριν από {0} λεπτά"
+ }
+ },
+ "month" : {
+ "current" : "τρέχων μήνας",
+ "past" : {
+ "other" : "πριν από {0} μήνες",
+ "one" : "πριν από {0} μήνα"
+ },
+ "previous" : "προηγούμενος μήνας",
+ "future" : {
+ "one" : "σε {0} μήνα",
+ "other" : "σε {0} μήνες"
+ },
+ "next" : "επόμενος μήνας"
+ },
+ "hour" : {
+ "future" : {
+ "one" : "σε {0} ώρα",
+ "other" : "σε {0} ώρες"
+ },
+ "past" : {
+ "one" : "πριν από {0} ώρα",
+ "other" : "πριν από {0} ώρες"
+ },
+ "current" : "τρέχουσα ώρα"
+ },
+ "year" : {
+ "previous" : "πέρσι",
+ "past" : {
+ "one" : "πριν από {0} έτος",
+ "other" : "πριν από {0} έτη"
+ },
+ "next" : "επόμενο έτος",
+ "future" : {
+ "one" : "σε {0} έτος",
+ "other" : "σε {0} έτη"
+ },
+ "current" : "φέτος"
+ },
+ "day" : {
+ "current" : "σήμερα",
+ "previous" : "χθες",
+ "next" : "αύριο",
+ "future" : {
+ "other" : "σε {0} ημέρες",
+ "one" : "σε {0} ημέρα"
+ },
+ "past" : {
+ "other" : "πριν από {0} ημέρες",
+ "one" : "πριν από {0} ημέρα"
+ }
+ },
+ "second" : {
+ "current" : "τώρα",
+ "future" : {
+ "other" : "σε {0} δευτερόλεπτα",
+ "one" : "σε {0} δευτερόλεπτο"
+ },
+ "past" : {
+ "one" : "πριν από {0} δευτερόλεπτο",
+ "other" : "πριν από {0} δευτερόλεπτα"
+ }
+ },
+ "quarter" : {
+ "previous" : "προηγούμενο τρίμηνο",
+ "current" : "τρέχον τρίμηνο",
+ "next" : "επόμενο τρίμηνο",
+ "past" : {
+ "one" : "πριν από {0} τρίμηνο",
+ "other" : "πριν από {0} τρίμηνα"
+ },
+ "future" : {
+ "one" : "σε {0} τρίμηνο",
+ "other" : "σε {0} τρίμηνα"
+ }
+ },
+ "now" : "τώρα"
+ },
+ "short" : {
+ "hour" : {
+ "future" : "σε {0} ώ.",
+ "current" : "τρέχουσα ώρα",
+ "past" : "πριν από {0} ώ."
+ },
+ "now" : "τώρα",
+ "quarter" : {
+ "current" : "τρέχον τρίμ.",
+ "future" : "σε {0} τρίμ.",
+ "past" : "πριν από {0} τρίμ.",
+ "next" : "επόμ. τρίμ.",
+ "previous" : "προηγ. τρίμ."
+ },
+ "day" : {
+ "current" : "σήμερα",
+ "past" : "πριν από {0} ημ.",
+ "future" : "σε {0} ημ.",
+ "next" : "αύριο",
+ "previous" : "χθες"
+ },
+ "week" : {
+ "current" : "τρέχουσα εβδομάδα",
+ "past" : "πριν από {0} εβδ.",
+ "future" : "σε {0} εβδ.",
+ "next" : "επόμενη εβδομάδα",
+ "previous" : "προηγούμενη εβδομάδα"
+ },
+ "minute" : {
+ "future" : "σε {0} λεπ.",
+ "current" : "τρέχον λεπτό",
+ "past" : "πριν από {0} λεπ."
+ },
+ "second" : {
+ "future" : "σε {0} δευτ.",
+ "current" : "τώρα",
+ "past" : "πριν από {0} δευτ."
+ },
+ "month" : {
+ "current" : "τρέχων μήνας",
+ "future" : {
+ "one" : "σε {0} μήνα",
+ "other" : "σε {0} μήνες"
+ },
+ "previous" : "προηγούμενος μήνας",
+ "next" : "επόμενος μήνας",
+ "past" : {
+ "one" : "πριν από {0} μήνα",
+ "other" : "πριν από {0} μήνες"
+ }
+ },
+ "year" : {
+ "future" : {
+ "one" : "σε {0} έτος",
+ "other" : "σε {0} έτη"
+ },
+ "previous" : "πέρσι",
+ "next" : "επόμενο έτος",
+ "current" : "φέτος",
+ "past" : {
+ "other" : "πριν από {0} έτη",
+ "one" : "πριν από {0} έτος"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/en.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/en.json
new file mode 100644
index 00000000..223f7020
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/en.json
@@ -0,0 +1,233 @@
+{
+ "long" : {
+ "quarter" : {
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "future" : {
+ "one" : "in {0} quarter",
+ "other" : "in {0} quarters"
+ },
+ "past" : {
+ "one" : "{0} quarter ago",
+ "other" : "{0} quarters ago"
+ }
+ },
+ "month" : {
+ "next" : "next month",
+ "past" : {
+ "one" : "{0} month ago",
+ "other" : "{0} months ago"
+ },
+ "future" : {
+ "one" : "in {0} month",
+ "other" : "in {0} months"
+ },
+ "previous" : "last month",
+ "current" : "this month"
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} hours ago",
+ "one" : "{0} hour ago"
+ },
+ "future" : {
+ "one" : "in {0} hour",
+ "other" : "in {0} hours"
+ },
+ "current" : "this hour"
+ },
+ "week" : {
+ "previous" : "last week",
+ "current" : "this week",
+ "future" : {
+ "one" : "in {0} week",
+ "other" : "in {0} weeks"
+ },
+ "next" : "next week",
+ "past" : {
+ "one" : "{0} week ago",
+ "other" : "{0} weeks ago"
+ }
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : {
+ "one" : "{0} minute ago",
+ "other" : "{0} minutes ago"
+ },
+ "future" : {
+ "one" : "in {0} minute",
+ "other" : "in {0} minutes"
+ }
+ },
+ "now" : "now",
+ "year" : {
+ "next" : "next year",
+ "future" : {
+ "one" : "in {0} year",
+ "other" : "in {0} years"
+ },
+ "past" : {
+ "other" : "{0} years ago",
+ "one" : "{0} year ago"
+ },
+ "current" : "this year",
+ "previous" : "last year"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : {
+ "other" : "{0} seconds ago",
+ "one" : "{0} second ago"
+ },
+ "future" : {
+ "one" : "in {0} second",
+ "other" : "in {0} seconds"
+ }
+ },
+ "day" : {
+ "next" : "tomorrow",
+ "past" : {
+ "other" : "{0} days ago",
+ "one" : "{0} day ago"
+ },
+ "future" : {
+ "other" : "in {0} days",
+ "one" : "in {0} day"
+ },
+ "previous" : "yesterday",
+ "current" : "today"
+ }
+ },
+ "short" : {
+ "month" : {
+ "future" : "in {0} mo.",
+ "previous" : "last mo.",
+ "current" : "this mo.",
+ "next" : "next mo.",
+ "past" : "{0} mo. ago"
+ },
+ "day" : {
+ "past" : {
+ "one" : "{0} day ago",
+ "other" : "{0} days ago"
+ },
+ "previous" : "yesterday",
+ "current" : "today",
+ "next" : "tomorrow",
+ "future" : {
+ "other" : "in {0} days",
+ "one" : "in {0} day"
+ }
+ },
+ "hour" : {
+ "current" : "this hour",
+ "future" : "in {0} hr.",
+ "past" : "{0} hr. ago"
+ },
+ "second" : {
+ "past" : "{0} sec. ago",
+ "future" : "in {0} sec.",
+ "current" : "now"
+ },
+ "year" : {
+ "current" : "this yr.",
+ "previous" : "last yr.",
+ "future" : "in {0} yr.",
+ "past" : "{0} yr. ago",
+ "next" : "next yr."
+ },
+ "week" : {
+ "previous" : "last wk.",
+ "current" : "this wk.",
+ "future" : "in {0} wk.",
+ "past" : "{0} wk. ago",
+ "next" : "next wk."
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : "in {0} min.",
+ "past" : "{0} min. ago"
+ },
+ "now" : "now",
+ "quarter" : {
+ "next" : "next qtr.",
+ "previous" : "last qtr.",
+ "current" : "this qtr.",
+ "past" : {
+ "other" : "{0} qtrs. ago",
+ "one" : "{0} qtr. ago"
+ },
+ "future" : {
+ "one" : "in {0} qtr.",
+ "other" : "in {0} qtrs."
+ }
+ }
+ },
+ "narrow" : {
+ "hour" : {
+ "future" : "in {0} hr.",
+ "current" : "this hour",
+ "past" : "{0} hr. ago"
+ },
+ "week" : {
+ "next" : "next wk.",
+ "previous" : "last wk.",
+ "past" : "{0} wk. ago",
+ "current" : "this wk.",
+ "future" : "in {0} wk."
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : "{0} min. ago",
+ "future" : "in {0} min."
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "{0} sec. ago",
+ "future" : "in {0} sec."
+ },
+ "now" : "now",
+ "month" : {
+ "past" : "{0} mo. ago",
+ "current" : "this mo.",
+ "next" : "next mo.",
+ "previous" : "last mo.",
+ "future" : "in {0} mo."
+ },
+ "day" : {
+ "current" : "today",
+ "future" : {
+ "one" : "in {0} day",
+ "other" : "in {0} days"
+ },
+ "previous" : "yesterday",
+ "next" : "tomorrow",
+ "past" : {
+ "one" : "{0} day ago",
+ "other" : "{0} days ago"
+ }
+ },
+ "year" : {
+ "previous" : "last yr.",
+ "current" : "this yr.",
+ "past" : "{0} yr. ago",
+ "next" : "next yr.",
+ "future" : "in {0} yr."
+ },
+ "quarter" : {
+ "previous" : "last qtr.",
+ "next" : "next qtr.",
+ "past" : {
+ "one" : "{0} qtr. ago",
+ "other" : "{0} qtrs. ago"
+ },
+ "future" : {
+ "one" : "in {0} qtr.",
+ "other" : "in {0} qtrs."
+ },
+ "current" : "this qtr."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es.json
new file mode 100644
index 00000000..bcddb5c2
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es.json
@@ -0,0 +1,221 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "previous" : "el trimestre pasado",
+ "current" : "este trimestre",
+ "next" : "el próximo trimestre",
+ "past" : "hace {0} trim.",
+ "future" : "dentro de {0} trim."
+ },
+ "month" : {
+ "past" : "hace {0} m",
+ "next" : "el próximo mes",
+ "future" : "dentro de {0} m",
+ "previous" : "el mes pasado",
+ "current" : "este mes"
+ },
+ "now" : "ahora",
+ "hour" : {
+ "future" : "dentro de {0} h",
+ "past" : "hace {0} h",
+ "current" : "esta hora"
+ },
+ "minute" : {
+ "past" : "hace {0} min",
+ "current" : "este minuto",
+ "future" : "dentro de {0} min"
+ },
+ "day" : {
+ "previous" : "ayer",
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "past" : {
+ "one" : "hace {0} día",
+ "other" : "hace {0} días"
+ },
+ "current" : "hoy",
+ "next" : "mañana"
+ },
+ "year" : {
+ "next" : "el próximo año",
+ "past" : "hace {0} a",
+ "future" : "dentro de {0} a",
+ "previous" : "el año pasado",
+ "current" : "este año"
+ },
+ "week" : {
+ "next" : "la próxima semana",
+ "previous" : "la semana pasada",
+ "past" : "hace {0} sem.",
+ "future" : "dentro de {0} sem.",
+ "current" : "esta semana"
+ },
+ "second" : {
+ "future" : "dentro de {0} s",
+ "past" : "hace {0} s",
+ "current" : "ahora"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "este minuto",
+ "past" : "hace {0} min",
+ "future" : "dentro de {0} min"
+ },
+ "month" : {
+ "current" : "este mes",
+ "past" : "hace {0} m",
+ "future" : "dentro de {0} m",
+ "next" : "el próximo mes",
+ "previous" : "el mes pasado"
+ },
+ "week" : {
+ "current" : "esta semana",
+ "past" : "hace {0} sem.",
+ "future" : "dentro de {0} sem.",
+ "next" : "la próxima semana",
+ "previous" : "la semana pasada"
+ },
+ "hour" : {
+ "past" : "hace {0} h",
+ "current" : "esta hora",
+ "future" : "dentro de {0} h"
+ },
+ "day" : {
+ "next" : "mañana",
+ "current" : "hoy",
+ "previous" : "ayer",
+ "past" : {
+ "other" : "hace {0} días",
+ "one" : "hace {0} día"
+ },
+ "future" : {
+ "one" : "dentro de {0} día",
+ "other" : "dentro de {0} días"
+ }
+ },
+ "second" : {
+ "future" : "dentro de {0} s",
+ "current" : "ahora",
+ "past" : "hace {0} s"
+ },
+ "now" : "ahora",
+ "year" : {
+ "future" : "dentro de {0} a",
+ "previous" : "el año pasado",
+ "next" : "el próximo año",
+ "current" : "este año",
+ "past" : "hace {0} a"
+ },
+ "quarter" : {
+ "current" : "este trimestre",
+ "future" : "dentro de {0} trim.",
+ "previous" : "el trimestre pasado",
+ "next" : "el próximo trimestre",
+ "past" : "hace {0} trim."
+ }
+ },
+ "long" : {
+ "week" : {
+ "current" : "esta semana",
+ "previous" : "la semana pasada",
+ "next" : "la próxima semana",
+ "future" : {
+ "one" : "dentro de {0} semana",
+ "other" : "dentro de {0} semanas"
+ },
+ "past" : {
+ "other" : "hace {0} semanas",
+ "one" : "hace {0} semana"
+ }
+ },
+ "month" : {
+ "future" : {
+ "one" : "dentro de {0} mes",
+ "other" : "dentro de {0} meses"
+ },
+ "past" : {
+ "one" : "hace {0} mes",
+ "other" : "hace {0} meses"
+ },
+ "next" : "el próximo mes",
+ "current" : "este mes",
+ "previous" : "el mes pasado"
+ },
+ "minute" : {
+ "past" : {
+ "one" : "hace {0} minuto",
+ "other" : "hace {0} minutos"
+ },
+ "future" : {
+ "one" : "dentro de {0} minuto",
+ "other" : "dentro de {0} minutos"
+ },
+ "current" : "este minuto"
+ },
+ "now" : "ahora",
+ "year" : {
+ "previous" : "el año pasado",
+ "current" : "este año",
+ "next" : "el próximo año",
+ "past" : {
+ "other" : "hace {0} años",
+ "one" : "hace {0} año"
+ },
+ "future" : {
+ "other" : "dentro de {0} años",
+ "one" : "dentro de {0} año"
+ }
+ },
+ "day" : {
+ "current" : "hoy",
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "past" : {
+ "other" : "hace {0} días",
+ "one" : "hace {0} día"
+ },
+ "next" : "mañana",
+ "previous" : "ayer"
+ },
+ "quarter" : {
+ "current" : "este trimestre",
+ "past" : {
+ "one" : "hace {0} trimestre",
+ "other" : "hace {0} trimestres"
+ },
+ "previous" : "el trimestre pasado",
+ "future" : {
+ "one" : "dentro de {0} trimestre",
+ "other" : "dentro de {0} trimestres"
+ },
+ "next" : "el próximo trimestre"
+ },
+ "hour" : {
+ "current" : "esta hora",
+ "future" : {
+ "other" : "dentro de {0} horas",
+ "one" : "dentro de {0} hora"
+ },
+ "past" : {
+ "other" : "hace {0} horas",
+ "one" : "hace {0} hora"
+ }
+ },
+ "second" : {
+ "future" : {
+ "other" : "dentro de {0} segundos",
+ "one" : "dentro de {0} segundo"
+ },
+ "current" : "ahora",
+ "past" : {
+ "one" : "hace {0} segundo",
+ "other" : "hace {0} segundos"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_AR.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_AR.json
new file mode 100644
index 00000000..803a0669
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_AR.json
@@ -0,0 +1,209 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "mañana",
+ "future" : "dentro de {0} días",
+ "previous" : "ayer",
+ "current" : "hoy",
+ "past" : "hace {0} días"
+ },
+ "quarter" : {
+ "next" : "el próximo trimestre",
+ "past" : "hace {0} trim.",
+ "future" : "dentro de {0} trim.",
+ "previous" : "el trimestre pasado",
+ "current" : "este trimestre"
+ },
+ "hour" : {
+ "future" : "dentro de {0} h",
+ "current" : "esta hora",
+ "past" : "hace {0} h"
+ },
+ "year" : {
+ "next" : "el próximo año",
+ "past" : "hace {0} a",
+ "current" : "este año",
+ "previous" : "el año pasado",
+ "future" : "dentro de {0} a"
+ },
+ "now" : "ahora",
+ "month" : {
+ "current" : "este mes",
+ "future" : "dentro de {0} m",
+ "past" : "hace {0} m",
+ "next" : "el próximo mes",
+ "previous" : "el mes pasado"
+ },
+ "week" : {
+ "previous" : "la semana pasada",
+ "current" : "esta semana",
+ "past" : "hace {0} sem.",
+ "future" : "dentro de {0} sem.",
+ "next" : "la próxima semana"
+ },
+ "minute" : {
+ "past" : "hace {0} min",
+ "current" : "este minuto",
+ "future" : "dentro de {0} min"
+ },
+ "second" : {
+ "current" : "ahora",
+ "past" : "hace {0} seg.",
+ "future" : "dentro de {0} seg."
+ }
+ },
+ "long" : {
+ "month" : {
+ "next" : "el próximo mes",
+ "previous" : "el mes pasado",
+ "future" : {
+ "one" : "dentro de {0} mes",
+ "other" : "dentro de {0} meses"
+ },
+ "current" : "este mes",
+ "past" : {
+ "other" : "hace {0} meses",
+ "one" : "hace {0} mes"
+ }
+ },
+ "week" : {
+ "future" : {
+ "one" : "dentro de {0} semana",
+ "other" : "dentro de {0} semanas"
+ },
+ "previous" : "la semana pasada",
+ "next" : "la próxima semana",
+ "current" : "esta semana",
+ "past" : {
+ "one" : "hace {0} semana",
+ "other" : "hace {0} semanas"
+ }
+ },
+ "second" : {
+ "current" : "ahora",
+ "past" : {
+ "other" : "hace {0} segundos",
+ "one" : "hace {0} segundo"
+ },
+ "future" : {
+ "one" : "dentro de {0} segundo",
+ "other" : "dentro de {0} segundos"
+ }
+ },
+ "year" : {
+ "future" : {
+ "one" : "dentro de {0} año",
+ "other" : "dentro de {0} años"
+ },
+ "previous" : "el año pasado",
+ "next" : "el próximo año",
+ "current" : "este año",
+ "past" : {
+ "one" : "hace {0} año",
+ "other" : "hace {0} años"
+ }
+ },
+ "day" : {
+ "next" : "mañana",
+ "current" : "hoy",
+ "previous" : "ayer",
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "past" : {
+ "other" : "hace {0} días",
+ "one" : "hace {0} día"
+ }
+ },
+ "now" : "ahora",
+ "minute" : {
+ "future" : {
+ "one" : "dentro de {0} minuto",
+ "other" : "dentro de {0} minutos"
+ },
+ "past" : {
+ "other" : "hace {0} minutos",
+ "one" : "hace {0} minuto"
+ },
+ "current" : "este minuto"
+ },
+ "quarter" : {
+ "next" : "el próximo trimestre",
+ "future" : {
+ "one" : "dentro de {0} trimestre",
+ "other" : "dentro de {0} trimestres"
+ },
+ "previous" : "el trimestre pasado",
+ "current" : "este trimestre",
+ "past" : {
+ "one" : "hace {0} trimestre",
+ "other" : "hace {0} trimestres"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "other" : "dentro de {0} horas",
+ "one" : "dentro de {0} hora"
+ },
+ "past" : {
+ "other" : "hace {0} horas",
+ "one" : "hace {0} hora"
+ },
+ "current" : "esta hora"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "dentro de {0} trim.",
+ "next" : "el próximo trimestre",
+ "previous" : "el trimestre pasado",
+ "current" : "este trimestre",
+ "past" : "hace {0} trim."
+ },
+ "minute" : {
+ "current" : "este minuto",
+ "past" : "hace {0} min",
+ "future" : "dentro de {0} min"
+ },
+ "year" : {
+ "next" : "el próximo año",
+ "future" : "dentro de {0} a",
+ "current" : "este año",
+ "past" : "hace {0} a",
+ "previous" : "el año pasado"
+ },
+ "second" : {
+ "past" : "hace {0} seg.",
+ "current" : "ahora",
+ "future" : "dentro de {0} seg."
+ },
+ "hour" : {
+ "current" : "esta hora",
+ "past" : "hace {0} h",
+ "future" : "dentro de {0} h"
+ },
+ "now" : "ahora",
+ "month" : {
+ "previous" : "el mes pasado",
+ "next" : "el próximo mes",
+ "past" : "hace {0} m",
+ "current" : "este mes",
+ "future" : "dentro de {0} m"
+ },
+ "week" : {
+ "previous" : "la semana pasada",
+ "current" : "esta semana",
+ "next" : "la próxima semana",
+ "past" : "hace {0} sem.",
+ "future" : "dentro de {0} sem."
+ },
+ "day" : {
+ "next" : "mañana",
+ "past" : "hace {0} días",
+ "future" : "dentro de {0} días",
+ "previous" : "ayer",
+ "current" : "hoy"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_MX.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_MX.json
new file mode 100644
index 00000000..ef65dcba
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_MX.json
@@ -0,0 +1,221 @@
+{
+ "narrow" : {
+ "minute" : {
+ "future" : "dentro de {0} min",
+ "past" : "hace {0} min",
+ "current" : "este minuto"
+ },
+ "year" : {
+ "past" : "hace {0} a",
+ "current" : "este año",
+ "next" : "el próximo año",
+ "previous" : "el año pasado",
+ "future" : "dentro de {0} a"
+ },
+ "now" : "ahora",
+ "second" : {
+ "past" : "hace {0} seg.",
+ "future" : "dentro de {0} seg.",
+ "current" : "ahora"
+ },
+ "day" : {
+ "previous" : "ayer",
+ "current" : "hoy",
+ "next" : "mañana",
+ "past" : {
+ "one" : "hace {0} día",
+ "other" : "hace {0} días"
+ },
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ }
+ },
+ "month" : {
+ "past" : "hace {0} m",
+ "current" : "este mes",
+ "next" : "el próximo mes",
+ "future" : "dentro de {0} m",
+ "previous" : "el mes pasado"
+ },
+ "week" : {
+ "next" : "la próxima semana",
+ "current" : "esta semana",
+ "past" : "hace {0} sem.",
+ "future" : "dentro de {0} sem.",
+ "previous" : "la semana pasada"
+ },
+ "quarter" : {
+ "current" : "este trimestre",
+ "future" : "dentro de {0} trim.",
+ "next" : "el próximo trimestre",
+ "past" : "hace {0} trim.",
+ "previous" : "el trimestre pasado"
+ },
+ "hour" : {
+ "future" : "dentro de {0} h",
+ "current" : "esta hora",
+ "past" : "hace {0} h"
+ }
+ },
+ "short" : {
+ "second" : {
+ "past" : "hace {0} seg.",
+ "future" : "dentro de {0} seg.",
+ "current" : "ahora"
+ },
+ "now" : "ahora",
+ "hour" : {
+ "current" : "esta hora",
+ "past" : "hace {0} h",
+ "future" : "dentro de {0} h"
+ },
+ "month" : {
+ "past" : "hace {0} m",
+ "current" : "este mes",
+ "next" : "el próximo mes",
+ "future" : "dentro de {0} m",
+ "previous" : "el mes pasado"
+ },
+ "day" : {
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "current" : "hoy",
+ "previous" : "ayer",
+ "next" : "mañana",
+ "past" : {
+ "one" : "hace {0} día",
+ "other" : "hace {0} días"
+ }
+ },
+ "minute" : {
+ "future" : "dentro de {0} min",
+ "current" : "este minuto",
+ "past" : "hace {0} min"
+ },
+ "week" : {
+ "next" : "la próxima semana",
+ "past" : "hace {0} sem.",
+ "previous" : "la semana pasada",
+ "current" : "esta semana",
+ "future" : "dentro de {0} sem."
+ },
+ "quarter" : {
+ "current" : "este trimestre",
+ "future" : "dentro de {0} trim.",
+ "next" : "el próximo trimestre",
+ "previous" : "el trimestre pasado",
+ "past" : "hace {0} trim."
+ },
+ "year" : {
+ "next" : "el próximo año",
+ "current" : "este año",
+ "future" : "dentro de {0} a",
+ "past" : "hace {0} a",
+ "previous" : "el año pasado"
+ }
+ },
+ "long" : {
+ "week" : {
+ "current" : "esta semana",
+ "previous" : "la semana pasada",
+ "next" : "la próxima semana",
+ "past" : {
+ "one" : "hace {0} semana",
+ "other" : "hace {0} semanas"
+ },
+ "future" : {
+ "one" : "dentro de {0} semana",
+ "other" : "dentro de {0} semanas"
+ }
+ },
+ "hour" : {
+ "current" : "esta hora",
+ "future" : {
+ "other" : "dentro de {0} horas",
+ "one" : "dentro de {0} hora"
+ },
+ "past" : {
+ "other" : "hace {0} horas",
+ "one" : "hace {0} hora"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "one" : "dentro de {0} minuto",
+ "other" : "dentro de {0} minutos"
+ },
+ "current" : "este minuto",
+ "past" : {
+ "one" : "hace {0} minuto",
+ "other" : "hace {0} minutos"
+ }
+ },
+ "day" : {
+ "previous" : "ayer",
+ "current" : "hoy",
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "next" : "mañana",
+ "past" : {
+ "other" : "hace {0} días",
+ "one" : "hace {0} día"
+ }
+ },
+ "second" : {
+ "current" : "ahora",
+ "future" : {
+ "other" : "dentro de {0} segundos",
+ "one" : "dentro de {0} segundo"
+ },
+ "past" : {
+ "one" : "hace {0} segundo",
+ "other" : "hace {0} segundos"
+ }
+ },
+ "now" : "ahora",
+ "month" : {
+ "next" : "el próximo mes",
+ "future" : {
+ "other" : "dentro de {0} meses",
+ "one" : "dentro de {0} mes"
+ },
+ "previous" : "el mes pasado",
+ "current" : "este mes",
+ "past" : {
+ "other" : "hace {0} meses",
+ "one" : "hace {0} mes"
+ }
+ },
+ "quarter" : {
+ "previous" : "el trimestre pasado",
+ "future" : {
+ "one" : "dentro de {0} trimestre",
+ "other" : "dentro de {0} trimestres"
+ },
+ "current" : "este trimestre",
+ "past" : {
+ "one" : "hace {0} trimestre",
+ "other" : "hace {0} trimestres"
+ },
+ "next" : "el próximo trimestre"
+ },
+ "year" : {
+ "next" : "el próximo año",
+ "past" : {
+ "one" : "hace {0} año",
+ "other" : "hace {0} años"
+ },
+ "future" : {
+ "other" : "dentro de {0} años",
+ "one" : "dentro de {0} año"
+ },
+ "current" : "este año",
+ "previous" : "el año pasado"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_PY.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_PY.json
new file mode 100644
index 00000000..04177c73
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_PY.json
@@ -0,0 +1,227 @@
+{
+ "narrow" : {
+ "minute" : {
+ "current" : "este minuto",
+ "past" : "-{0} min",
+ "future" : "+{0} min"
+ },
+ "year" : {
+ "previous" : "el año pasado",
+ "past" : "-{0} a",
+ "future" : "en {0} a",
+ "next" : "el próximo año",
+ "current" : "este año"
+ },
+ "day" : {
+ "next" : "mañana",
+ "previous" : "ayer",
+ "past" : {
+ "one" : "hace {0} día",
+ "other" : "hace {0} días"
+ },
+ "future" : {
+ "other" : "+{0} días",
+ "one" : "+{0} día"
+ },
+ "current" : "hoy"
+ },
+ "month" : {
+ "current" : "este mes",
+ "past" : "-{0} m",
+ "next" : "el próximo mes",
+ "previous" : "el mes pasado",
+ "future" : "+{0} m"
+ },
+ "hour" : {
+ "current" : "esta hora",
+ "past" : "hace {0} h",
+ "future" : "dentro de {0} h"
+ },
+ "now" : "ahora",
+ "quarter" : {
+ "past" : "-{0} T",
+ "current" : "este trimestre",
+ "future" : "+{0} T",
+ "previous" : "el trimestre pasado",
+ "next" : "el próximo trimestre"
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "ahora",
+ "past" : "hace {0} s"
+ },
+ "week" : {
+ "past" : "hace {0} sem.",
+ "previous" : "la semana pasada",
+ "current" : "esta semana",
+ "next" : "la semana próxima",
+ "future" : "dentro de {0} sem."
+ }
+ },
+ "long" : {
+ "year" : {
+ "next" : "el año próximo",
+ "future" : {
+ "one" : "dentro de {0} año",
+ "other" : "dentro de {0} años"
+ },
+ "previous" : "el año pasado",
+ "current" : "este año",
+ "past" : {
+ "one" : "hace {0} año",
+ "other" : "hace {0} años"
+ }
+ },
+ "now" : "ahora",
+ "month" : {
+ "future" : {
+ "one" : "en {0} mes",
+ "other" : "en {0} meses"
+ },
+ "previous" : "el mes pasado",
+ "next" : "el mes próximo",
+ "current" : "este mes",
+ "past" : {
+ "other" : "hace {0} meses",
+ "one" : "hace {0} mes"
+ }
+ },
+ "quarter" : {
+ "next" : "el próximo trimestre",
+ "previous" : "el trimestre pasado",
+ "future" : {
+ "other" : "dentro de {0} trimetres",
+ "one" : "dentro de {0} trimetre"
+ },
+ "current" : "este trimestre",
+ "past" : {
+ "other" : "hace {0} trimestres",
+ "one" : "hace {0} trimestre"
+ }
+ },
+ "day" : {
+ "previous" : "ayer",
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "current" : "hoy",
+ "next" : "mañana",
+ "past" : {
+ "one" : "hace {0} día",
+ "other" : "hace {0} días"
+ }
+ },
+ "week" : {
+ "next" : "la semana próxima",
+ "current" : "esta semana",
+ "previous" : "la semana pasada",
+ "future" : {
+ "other" : "dentro de {0} semanas",
+ "one" : "dentro de {0} semana"
+ },
+ "past" : {
+ "one" : "hace {0} semana",
+ "other" : "hace {0} semanas"
+ }
+ },
+ "hour" : {
+ "current" : "esta hora",
+ "past" : {
+ "one" : "hace {0} hora",
+ "other" : "hace {0} horas"
+ },
+ "future" : {
+ "one" : "dentro de {0} hora",
+ "other" : "dentro de {0} horas"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "other" : "dentro de {0} minutos",
+ "one" : "dentro de {0} minuto"
+ },
+ "current" : "este minuto",
+ "past" : {
+ "one" : "hace {0} minuto",
+ "other" : "hace {0} minutos"
+ }
+ },
+ "second" : {
+ "current" : "ahora",
+ "future" : {
+ "other" : "dentro de {0} segundos",
+ "one" : "dentro de {0} segundo"
+ },
+ "past" : {
+ "one" : "hace {0} segundo",
+ "other" : "hace {0} segundos"
+ }
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "este minuto",
+ "past" : "hace {0} min",
+ "future" : "en {0} min"
+ },
+ "second" : {
+ "current" : "ahora",
+ "past" : "hace {0} s",
+ "future" : "en {0} s"
+ },
+ "hour" : {
+ "future" : {
+ "one" : "en {0} h",
+ "other" : "en {0} n"
+ },
+ "current" : "esta hora",
+ "past" : "hace {0} h"
+ },
+ "year" : {
+ "next" : "el próximo año",
+ "future" : "en {0} a",
+ "current" : "este año",
+ "past" : "hace {0} a",
+ "previous" : "el año pasado"
+ },
+ "now" : "ahora",
+ "quarter" : {
+ "previous" : "el trimestre pasado",
+ "current" : "este trimestre",
+ "past" : "hace {0} trim.",
+ "next" : "el próximo trimestre",
+ "future" : {
+ "other" : "en {0} trim",
+ "one" : "en {0} trim."
+ }
+ },
+ "month" : {
+ "past" : "hace {0} m",
+ "future" : "en {0} m",
+ "next" : "el próximo mes",
+ "previous" : "el mes pasado",
+ "current" : "este mes"
+ },
+ "week" : {
+ "future" : "en {0} sem.",
+ "next" : "la semana próxima",
+ "current" : "esta semana",
+ "past" : "hace {0} sem.",
+ "previous" : "la semana pasada"
+ },
+ "day" : {
+ "previous" : "ayer",
+ "current" : "hoy",
+ "next" : "mañana",
+ "past" : {
+ "one" : "hace {0} día",
+ "other" : "hace {0} días"
+ },
+ "future" : {
+ "one" : "en {0} día",
+ "other" : "en {0} días"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_US.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_US.json
new file mode 100644
index 00000000..ad972acb
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/es_US.json
@@ -0,0 +1,221 @@
+{
+ "narrow" : {
+ "second" : {
+ "future" : "dentro de {0} s",
+ "past" : "hace {0} s",
+ "current" : "ahora"
+ },
+ "month" : {
+ "past" : "hace {0} m",
+ "future" : "dentro de {0} m",
+ "current" : "este mes",
+ "previous" : "el mes pasado",
+ "next" : "el próximo mes"
+ },
+ "hour" : {
+ "future" : "dentro de {0} h",
+ "past" : "hace {0} h",
+ "current" : "esta hora"
+ },
+ "week" : {
+ "next" : "la semana próxima",
+ "current" : "esta semana",
+ "past" : "hace {0} sem.",
+ "future" : "dentro de {0} sem.",
+ "previous" : "la semana pasada"
+ },
+ "day" : {
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "previous" : "ayer",
+ "next" : "mañana",
+ "past" : {
+ "one" : "hace {0} día",
+ "other" : "hace {0} días"
+ },
+ "current" : "hoy"
+ },
+ "minute" : {
+ "past" : "hace {0} min",
+ "current" : "este minuto",
+ "future" : "dentro de {0} min"
+ },
+ "year" : {
+ "next" : "el próximo año",
+ "future" : "dentro de {0} a",
+ "previous" : "el año pasado",
+ "current" : "este año",
+ "past" : "hace {0} a"
+ },
+ "now" : "ahora",
+ "quarter" : {
+ "previous" : "el trimestre pasado",
+ "next" : "el próximo trimestre",
+ "future" : "dentro de {0} trim.",
+ "current" : "este trimestre",
+ "past" : "hace {0} trim."
+ }
+ },
+ "long" : {
+ "minute" : {
+ "past" : {
+ "one" : "hace {0} minuto",
+ "other" : "hace {0} minutos"
+ },
+ "future" : {
+ "one" : "dentro de {0} minuto",
+ "other" : "dentro de {0} minutos"
+ },
+ "current" : "este minuto"
+ },
+ "month" : {
+ "past" : {
+ "other" : "hace {0} meses",
+ "one" : "hace {0} mes"
+ },
+ "next" : "el mes próximo",
+ "previous" : "el mes pasado",
+ "current" : "este mes",
+ "future" : {
+ "one" : "dentro de {0} mes",
+ "other" : "dentro de {0} meses"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "other" : "dentro de {0} horas",
+ "one" : "dentro de {0} hora"
+ },
+ "current" : "esta hora",
+ "past" : {
+ "one" : "hace {0} hora",
+ "other" : "hace {0} horas"
+ }
+ },
+ "second" : {
+ "past" : {
+ "other" : "hace {0} segundos",
+ "one" : "hace {0} segundo"
+ },
+ "future" : {
+ "one" : "dentro de {0} segundo",
+ "other" : "dentro de {0} segundos"
+ },
+ "current" : "ahora"
+ },
+ "now" : "ahora",
+ "year" : {
+ "future" : {
+ "one" : "dentro de {0} año",
+ "other" : "dentro de {0} años"
+ },
+ "previous" : "el año pasado",
+ "current" : "este año",
+ "next" : "el año próximo",
+ "past" : {
+ "one" : "hace {0} año",
+ "other" : "hace {0} años"
+ }
+ },
+ "week" : {
+ "future" : {
+ "other" : "dentro de {0} semanas",
+ "one" : "dentro de {0} semana"
+ },
+ "current" : "esta semana",
+ "previous" : "la semana pasada",
+ "next" : "la semana próxima",
+ "past" : {
+ "one" : "hace {0} semana",
+ "other" : "hace {0} semanas"
+ }
+ },
+ "quarter" : {
+ "past" : {
+ "one" : "hace {0} trimestre",
+ "other" : "hace {0} trimestres"
+ },
+ "future" : {
+ "other" : "dentro de {0} trimestres",
+ "one" : "dentro de {0} trimestre"
+ },
+ "next" : "el próximo trimestre",
+ "current" : "este trimestre",
+ "previous" : "el trimestre pasado"
+ },
+ "day" : {
+ "current" : "hoy",
+ "past" : {
+ "other" : "hace {0} días",
+ "one" : "hace {0} día"
+ },
+ "future" : {
+ "one" : "dentro de {0} día",
+ "other" : "dentro de {0} días"
+ },
+ "next" : "mañana",
+ "previous" : "ayer"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "past" : "hace {0} h",
+ "current" : "esta hora",
+ "future" : "dentro de {0} h"
+ },
+ "now" : "ahora",
+ "quarter" : {
+ "current" : "este trimestre",
+ "future" : "dentro de {0} trim.",
+ "past" : "hace {0} trim.",
+ "next" : "el próximo trimestre",
+ "previous" : "el trimestre pasado"
+ },
+ "day" : {
+ "current" : "hoy",
+ "past" : {
+ "other" : "hace {0} días",
+ "one" : "hace {0} día"
+ },
+ "future" : {
+ "one" : "dentro de {0} día",
+ "other" : "dentro de {0} días"
+ },
+ "next" : "mañana",
+ "previous" : "ayer"
+ },
+ "week" : {
+ "current" : "esta semana",
+ "past" : "hace {0} sem.",
+ "future" : "dentro de {0} sem.",
+ "next" : "la semana próxima",
+ "previous" : "la semana pasada"
+ },
+ "minute" : {
+ "current" : "este minuto",
+ "past" : "hace {0} min",
+ "future" : "dentro de {0} min"
+ },
+ "second" : {
+ "future" : "dentro de {0} s",
+ "current" : "ahora",
+ "past" : "hace {0} s"
+ },
+ "month" : {
+ "current" : "este mes",
+ "future" : "dentro de {0} m",
+ "previous" : "el mes pasado",
+ "next" : "el próximo mes",
+ "past" : "hace {0} m"
+ },
+ "year" : {
+ "future" : "dentro de {0} a",
+ "previous" : "el año pasado",
+ "next" : "el próximo año",
+ "current" : "este año",
+ "past" : "hace {0} a"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/et.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/et.json
new file mode 100644
index 00000000..b98d740c
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/et.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "year" : {
+ "future" : "{0} a pärast",
+ "previous" : "eelmine aasta",
+ "next" : "järgmine aasta",
+ "current" : "käesolev aasta",
+ "past" : "{0} a eest"
+ },
+ "week" : {
+ "past" : "{0} näd eest",
+ "previous" : "eelmine nädal",
+ "future" : "{0} näd pärast",
+ "current" : "käesolev nädal",
+ "next" : "järgmine nädal"
+ },
+ "hour" : {
+ "past" : "{0} t eest",
+ "future" : "{0} t pärast",
+ "current" : "praegusel tunnil"
+ },
+ "quarter" : {
+ "current" : "käesolev kv",
+ "previous" : "eelmine kv",
+ "future" : "{0} kv pärast",
+ "past" : "{0} kv eest",
+ "next" : "järgmine kv"
+ },
+ "second" : {
+ "future" : "{0} s pärast",
+ "current" : "nüüd",
+ "past" : "{0} s eest"
+ },
+ "month" : {
+ "current" : "käesolev kuu",
+ "future" : "{0} k pärast",
+ "past" : "{0} k eest",
+ "next" : "järgmine kuu",
+ "previous" : "eelmine kuu"
+ },
+ "day" : {
+ "previous" : "eile",
+ "future" : "{0} p pärast",
+ "next" : "homme",
+ "current" : "täna",
+ "past" : "{0} p eest"
+ },
+ "minute" : {
+ "future" : "{0} min pärast",
+ "current" : "praegusel minutil",
+ "past" : "{0} min eest"
+ },
+ "now" : "nüüd"
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "järgmine kvartal",
+ "current" : "käesolev kvartal",
+ "previous" : "eelmine kvartal",
+ "past" : "{0} kvartali eest",
+ "future" : "{0} kvartali pärast"
+ },
+ "now" : "nüüd",
+ "year" : {
+ "previous" : "eelmine aasta",
+ "past" : "{0} aasta eest",
+ "future" : "{0} aasta pärast",
+ "next" : "järgmine aasta",
+ "current" : "käesolev aasta"
+ },
+ "month" : {
+ "previous" : "eelmine kuu",
+ "current" : "käesolev kuu",
+ "future" : "{0} kuu pärast",
+ "past" : "{0} kuu eest",
+ "next" : "järgmine kuu"
+ },
+ "day" : {
+ "previous" : "eile",
+ "future" : "{0} päeva pärast",
+ "next" : "homme",
+ "past" : "{0} päeva eest",
+ "current" : "täna"
+ },
+ "second" : {
+ "past" : "{0} sekundi eest",
+ "future" : "{0} sekundi pärast",
+ "current" : "nüüd"
+ },
+ "week" : {
+ "past" : "{0} nädala eest",
+ "current" : "käesolev nädal",
+ "next" : "järgmine nädal",
+ "previous" : "eelmine nädal",
+ "future" : "{0} nädala pärast"
+ },
+ "hour" : {
+ "future" : "{0} tunni pärast",
+ "current" : "praegusel tunnil",
+ "past" : "{0} tunni eest"
+ },
+ "minute" : {
+ "current" : "praegusel minutil",
+ "past" : "{0} minuti eest",
+ "future" : "{0} minuti pärast"
+ }
+ },
+ "short" : {
+ "second" : {
+ "current" : "nüüd",
+ "past" : "{0} sek eest",
+ "future" : "{0} sek pärast"
+ },
+ "now" : "nüüd",
+ "month" : {
+ "future" : "{0} kuu pärast",
+ "current" : "käesolev kuu",
+ "past" : "{0} kuu eest",
+ "previous" : "eelmine kuu",
+ "next" : "järgmine kuu"
+ },
+ "day" : {
+ "previous" : "eile",
+ "current" : "täna",
+ "next" : "homme",
+ "future" : "{0} p pärast",
+ "past" : "{0} p eest"
+ },
+ "minute" : {
+ "current" : "praegusel minutil",
+ "future" : "{0} min pärast",
+ "past" : "{0} min eest"
+ },
+ "quarter" : {
+ "past" : "{0} kv eest",
+ "previous" : "eelmine kv",
+ "current" : "käesolev kv",
+ "future" : "{0} kv pärast",
+ "next" : "järgmine kv"
+ },
+ "hour" : {
+ "current" : "praegusel tunnil",
+ "future" : "{0} t pärast",
+ "past" : "{0} t eest"
+ },
+ "week" : {
+ "future" : "{0} näd pärast",
+ "previous" : "eelmine nädal",
+ "next" : "järgmine nädal",
+ "past" : "{0} näd eest",
+ "current" : "käesolev nädal"
+ },
+ "year" : {
+ "next" : "järgmine aasta",
+ "current" : "käesolev aasta",
+ "past" : "{0} a eest",
+ "future" : "{0} a pärast",
+ "previous" : "eelmine aasta"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/eu.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/eu.json
new file mode 100644
index 00000000..7f5b7664
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/eu.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "year" : {
+ "current" : "aurten",
+ "past" : "Duela {0} urte",
+ "future" : "{0} urte barru",
+ "next" : "hurrengo urtea",
+ "previous" : "aurreko urtea"
+ },
+ "minute" : {
+ "future" : "{0} minutu barru",
+ "current" : "minutu honetan",
+ "past" : "Duela {0} minutu"
+ },
+ "day" : {
+ "past" : "Duela {0} egun",
+ "future" : "{0} egun barru",
+ "current" : "gaur",
+ "previous" : "atzo",
+ "next" : "bihar"
+ },
+ "second" : {
+ "future" : "{0} segundo barru",
+ "current" : "orain",
+ "past" : "Duela {0} segundo"
+ },
+ "now" : "orain",
+ "month" : {
+ "next" : "hurrengo hilabetean",
+ "future" : "{0} hilabete barru",
+ "previous" : "aurreko hilabetean",
+ "current" : "hilabete honetan",
+ "past" : "Duela {0} hilabete"
+ },
+ "week" : {
+ "previous" : "aurreko astean",
+ "next" : "hurrengo astean",
+ "future" : "{0} aste barru",
+ "current" : "aste honetan",
+ "past" : "Duela {0} aste"
+ },
+ "quarter" : {
+ "current" : "hiruhileko hau",
+ "past" : "Duela {0} hiruhileko",
+ "future" : "{0} hiruhileko barru",
+ "next" : "hurrengo hiruhilekoa",
+ "previous" : "aurreko hiruhilekoa"
+ },
+ "hour" : {
+ "current" : "ordu honetan",
+ "past" : "Duela {0} ordu",
+ "future" : "{0} ordu barru"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "future" : "{0} ordu barru",
+ "current" : "ordu honetan",
+ "past" : "Duela {0} ordu"
+ },
+ "now" : "orain",
+ "quarter" : {
+ "future" : "{0} hiruhileko barru",
+ "previous" : "aurreko hiruhilekoa",
+ "next" : "hurrengo hiruhilekoa",
+ "past" : "Duela {0} hiruhileko",
+ "current" : "hiruhileko hau"
+ },
+ "day" : {
+ "current" : "gaur",
+ "future" : "{0} egun barru",
+ "past" : "Duela {0} egun",
+ "next" : "bihar",
+ "previous" : "atzo"
+ },
+ "week" : {
+ "future" : "{0} aste barru",
+ "previous" : "aurreko astean",
+ "next" : "hurrengo astean",
+ "current" : "aste honetan",
+ "past" : "Duela {0} aste"
+ },
+ "minute" : {
+ "past" : "Duela {0} minutu",
+ "future" : "{0} minutu barru",
+ "current" : "minutu honetan"
+ },
+ "second" : {
+ "past" : "Duela {0} segundo",
+ "current" : "orain",
+ "future" : "{0} segundo barru"
+ },
+ "month" : {
+ "current" : "hilabete honetan",
+ "previous" : "aurreko hilabetean",
+ "next" : "hurrengo hilabetean",
+ "past" : "Duela {0} hilabete",
+ "future" : "{0} hilabete barru"
+ },
+ "year" : {
+ "current" : "aurten",
+ "future" : "{0} urte barru",
+ "previous" : "aurreko urtea",
+ "next" : "hurrengo urtea",
+ "past" : "Duela {0} urte"
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "previous" : "aurreko hiruhilekoa",
+ "current" : "hiruhileko hau",
+ "future" : "{0} hiruhileko barru",
+ "next" : "hurrengo hiruhilekoa",
+ "past" : "Duela {0} hiruhileko"
+ },
+ "hour" : {
+ "future" : "{0} ordu barru",
+ "current" : "ordu honetan",
+ "past" : "Duela {0} ordu"
+ },
+ "now" : "orain",
+ "week" : {
+ "current" : "aste honetan",
+ "next" : "hurrengo astean",
+ "previous" : "aurreko astean",
+ "future" : "{0} aste barru",
+ "past" : "Duela {0} aste"
+ },
+ "second" : {
+ "past" : "Duela {0} segundo",
+ "current" : "orain",
+ "future" : "{0} segundo barru"
+ },
+ "year" : {
+ "current" : "aurten",
+ "previous" : "iaz",
+ "past" : "Duela {0} urte",
+ "future" : "{0} urte barru",
+ "next" : "hurrengo urtean"
+ },
+ "day" : {
+ "future" : "{0} egun barru",
+ "previous" : "atzo",
+ "past" : "Duela {0} egun",
+ "next" : "bihar",
+ "current" : "gaur"
+ },
+ "minute" : {
+ "future" : "{0} minutu barru",
+ "past" : "Duela {0} minutu",
+ "current" : "minutu honetan"
+ },
+ "month" : {
+ "future" : "{0} hilabete barru",
+ "next" : "hurrengo hilabetean",
+ "past" : "Duela {0} hilabete",
+ "previous" : "aurreko hilabetean",
+ "current" : "hilabete honetan"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fa.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fa.json
new file mode 100644
index 00000000..064505c0
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fa.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "فردا",
+ "future" : "{0} روز بعد",
+ "previous" : "دیروز",
+ "current" : "امروز",
+ "past" : "{0} روز پیش"
+ },
+ "quarter" : {
+ "next" : "سهماههٔ آینده",
+ "past" : "{0} سهماههٔ پیش",
+ "future" : "{0} سهماههٔ بعد",
+ "previous" : "سهماههٔ گذشته",
+ "current" : "سهماههٔ کنونی"
+ },
+ "hour" : {
+ "future" : "{0} ساعت بعد",
+ "current" : "همین ساعت",
+ "past" : "{0} ساعت پیش"
+ },
+ "year" : {
+ "next" : "سال آینده",
+ "past" : "{0} سال پیش",
+ "current" : "امسال",
+ "previous" : "سال گذشته",
+ "future" : "{0} سال بعد"
+ },
+ "now" : "اکنون",
+ "month" : {
+ "current" : "این ماه",
+ "future" : "{0} ماه بعد",
+ "past" : "{0} ماه پیش",
+ "next" : "ماه آینده",
+ "previous" : "ماه پیش"
+ },
+ "week" : {
+ "previous" : "هفتهٔ گذشته",
+ "current" : "این هفته",
+ "past" : "{0} هفته پیش",
+ "future" : "{0} هفته بعد",
+ "next" : "هفتهٔ آینده"
+ },
+ "minute" : {
+ "current" : "همین دقیقه",
+ "future" : "{0} دقیقه بعد",
+ "past" : "{0} دقیقه پیش"
+ },
+ "second" : {
+ "past" : "{0} ثانیه پیش",
+ "current" : "اکنون",
+ "future" : "{0} ثانیه بعد"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "دیروز",
+ "current" : "امروز",
+ "next" : "فردا",
+ "past" : "{0} روز پیش",
+ "future" : "{0} روز بعد"
+ },
+ "week" : {
+ "current" : "این هفته",
+ "future" : "{0} هفته بعد",
+ "past" : "{0} هفته پیش",
+ "previous" : "هفتهٔ گذشته",
+ "next" : "هفتهٔ آینده"
+ },
+ "minute" : {
+ "past" : "{0} دقیقه پیش",
+ "current" : "همین دقیقه",
+ "future" : "{0} دقیقه بعد"
+ },
+ "month" : {
+ "future" : "{0} ماه بعد",
+ "next" : "ماه آینده",
+ "previous" : "ماه گذشته",
+ "current" : "این ماه",
+ "past" : "{0} ماه پیش"
+ },
+ "hour" : {
+ "past" : "{0} ساعت پیش",
+ "current" : "همین ساعت",
+ "future" : "{0} ساعت بعد"
+ },
+ "year" : {
+ "past" : "{0} سال پیش",
+ "future" : "{0} سال بعد",
+ "previous" : "سال گذشته",
+ "next" : "سال آینده",
+ "current" : "امسال"
+ },
+ "second" : {
+ "current" : "اکنون",
+ "past" : "{0} ثانیه پیش",
+ "future" : "{0} ثانیه بعد"
+ },
+ "now" : "اکنون",
+ "quarter" : {
+ "past" : "{0} سهماههٔ پیش",
+ "current" : "سهماههٔ کنونی",
+ "previous" : "سهماههٔ گذشته",
+ "future" : "{0} سهماههٔ بعد",
+ "next" : "سهماههٔ آینده"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} سهماههٔ بعد",
+ "next" : "سهماههٔ آینده",
+ "previous" : "سهماههٔ گذشته",
+ "current" : "سهماههٔ کنونی",
+ "past" : "{0} سهماههٔ پیش"
+ },
+ "minute" : {
+ "current" : "همین دقیقه",
+ "past" : "{0} دقیقه پیش",
+ "future" : "{0} دقیقه بعد"
+ },
+ "year" : {
+ "next" : "سال آینده",
+ "future" : "{0} سال بعد",
+ "current" : "امسال",
+ "past" : "{0} سال پیش",
+ "previous" : "سال گذشته"
+ },
+ "second" : {
+ "future" : "{0} ثانیه بعد",
+ "current" : "اکنون",
+ "past" : "{0} ثانیه پیش"
+ },
+ "hour" : {
+ "past" : "{0} ساعت پیش",
+ "future" : "{0} ساعت بعد",
+ "current" : "همین ساعت"
+ },
+ "now" : "اکنون",
+ "month" : {
+ "previous" : "ماه پیش",
+ "next" : "ماه آینده",
+ "past" : "{0} ماه پیش",
+ "current" : "این ماه",
+ "future" : "{0} ماه بعد"
+ },
+ "week" : {
+ "previous" : "هفتهٔ گذشته",
+ "current" : "این هفته",
+ "next" : "هفتهٔ آینده",
+ "past" : "{0} هفته پیش",
+ "future" : "{0} هفته بعد"
+ },
+ "day" : {
+ "next" : "فردا",
+ "past" : "{0} روز پیش",
+ "future" : "{0} روز بعد",
+ "previous" : "دیروز",
+ "current" : "امروز"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fi.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fi.json
new file mode 100644
index 00000000..fd099691
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fi.json
@@ -0,0 +1,188 @@
+{
+ "long" : {
+ "minute" : {
+ "past" : {
+ "other" : "{0} minuuttia sitten",
+ "one" : "{0} minuutti sitten"
+ },
+ "future" : "{0} minuutin päästä",
+ "current" : "tämän minuutin aikana"
+ },
+ "year" : {
+ "future" : "{0} vuoden päästä",
+ "current" : "tänä vuonna",
+ "previous" : "viime vuonna",
+ "next" : "ensi vuonna",
+ "past" : {
+ "one" : "{0} vuosi sitten",
+ "other" : "{0} vuotta sitten"
+ }
+ },
+ "quarter" : {
+ "past" : {
+ "one" : "{0} neljännesvuosi sitten",
+ "other" : "{0} neljännesvuotta sitten"
+ },
+ "next" : "ensi neljännesvuonna",
+ "previous" : "viime neljännesvuonna",
+ "future" : "{0} neljännesvuoden päästä",
+ "current" : "tänä neljännesvuonna"
+ },
+ "week" : {
+ "future" : "{0} viikon päästä",
+ "past" : {
+ "other" : "{0} viikkoa sitten",
+ "one" : "{0} viikko sitten"
+ },
+ "previous" : "viime viikolla",
+ "current" : "tällä viikolla",
+ "next" : "ensi viikolla"
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} tuntia sitten",
+ "one" : "{0} tunti sitten"
+ },
+ "future" : "{0} tunnin päästä",
+ "current" : "tämän tunnin aikana"
+ },
+ "month" : {
+ "previous" : "viime kuussa",
+ "next" : "ensi kuussa",
+ "future" : "{0} kuukauden päästä",
+ "past" : {
+ "one" : "{0} kuukausi sitten",
+ "other" : "{0} kuukautta sitten"
+ },
+ "current" : "tässä kuussa"
+ },
+ "second" : {
+ "current" : "nyt",
+ "past" : {
+ "one" : "{0} sekunti sitten",
+ "other" : "{0} sekuntia sitten"
+ },
+ "future" : "{0} sekunnin päästä"
+ },
+ "now" : "nyt",
+ "day" : {
+ "next" : "huomenna",
+ "future" : "{0} päivän päästä",
+ "previous" : "eilen",
+ "current" : "tänään",
+ "past" : {
+ "other" : "{0} päivää sitten",
+ "one" : "{0} päivä sitten"
+ }
+ }
+ },
+ "short" : {
+ "month" : {
+ "future" : "{0} kk päästä",
+ "previous" : "viime kk",
+ "current" : "tässä kk",
+ "next" : "ensi kk",
+ "past" : "{0} kk sitten"
+ },
+ "week" : {
+ "previous" : "viime vk",
+ "current" : "tällä vk",
+ "future" : "{0} vk päästä",
+ "past" : "{0} vk sitten",
+ "next" : "ensi vk"
+ },
+ "hour" : {
+ "future" : "{0} t päästä",
+ "current" : "tunnin sisällä",
+ "past" : "{0} t sitten"
+ },
+ "quarter" : {
+ "next" : "ensi neljänneksenä",
+ "previous" : "viime neljänneksenä",
+ "current" : "tänä neljänneksenä",
+ "past" : {
+ "other" : "{0} neljännestä sitten",
+ "one" : "{0} neljännes sitten"
+ },
+ "future" : "{0} neljänneksen päästä"
+ },
+ "minute" : {
+ "past" : "{0} min sitten",
+ "future" : "{0} min päästä",
+ "current" : "minuutin sisällä"
+ },
+ "now" : "nyt",
+ "day" : {
+ "past" : "{0} pv sitten",
+ "previous" : "eilen",
+ "current" : "tänään",
+ "next" : "huom.",
+ "future" : "{0} pv päästä"
+ },
+ "year" : {
+ "current" : "tänä v",
+ "previous" : "viime v",
+ "future" : "{0} v päästä",
+ "past" : "{0} v sitten",
+ "next" : "ensi v"
+ },
+ "second" : {
+ "current" : "nyt",
+ "past" : "{0} s sitten",
+ "future" : "{0} s päästä"
+ }
+ },
+ "narrow" : {
+ "day" : {
+ "next" : "huom.",
+ "current" : "tänään",
+ "future" : "{0} pv päästä",
+ "past" : "{0} pv sitten",
+ "previous" : "eilen"
+ },
+ "week" : {
+ "current" : "tällä vk",
+ "next" : "ensi vk",
+ "previous" : "viime vk",
+ "past" : "{0} vk sitten",
+ "future" : "{0} vk päästä"
+ },
+ "quarter" : {
+ "past" : "{0} nelj. sitten",
+ "future" : "{0} nelj. päästä",
+ "previous" : "viime nelj.",
+ "current" : "tänä nelj.",
+ "next" : "ensi nelj."
+ },
+ "month" : {
+ "previous" : "viime kk",
+ "current" : "tässä kk",
+ "next" : "ensi kk",
+ "past" : "{0} kk sitten",
+ "future" : "{0} kk päästä"
+ },
+ "hour" : {
+ "future" : "{0} t päästä",
+ "past" : "{0} t sitten",
+ "current" : "tunnin sisällä"
+ },
+ "year" : {
+ "current" : "tänä v",
+ "past" : "{0} v sitten",
+ "future" : "{0} v päästä",
+ "next" : "ensi v",
+ "previous" : "viime v"
+ },
+ "now" : "nyt",
+ "minute" : {
+ "past" : "{0} min sitten",
+ "current" : "minuutin sisällä",
+ "future" : "{0} min päästä"
+ },
+ "second" : {
+ "past" : "{0} s sitten",
+ "future" : "{0} s päästä",
+ "current" : "nyt"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fil.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fil.json
new file mode 100644
index 00000000..78532205
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fil.json
@@ -0,0 +1,296 @@
+{
+ "narrow" : {
+ "hour" : {
+ "current" : "ngayong oras",
+ "past" : {
+ "one" : "{0} oras nakalipas",
+ "other" : "{0} (na) oras nakalipas"
+ },
+ "future" : {
+ "other" : "sa {0} (na) oras",
+ "one" : "sa {0} oras"
+ }
+ },
+ "week" : {
+ "previous" : "nakaraang linggo",
+ "past" : {
+ "one" : "{0} linggo ang nakalipas",
+ "other" : "{0} (na) linggo ang nakalipas"
+ },
+ "future" : {
+ "other" : "sa {0} (na) linggo",
+ "one" : "sa {0} linggo"
+ },
+ "next" : "susunod na linggo",
+ "current" : "ngayong linggo"
+ },
+ "minute" : {
+ "future" : {
+ "one" : "sa {0} min.",
+ "other" : "sa {0} (na) min."
+ },
+ "past" : {
+ "one" : "{0} min. ang nakalipas",
+ "other" : "{0} (na) min. ang nakalipas"
+ },
+ "current" : "sa minutong ito"
+ },
+ "quarter" : {
+ "future" : {
+ "other" : "sa {0} (na) quarter",
+ "one" : "sa {0} quarter"
+ },
+ "next" : "susunod na quarter",
+ "current" : "ngayong quarter",
+ "previous" : "nakaraang quarter",
+ "past" : {
+ "other" : "{0} (na) quarter ang nakalipas",
+ "one" : "{0} quarter ang nakalipas"
+ }
+ },
+ "year" : {
+ "current" : "ngayong taon",
+ "past" : {
+ "one" : "{0} taon ang nakalipas",
+ "other" : "{0} (na) taon ang nakalipas"
+ },
+ "future" : {
+ "one" : "sa {0} taon",
+ "other" : "sa {0} (na) taon"
+ },
+ "next" : "susunod na taon",
+ "previous" : "nakaraang taon"
+ },
+ "month" : {
+ "previous" : "nakaraang buwan",
+ "current" : "ngayong buwan",
+ "next" : "susunod na buwan",
+ "past" : {
+ "one" : "{0} buwan ang nakalipas",
+ "other" : "{0} (na) buwan ang nakalipas"
+ },
+ "future" : {
+ "other" : "sa {0} (na) buwan",
+ "one" : "sa {0} buwan"
+ }
+ },
+ "day" : {
+ "next" : "bukas",
+ "previous" : "kahapon",
+ "past" : {
+ "other" : "{0} (na) araw ang nakalipas",
+ "one" : "{0} araw ang nakalipas"
+ },
+ "current" : "ngayong araw",
+ "future" : {
+ "one" : "sa {0} araw",
+ "other" : "sa {0} (na) araw"
+ }
+ },
+ "now" : "ngayon",
+ "second" : {
+ "current" : "ngayon",
+ "past" : {
+ "one" : "{0} seg. nakalipas",
+ "other" : "{0} (na) seg. nakalipas"
+ },
+ "future" : {
+ "one" : "sa {0} seg.",
+ "other" : "sa {0} (na) seg."
+ }
+ }
+ },
+ "long" : {
+ "week" : {
+ "current" : "sa linggong ito",
+ "next" : "susunod na linggo",
+ "past" : {
+ "one" : "{0} linggo ang nakalipas",
+ "other" : "{0} (na) linggo ang nakalipas"
+ },
+ "previous" : "nakalipas na linggo",
+ "future" : {
+ "one" : "sa {0} linggo",
+ "other" : "sa {0} (na) linggo"
+ }
+ },
+ "quarter" : {
+ "current" : "ngayong quarter",
+ "past" : {
+ "one" : "{0} quarter ang nakalipas",
+ "other" : "{0} (na) quarter ang nakalipas"
+ },
+ "previous" : "nakaraang quarter",
+ "future" : {
+ "one" : "sa {0} quarter",
+ "other" : "sa {0} (na) quarter"
+ },
+ "next" : "susunod na quarter"
+ },
+ "second" : {
+ "future" : {
+ "one" : "sa {0} segundo",
+ "other" : "sa {0} (na) segundo"
+ },
+ "past" : {
+ "other" : "{0} (na) segundo ang nakalipas",
+ "one" : "{0} segundo ang nakalipas"
+ },
+ "current" : "ngayon"
+ },
+ "day" : {
+ "current" : "ngayong araw",
+ "future" : {
+ "one" : "sa {0} araw",
+ "other" : "sa {0} (na) araw"
+ },
+ "previous" : "kahapon",
+ "past" : {
+ "one" : "{0} araw ang nakalipas",
+ "other" : "{0} (na) araw ang nakalipas"
+ },
+ "next" : "bukas"
+ },
+ "minute" : {
+ "current" : "sa minutong ito",
+ "past" : {
+ "other" : "{0} (na) minuto ang nakalipas",
+ "one" : "{0} minuto ang nakalipas"
+ },
+ "future" : {
+ "other" : "sa {0} (na) minuto",
+ "one" : "sa {0} minuto"
+ }
+ },
+ "month" : {
+ "next" : "susunod na buwan",
+ "previous" : "nakaraang buwan",
+ "past" : {
+ "one" : "{0} buwan ang nakalipas",
+ "other" : "{0} (na) buwan ang nakalipas"
+ },
+ "future" : {
+ "other" : "sa {0} (na) buwan",
+ "one" : "sa {0} buwan"
+ },
+ "current" : "ngayong buwan"
+ },
+ "now" : "ngayon",
+ "year" : {
+ "previous" : "nakaraang taon",
+ "past" : {
+ "one" : "{0} taon ang nakalipas",
+ "other" : "{0} (na) taon ang nakalipas"
+ },
+ "current" : "ngayong taon",
+ "next" : "susunod na taon",
+ "future" : {
+ "one" : "sa {0} taon",
+ "other" : "sa {0} (na) taon"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} (na) oras ang nakalipas",
+ "one" : "{0} oras ang nakalipas"
+ },
+ "current" : "ngayong oras",
+ "future" : {
+ "other" : "sa {0} (na) oras",
+ "one" : "sa {0} oras"
+ }
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "sa minutong ito",
+ "future" : {
+ "other" : "sa {0} (na) min.",
+ "one" : "sa {0} min."
+ },
+ "past" : {
+ "other" : "{0} (na) min. ang nakalipas",
+ "one" : "{0} min. ang nakalipas"
+ }
+ },
+ "second" : {
+ "past" : {
+ "other" : "{0} (na) seg. nakalipas",
+ "one" : "{0} seg. ang nakalipas"
+ },
+ "current" : "ngayon",
+ "future" : {
+ "one" : "sa {0} seg.",
+ "other" : "sa {0} (na) seg."
+ }
+ },
+ "year" : {
+ "next" : "susunod na taon",
+ "current" : "ngayong taon",
+ "past" : {
+ "one" : "{0} taon ang nakalipas",
+ "other" : "{0} (na) taon ang nakalipas"
+ },
+ "previous" : "nakaraang taon",
+ "future" : {
+ "one" : "sa {0} taon",
+ "other" : "sa {0} (na) taon"
+ }
+ },
+ "month" : {
+ "past" : {
+ "other" : "{0} (na) buwan ang nakalipas",
+ "one" : "{0} buwan ang nakalipas"
+ },
+ "next" : "susunod na buwan",
+ "future" : {
+ "one" : "sa {0} buwan",
+ "other" : "sa {0} (na) buwan"
+ },
+ "previous" : "nakaraang buwan",
+ "current" : "ngayong buwan"
+ },
+ "day" : {
+ "previous" : "kahapon",
+ "past" : "{0} (na) araw ang nakalipas",
+ "current" : "ngayong araw",
+ "next" : "bukas",
+ "future" : "sa {0} (na) araw"
+ },
+ "now" : "ngayon",
+ "hour" : {
+ "current" : "ngayong oras",
+ "future" : {
+ "one" : "sa {0} oras",
+ "other" : "sa {0} (na) oras"
+ },
+ "past" : {
+ "other" : "{0} (na) oras ang nakalipas",
+ "one" : "{0} oras ang nakalipas"
+ }
+ },
+ "quarter" : {
+ "next" : "susunod na quarter",
+ "previous" : "nakaraang quarter",
+ "past" : {
+ "one" : "{0} quarter ang nakalipas",
+ "other" : "{0} (na) quarter ang nakalipas"
+ },
+ "future" : "sa {0} (na) quarter",
+ "current" : "ngayong quarter"
+ },
+ "week" : {
+ "next" : "susunod na linggo",
+ "previous" : "nakaraang linggo",
+ "past" : {
+ "one" : "{0} linggo ang nakalipas",
+ "other" : "{0} (na) linggo ang nakalipas"
+ },
+ "current" : "ngayong linggo",
+ "future" : {
+ "one" : "sa {0} linggo",
+ "other" : "sa {0} (na) linggo"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fo.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fo.json
new file mode 100644
index 00000000..cf85ade1
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fo.json
@@ -0,0 +1,197 @@
+{
+ "narrow" : {
+ "year" : {
+ "future" : "um {0} ár",
+ "previous" : "í fjør",
+ "next" : "næsta ár",
+ "current" : "í ár",
+ "past" : "{0} ár síðan"
+ },
+ "week" : {
+ "past" : "{0} v. síðan",
+ "previous" : "seinastu viku",
+ "future" : "um {0} v.",
+ "current" : "hesu viku",
+ "next" : "næstu viku"
+ },
+ "hour" : {
+ "current" : "hendan tíman",
+ "future" : "um {0} t.",
+ "past" : "{0} t. síðan"
+ },
+ "quarter" : {
+ "current" : "hendan ársfjórðingin",
+ "previous" : "seinasta ársfjórðing",
+ "future" : "um {0} ársfj.",
+ "past" : "{0} ársfj. síðan",
+ "next" : "næsta ársfjórðing"
+ },
+ "second" : {
+ "past" : "{0} s. síðan",
+ "future" : "um {0} s.",
+ "current" : "nú"
+ },
+ "month" : {
+ "current" : "henda mánaðin",
+ "future" : "um {0} mnð.",
+ "past" : "{0} mnð. síðan",
+ "next" : "næsta mánað",
+ "previous" : "seinasta mánað"
+ },
+ "day" : {
+ "previous" : "í gjár",
+ "future" : "um {0} d.",
+ "next" : "í morgin",
+ "current" : "í dag",
+ "past" : "{0} d. síðan"
+ },
+ "minute" : {
+ "past" : "{0} m. síðan",
+ "future" : "um {0} m.",
+ "current" : "hendan minuttin"
+ },
+ "now" : "nú"
+ },
+ "long" : {
+ "month" : {
+ "previous" : "seinasta mánað",
+ "past" : {
+ "one" : "{0} mánað síðan",
+ "other" : "{0} mánaðir síðan"
+ },
+ "next" : "næsta mánað",
+ "current" : "henda mánaðin",
+ "future" : {
+ "other" : "um {0} mánaðir",
+ "one" : "um {0} mánað"
+ }
+ },
+ "minute" : {
+ "current" : "hendan minuttin",
+ "future" : {
+ "one" : "um {0} minutt",
+ "other" : "um {0} minuttir"
+ },
+ "past" : {
+ "one" : "{0} minutt síðan",
+ "other" : "{0} minuttir síðan"
+ }
+ },
+ "quarter" : {
+ "next" : "næsta ársfjórðing",
+ "past" : {
+ "one" : "{0} ársfjórðing síðan",
+ "other" : "{0} ársfjórðingar síðan"
+ },
+ "future" : {
+ "one" : "um {0} ársfjórðing",
+ "other" : "um {0} ársfjórðingar"
+ },
+ "current" : "hendan ársfjórðingin",
+ "previous" : "seinasta ársfjórðing"
+ },
+ "week" : {
+ "next" : "næstu viku",
+ "previous" : "seinastu viku",
+ "future" : {
+ "other" : "um {0} vikur",
+ "one" : "um {0} viku"
+ },
+ "past" : {
+ "one" : "{0} vika síðan",
+ "other" : "{0} vikur síðan"
+ },
+ "current" : "hesu viku"
+ },
+ "day" : {
+ "previous" : "í gjár",
+ "past" : {
+ "one" : "{0} dagur síðan",
+ "other" : "{0} dagar síðan"
+ },
+ "future" : {
+ "other" : "um {0} dagar",
+ "one" : "um {0} dag"
+ },
+ "current" : "í dag",
+ "next" : "í morgin"
+ },
+ "hour" : {
+ "future" : {
+ "one" : "um {0} tíma",
+ "other" : "um {0} tímar"
+ },
+ "current" : "hendan tíman",
+ "past" : {
+ "one" : "{0} tími síðan",
+ "other" : "{0} tímar síðan"
+ }
+ },
+ "year" : {
+ "current" : "í ár",
+ "future" : "um {0} ár",
+ "next" : "næsta ár",
+ "past" : "{0} ár síðan",
+ "previous" : "í fjør"
+ },
+ "second" : {
+ "future" : "um {0} sekund",
+ "current" : "nú",
+ "past" : "{0} sekund síðan"
+ },
+ "now" : "nú"
+ },
+ "short" : {
+ "second" : {
+ "current" : "nú",
+ "past" : "{0} sek. síðan",
+ "future" : "um {0} sek."
+ },
+ "now" : "nú",
+ "month" : {
+ "future" : "um {0} mnð.",
+ "current" : "henda mánaðin",
+ "past" : "{0} mnð. síðan",
+ "previous" : "seinasta mánað",
+ "next" : "næsta mánað"
+ },
+ "day" : {
+ "previous" : "í gjár",
+ "current" : "í dag",
+ "next" : "í morgin",
+ "future" : "um {0} da.",
+ "past" : "{0} da. síðan"
+ },
+ "minute" : {
+ "past" : "{0} min. síðan",
+ "future" : "um {0} min.",
+ "current" : "hendan minuttin"
+ },
+ "quarter" : {
+ "past" : "{0} ársfj. síðan",
+ "previous" : "seinasta ársfjórðing",
+ "current" : "hendan ársfjórðingin",
+ "future" : "um {0} ársfj.",
+ "next" : "næsta ársfjórðing"
+ },
+ "hour" : {
+ "future" : "um {0} t.",
+ "current" : "hendan tíman",
+ "past" : "{0} t. síðan"
+ },
+ "week" : {
+ "future" : "um {0} vi.",
+ "previous" : "seinastu viku",
+ "next" : "næstu viku",
+ "past" : "{0} vi. síðan",
+ "current" : "hesu viku"
+ },
+ "year" : {
+ "next" : "næsta ár",
+ "current" : "í ár",
+ "past" : "{0} ár síðan",
+ "future" : "um {0} ár",
+ "previous" : "í fjør"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fr.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fr.json
new file mode 100644
index 00000000..4901fbc6
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fr.json
@@ -0,0 +1,203 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "demain",
+ "future" : "+{0} j",
+ "previous" : "hier",
+ "current" : "aujourd’hui",
+ "past" : "-{0} j"
+ },
+ "quarter" : {
+ "next" : "le trimestre prochain",
+ "past" : "-{0} trim.",
+ "future" : "+{0} trim.",
+ "previous" : "le trimestre dernier",
+ "current" : "ce trimestre"
+ },
+ "hour" : {
+ "past" : "-{0} h",
+ "future" : "+{0} h",
+ "current" : "cette heure-ci"
+ },
+ "year" : {
+ "next" : "l’année prochaine",
+ "past" : "-{0} a",
+ "current" : "cette année",
+ "previous" : "l’année dernière",
+ "future" : "+{0} a"
+ },
+ "now" : "maintenant",
+ "month" : {
+ "current" : "ce mois-ci",
+ "future" : "+{0} m.",
+ "past" : "-{0} m.",
+ "next" : "le mois prochain",
+ "previous" : "le mois dernier"
+ },
+ "week" : {
+ "previous" : "la semaine dernière",
+ "current" : "cette semaine",
+ "past" : "-{0} sem.",
+ "future" : "+{0} sem.",
+ "next" : "la semaine prochaine"
+ },
+ "minute" : {
+ "current" : "cette minute-ci",
+ "past" : "-{0} min",
+ "future" : "+{0} min"
+ },
+ "second" : {
+ "current" : "maintenant",
+ "past" : "-{0} s",
+ "future" : "+{0} s"
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "le trimestre prochain",
+ "future" : {
+ "other" : "dans {0} trimestres",
+ "one" : "dans {0} trimestre"
+ },
+ "previous" : "le trimestre dernier",
+ "current" : "ce trimestre",
+ "past" : {
+ "other" : "il y a {0} trimestres",
+ "one" : "il y a {0} trimestre"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "other" : "dans {0} heures",
+ "one" : "dans {0} heure"
+ },
+ "past" : {
+ "one" : "il y a {0} heure",
+ "other" : "il y a {0} heures"
+ },
+ "current" : "cette heure-ci"
+ },
+ "minute" : {
+ "past" : {
+ "one" : "il y a {0} minute",
+ "other" : "il y a {0} minutes"
+ },
+ "future" : {
+ "one" : "dans {0} minute",
+ "other" : "dans {0} minutes"
+ },
+ "current" : "cette minute-ci"
+ },
+ "now" : "maintenant",
+ "month" : {
+ "next" : "le mois prochain",
+ "previous" : "le mois dernier",
+ "future" : "dans {0} mois",
+ "current" : "ce mois-ci",
+ "past" : "il y a {0} mois"
+ },
+ "day" : {
+ "next" : "demain",
+ "future" : {
+ "one" : "dans {0} jour",
+ "other" : "dans {0} jours"
+ },
+ "past" : {
+ "one" : "il y a {0} jour",
+ "other" : "il y a {0} jours"
+ },
+ "current" : "aujourd’hui",
+ "previous" : "hier"
+ },
+ "year" : {
+ "future" : {
+ "one" : "dans {0} an",
+ "other" : "dans {0} ans"
+ },
+ "previous" : "l’année dernière",
+ "next" : "l’année prochaine",
+ "current" : "cette année",
+ "past" : {
+ "other" : "il y a {0} ans",
+ "one" : "il y a {0} an"
+ }
+ },
+ "week" : {
+ "next" : "la semaine prochaine",
+ "past" : {
+ "one" : "il y a {0} semaine",
+ "other" : "il y a {0} semaines"
+ },
+ "previous" : "la semaine dernière",
+ "current" : "cette semaine",
+ "future" : {
+ "one" : "dans {0} semaine",
+ "other" : "dans {0} semaines"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "dans {0} seconde",
+ "other" : "dans {0} secondes"
+ },
+ "current" : "maintenant",
+ "past" : {
+ "other" : "il y a {0} secondes",
+ "one" : "il y a {0} seconde"
+ }
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "dans {0} trim.",
+ "next" : "le trimestre prochain",
+ "previous" : "le trimestre dernier",
+ "current" : "ce trimestre",
+ "past" : "il y a {0} trim."
+ },
+ "minute" : {
+ "future" : "dans {0} min",
+ "current" : "cette minute-ci",
+ "past" : "il y a {0} min"
+ },
+ "year" : {
+ "next" : "l’année prochaine",
+ "future" : "dans {0} a",
+ "current" : "cette année",
+ "past" : "il y a {0} a",
+ "previous" : "l’année dernière"
+ },
+ "second" : {
+ "current" : "maintenant",
+ "past" : "il y a {0} s",
+ "future" : "dans {0} s"
+ },
+ "hour" : {
+ "current" : "cette heure-ci",
+ "past" : "il y a {0} h",
+ "future" : "dans {0} h"
+ },
+ "now" : "maintenant",
+ "month" : {
+ "previous" : "le mois dernier",
+ "next" : "le mois prochain",
+ "past" : "il y a {0} m.",
+ "current" : "ce mois-ci",
+ "future" : "dans {0} m."
+ },
+ "week" : {
+ "previous" : "la semaine dernière",
+ "current" : "cette semaine",
+ "next" : "la semaine prochaine",
+ "past" : "il y a {0} sem.",
+ "future" : "dans {0} sem."
+ },
+ "day" : {
+ "next" : "demain",
+ "past" : "il y a {0} j",
+ "future" : "dans {0} j",
+ "previous" : "hier",
+ "current" : "aujourd’hui"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fr_CA.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fr_CA.json
new file mode 100644
index 00000000..6e50f6be
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fr_CA.json
@@ -0,0 +1,206 @@
+{
+ "long" : {
+ "quarter" : {
+ "past" : {
+ "one" : "il y a {0} trimestre",
+ "other" : "il y a {0} trimestres"
+ },
+ "next" : "le trimestre prochain",
+ "previous" : "le trimestre dernier",
+ "current" : "ce trimestre-ci",
+ "future" : {
+ "one" : "dans {0} trimestre",
+ "other" : "dans {0} trimestres"
+ }
+ },
+ "day" : {
+ "future" : {
+ "other" : "dans {0} jours",
+ "one" : "dans {0} jour"
+ },
+ "previous" : "hier",
+ "past" : {
+ "other" : "il y a {0} jours",
+ "one" : "il y a {0} jour"
+ },
+ "next" : "demain",
+ "current" : "aujourd’hui"
+ },
+ "year" : {
+ "previous" : "l’année dernière",
+ "current" : "cette année",
+ "future" : {
+ "one" : "Dans {0} an",
+ "other" : "Dans {0} ans"
+ },
+ "next" : "l’année prochaine",
+ "past" : {
+ "other" : "Il y a {0} ans",
+ "one" : "Il y a {0} an"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "one" : "dans {0} heure",
+ "other" : "dans {0} heures"
+ },
+ "current" : "cette heure-ci",
+ "past" : {
+ "other" : "il y a {0} heures",
+ "one" : "il y a {0} heure"
+ }
+ },
+ "second" : {
+ "past" : {
+ "one" : "il y a {0} seconde",
+ "other" : "il y a {0} secondes"
+ },
+ "current" : "maintenant",
+ "future" : {
+ "other" : "dans {0} secondes",
+ "one" : "dans {0} seconde"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "il y a {0} minute",
+ "other" : "il y a {0} minutes"
+ },
+ "current" : "cette minute-ci",
+ "future" : {
+ "one" : "dans {0} minute",
+ "other" : "dans {0} minutes"
+ }
+ },
+ "month" : {
+ "current" : "ce mois-ci",
+ "next" : "le mois prochain",
+ "previous" : "le mois dernier",
+ "past" : "il y a {0} mois",
+ "future" : "dans {0} mois"
+ },
+ "now" : "maintenant",
+ "week" : {
+ "past" : {
+ "one" : "il y a {0} semaine",
+ "other" : "il y a {0} semaines"
+ },
+ "current" : "cette semaine",
+ "next" : "la semaine prochaine",
+ "previous" : "la semaine dernière",
+ "future" : {
+ "one" : "dans {0} semaine",
+ "other" : "dans {0} semaines"
+ }
+ }
+ },
+ "narrow" : {
+ "week" : {
+ "current" : "cette semaine",
+ "next" : "la semaine prochaine",
+ "past" : "-{0} sem.",
+ "previous" : "la semaine dernière",
+ "future" : "+{0} sem."
+ },
+ "minute" : {
+ "current" : "cette minute-ci",
+ "past" : "-{0} min",
+ "future" : "+{0} min"
+ },
+ "month" : {
+ "current" : "ce mois-ci",
+ "previous" : "le mois dernier",
+ "past" : "-{0} m.",
+ "next" : "le mois prochain",
+ "future" : "+{0} m."
+ },
+ "now" : "maintenant",
+ "year" : {
+ "current" : "cette année",
+ "next" : "l’année prochaine",
+ "past" : "-{0} a",
+ "future" : "+{0} a",
+ "previous" : "l’année dernière"
+ },
+ "hour" : {
+ "current" : "cette heure-ci",
+ "future" : "+{0} h",
+ "past" : "-{0} h"
+ },
+ "quarter" : {
+ "previous" : "le trimestre dernier",
+ "current" : "ce trimestre-ci",
+ "past" : "-{0} trim.",
+ "future" : "+{0} trim.",
+ "next" : "le trimestre prochain"
+ },
+ "second" : {
+ "past" : "-{0} s",
+ "future" : {
+ "one" : "+ {0} s",
+ "other" : "+{0} s"
+ },
+ "current" : "maintenant"
+ },
+ "day" : {
+ "past" : "-{0} j",
+ "current" : "aujourd’hui",
+ "future" : "+{0} j",
+ "previous" : "hier",
+ "next" : "demain"
+ }
+ },
+ "short" : {
+ "month" : {
+ "previous" : "le mois dernier",
+ "current" : "ce mois-ci",
+ "next" : "le mois prochain",
+ "past" : "il y a {0} m.",
+ "future" : "dans {0} m."
+ },
+ "now" : "maintenant",
+ "day" : {
+ "next" : "demain",
+ "current" : "aujourd’hui",
+ "previous" : "hier",
+ "past" : "il y a {0} j",
+ "future" : "dans {0} j"
+ },
+ "year" : {
+ "current" : "cette année",
+ "future" : "dans {0} a",
+ "previous" : "l’année dernière",
+ "next" : "l’année prochaine",
+ "past" : "il y a {0} a"
+ },
+ "hour" : {
+ "future" : "dans {0} h",
+ "current" : "cette heure-ci",
+ "past" : "il y a {0} h"
+ },
+ "minute" : {
+ "past" : "il y a {0} min",
+ "future" : "dans {0} min",
+ "current" : "cette minute-ci"
+ },
+ "second" : {
+ "past" : "il y a {0} s",
+ "current" : "maintenant",
+ "future" : "dans {0} s"
+ },
+ "quarter" : {
+ "future" : "dans {0} trim.",
+ "previous" : "le trimestre dernier",
+ "next" : "le trimestre prochain",
+ "past" : "il y a {0} trim.",
+ "current" : "ce trimestre-ci"
+ },
+ "week" : {
+ "next" : "la semaine prochaine",
+ "past" : "il y a {0} sem.",
+ "current" : "cette semaine",
+ "previous" : "la semaine dernière",
+ "future" : "dans {0} sem."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fur.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fur.json
new file mode 100644
index 00000000..6f495563
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fur.json
@@ -0,0 +1,269 @@
+{
+ "short" : {
+ "day" : {
+ "next" : "doman",
+ "past" : {
+ "one" : "{0} zornade indaûr",
+ "other" : "{0} zornadis indaûr"
+ },
+ "current" : "vuê",
+ "previous" : "îr",
+ "future" : {
+ "one" : "ca di {0} zornade",
+ "other" : "ca di {0} zornadis"
+ }
+ },
+ "month" : {
+ "past" : "{0} mês indaûr",
+ "future" : "ca di {0} mês",
+ "next" : "next month",
+ "current" : "this month",
+ "previous" : "last month"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "future" : "+{0} Q"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "future" : {
+ "one" : "ca di {0} ore",
+ "other" : "ca di {0} oris"
+ },
+ "past" : {
+ "other" : "{0} oris indaûr",
+ "one" : "{0} ore indaûr"
+ }
+ },
+ "year" : {
+ "next" : "next year",
+ "previous" : "last year",
+ "past" : {
+ "other" : "{0} agns indaûr",
+ "one" : "{0} an indaûr"
+ },
+ "current" : "this year",
+ "future" : {
+ "one" : "ca di {0} an",
+ "other" : "ca di {0} agns"
+ }
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : {
+ "one" : "ca di {0} minût",
+ "other" : "ca di {0} minûts"
+ },
+ "past" : {
+ "other" : "{0} minûts indaûr",
+ "one" : "{0} minût indaûr"
+ }
+ },
+ "now" : "now",
+ "week" : {
+ "next" : "next week",
+ "previous" : "last week",
+ "current" : "this week",
+ "past" : {
+ "one" : "{0} setemane indaûr",
+ "other" : "{0} setemanis indaûr"
+ },
+ "future" : {
+ "other" : "ca di {0} setemanis",
+ "one" : "ca di {0} setemane"
+ }
+ },
+ "second" : {
+ "current" : "now",
+ "future" : {
+ "one" : "ca di {0} secont",
+ "other" : "ca di {0} seconts"
+ },
+ "past" : {
+ "one" : "{0} secont indaûr",
+ "other" : "{0} seconts indaûr"
+ }
+ }
+ },
+ "long" : {
+ "hour" : {
+ "past" : {
+ "one" : "{0} ore indaûr",
+ "other" : "{0} oris indaûr"
+ },
+ "future" : {
+ "one" : "ca di {0} ore",
+ "other" : "ca di {0} oris"
+ },
+ "current" : "this hour"
+ },
+ "now" : "now",
+ "quarter" : {
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "past" : "-{0} Q"
+ },
+ "day" : {
+ "current" : "vuê",
+ "past" : {
+ "one" : "{0} zornade indaûr",
+ "other" : "{0} zornadis indaûr"
+ },
+ "future" : {
+ "one" : "ca di {0} zornade",
+ "other" : "ca di {0} zornadis"
+ },
+ "next" : "doman",
+ "previous" : "îr"
+ },
+ "week" : {
+ "current" : "this week",
+ "future" : {
+ "one" : "ca di {0} setemane",
+ "other" : "ca di {0} setemanis"
+ },
+ "previous" : "last week",
+ "next" : "next week",
+ "past" : {
+ "other" : "{0} setemanis indaûr",
+ "one" : "{0} setemane indaûr"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "one" : "ca di {0} minût",
+ "other" : "ca di {0} minûts"
+ },
+ "past" : {
+ "other" : "{0} minûts indaûr",
+ "one" : "{0} minût indaûr"
+ },
+ "current" : "this minute"
+ },
+ "second" : {
+ "current" : "now",
+ "future" : {
+ "one" : "ca di {0} secont",
+ "other" : "ca di {0} seconts"
+ },
+ "past" : {
+ "one" : "{0} secont indaûr",
+ "other" : "{0} seconts indaûr"
+ }
+ },
+ "month" : {
+ "current" : "this month",
+ "future" : "ca di {0} mês",
+ "past" : "{0} mês indaûr",
+ "next" : "next month",
+ "previous" : "last month"
+ },
+ "year" : {
+ "current" : "this year",
+ "past" : {
+ "one" : "{0} an indaûr",
+ "other" : "{0} agns indaûr"
+ },
+ "next" : "next year",
+ "previous" : "last year",
+ "future" : {
+ "one" : "ca di {0} an",
+ "other" : "ca di {0} agns"
+ }
+ }
+ },
+ "narrow" : {
+ "week" : {
+ "previous" : "last week",
+ "past" : {
+ "other" : "{0} setemanis indaûr",
+ "one" : "{0} setemane indaûr"
+ },
+ "current" : "this week",
+ "future" : {
+ "other" : "ca di {0} setemanis",
+ "one" : "ca di {0} setemane"
+ },
+ "next" : "next week"
+ },
+ "hour" : {
+ "future" : {
+ "other" : "ca di {0} oris",
+ "one" : "ca di {0} ore"
+ },
+ "current" : "this hour",
+ "past" : {
+ "one" : "{0} ore indaûr",
+ "other" : "{0} oris indaûr"
+ }
+ },
+ "now" : "now",
+ "second" : {
+ "past" : {
+ "other" : "{0} seconts indaûr",
+ "one" : "{0} secont indaûr"
+ },
+ "future" : {
+ "other" : "ca di {0} seconts",
+ "one" : "ca di {0} secont"
+ },
+ "current" : "now"
+ },
+ "month" : {
+ "previous" : "last month",
+ "next" : "next month",
+ "current" : "this month",
+ "past" : "{0} mês indaûr",
+ "future" : "ca di {0} mês"
+ },
+ "day" : {
+ "previous" : "îr",
+ "current" : "vuê",
+ "next" : "doman",
+ "past" : {
+ "other" : "{0} zornadis indaûr",
+ "one" : "{0} zornade indaûr"
+ },
+ "future" : {
+ "other" : "ca di {0} zornadis",
+ "one" : "ca di {0} zornade"
+ }
+ },
+ "year" : {
+ "future" : {
+ "one" : "ca di {0} an",
+ "other" : "ca di {0} agns"
+ },
+ "current" : "this year",
+ "past" : {
+ "other" : "{0} agns indaûr",
+ "one" : "{0} an indaûr"
+ },
+ "previous" : "last year",
+ "next" : "next year"
+ },
+ "quarter" : {
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "future" : "+{0} Q"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : {
+ "other" : "{0} minûts indaûr",
+ "one" : "{0} minût indaûr"
+ },
+ "future" : {
+ "other" : "ca di {0} minûts",
+ "one" : "ca di {0} minût"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fy.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fy.json
new file mode 100644
index 00000000..2a556158
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/fy.json
@@ -0,0 +1,251 @@
+{
+ "narrow" : {
+ "week" : {
+ "current" : "dizze wike",
+ "next" : "folgjende wike",
+ "future" : {
+ "other" : "Oer {0} wiken",
+ "one" : "Oer {0} wike"
+ },
+ "past" : {
+ "one" : "{0} wike lyn",
+ "other" : "{0} wiken lyn"
+ },
+ "previous" : "foarige wike"
+ },
+ "month" : {
+ "past" : {
+ "one" : "{0} moanne lyn",
+ "other" : "{0} moannen lyn"
+ },
+ "current" : "dizze moanne",
+ "future" : {
+ "one" : "Oer {0} moanne",
+ "other" : "Oer {0} moannen"
+ },
+ "next" : "folgjende moanne",
+ "previous" : "foarige moanne"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q"
+ },
+ "year" : {
+ "current" : "dit jier",
+ "next" : "folgjend jier",
+ "previous" : "foarich jier",
+ "past" : "{0} jier lyn",
+ "future" : "Oer {0} jier"
+ },
+ "hour" : {
+ "past" : "{0} oere lyn",
+ "future" : "Oer {0} oere",
+ "current" : "this hour"
+ },
+ "now" : "nu",
+ "day" : {
+ "current" : "vandaag",
+ "past" : {
+ "other" : "{0} deien lyn",
+ "one" : "{0} dei lyn"
+ },
+ "previous" : "gisteren",
+ "next" : "morgen",
+ "future" : {
+ "one" : "Oer {0} dei",
+ "other" : "Oer {0} deien"
+ }
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : {
+ "other" : "{0} minuten lyn",
+ "one" : "{0} minút lyn"
+ },
+ "future" : {
+ "other" : "Oer {0} minuten",
+ "one" : "Oer {0} minút"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "Oer {0} sekonde",
+ "other" : "Oer {0} sekonden"
+ },
+ "current" : "nu",
+ "past" : {
+ "one" : "{0} sekonde lyn",
+ "other" : "{0} sekonden lyn"
+ }
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "previous" : "last quarter",
+ "future" : "+{0} Q"
+ },
+ "now" : "nu",
+ "day" : {
+ "previous" : "gisteren",
+ "past" : {
+ "one" : "{0} dei lyn",
+ "other" : "{0} deien lyn"
+ },
+ "current" : "vandaag",
+ "next" : "morgen",
+ "future" : {
+ "one" : "Oer {0} dei",
+ "other" : "Oer {0} deien"
+ }
+ },
+ "month" : {
+ "next" : "folgjende moanne",
+ "previous" : "foarige moanne",
+ "past" : {
+ "other" : "{0} moannen lyn",
+ "one" : "{0} moanne lyn"
+ },
+ "future" : {
+ "other" : "Oer {0} moannen",
+ "one" : "Oer {0} moanne"
+ },
+ "current" : "dizze moanne"
+ },
+ "second" : {
+ "past" : {
+ "one" : "{0} sekonde lyn",
+ "other" : "{0} sekonden lyn"
+ },
+ "future" : {
+ "one" : "Oer {0} sekonde",
+ "other" : "Oer {0} sekonden"
+ },
+ "current" : "nu"
+ },
+ "year" : {
+ "previous" : "foarich jier",
+ "next" : "folgjend jier",
+ "future" : "Oer {0} jier",
+ "past" : "{0} jier lyn",
+ "current" : "dit jier"
+ },
+ "week" : {
+ "future" : {
+ "one" : "Oer {0} wike",
+ "other" : "Oer {0} wiken"
+ },
+ "current" : "dizze wike",
+ "past" : {
+ "other" : "{0} wiken lyn",
+ "one" : "{0} wike lyn"
+ },
+ "next" : "folgjende wike",
+ "previous" : "foarige wike"
+ },
+ "hour" : {
+ "past" : "{0} oere lyn",
+ "future" : "Oer {0} oere",
+ "current" : "this hour"
+ },
+ "minute" : {
+ "future" : {
+ "one" : "Oer {0} minút",
+ "other" : "Oer {0} minuten"
+ },
+ "past" : {
+ "one" : "{0} minút lyn",
+ "other" : "{0} minuten lyn"
+ },
+ "current" : "this minute"
+ }
+ },
+ "short" : {
+ "year" : {
+ "next" : "folgjend jier",
+ "future" : "Oer {0} jier",
+ "current" : "dit jier",
+ "past" : "{0} jier lyn",
+ "previous" : "foarich jier"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : {
+ "one" : "{0} minút lyn",
+ "other" : "{0} minuten lyn"
+ },
+ "future" : {
+ "one" : "Oer {0} minút",
+ "other" : "Oer {0} minuten"
+ }
+ },
+ "week" : {
+ "future" : {
+ "other" : "Oer {0} wiken",
+ "one" : "Oer {0} wike"
+ },
+ "next" : "folgjende wike",
+ "current" : "dizze wike",
+ "past" : {
+ "one" : "{0} wike lyn",
+ "other" : "{0} wiken lyn"
+ },
+ "previous" : "foarige wike"
+ },
+ "day" : {
+ "next" : "morgen",
+ "current" : "vandaag",
+ "previous" : "gisteren",
+ "future" : {
+ "one" : "Oer {0} dei",
+ "other" : "Oer {0} deien"
+ },
+ "past" : {
+ "one" : "{0} dei lyn",
+ "other" : "{0} deien lyn"
+ }
+ },
+ "quarter" : {
+ "future" : "+{0} Q",
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "-{0} Q"
+ },
+ "month" : {
+ "current" : "dizze moanne",
+ "past" : {
+ "other" : "{0} moannen lyn",
+ "one" : "{0} moanne lyn"
+ },
+ "previous" : "foarige moanne",
+ "next" : "folgjende moanne",
+ "future" : {
+ "other" : "Oer {0} moannen",
+ "one" : "Oer {0} moanne"
+ }
+ },
+ "now" : "nu",
+ "second" : {
+ "current" : "nu",
+ "future" : {
+ "other" : "Oer {0} sekonden",
+ "one" : "Oer {0} sekonde"
+ },
+ "past" : {
+ "one" : "{0} sekonde lyn",
+ "other" : "{0} sekonden lyn"
+ }
+ },
+ "hour" : {
+ "past" : "{0} oere lyn",
+ "current" : "this hour",
+ "future" : "Oer {0} oere"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ga.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ga.json
new file mode 100644
index 00000000..da1357db
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ga.json
@@ -0,0 +1,267 @@
+{
+ "long" : {
+ "month" : {
+ "next" : "an mhí seo chugainn",
+ "current" : "an mhí seo",
+ "future" : {
+ "one" : "i gceann {0} mhí",
+ "two" : "i gceann {0} mhí",
+ "other" : "i gceann {0} mí",
+ "few" : "i gceann {0} mhí"
+ },
+ "previous" : "an mhí seo caite",
+ "past" : {
+ "one" : "{0} mhí ó shin",
+ "other" : "{0} mí ó shin",
+ "two" : "{0} mhí ó shin",
+ "few" : "{0} mhí ó shin"
+ }
+ },
+ "second" : {
+ "current" : "anois",
+ "past" : {
+ "few" : "{0} shoicind ó shin",
+ "other" : "{0} soicind ó shin",
+ "two" : "{0} shoicind ó shin"
+ },
+ "future" : {
+ "other" : "i gceann {0} soicind",
+ "two" : "i gceann {0} shoicind",
+ "few" : "i gceann {0} shoicind"
+ }
+ },
+ "day" : {
+ "past" : "{0} lá ó shin",
+ "future" : "i gceann {0} lá",
+ "next" : "amárach",
+ "previous" : "inné",
+ "current" : "inniu"
+ },
+ "minute" : {
+ "future" : "i gceann {0} nóiméad",
+ "current" : "an nóiméad seo",
+ "past" : "{0} nóiméad ó shin"
+ },
+ "hour" : {
+ "current" : "an uair seo",
+ "past" : {
+ "many" : "{0} n-uaire an chloig ó shin",
+ "few" : "{0} huaire an chloig ó shin",
+ "other" : "{0} uair an chloig ó shin"
+ },
+ "future" : {
+ "few" : "i gceann {0} huaire an chloig",
+ "many" : "i gceann {0} n-uaire an chloig",
+ "other" : "i gceann {0} uair an chloig"
+ }
+ },
+ "quarter" : {
+ "next" : "an ráithe seo chugainn",
+ "current" : "an ráithe seo",
+ "future" : "i gceann {0} ráithe",
+ "past" : "{0} ráithe ó shin",
+ "previous" : "an ráithe seo caite"
+ },
+ "now" : "anois",
+ "year" : {
+ "next" : "an bhliain seo chugainn",
+ "past" : {
+ "two" : "{0} bhliain ó shin",
+ "many" : "{0} mbliana ó shin",
+ "other" : "{0} bliain ó shin",
+ "one" : "{0} bhliain ó shin",
+ "few" : "{0} bliana ó shin"
+ },
+ "future" : {
+ "one" : "i gceann {0} bhliain",
+ "two" : "i gceann {0} bhliain",
+ "few" : "i gceann {0} bliana",
+ "many" : "i gceann {0} mbliana",
+ "other" : "i gceann {0} bliain"
+ },
+ "previous" : "anuraidh",
+ "current" : "an bhliain seo"
+ },
+ "week" : {
+ "previous" : "an tseachtain seo caite",
+ "next" : "an tseachtain seo chugainn",
+ "past" : {
+ "other" : "{0} seachtain ó shin",
+ "many" : "{0} seachtaine ó shin",
+ "few" : "{0} seachtaine ó shin",
+ "two" : "{0} sheachtain ó shin"
+ },
+ "current" : "an tseachtain seo",
+ "future" : {
+ "other" : "i gceann {0} seachtain",
+ "many" : "i gceann {0} seachtaine",
+ "few" : "i gceann {0} seachtaine",
+ "two" : "i gceann {0} sheachtain"
+ }
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} nóim. ó shin",
+ "future" : "i gceann {0} nóim.",
+ "current" : "an nóiméad seo"
+ },
+ "hour" : {
+ "current" : "an uair seo",
+ "future" : {
+ "few" : "i gceann {0} huaire",
+ "many" : "i gceann {0} n-uaire",
+ "other" : "i gceann {0} uair"
+ },
+ "past" : {
+ "other" : "{0} uair ó shin",
+ "few" : "{0} huaire ó shin",
+ "many" : "{0} n-uaire ó shin"
+ }
+ },
+ "day" : {
+ "past" : "{0} lá ó shin",
+ "previous" : "inné",
+ "current" : "inniu",
+ "future" : "i gceann {0} lá",
+ "next" : "amárach"
+ },
+ "second" : {
+ "future" : {
+ "few" : "i gceann {0} shoic.",
+ "two" : "i gceann {0} shoic.",
+ "other" : "i gceann {0} soic."
+ },
+ "past" : {
+ "few" : "{0} shoic. ó shin",
+ "two" : "{0} shoic. ó shin",
+ "other" : "{0} soic. ó shin"
+ },
+ "current" : "anois"
+ },
+ "quarter" : {
+ "future" : "i gceann {0} ráithe",
+ "next" : "an ráithe seo chugainn",
+ "current" : "an ráithe seo",
+ "past" : "{0} ráithe ó shin",
+ "previous" : "an ráithe seo caite"
+ },
+ "year" : {
+ "current" : "an bhl. seo",
+ "past" : {
+ "other" : "{0} bl. ó shin",
+ "two" : "{0} bhl. ó shin",
+ "many" : "{0} mbl. ó shin",
+ "one" : "{0} bhl. ó shin"
+ },
+ "previous" : "anuraidh",
+ "next" : "an bhl. seo chugainn",
+ "future" : {
+ "two" : "i gceann {0} bhl.",
+ "many" : "i gceann {0} mbl.",
+ "other" : "i gceann {0} bl."
+ }
+ },
+ "week" : {
+ "future" : {
+ "two" : "i gceann {0} shcht.",
+ "other" : "i gceann {0} scht."
+ },
+ "past" : "{0} scht. ó shin",
+ "next" : "an tscht. seo chugainn",
+ "current" : "an tscht. seo",
+ "previous" : "an tscht. seo caite"
+ },
+ "month" : {
+ "future" : {
+ "few" : "i gceann {0} mhí",
+ "other" : "i gceann {0} mí",
+ "one" : "i gceann {0} mhí",
+ "two" : "i gceann {0} mhí"
+ },
+ "past" : {
+ "two" : "{0} mhí ó shin",
+ "one" : "{0} mhí ó shin",
+ "other" : "{0} mí ó shin",
+ "few" : "{0} mhí ó shin"
+ },
+ "current" : "an mhí seo",
+ "previous" : "an mhí seo caite",
+ "next" : "an mhí seo chugainn"
+ },
+ "now" : "anois"
+ },
+ "narrow" : {
+ "now" : "anois",
+ "day" : {
+ "future" : "+{0} lá",
+ "current" : "inniu",
+ "next" : "amárach",
+ "previous" : "inné",
+ "past" : "-{0} lá"
+ },
+ "year" : {
+ "next" : "an bhl. seo chugainn",
+ "future" : {
+ "two" : "+{0} bhl.",
+ "many" : "+{0} mbl.",
+ "one" : "+{0} bhl.",
+ "other" : "+{0} bl."
+ },
+ "past" : {
+ "other" : "-{0} bl.",
+ "two" : "-{0} bhl.",
+ "one" : "-{0} bhl.",
+ "many" : "-{0} mbl."
+ },
+ "current" : "an bhl. seo",
+ "previous" : "anuraidh"
+ },
+ "minute" : {
+ "current" : "an nóiméad seo",
+ "past" : "-{0} n",
+ "future" : "+{0} n"
+ },
+ "week" : {
+ "previous" : "an tscht. seo caite",
+ "current" : "an tscht. seo",
+ "past" : "-{0} scht.",
+ "future" : "+{0} scht.",
+ "next" : "an tscht. seo chugainn"
+ },
+ "hour" : {
+ "current" : "an uair seo",
+ "future" : "+{0} u",
+ "past" : "-{0} u"
+ },
+ "second" : {
+ "current" : "anois",
+ "future" : "+{0} s",
+ "past" : "-{0} s"
+ },
+ "month" : {
+ "next" : "an mhí seo chugainn",
+ "past" : {
+ "one" : "-{0} mhí",
+ "other" : "-{0} mí",
+ "few" : "-{0} mhí",
+ "two" : "-{0} mhí"
+ },
+ "previous" : "an mhí seo caite",
+ "future" : {
+ "two" : "+{0} mhí",
+ "one" : "+{0} mhí",
+ "few" : "+{0} mhí",
+ "other" : "+{0} mí"
+ },
+ "current" : "an mhí seo"
+ },
+ "quarter" : {
+ "next" : "an ráithe seo chugainn",
+ "future" : "+{0} R",
+ "past" : "-{0} R",
+ "previous" : "an ráithe seo caite",
+ "current" : "an ráithe seo"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gd.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gd.json
new file mode 100644
index 00000000..4db3619b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gd.json
@@ -0,0 +1,305 @@
+{
+ "narrow" : {
+ "week" : {
+ "next" : "ath-shn.",
+ "previous" : "sn. ch.",
+ "current" : "an t-sn. seo",
+ "future" : "+{0} sn.",
+ "past" : "-{0} sn."
+ },
+ "quarter" : {
+ "future" : "+{0} c.",
+ "previous" : "c. ch.",
+ "current" : "an c. seo",
+ "next" : "ath-ch.",
+ "past" : "-{0} c."
+ },
+ "minute" : {
+ "past" : "-{0} m",
+ "current" : "sa mhion.",
+ "future" : "+{0} m"
+ },
+ "year" : {
+ "previous" : "an-uir.",
+ "current" : "am bl.",
+ "past" : {
+ "two" : "-{0} bhl.",
+ "other" : "-{0} bl.",
+ "one" : "-{0} bhl."
+ },
+ "next" : "an ath-bhl.",
+ "future" : {
+ "two" : "+{0} bhl.",
+ "one" : "+{0} bhl.",
+ "other" : "+{0} bl."
+ }
+ },
+ "second" : {
+ "future" : "+{0} d",
+ "past" : "-{0} d",
+ "current" : "an-dràsta"
+ },
+ "month" : {
+ "future" : {
+ "two" : "+{0} mhì.",
+ "other" : "+{0} mì.",
+ "one" : "+{0} mhì."
+ },
+ "current" : "am mì. seo",
+ "past" : {
+ "two" : "-{0} mhì.",
+ "one" : "-{0} mhì.",
+ "other" : "-{0} mì."
+ },
+ "previous" : "mì. ch.",
+ "next" : "ath-mhì."
+ },
+ "now" : "an-dràsta",
+ "hour" : {
+ "future" : "+{0} u.",
+ "current" : "san uair",
+ "past" : "-{0} u."
+ },
+ "day" : {
+ "current" : "an-diugh",
+ "previous" : "an-dè",
+ "next" : "a-màireach",
+ "past" : "-{0} là",
+ "future" : "+{0} là"
+ }
+ },
+ "long" : {
+ "hour" : {
+ "future" : {
+ "few" : "an ceann {0} uairean a thìde",
+ "other" : "an ceann {0} uair a thìde"
+ },
+ "current" : "am broinn uair a thìde",
+ "past" : {
+ "other" : "{0} uair a thìde air ais",
+ "few" : "{0} uairean a thìde air ais"
+ }
+ },
+ "year" : {
+ "previous" : "an-uiridh",
+ "current" : "am bliadhna",
+ "next" : "an ath-bhliadhna",
+ "past" : {
+ "few" : "{0} bhliadhnaichean air ais",
+ "two" : "{0} bhliadhna air ais",
+ "other" : "{0} bliadhna air ais",
+ "one" : "{0} bhliadhna air ais"
+ },
+ "future" : {
+ "one" : "an ceann {0} bhliadhna",
+ "few" : "an ceann {0} bliadhnaichean",
+ "other" : "an ceann {0} bliadhna",
+ "two" : "an ceann {0} bhliadhna"
+ }
+ },
+ "day" : {
+ "previous" : "an-dè",
+ "current" : "an-diugh",
+ "next" : "a-màireach",
+ "future" : {
+ "other" : "an ceann {0} latha",
+ "few" : "an ceann {0} làithean"
+ },
+ "past" : {
+ "few" : "{0} làithean air ais",
+ "other" : "{0} latha air ais"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "one" : "an ceann {0} mhionaid",
+ "two" : "an ceann {0} mhionaid",
+ "other" : "an ceann {0} mionaid",
+ "few" : "an ceann {0} mionaidean"
+ },
+ "current" : "am broinn mionaid",
+ "past" : {
+ "two" : "{0} mhionaid air ais",
+ "one" : "{0} mhionaid air ais",
+ "few" : "{0} mionaidean air ais",
+ "other" : "{0} mionaid air ais"
+ }
+ },
+ "second" : {
+ "future" : {
+ "few" : "an ceann {0} diogan",
+ "other" : "an ceann {0} diog",
+ "two" : "an ceann {0} dhiog"
+ },
+ "current" : "an-dràsta",
+ "past" : {
+ "two" : "{0} dhiog air ais",
+ "few" : "{0} diogan air ais",
+ "other" : "{0} diog air ais"
+ }
+ },
+ "now" : "an-dràsta",
+ "week" : {
+ "previous" : "an t-seachdain seo chaidh",
+ "next" : "an ath-sheachdain",
+ "future" : {
+ "two" : "an ceann {0} sheachdain",
+ "few" : "an ceann {0} seachdainean",
+ "other" : "an ceann {0} seachdain"
+ },
+ "current" : "an t-seachdain seo",
+ "past" : {
+ "few" : "{0} seachdainean air ais",
+ "two" : "{0} sheachdain air ais",
+ "other" : "{0} seachdain air ais"
+ }
+ },
+ "quarter" : {
+ "past" : {
+ "two" : "o chionn {0} chairteil",
+ "few" : "o chionn {0} cairtealan",
+ "other" : "o chionn {0} cairteil",
+ "one" : "o chionn {0} chairteil"
+ },
+ "future" : {
+ "other" : "an ceann {0} cairteil",
+ "two" : "an ceann {0} chairteil",
+ "few" : "an ceann {0} cairtealan",
+ "one" : "an ceann {0} chairteil"
+ },
+ "previous" : "an cairteal seo chaidh",
+ "current" : "an cairteal seo",
+ "next" : "an ath-chairteal"
+ },
+ "month" : {
+ "past" : {
+ "two" : "{0} mhìos air ais",
+ "few" : "{0} mìosan air ais",
+ "one" : "{0} mhìos air ais",
+ "other" : "{0} mìos air ais"
+ },
+ "previous" : "am mìos seo chaidh",
+ "future" : {
+ "one" : "an ceann {0} mhìosa",
+ "other" : "an ceann {0} mìosa",
+ "two" : "an ceann {0} mhìosa",
+ "few" : "an ceann {0} mìosan"
+ },
+ "current" : "am mìos seo",
+ "next" : "an ath-mhìos"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "future" : {
+ "few" : "an {0} uair.",
+ "other" : "an {0} uair"
+ },
+ "past" : {
+ "other" : "o {0} uair",
+ "few" : "o {0} uair."
+ },
+ "current" : "am broinn uair"
+ },
+ "quarter" : {
+ "current" : "an cairt. seo",
+ "future" : {
+ "one" : "an {0} chairt.",
+ "other" : "an {0} cairt.",
+ "two" : "an {0} chairt."
+ },
+ "previous" : "an cairt. sa chaidh",
+ "next" : "an ath-chairt.",
+ "past" : {
+ "other" : "o {0} cairt.",
+ "one" : "o {0} chairt.",
+ "two" : "o {0} chairt."
+ }
+ },
+ "week" : {
+ "next" : "an ath-sheachd.",
+ "current" : "an t-seachd. seo",
+ "previous" : "seachd. sa chaidh",
+ "past" : {
+ "two" : "o {0} sheachd.",
+ "other" : "o {0} seachd.",
+ "one" : "o {0} sheachd."
+ },
+ "future" : {
+ "two" : "an {0} sheachd.",
+ "one" : "an {0} sheachd.",
+ "other" : "an {0} seachd."
+ }
+ },
+ "year" : {
+ "current" : "am bliadhna",
+ "future" : {
+ "one" : "an {0} bhlia.",
+ "two" : "an {0} bhlia.",
+ "other" : "an {0} blia."
+ },
+ "past" : {
+ "two" : "o {0} bhlia.",
+ "other" : "o {0} blia.",
+ "one" : "o {0} bhlia."
+ },
+ "next" : "an ath-bhliadhna",
+ "previous" : "an-uiridh"
+ },
+ "minute" : {
+ "current" : "am broinn mion.",
+ "future" : {
+ "two" : "an {0} mhion.",
+ "one" : "an {0} mhion.",
+ "other" : "an {0} mion."
+ },
+ "past" : {
+ "one" : "o {0} mhion.",
+ "two" : "o {0} mhion.",
+ "other" : "o {0} mion."
+ }
+ },
+ "now" : "an-dràsta",
+ "month" : {
+ "current" : "am mìos seo",
+ "past" : {
+ "two" : "o {0} mhìos.",
+ "one" : "o {0} mhìos.",
+ "other" : "o {0} mìos."
+ },
+ "future" : {
+ "two" : "an {0} mhìos.",
+ "one" : "an {0} mhìos.",
+ "other" : "an {0} mìos."
+ },
+ "next" : "an ath-mhìos",
+ "previous" : "am mìos sa chaidh"
+ },
+ "day" : {
+ "future" : {
+ "other" : "an {0} là",
+ "few" : "an {0} là."
+ },
+ "current" : "an-diugh",
+ "next" : "a-màireach",
+ "previous" : "an-dè",
+ "past" : {
+ "few" : "o {0} là.",
+ "other" : "o {0} là"
+ }
+ },
+ "second" : {
+ "past" : {
+ "other" : "o {0} diog",
+ "two" : "o {0} dhiog",
+ "few" : "o {0} diog."
+ },
+ "future" : {
+ "few" : "an {0} diog.",
+ "two" : "an {0} dhiog",
+ "other" : "an {0} diog"
+ },
+ "current" : "an-dràsta"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gl.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gl.json
new file mode 100644
index 00000000..ac500c7b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gl.json
@@ -0,0 +1,227 @@
+{
+ "narrow" : {
+ "second" : {
+ "future" : "en {0} s",
+ "current" : "agora",
+ "past" : "hai {0} s"
+ },
+ "year" : {
+ "next" : "seguinte ano",
+ "past" : "hai {0} a.",
+ "future" : "en {0} a.",
+ "previous" : "ano pasado",
+ "current" : "este ano"
+ },
+ "month" : {
+ "past" : "hai {0} m.",
+ "next" : "m. seguinte",
+ "future" : "en {0} m.",
+ "previous" : "m. pasado",
+ "current" : "este m."
+ },
+ "minute" : {
+ "past" : "hai {0} min",
+ "current" : "este minuto",
+ "future" : "en {0} min"
+ },
+ "quarter" : {
+ "previous" : "trim. pasado",
+ "current" : "este trim.",
+ "next" : "trim. seguinte",
+ "past" : "hai {0} trim.",
+ "future" : "en {0} trim."
+ },
+ "hour" : {
+ "future" : "en {0} h",
+ "past" : "hai {0} h",
+ "current" : "esta hora"
+ },
+ "now" : "agora",
+ "week" : {
+ "next" : "sem. seguinte",
+ "previous" : "sem. pasada",
+ "past" : "hai {0} sem.",
+ "future" : "en {0} sem.",
+ "current" : "esta sem."
+ },
+ "day" : {
+ "previous" : "onte",
+ "future" : "en {0} d.",
+ "past" : "hai {0} d.",
+ "current" : "hoxe",
+ "next" : "mañá"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "future" : "dentro de {0} min",
+ "past" : "hai {0} min",
+ "current" : "este minuto"
+ },
+ "month" : {
+ "current" : "este m.",
+ "past" : {
+ "one" : "hai {0} mes",
+ "other" : "hai {0} mes."
+ },
+ "future" : {
+ "one" : "dentro de {0} mes",
+ "other" : "dentro de {0} mes."
+ },
+ "next" : "m. seguinte",
+ "previous" : "m. pasado"
+ },
+ "week" : {
+ "future" : "dentro de {0} sem.",
+ "previous" : "sem. pasada",
+ "current" : "esta sem.",
+ "next" : "sem. seguinte",
+ "past" : "hai {0} sem."
+ },
+ "hour" : {
+ "future" : "dentro de {0} h",
+ "current" : "esta hora",
+ "past" : "hai {0} h"
+ },
+ "day" : {
+ "next" : "mañá",
+ "current" : "hoxe",
+ "previous" : "onte",
+ "past" : {
+ "one" : "hai {0} día",
+ "other" : "hai {0} días"
+ },
+ "future" : {
+ "one" : "dentro de {0} día",
+ "other" : "dentro de {0} días"
+ }
+ },
+ "second" : {
+ "past" : "hai {0} s",
+ "current" : "agora",
+ "future" : "dentro de {0} s"
+ },
+ "now" : "agora",
+ "year" : {
+ "future" : {
+ "one" : "dentro de {0} ano",
+ "other" : "dentro de {0} anos"
+ },
+ "previous" : "ano pasado",
+ "next" : "seguinte ano",
+ "current" : "este ano",
+ "past" : {
+ "other" : "hai {0} anos",
+ "one" : "hai {0} ano"
+ }
+ },
+ "quarter" : {
+ "current" : "este trim.",
+ "future" : "dentro de {0} trim.",
+ "previous" : "trim. pasado",
+ "next" : "trim. seguinte",
+ "past" : "hai {0} trim."
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "onte",
+ "past" : {
+ "other" : "hai {0} días",
+ "one" : "hai {0} día"
+ },
+ "future" : {
+ "other" : "dentro de {0} días",
+ "one" : "dentro de {0} día"
+ },
+ "next" : "mañá",
+ "current" : "hoxe"
+ },
+ "hour" : {
+ "current" : "esta hora",
+ "future" : {
+ "one" : "dentro de {0} hora",
+ "other" : "dentro de {0} horas"
+ },
+ "past" : {
+ "one" : "hai {0} hora",
+ "other" : "hai {0} horas"
+ }
+ },
+ "month" : {
+ "next" : "o próximo mes",
+ "current" : "este mes",
+ "past" : {
+ "other" : "hai {0} meses",
+ "one" : "hai {0} mes"
+ },
+ "previous" : "o mes pasado",
+ "future" : {
+ "one" : "dentro de {0} mes",
+ "other" : "dentro de {0} meses"
+ }
+ },
+ "quarter" : {
+ "next" : "o próximo trimestre",
+ "past" : {
+ "one" : "hai {0} trimestre",
+ "other" : "hai {0} trimestres"
+ },
+ "previous" : "o trimestre pasado",
+ "current" : "este trimestre",
+ "future" : {
+ "one" : "dentro de {0} trimestre",
+ "other" : "dentro de {0} trimestres"
+ }
+ },
+ "year" : {
+ "next" : "o próximo ano",
+ "current" : "este ano",
+ "future" : {
+ "one" : "dentro de {0} ano",
+ "other" : "dentro de {0} anos"
+ },
+ "previous" : "o ano pasado",
+ "past" : {
+ "one" : "hai {0} ano",
+ "other" : "hai {0} anos"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "hai {0} minuto",
+ "other" : "hai {0} minutos"
+ },
+ "future" : {
+ "other" : "dentro de {0} minutos",
+ "one" : "dentro de {0} minuto"
+ },
+ "current" : "este minuto"
+ },
+ "second" : {
+ "future" : {
+ "other" : "dentro de {0} segundos",
+ "one" : "dentro de {0} segundo"
+ },
+ "current" : "agora",
+ "past" : {
+ "one" : "hai {0} segundo",
+ "other" : "hai {0} segundos"
+ }
+ },
+ "week" : {
+ "future" : {
+ "other" : "dentro de {0} semanas",
+ "one" : "dentro de {0} semana"
+ },
+ "previous" : "a semana pasada",
+ "current" : "esta semana",
+ "next" : "a próxima semana",
+ "past" : {
+ "other" : "hai {0} semanas",
+ "one" : "hai {0} semana"
+ }
+ },
+ "now" : "agora"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gu.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gu.json
new file mode 100644
index 00000000..17a7e5b2
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/gu.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "આવતીકાલે",
+ "future" : "{0} દિવસમાં",
+ "previous" : "ગઈકાલે",
+ "current" : "આજે",
+ "past" : "{0} દિવસ પહેલાં"
+ },
+ "quarter" : {
+ "next" : "પછીનું ત્રિમાસિક",
+ "past" : "{0} ત્રિમાસિક પહેલાં",
+ "future" : "{0} ત્રિમાસિકમાં",
+ "previous" : "છેલ્લું ત્રિમાસિક",
+ "current" : "આ ત્રિમાસિક"
+ },
+ "hour" : {
+ "current" : "આ કલાક",
+ "past" : "{0} કલાક પહેલાં",
+ "future" : "{0} કલાકમાં"
+ },
+ "year" : {
+ "next" : "આવતા વર્ષે",
+ "past" : "{0} વર્ષ પહેલાં",
+ "current" : "આ વર્ષે",
+ "previous" : "ગયા વર્ષે",
+ "future" : "{0} વર્ષમાં"
+ },
+ "now" : "હમણાં",
+ "month" : {
+ "current" : "આ મહિને",
+ "future" : "{0} મહિનામાં",
+ "past" : "{0} મહિના પહેલાં",
+ "next" : "આવતા મહિને",
+ "previous" : "ગયા મહિને"
+ },
+ "week" : {
+ "previous" : "ગયા અઠવાડિયે",
+ "current" : "આ અઠવાડિયે",
+ "past" : "{0} અઠ. પહેલાં",
+ "future" : "{0} અઠ. માં",
+ "next" : "આવતા અઠવાડિયે"
+ },
+ "minute" : {
+ "current" : "આ મિનિટ",
+ "past" : "{0} મિનિટ પહેલાં",
+ "future" : "{0} મિનિટમાં"
+ },
+ "second" : {
+ "current" : "હમણાં",
+ "past" : "{0} સેકંડ પહેલાં",
+ "future" : "{0} સેકંડમાં"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "ગઈકાલે",
+ "current" : "આજે",
+ "next" : "આવતીકાલે",
+ "past" : "{0} દિવસ પહેલાં",
+ "future" : "{0} દિવસમાં"
+ },
+ "week" : {
+ "current" : "આ અઠવાડિયે",
+ "future" : "{0} અઠવાડિયામાં",
+ "past" : "{0} અઠવાડિયા પહેલાં",
+ "previous" : "ગયા અઠવાડિયે",
+ "next" : "આવતા અઠવાડિયે"
+ },
+ "minute" : {
+ "current" : "આ મિનિટ",
+ "past" : "{0} મિનિટ પહેલાં",
+ "future" : "{0} મિનિટમાં"
+ },
+ "month" : {
+ "future" : "{0} મહિનામાં",
+ "next" : "આવતા મહિને",
+ "previous" : "ગયા મહિને",
+ "current" : "આ મહિને",
+ "past" : "{0} મહિના પહેલાં"
+ },
+ "hour" : {
+ "current" : "આ કલાક",
+ "past" : "{0} કલાક પહેલાં",
+ "future" : "{0} કલાકમાં"
+ },
+ "year" : {
+ "past" : "{0} વર્ષ પહેલાં",
+ "future" : "{0} વર્ષમાં",
+ "previous" : "ગયા વર્ષે",
+ "next" : "આવતા વર્ષે",
+ "current" : "આ વર્ષે"
+ },
+ "second" : {
+ "past" : "{0} સેકંડ પહેલાં",
+ "future" : "{0} સેકંડમાં",
+ "current" : "હમણાં"
+ },
+ "now" : "હમણાં",
+ "quarter" : {
+ "past" : "{0} ત્રિમાસિક પહેલાં",
+ "current" : "આ ત્રિમાસિક",
+ "previous" : "છેલ્લું ત્રિમાસિક",
+ "future" : "{0} ત્રિમાસિકમાં",
+ "next" : "પછીનું ત્રિમાસિક"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} ત્રિમાસિકમાં",
+ "next" : "પછીનું ત્રિમાસિક",
+ "previous" : "છેલ્લું ત્રિમાસિક",
+ "current" : "આ ત્રિમાસિક",
+ "past" : "{0} ત્રિમાસિક પહેલાં"
+ },
+ "minute" : {
+ "past" : "{0} મિનિટ પહેલાં",
+ "future" : "{0} મિનિટમાં",
+ "current" : "આ મિનિટ"
+ },
+ "year" : {
+ "next" : "આવતા વર્ષે",
+ "future" : "{0} વર્ષમાં",
+ "current" : "આ વર્ષે",
+ "past" : "{0} વર્ષ પહેલાં",
+ "previous" : "ગયા વર્ષે"
+ },
+ "second" : {
+ "past" : "{0} સેકંડ પહેલાં",
+ "current" : "હમણાં",
+ "future" : "{0} સેકંડમાં"
+ },
+ "hour" : {
+ "past" : "{0} કલાક પહેલાં",
+ "current" : "આ કલાક",
+ "future" : "{0} કલાકમાં"
+ },
+ "now" : "હમણાં",
+ "month" : {
+ "previous" : "ગયા મહિને",
+ "next" : "આવતા મહિને",
+ "past" : "{0} મહિના પહેલાં",
+ "current" : "આ મહિને",
+ "future" : "{0} મહિનામાં"
+ },
+ "week" : {
+ "previous" : "ગયા અઠવાડિયે",
+ "current" : "આ અઠવાડિયે",
+ "next" : "આવતા અઠવાડિયે",
+ "past" : "{0} અઠ. પહેલાં",
+ "future" : "{0} અઠ. માં"
+ },
+ "day" : {
+ "next" : "આવતીકાલે",
+ "past" : "{0} દિવસ પહેલાં",
+ "future" : "{0} દિવસમાં",
+ "previous" : "ગઈકાલે",
+ "current" : "આજે"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/he.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/he.json
new file mode 100644
index 00000000..27e809de
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/he.json
@@ -0,0 +1,358 @@
+{
+ "long" : {
+ "second" : {
+ "past" : {
+ "one" : "לפני שנייה",
+ "two" : "לפני שתי שניות",
+ "other" : "לפני {0} שניות"
+ },
+ "current" : "עכשיו",
+ "future" : {
+ "two" : "בעוד שתי שניות",
+ "other" : "בעוד {0} שניות",
+ "one" : "בעוד שנייה"
+ }
+ },
+ "hour" : {
+ "current" : "בשעה זו",
+ "past" : {
+ "one" : "לפני שעה",
+ "two" : "לפני שעתיים",
+ "other" : "לפני {0} שעות"
+ },
+ "future" : {
+ "one" : "בעוד שעה",
+ "two" : "בעוד שעתיים",
+ "other" : "בעוד {0} שעות"
+ }
+ },
+ "quarter" : {
+ "next" : "הרבעון הבא",
+ "current" : "רבעון זה",
+ "future" : {
+ "one" : "ברבעון הבא",
+ "two" : "בעוד שני רבעונים",
+ "other" : "בעוד {0} רבעונים"
+ },
+ "previous" : "הרבעון הקודם",
+ "past" : {
+ "one" : "ברבעון הקודם",
+ "two" : "לפני שני רבעונים",
+ "other" : "לפני {0} רבעונים"
+ }
+ },
+ "year" : {
+ "future" : {
+ "one" : "בעוד שנה",
+ "many" : "בעוד {0} שנה",
+ "other" : "בעוד {0} שנים",
+ "two" : "בעוד שנתיים"
+ },
+ "next" : "השנה הבאה",
+ "past" : {
+ "other" : "לפני {0} שנים",
+ "two" : "לפני שנתיים",
+ "many" : "לפני {0} שנה",
+ "one" : "לפני שנה"
+ },
+ "previous" : "השנה שעברה",
+ "current" : "השנה"
+ },
+ "day" : {
+ "future" : {
+ "other" : "בעוד {0} ימים",
+ "two" : "בעוד יומיים",
+ "one" : "בעוד יום {0}"
+ },
+ "previous" : "אתמול",
+ "current" : "היום",
+ "next" : "מחר",
+ "past" : {
+ "other" : "לפני {0} ימים",
+ "one" : "לפני יום {0}",
+ "two" : "לפני יומיים"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "other" : "בעוד {0} דקות",
+ "two" : "בעוד שתי דקות",
+ "one" : "בעוד דקה"
+ },
+ "past" : {
+ "two" : "לפני שתי דקות",
+ "one" : "לפני דקה",
+ "other" : "לפני {0} דקות"
+ },
+ "current" : "בדקה זו"
+ },
+ "month" : {
+ "next" : "החודש הבא",
+ "past" : {
+ "two" : "לפני חודשיים",
+ "other" : "לפני {0} חודשים",
+ "one" : "לפני חודש"
+ },
+ "previous" : "החודש שעבר",
+ "current" : "החודש",
+ "future" : {
+ "two" : "בעוד חודשיים",
+ "one" : "בעוד חודש",
+ "other" : "בעוד {0} חודשים"
+ }
+ },
+ "week" : {
+ "next" : "השבוע הבא",
+ "current" : "השבוע",
+ "past" : {
+ "two" : "לפני שבועיים",
+ "one" : "לפני שבוע",
+ "other" : "לפני {0} שבועות"
+ },
+ "previous" : "השבוע שעבר",
+ "future" : {
+ "two" : "בעוד שבועיים",
+ "other" : "בעוד {0} שבועות",
+ "one" : "בעוד שבוע"
+ }
+ },
+ "now" : "עכשיו"
+ },
+ "short" : {
+ "week" : {
+ "previous" : "השבוע שעבר",
+ "next" : "השבוע הבא",
+ "current" : "השבוע",
+ "past" : {
+ "other" : "לפני {0} שב׳",
+ "two" : "לפני שבועיים",
+ "one" : "לפני שב׳"
+ },
+ "future" : {
+ "other" : "בעוד {0} שב׳",
+ "one" : "בעוד שב׳",
+ "two" : "בעוד שבועיים"
+ }
+ },
+ "month" : {
+ "next" : "החודש הבא",
+ "current" : "החודש",
+ "previous" : "החודש שעבר",
+ "future" : {
+ "two" : "בעוד חודשיים",
+ "one" : "בעוד חודש",
+ "other" : "בעוד {0} חודשים"
+ },
+ "past" : {
+ "two" : "לפני חודשיים",
+ "one" : "לפני חודש",
+ "other" : "לפני {0} חודשים"
+ }
+ },
+ "minute" : {
+ "current" : "בדקה זו",
+ "past" : {
+ "other" : "לפני {0} דק׳",
+ "one" : "לפני דקה"
+ },
+ "future" : {
+ "two" : "בעוד שתי דק׳",
+ "other" : "בעוד {0} דק׳",
+ "one" : "בעוד דקה"
+ }
+ },
+ "second" : {
+ "past" : {
+ "two" : "לפני שתי שנ׳",
+ "one" : "לפני שנ׳",
+ "other" : "לפני {0} שנ׳"
+ },
+ "future" : {
+ "one" : "בעוד שנ׳",
+ "two" : "בעוד שתי שנ׳",
+ "other" : "בעוד {0} שנ׳"
+ },
+ "current" : "עכשיו"
+ },
+ "now" : "עכשיו",
+ "day" : {
+ "next" : "מחר",
+ "previous" : "אתמול",
+ "current" : "היום",
+ "past" : {
+ "other" : "לפני {0} ימים",
+ "one" : "אתמול",
+ "two" : "לפני יומיים"
+ },
+ "future" : {
+ "one" : "מחר",
+ "two" : "בעוד יומיים",
+ "other" : "בעוד {0} ימים"
+ }
+ },
+ "year" : {
+ "current" : "השנה",
+ "past" : {
+ "two" : "לפני שנתיים",
+ "other" : "לפני {0} שנים",
+ "one" : "לפני שנה",
+ "many" : "לפני {0} שנה"
+ },
+ "previous" : "השנה שעברה",
+ "next" : "השנה הבאה",
+ "future" : {
+ "many" : "בעוד {0} שנה",
+ "one" : "בעוד שנה",
+ "two" : "בעוד שנתיים",
+ "other" : "בעוד {0} שנים"
+ }
+ },
+ "quarter" : {
+ "future" : {
+ "one" : "ברבע׳ הבא",
+ "two" : "בעוד שני רבע׳",
+ "other" : "בעוד {0} רבע׳"
+ },
+ "next" : "הרבעון הבא",
+ "current" : "רבעון זה",
+ "past" : {
+ "one" : "ברבע׳ הקודם",
+ "two" : "לפני שני רבע׳",
+ "other" : "לפני {0} רבע׳"
+ },
+ "previous" : "הרבעון הקודם"
+ },
+ "hour" : {
+ "current" : "בשעה זו",
+ "past" : {
+ "other" : "לפני {0} שע׳",
+ "two" : "לפני שעתיים",
+ "one" : "לפני שעה"
+ },
+ "future" : {
+ "other" : "בעוד {0} שע׳",
+ "one" : "בעוד שעה",
+ "two" : "בעוד שעתיים"
+ }
+ }
+ },
+ "narrow" : {
+ "year" : {
+ "current" : "השנה",
+ "past" : {
+ "one" : "לפני שנה",
+ "two" : "לפני שנתיים",
+ "other" : "לפני {0} שנים",
+ "many" : "לפני {0} שנה"
+ },
+ "future" : {
+ "one" : "בעוד שנה",
+ "two" : "בעוד שנתיים",
+ "many" : "בעוד {0} שנה",
+ "other" : "בעוד {0} שנים"
+ },
+ "next" : "השנה הבאה",
+ "previous" : "השנה שעברה"
+ },
+ "minute" : {
+ "current" : "בדקה זו",
+ "future" : {
+ "other" : "בעוד {0} דק׳",
+ "two" : "בעוד שתי דק׳",
+ "one" : "בעוד דקה"
+ },
+ "past" : {
+ "two" : "לפני שתי דק׳",
+ "other" : "לפני {0} דק׳",
+ "one" : "לפני דקה"
+ }
+ },
+ "day" : {
+ "previous" : "אתמול",
+ "current" : "היום",
+ "next" : "מחר",
+ "past" : {
+ "two" : "לפני יומיים",
+ "other" : "לפני {0} ימים",
+ "one" : "אתמול"
+ },
+ "future" : {
+ "two" : "בעוד יומיים",
+ "one" : "מחר",
+ "other" : "בעוד {0} ימים"
+ }
+ },
+ "second" : {
+ "future" : {
+ "two" : "בעוד שתי שנ׳",
+ "one" : "בעוד שנ׳",
+ "other" : "בעוד {0} שנ׳"
+ },
+ "past" : {
+ "one" : "לפני שנ׳",
+ "two" : "לפני שתי שנ׳",
+ "other" : "לפני {0} שנ׳"
+ },
+ "current" : "עכשיו"
+ },
+ "now" : "עכשיו",
+ "month" : {
+ "future" : {
+ "one" : "בעוד חו׳",
+ "other" : "בעוד {0} חו׳",
+ "two" : "בעוד חודשיים"
+ },
+ "current" : "החודש",
+ "next" : "החודש הבא",
+ "previous" : "החודש שעבר",
+ "past" : {
+ "other" : "לפני {0} חו׳",
+ "one" : "לפני חו׳",
+ "two" : "לפני חודשיים"
+ }
+ },
+ "week" : {
+ "past" : {
+ "two" : "לפני שבועיים",
+ "one" : "לפני שבוע",
+ "other" : "לפני {0} שב׳"
+ },
+ "previous" : "השבוע שעבר",
+ "future" : {
+ "two" : "בעוד שבועיים",
+ "one" : "בעוד שב׳",
+ "other" : "בעוד {0} שב׳"
+ },
+ "next" : "השבוע הבא",
+ "current" : "השבוע"
+ },
+ "quarter" : {
+ "next" : "הרבעון הבא",
+ "current" : "רבעון זה",
+ "previous" : "הרבעון הקודם",
+ "past" : {
+ "two" : "לפני שני רבע׳",
+ "other" : "לפני {0} רבע׳",
+ "one" : "ברבע׳ הקודם"
+ },
+ "future" : {
+ "one" : "ברבע׳ הבא",
+ "two" : "בעוד שני רבע׳",
+ "other" : "בעוד {0} רבע׳"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "one" : "לפני שעה",
+ "two" : "לפני שעתיים",
+ "other" : "לפני {0} שע׳"
+ },
+ "future" : {
+ "one" : "בעוד שעה",
+ "other" : "בעוד {0} שע׳",
+ "two" : "בעוד שעתיים"
+ },
+ "current" : "בשעה זו"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hi.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hi.json
new file mode 100644
index 00000000..5d6566e1
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hi.json
@@ -0,0 +1,170 @@
+{
+ "long" : {
+ "year" : {
+ "future" : "{0} वर्ष में",
+ "past" : "{0} वर्ष पहले",
+ "next" : "अगला वर्ष",
+ "previous" : "पिछला वर्ष",
+ "current" : "इस वर्ष"
+ },
+ "week" : {
+ "current" : "इस सप्ताह",
+ "next" : "अगला सप्ताह",
+ "future" : "{0} सप्ताह में",
+ "previous" : "पिछला सप्ताह",
+ "past" : "{0} सप्ताह पहले"
+ },
+ "quarter" : {
+ "next" : "अगली तिमाही",
+ "past" : "{0} तिमाही पहले",
+ "current" : "इस तिमाही",
+ "future" : {
+ "other" : "{0} तिमाहियों में",
+ "one" : "{0} तिमाही में"
+ },
+ "previous" : "अंतिम तिमाही"
+ },
+ "minute" : {
+ "future" : "{0} मिनट में",
+ "past" : "{0} मिनट पहले",
+ "current" : "यह मिनट"
+ },
+ "month" : {
+ "current" : "इस माह",
+ "next" : "अगला माह",
+ "previous" : "पिछला माह",
+ "future" : "{0} माह में",
+ "past" : "{0} माह पहले"
+ },
+ "second" : {
+ "future" : "{0} सेकंड में",
+ "current" : "अब",
+ "past" : "{0} सेकंड पहले"
+ },
+ "day" : {
+ "next" : "कल",
+ "past" : "{0} दिन पहले",
+ "previous" : "कल",
+ "current" : "आज",
+ "future" : "{0} दिन में"
+ },
+ "now" : "अब",
+ "hour" : {
+ "future" : "{0} घंटे में",
+ "current" : "यह घंटा",
+ "past" : "{0} घंटे पहले"
+ }
+ },
+ "narrow" : {
+ "now" : "अब",
+ "minute" : {
+ "future" : "{0} मि॰ में",
+ "current" : "यह मिनट",
+ "past" : "{0} मि॰ पहले"
+ },
+ "year" : {
+ "previous" : "पिछला वर्ष",
+ "current" : "इस वर्ष",
+ "next" : "अगला वर्ष",
+ "past" : "{0} वर्ष पहले",
+ "future" : "{0} वर्ष में"
+ },
+ "second" : {
+ "current" : "अब",
+ "future" : "{0} से॰ में",
+ "past" : "{0} से॰ पहले"
+ },
+ "hour" : {
+ "past" : "{0} घं॰ पहले",
+ "future" : "{0} घं॰ में",
+ "current" : "यह घंटा"
+ },
+ "month" : {
+ "current" : "इस माह",
+ "previous" : "पिछला माह",
+ "past" : "{0} माह पहले",
+ "next" : "अगला माह",
+ "future" : "{0} माह में"
+ },
+ "quarter" : {
+ "previous" : "अंतिम तिमाही",
+ "current" : "इस तिमाही",
+ "past" : "{0} ति॰ पहले",
+ "future" : "{0} ति॰ में",
+ "next" : "अगली तिमाही"
+ },
+ "week" : {
+ "future" : "{0} सप्ताह में",
+ "current" : "इस सप्ताह",
+ "past" : "{0} सप्ताह पहले",
+ "previous" : "पिछला सप्ताह",
+ "next" : "अगला सप्ताह"
+ },
+ "day" : {
+ "current" : "आज",
+ "future" : "{0} दिन में",
+ "next" : "कल",
+ "past" : "{0} दिन पहले",
+ "previous" : "कल"
+ }
+ },
+ "short" : {
+ "month" : {
+ "future" : "{0} माह में",
+ "previous" : "पिछला माह",
+ "next" : "अगला माह",
+ "past" : "{0} माह पहले",
+ "current" : "इस माह"
+ },
+ "now" : "अब",
+ "day" : {
+ "next" : "कल",
+ "current" : "आज",
+ "previous" : "कल",
+ "past" : "{0} दिन पहले",
+ "future" : "{0} दिन में"
+ },
+ "year" : {
+ "current" : "इस वर्ष",
+ "future" : "{0} वर्ष में",
+ "previous" : "पिछला वर्ष",
+ "next" : "अगला वर्ष",
+ "past" : "{0} वर्ष पहले"
+ },
+ "hour" : {
+ "future" : "{0} घं॰ में",
+ "past" : "{0} घं॰ पहले",
+ "current" : "यह घंटा"
+ },
+ "minute" : {
+ "current" : "यह मिनट",
+ "past" : "{0} मि॰ पहले",
+ "future" : "{0} मि॰ में"
+ },
+ "second" : {
+ "past" : "{0} से॰ पहले",
+ "future" : "{0} से॰ में",
+ "current" : "अब"
+ },
+ "quarter" : {
+ "current" : "इस तिमाही",
+ "next" : "अगली तिमाही",
+ "past" : {
+ "other" : "{0} तिमाहियों पहले",
+ "one" : "{0} तिमाही पहले"
+ },
+ "future" : {
+ "other" : "{0} तिमाहियों में",
+ "one" : "{0} तिमाही में"
+ },
+ "previous" : "अंतिम तिमाही"
+ },
+ "week" : {
+ "next" : "अगला सप्ताह",
+ "past" : "{0} सप्ताह पहले",
+ "current" : "इस सप्ताह",
+ "previous" : "पिछला सप्ताह",
+ "future" : "{0} सप्ताह में"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hr.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hr.json
new file mode 100644
index 00000000..b59263f0
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hr.json
@@ -0,0 +1,227 @@
+{
+ "narrow" : {
+ "year" : {
+ "future" : "za {0} g.",
+ "previous" : "prošle g.",
+ "current" : "ove g.",
+ "next" : "sljedeće g.",
+ "past" : "prije {0} g."
+ },
+ "day" : {
+ "current" : "danas",
+ "past" : "prije {0} d",
+ "next" : "sutra",
+ "previous" : "jučer",
+ "future" : "za {0} d"
+ },
+ "quarter" : {
+ "future" : "za {0} kv.",
+ "previous" : "prošli kv.",
+ "current" : "ovaj kv.",
+ "next" : "sljedeći kv.",
+ "past" : "prije {0} kv."
+ },
+ "week" : {
+ "next" : "sljedeći tj.",
+ "past" : "prije {0} tj.",
+ "current" : "ovaj tj.",
+ "future" : "za {0} tj.",
+ "previous" : "prošli tj."
+ },
+ "hour" : {
+ "current" : "ovaj sat",
+ "past" : "prije {0} h",
+ "future" : "za {0} h"
+ },
+ "month" : {
+ "past" : "prije {0} mj.",
+ "previous" : "prošli mj.",
+ "current" : "ovaj mj.",
+ "future" : "za {0} mj.",
+ "next" : "sljedeći mj."
+ },
+ "minute" : {
+ "current" : "ova minuta",
+ "past" : "prije {0} min",
+ "future" : "za {0} min"
+ },
+ "second" : {
+ "past" : "prije {0} s",
+ "future" : "za {0} s",
+ "current" : "sad"
+ },
+ "now" : "sad"
+ },
+ "short" : {
+ "hour" : {
+ "current" : "ovaj sat",
+ "past" : "prije {0} h",
+ "future" : "za {0} h"
+ },
+ "now" : "sad",
+ "quarter" : {
+ "current" : "ovaj kv.",
+ "future" : "za {0} kv.",
+ "past" : "prije {0} kv.",
+ "next" : "sljedeći kv.",
+ "previous" : "prošli kv."
+ },
+ "day" : {
+ "current" : "danas",
+ "past" : {
+ "other" : "prije {0} dana",
+ "one" : "prije {0} dan"
+ },
+ "future" : {
+ "other" : "za {0} dana",
+ "one" : "za {0} dan"
+ },
+ "next" : "sutra",
+ "previous" : "jučer"
+ },
+ "week" : {
+ "current" : "ovaj tj.",
+ "future" : "za {0} tj.",
+ "previous" : "prošli tj.",
+ "next" : "sljedeći tj.",
+ "past" : "prije {0} tj."
+ },
+ "minute" : {
+ "future" : "za {0} min",
+ "past" : "prije {0} min",
+ "current" : "ova minuta"
+ },
+ "second" : {
+ "future" : "za {0} s",
+ "current" : "sad",
+ "past" : "prije {0} s"
+ },
+ "month" : {
+ "future" : "za {0} mj.",
+ "previous" : "prošli mj.",
+ "next" : "sljedeći mj.",
+ "current" : "ovaj mj.",
+ "past" : "prije {0} mj."
+ },
+ "year" : {
+ "next" : "sljedeće god.",
+ "previous" : "prošle god.",
+ "current" : "ove god.",
+ "future" : "za {0} g.",
+ "past" : "prije {0} g."
+ }
+ },
+ "long" : {
+ "second" : {
+ "future" : {
+ "few" : "za {0} sekunde",
+ "one" : "za {0} sekundu",
+ "other" : "za {0} sekundi"
+ },
+ "current" : "sad",
+ "past" : {
+ "one" : "prije {0} sekundu",
+ "other" : "prije {0} sekundi",
+ "few" : "prije {0} sekunde"
+ }
+ },
+ "year" : {
+ "previous" : "prošle godine",
+ "next" : "sljedeće godine",
+ "past" : {
+ "few" : "prije {0} godine",
+ "one" : "prije {0} godinu",
+ "other" : "prije {0} godina"
+ },
+ "current" : "ove godine",
+ "future" : {
+ "other" : "za {0} godina",
+ "few" : "za {0} godine",
+ "one" : "za {0} godinu"
+ }
+ },
+ "day" : {
+ "previous" : "jučer",
+ "future" : {
+ "one" : "za {0} dan",
+ "other" : "za {0} dana"
+ },
+ "past" : {
+ "other" : "prije {0} dana",
+ "one" : "prije {0} dan"
+ },
+ "current" : "danas",
+ "next" : "sutra"
+ },
+ "now" : "sad",
+ "month" : {
+ "past" : {
+ "few" : "prije {0} mjeseca",
+ "one" : "prije {0} mjesec",
+ "other" : "prije {0} mjeseci"
+ },
+ "next" : "sljedeći mjesec",
+ "previous" : "prošli mjesec",
+ "future" : {
+ "other" : "za {0} mjeseci",
+ "one" : "za {0} mjesec",
+ "few" : "za {0} mjeseca"
+ },
+ "current" : "ovaj mjesec"
+ },
+ "week" : {
+ "past" : {
+ "one" : "prije {0} tjedan",
+ "few" : "prije {0} tjedna",
+ "other" : "prije {0} tjedana"
+ },
+ "future" : {
+ "one" : "za {0} tjedan",
+ "few" : "za {0} tjedna",
+ "other" : "za {0} tjedana"
+ },
+ "current" : "ovaj tjedan",
+ "previous" : "prošli tjedan",
+ "next" : "sljedeći tjedan"
+ },
+ "quarter" : {
+ "past" : {
+ "one" : "prije {0} kvartal",
+ "other" : "prije {0} kvartala"
+ },
+ "current" : "ovaj kvartal",
+ "future" : {
+ "one" : "za {0} kvartal",
+ "other" : "za {0} kvartala"
+ },
+ "previous" : "prošli kvartal",
+ "next" : "sljedeći kvartal"
+ },
+ "hour" : {
+ "past" : {
+ "one" : "prije {0} sat",
+ "few" : "prije {0} sata",
+ "other" : "prije {0} sati"
+ },
+ "future" : {
+ "other" : "za {0} sati",
+ "few" : "za {0} sata",
+ "one" : "za {0} sat"
+ },
+ "current" : "ovaj sat"
+ },
+ "minute" : {
+ "current" : "ova minuta",
+ "future" : {
+ "few" : "za {0} minute",
+ "other" : "za {0} minuta",
+ "one" : "za {0} minutu"
+ },
+ "past" : {
+ "few" : "prije {0} minute",
+ "other" : "prije {0} minuta",
+ "one" : "prije {0} minutu"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hsb.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hsb.json
new file mode 100644
index 00000000..74914adb
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hsb.json
@@ -0,0 +1,237 @@
+{
+ "narrow" : {
+ "week" : {
+ "next" : "přichodny tydźeń",
+ "past" : "před {0} tydź.",
+ "future" : "za {0} tydź.",
+ "previous" : "zašły tydźeń",
+ "current" : "tutón tydźeń"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "před {0} kw.",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "future" : "za {0} kw."
+ },
+ "minute" : {
+ "past" : "před {0} m",
+ "future" : "za {0} m",
+ "current" : "this minute"
+ },
+ "day" : {
+ "previous" : "wčera",
+ "next" : "jutře",
+ "current" : "dźensa",
+ "future" : "za {0} d",
+ "past" : "před {0} d"
+ },
+ "year" : {
+ "current" : "lětsa",
+ "previous" : "loni",
+ "next" : "klětu",
+ "past" : "před {0} l.",
+ "future" : "za {0} l."
+ },
+ "second" : {
+ "future" : "za {0} s",
+ "current" : "now",
+ "past" : "před {0} s"
+ },
+ "month" : {
+ "past" : "před {0} měs.",
+ "future" : "za {0} měs.",
+ "next" : "přichodny měsac",
+ "current" : "tutón měsac",
+ "previous" : "zašły měsac"
+ },
+ "now" : "now",
+ "hour" : {
+ "future" : "za {0} h",
+ "current" : "this hour",
+ "past" : "před {0} h"
+ }
+ },
+ "short" : {
+ "year" : {
+ "next" : "klětu",
+ "future" : "za {0} l.",
+ "current" : "lětsa",
+ "past" : "před {0} l.",
+ "previous" : "loni"
+ },
+ "quarter" : {
+ "future" : "za {0} kwart.",
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "před {0} kwart."
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "před {0} sek.",
+ "future" : "za {0} sek."
+ },
+ "minute" : {
+ "past" : "před {0} min.",
+ "future" : "za {0} min.",
+ "current" : "this minute"
+ },
+ "day" : {
+ "past" : "před {0} dnj.",
+ "next" : "jutře",
+ "future" : {
+ "one" : "za {0} dźeń",
+ "few" : "za {0} dny",
+ "other" : "za {0} dnj."
+ },
+ "previous" : "wčera",
+ "current" : "dźensa"
+ },
+ "month" : {
+ "previous" : "zašły měsac",
+ "next" : "přichodny měsac",
+ "past" : "před {0} měs.",
+ "current" : "tutón měsac",
+ "future" : "za {0} měs."
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "před {0} hodź.",
+ "future" : "za {0} hodź."
+ },
+ "now" : "now",
+ "week" : {
+ "previous" : "zašły tydźeń",
+ "current" : "tutón tydźeń",
+ "next" : "přichodny tydźeń",
+ "past" : "před {0} tydź.",
+ "future" : "za {0} tydź."
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "past" : {
+ "two" : "před {0} kwartalomaj",
+ "one" : "před {0} kwartalom",
+ "other" : "před {0} kwartalemi"
+ },
+ "future" : {
+ "one" : "za {0} kwartal",
+ "few" : "za {0} kwartale",
+ "other" : "za {0} kwartalow",
+ "two" : "za {0} kwartalej"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "two" : "za {0} hodźinje",
+ "few" : "za {0} hodźiny",
+ "one" : "za {0} hodźinu",
+ "other" : "za {0} hodźin"
+ },
+ "current" : "this hour",
+ "past" : {
+ "two" : "před {0} hodźinomaj",
+ "other" : "před {0} hodźinami",
+ "one" : "před {0} hodźinu"
+ }
+ },
+ "day" : {
+ "previous" : "wčera",
+ "current" : "dźensa",
+ "next" : "jutře",
+ "past" : {
+ "one" : "před {0} dnjom",
+ "two" : "před {0} dnjomaj",
+ "other" : "před {0} dnjemi"
+ },
+ "future" : {
+ "one" : "za {0} dźeń",
+ "two" : "za {0} dnjej",
+ "other" : "za {0} dnjow",
+ "few" : "za {0} dny"
+ }
+ },
+ "month" : {
+ "next" : "přichodny měsac",
+ "previous" : "zašły měsac",
+ "current" : "tutón měsac",
+ "future" : {
+ "one" : "za {0} měsac",
+ "other" : "za {0} měsacow",
+ "two" : "za {0} měsacaj",
+ "few" : "za {0} měsacy"
+ },
+ "past" : {
+ "one" : "před {0} měsacom",
+ "two" : "před {0} měsacomaj",
+ "other" : "před {0} měsacami"
+ }
+ },
+ "second" : {
+ "future" : {
+ "other" : "za {0} sekundow",
+ "two" : "za {0} sekundźe",
+ "one" : "za {0} sekundu",
+ "few" : "za {0} sekundy"
+ },
+ "current" : "now",
+ "past" : {
+ "other" : "před {0} sekundami",
+ "one" : "před {0} sekundu",
+ "two" : "před {0} sekundomaj"
+ }
+ },
+ "now" : "now",
+ "week" : {
+ "current" : "tutón tydźeń",
+ "previous" : "zašły tydźeń",
+ "next" : "přichodny tydźeń",
+ "past" : {
+ "two" : "před {0} tydźenjomaj",
+ "one" : "před {0} tydźenjom",
+ "other" : "před {0} tydźenjemi"
+ },
+ "future" : {
+ "two" : "za {0} tydźenjej",
+ "one" : "za {0} tydźeń",
+ "few" : "za {0} tydźenje",
+ "other" : "za {0} tydźenjow"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "other" : "před {0} minutami",
+ "one" : "před {0} minutu",
+ "two" : "před {0} minutomaj"
+ },
+ "future" : {
+ "one" : "za {0} minutu",
+ "few" : "za {0} minuty",
+ "two" : "za {0} minuće",
+ "other" : "za {0} minutow"
+ },
+ "current" : "this minute"
+ },
+ "year" : {
+ "next" : "klětu",
+ "previous" : "loni",
+ "past" : {
+ "one" : "před {0} lětom",
+ "two" : "před {0} lětomaj",
+ "other" : "před {0} lětami"
+ },
+ "current" : "lětsa",
+ "future" : {
+ "other" : "za {0} lět",
+ "two" : "za {0} lěće",
+ "few" : "za {0} lěta",
+ "one" : "za {0} lěto"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hu.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hu.json
new file mode 100644
index 00000000..2ee74c5b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hu.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "holnap",
+ "future" : "{0} nap múlva",
+ "previous" : "tegnap",
+ "current" : "ma",
+ "past" : "{0} napja"
+ },
+ "quarter" : {
+ "next" : "következő negyedév",
+ "past" : "{0} negyedévvel ezelőtt",
+ "future" : "{0} n.év múlva",
+ "previous" : "előző negyedév",
+ "current" : "ez a negyedév"
+ },
+ "hour" : {
+ "future" : "{0} óra múlva",
+ "current" : "ebben az órában",
+ "past" : "{0} órával ezelőtt"
+ },
+ "year" : {
+ "next" : "következő év",
+ "past" : "{0} évvel ezelőtt",
+ "current" : "ez az év",
+ "previous" : "előző év",
+ "future" : "{0} év múlva"
+ },
+ "now" : "most",
+ "month" : {
+ "current" : "ez a hónap",
+ "future" : "{0} hónap múlva",
+ "past" : "{0} hónappal ezelőtt",
+ "next" : "következő hónap",
+ "previous" : "előző hónap"
+ },
+ "week" : {
+ "previous" : "előző hét",
+ "current" : "ez a hét",
+ "past" : "{0} héttel ezelőtt",
+ "future" : "{0} hét múlva",
+ "next" : "következő hét"
+ },
+ "minute" : {
+ "future" : "{0} perc múlva",
+ "current" : "ebben a percben",
+ "past" : "{0} perccel ezelőtt"
+ },
+ "second" : {
+ "current" : "most",
+ "past" : "{0} másodperccel ezelőtt",
+ "future" : "{0} másodperc múlva"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "tegnap",
+ "current" : "ma",
+ "next" : "holnap",
+ "past" : "{0} nappal ezelőtt",
+ "future" : "{0} nap múlva"
+ },
+ "week" : {
+ "current" : "ez a hét",
+ "future" : "{0} hét múlva",
+ "past" : "{0} héttel ezelőtt",
+ "previous" : "előző hét",
+ "next" : "következő hét"
+ },
+ "minute" : {
+ "current" : "ebben a percben",
+ "past" : "{0} perccel ezelőtt",
+ "future" : "{0} perc múlva"
+ },
+ "month" : {
+ "future" : "{0} hónap múlva",
+ "next" : "következő hónap",
+ "previous" : "előző hónap",
+ "current" : "ez a hónap",
+ "past" : "{0} hónappal ezelőtt"
+ },
+ "hour" : {
+ "current" : "ebben az órában",
+ "past" : "{0} órával ezelőtt",
+ "future" : "{0} óra múlva"
+ },
+ "year" : {
+ "past" : "{0} évvel ezelőtt",
+ "future" : "{0} év múlva",
+ "previous" : "előző év",
+ "next" : "következő év",
+ "current" : "ez az év"
+ },
+ "second" : {
+ "past" : "{0} másodperccel ezelőtt",
+ "future" : "{0} másodperc múlva",
+ "current" : "most"
+ },
+ "now" : "most",
+ "quarter" : {
+ "past" : "{0} negyedévvel ezelőtt",
+ "current" : "ez a negyedév",
+ "previous" : "előző negyedév",
+ "future" : "{0} negyedév múlva",
+ "next" : "következő negyedév"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} negyedév múlva",
+ "next" : "következő negyedév",
+ "previous" : "előző negyedév",
+ "current" : "ez a negyedév",
+ "past" : "{0} negyedévvel ezelőtt"
+ },
+ "minute" : {
+ "future" : "{0} perc múlva",
+ "current" : "ebben a percben",
+ "past" : "{0} perccel ezelőtt"
+ },
+ "year" : {
+ "next" : "következő év",
+ "future" : "{0} év múlva",
+ "current" : "ez az év",
+ "past" : "{0} évvel ezelőtt",
+ "previous" : "előző év"
+ },
+ "second" : {
+ "future" : "{0} másodperc múlva",
+ "current" : "most",
+ "past" : "{0} másodperccel ezelőtt"
+ },
+ "hour" : {
+ "past" : "{0} órával ezelőtt",
+ "current" : "ebben az órában",
+ "future" : "{0} óra múlva"
+ },
+ "now" : "most",
+ "month" : {
+ "previous" : "előző hónap",
+ "next" : "következő hónap",
+ "past" : "{0} hónappal ezelőtt",
+ "current" : "ez a hónap",
+ "future" : "{0} hónap múlva"
+ },
+ "week" : {
+ "previous" : "előző hét",
+ "current" : "ez a hét",
+ "next" : "következő hét",
+ "past" : "{0} héttel ezelőtt",
+ "future" : "{0} hét múlva"
+ },
+ "day" : {
+ "next" : "holnap",
+ "past" : "{0} napja",
+ "future" : "{0} nap múlva",
+ "previous" : "tegnap",
+ "current" : "ma"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hy.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hy.json
new file mode 100644
index 00000000..585bc2cc
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/hy.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "վաղը",
+ "future" : "{0} օրից",
+ "previous" : "երեկ",
+ "current" : "այսօր",
+ "past" : "{0} օր առաջ"
+ },
+ "quarter" : {
+ "next" : "հաջորդ եռամսյակ",
+ "past" : "{0} եռմս առաջ",
+ "future" : "{0} եռմս-ից",
+ "previous" : "նախորդ եռամսյակ",
+ "current" : "այս եռամսյակ"
+ },
+ "hour" : {
+ "past" : "{0} ժ առաջ",
+ "current" : "այս ժամին",
+ "future" : "{0} ժ-ից"
+ },
+ "year" : {
+ "next" : "հաջորդ տարի",
+ "past" : "{0} տ առաջ",
+ "current" : "այս տարի",
+ "previous" : "նախորդ տարի",
+ "future" : "{0} տարուց"
+ },
+ "now" : "հիմա",
+ "month" : {
+ "current" : "այս ամիս",
+ "future" : "{0} ամսից",
+ "past" : "{0} ամիս առաջ",
+ "next" : "հաջորդ ամիս",
+ "previous" : "անցյալ ամիս"
+ },
+ "week" : {
+ "previous" : "նախորդ շաբաթ",
+ "current" : "այս շաբաթ",
+ "past" : "{0} շաբ առաջ",
+ "future" : "{0} շաբ անց",
+ "next" : "հաջորդ շաբաթ"
+ },
+ "minute" : {
+ "current" : "այս րոպեին",
+ "future" : "{0} ր-ից",
+ "past" : "{0} ր առաջ"
+ },
+ "second" : {
+ "current" : "հիմա",
+ "past" : "{0} վ առաջ",
+ "future" : "{0} վ-ից"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "երեկ",
+ "current" : "այսօր",
+ "next" : "վաղը",
+ "past" : "{0} օր առաջ",
+ "future" : "{0} օրից"
+ },
+ "week" : {
+ "current" : "այս շաբաթ",
+ "future" : "{0} շաբաթից",
+ "past" : "{0} շաբաթ առաջ",
+ "previous" : "նախորդ շաբաթ",
+ "next" : "հաջորդ շաբաթ"
+ },
+ "minute" : {
+ "current" : "այս րոպեին",
+ "past" : "{0} րոպե առաջ",
+ "future" : "{0} րոպեից"
+ },
+ "month" : {
+ "future" : "{0} ամսից",
+ "next" : "հաջորդ ամիս",
+ "previous" : "նախորդ ամիս",
+ "current" : "այս ամիս",
+ "past" : "{0} ամիս առաջ"
+ },
+ "hour" : {
+ "past" : "{0} ժամ առաջ",
+ "current" : "այս ժամին",
+ "future" : "{0} ժամից"
+ },
+ "year" : {
+ "past" : "{0} տարի առաջ",
+ "future" : "{0} տարուց",
+ "previous" : "նախորդ տարի",
+ "next" : "հաջորդ տարի",
+ "current" : "այս տարի"
+ },
+ "second" : {
+ "future" : "{0} վայրկյանից",
+ "current" : "հիմա",
+ "past" : "{0} վայրկյան առաջ"
+ },
+ "now" : "հիմա",
+ "quarter" : {
+ "past" : "{0} եռամսյակ առաջ",
+ "current" : "այս եռամսյակ",
+ "previous" : "նախորդ եռամսյակ",
+ "future" : "{0} եռամսյակից",
+ "next" : "հաջորդ եռամսյակ"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} եռմս-ից",
+ "next" : "հաջորդ եռամսյակ",
+ "previous" : "նախորդ եռամսյակ",
+ "current" : "այս եռամսյակ",
+ "past" : "{0} եռմս առաջ"
+ },
+ "minute" : {
+ "past" : "{0} ր առաջ",
+ "current" : "այս րոպեին",
+ "future" : "{0} ր-ից"
+ },
+ "year" : {
+ "next" : "հաջորդ տարի",
+ "future" : "{0} տարուց",
+ "current" : "այս տարի",
+ "past" : "{0} տ առաջ",
+ "previous" : "նախորդ տարի"
+ },
+ "second" : {
+ "current" : "հիմա",
+ "past" : "{0} վրկ առաջ",
+ "future" : "{0} վրկ-ից"
+ },
+ "hour" : {
+ "current" : "այս ժամին",
+ "past" : "{0} ժ առաջ",
+ "future" : "{0} ժ-ից"
+ },
+ "now" : "հիմա",
+ "month" : {
+ "previous" : "անցյալ ամիս",
+ "next" : "հաջորդ ամիս",
+ "past" : "{0} ամիս առաջ",
+ "current" : "այս ամիս",
+ "future" : "{0} ամսից"
+ },
+ "week" : {
+ "previous" : "նախորդ շաբաթ",
+ "current" : "այս շաբաթ",
+ "next" : "հաջորդ շաբաթ",
+ "past" : "{0} շաբ առաջ",
+ "future" : "{0} շաբ-ից"
+ },
+ "day" : {
+ "next" : "վաղը",
+ "past" : "{0} օր առաջ",
+ "future" : "{0} օրից",
+ "previous" : "երեկ",
+ "current" : "այսօր"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/id.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/id.json
new file mode 100644
index 00000000..360765f0
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/id.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "besok",
+ "future" : "dalam {0} h",
+ "previous" : "kemarin",
+ "current" : "hari ini",
+ "past" : "{0} h lalu"
+ },
+ "quarter" : {
+ "next" : "kuartal berikutnya",
+ "past" : "{0} krtl. lalu",
+ "future" : "dlm {0} krtl.",
+ "previous" : "Kuartal lalu",
+ "current" : "kuartal ini"
+ },
+ "hour" : {
+ "future" : "dalam {0} jam",
+ "current" : "jam ini",
+ "past" : "{0} jam lalu"
+ },
+ "year" : {
+ "next" : "tahun depan",
+ "past" : "{0} thn lalu",
+ "current" : "tahun ini",
+ "previous" : "tahun lalu",
+ "future" : "dlm {0} thn"
+ },
+ "now" : "sekarang",
+ "month" : {
+ "current" : "bulan ini",
+ "future" : "dlm {0} bln",
+ "past" : "{0} bln lalu",
+ "next" : "bulan berikutnya",
+ "previous" : "bulan lalu"
+ },
+ "week" : {
+ "previous" : "minggu lalu",
+ "current" : "minggu ini",
+ "past" : "{0} mgg lalu",
+ "future" : "dlm {0} mgg",
+ "next" : "minggu depan"
+ },
+ "minute" : {
+ "future" : "dlm {0} mnt",
+ "current" : "menit ini",
+ "past" : "{0} mnt lalu"
+ },
+ "second" : {
+ "current" : "sekarang",
+ "future" : "dlm {0} dtk",
+ "past" : "{0} dtk lalu"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "kemarin",
+ "current" : "hari ini",
+ "next" : "besok",
+ "past" : "{0} hari yang lalu",
+ "future" : "dalam {0} hari"
+ },
+ "week" : {
+ "current" : "minggu ini",
+ "future" : "dalam {0} minggu",
+ "past" : "{0} minggu yang lalu",
+ "previous" : "minggu lalu",
+ "next" : "minggu depan"
+ },
+ "minute" : {
+ "past" : "{0} menit yang lalu",
+ "current" : "menit ini",
+ "future" : "dalam {0} menit"
+ },
+ "month" : {
+ "future" : "dalam {0} bulan",
+ "next" : "bulan berikutnya",
+ "previous" : "bulan lalu",
+ "current" : "bulan ini",
+ "past" : "{0} bulan yang lalu"
+ },
+ "hour" : {
+ "past" : "{0} jam yang lalu",
+ "future" : "dalam {0} jam",
+ "current" : "jam ini"
+ },
+ "year" : {
+ "past" : "{0} tahun yang lalu",
+ "future" : "dalam {0} tahun",
+ "previous" : "tahun lalu",
+ "next" : "tahun depan",
+ "current" : "tahun ini"
+ },
+ "second" : {
+ "past" : "{0} detik yang lalu",
+ "current" : "sekarang",
+ "future" : "dalam {0} detik"
+ },
+ "now" : "sekarang",
+ "quarter" : {
+ "past" : "{0} kuartal yang lalu",
+ "current" : "kuartal ini",
+ "previous" : "Kuartal lalu",
+ "future" : "dalam {0} kuartal",
+ "next" : "kuartal berikutnya"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "dlm {0} krtl.",
+ "next" : "kuartal berikutnya",
+ "previous" : "Kuartal lalu",
+ "current" : "kuartal ini",
+ "past" : "{0} krtl. lalu"
+ },
+ "minute" : {
+ "past" : "{0} mnt lalu",
+ "current" : "menit ini",
+ "future" : "dlm {0} mnt"
+ },
+ "year" : {
+ "next" : "tahun depan",
+ "future" : "dlm {0} thn",
+ "current" : "tahun ini",
+ "past" : "{0} thn lalu",
+ "previous" : "tahun lalu"
+ },
+ "second" : {
+ "current" : "sekarang",
+ "past" : "{0} dtk lalu",
+ "future" : "dlm {0} dtk"
+ },
+ "hour" : {
+ "current" : "jam ini",
+ "past" : "{0} jam lalu",
+ "future" : "dalam {0} jam"
+ },
+ "now" : "sekarang",
+ "month" : {
+ "previous" : "bulan lalu",
+ "next" : "bulan berikutnya",
+ "past" : "{0} bln lalu",
+ "current" : "bulan ini",
+ "future" : "dlm {0} bln"
+ },
+ "week" : {
+ "previous" : "minggu lalu",
+ "current" : "minggu ini",
+ "next" : "minggu depan",
+ "past" : "{0} mgg lalu",
+ "future" : "dlm {0} mgg"
+ },
+ "day" : {
+ "next" : "besok",
+ "past" : "{0} h lalu",
+ "future" : "dalam {0} h",
+ "previous" : "kemarin",
+ "current" : "hari ini"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/is.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/is.json
new file mode 100644
index 00000000..9fd856b6
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/is.json
@@ -0,0 +1,230 @@
+{
+ "short" : {
+ "now" : "núna",
+ "month" : {
+ "future" : "eftir {0} mán.",
+ "next" : "í næsta mán.",
+ "current" : "í þessum mán.",
+ "past" : "fyrir {0} mán.",
+ "previous" : "í síðasta mán."
+ },
+ "second" : {
+ "past" : "fyrir {0} sek.",
+ "future" : "eftir {0} sek.",
+ "current" : "núna"
+ },
+ "year" : {
+ "next" : "á næsta ári",
+ "current" : "á þessu ári",
+ "past" : {
+ "other" : "fyrir {0} árum",
+ "one" : "fyrir {0} ári"
+ },
+ "previous" : "á síðasta ári",
+ "future" : "eftir {0} ár"
+ },
+ "week" : {
+ "previous" : "í síðustu viku",
+ "current" : "í þessari viku",
+ "past" : {
+ "other" : "fyrir {0} vikum",
+ "one" : "fyrir {0} viku"
+ },
+ "future" : "eftir {0} vikur",
+ "next" : "í næstu viku"
+ },
+ "day" : {
+ "previous" : "í gær",
+ "current" : "í dag",
+ "past" : {
+ "one" : "fyrir {0} degi",
+ "other" : "fyrir {0} dögum"
+ },
+ "next" : "á morgun",
+ "future" : {
+ "one" : "eftir {0} dag",
+ "other" : "eftir {0} daga"
+ }
+ },
+ "hour" : {
+ "past" : "fyrir {0} klst.",
+ "future" : "eftir {0} klst.",
+ "current" : "þessa stundina"
+ },
+ "quarter" : {
+ "next" : "næsti ársfj.",
+ "previous" : "síðasti ársfj.",
+ "past" : "fyrir {0} ársfj.",
+ "future" : "eftir {0} ársfj.",
+ "current" : "þessi ársfj."
+ },
+ "minute" : {
+ "future" : "eftir {0} mín.",
+ "current" : "á þessari mínútu",
+ "past" : "fyrir {0} mín."
+ }
+ },
+ "long" : {
+ "minute" : {
+ "past" : {
+ "one" : "fyrir {0} mínútu",
+ "other" : "fyrir {0} mínútum"
+ },
+ "future" : {
+ "one" : "eftir {0} mínútu",
+ "other" : "eftir {0} mínútur"
+ },
+ "current" : "á þessari mínútu"
+ },
+ "year" : {
+ "future" : "eftir {0} ár",
+ "current" : "á þessu ári",
+ "previous" : "á síðasta ári",
+ "next" : "á næsta ári",
+ "past" : {
+ "one" : "fyrir {0} ári",
+ "other" : "fyrir {0} árum"
+ }
+ },
+ "quarter" : {
+ "past" : {
+ "one" : "fyrir {0} ársfjórðungi",
+ "other" : "fyrir {0} ársfjórðungum"
+ },
+ "next" : "næsti ársfjórðungur",
+ "previous" : "síðasti ársfjórðungur",
+ "future" : {
+ "one" : "eftir {0} ársfjórðung",
+ "other" : "eftir {0} ársfjórðunga"
+ },
+ "current" : "þessi ársfjórðungur"
+ },
+ "week" : {
+ "future" : {
+ "one" : "eftir {0} viku",
+ "other" : "eftir {0} vikur"
+ },
+ "past" : {
+ "other" : "fyrir {0} vikum",
+ "one" : "fyrir {0} viku"
+ },
+ "previous" : "í síðustu viku",
+ "current" : "í þessari viku",
+ "next" : "í næstu viku"
+ },
+ "hour" : {
+ "past" : {
+ "one" : "fyrir {0} klukkustund",
+ "other" : "fyrir {0} klukkustundum"
+ },
+ "future" : {
+ "other" : "eftir {0} klukkustundir",
+ "one" : "eftir {0} klukkustund"
+ },
+ "current" : "þessa stundina"
+ },
+ "month" : {
+ "previous" : "í síðasta mánuði",
+ "next" : "í næsta mánuði",
+ "future" : {
+ "one" : "eftir {0} mánuð",
+ "other" : "eftir {0} mánuði"
+ },
+ "past" : {
+ "one" : "fyrir {0} mánuði",
+ "other" : "fyrir {0} mánuðum"
+ },
+ "current" : "í þessum mánuði"
+ },
+ "second" : {
+ "current" : "núna",
+ "past" : {
+ "one" : "fyrir {0} sekúndu",
+ "other" : "fyrir {0} sekúndum"
+ },
+ "future" : {
+ "other" : "eftir {0} sekúndur",
+ "one" : "eftir {0} sekúndu"
+ }
+ },
+ "now" : "núna",
+ "day" : {
+ "next" : "á morgun",
+ "future" : {
+ "other" : "eftir {0} daga",
+ "one" : "eftir {0} dag"
+ },
+ "previous" : "í gær",
+ "current" : "í dag",
+ "past" : {
+ "one" : "fyrir {0} degi",
+ "other" : "fyrir {0} dögum"
+ }
+ }
+ },
+ "narrow" : {
+ "day" : {
+ "previous" : "í gær",
+ "future" : {
+ "other" : "+{0} daga",
+ "one" : "+{0} dag"
+ },
+ "past" : {
+ "one" : "-{0} degi",
+ "other" : "-{0} dögum"
+ },
+ "current" : "í dag",
+ "next" : "á morgun"
+ },
+ "week" : {
+ "past" : {
+ "other" : "-{0} vikur",
+ "one" : "-{0} viku"
+ },
+ "future" : {
+ "one" : "+{0} viku",
+ "other" : "+{0} vikur"
+ },
+ "current" : "í þessari viku",
+ "previous" : "í síðustu viku",
+ "next" : "í næstu viku"
+ },
+ "quarter" : {
+ "previous" : "síðasti ársfj.",
+ "future" : "eftir {0} ársfj.",
+ "next" : "næsti ársfj.",
+ "past" : "fyrir {0} ársfj.",
+ "current" : "þessi ársfj."
+ },
+ "month" : {
+ "future" : "eftir {0} mán.",
+ "current" : "í þessum mán.",
+ "previous" : "í síðasta mán.",
+ "past" : "fyrir {0} mán.",
+ "next" : "í næsta mán."
+ },
+ "hour" : {
+ "past" : "-{0} klst.",
+ "future" : "+{0} klst.",
+ "current" : "þessa stundina"
+ },
+ "year" : {
+ "past" : "fyrir {0} árum",
+ "previous" : "á síðasta ári",
+ "next" : "á næsta ári",
+ "future" : "eftir {0} ár",
+ "current" : "á þessu ári"
+ },
+ "now" : "núna",
+ "minute" : {
+ "past" : "-{0} mín.",
+ "future" : "+{0} mín.",
+ "current" : "á þessari mínútu"
+ },
+ "second" : {
+ "current" : "núna",
+ "past" : "-{0} sek.",
+ "future" : "+{0} sek."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/it.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/it.json
new file mode 100644
index 00000000..10116e01
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/it.json
@@ -0,0 +1,251 @@
+{
+ "long" : {
+ "day" : {
+ "current" : "oggi",
+ "next" : "domani",
+ "past" : {
+ "one" : "{0} giorno fa",
+ "other" : "{0} giorni fa"
+ },
+ "future" : {
+ "one" : "tra {0} giorno",
+ "other" : "tra {0} giorni"
+ },
+ "previous" : "ieri"
+ },
+ "minute" : {
+ "future" : {
+ "one" : "tra {0} minuto",
+ "other" : "tra {0} minuti"
+ },
+ "current" : "questo minuto",
+ "past" : {
+ "other" : "{0} minuti fa",
+ "one" : "{0} minuto fa"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "tra {0} secondo",
+ "other" : "tra {0} secondi"
+ },
+ "current" : "ora",
+ "past" : {
+ "one" : "{0} secondo fa",
+ "other" : "{0} secondi fa"
+ }
+ },
+ "week" : {
+ "future" : {
+ "other" : "tra {0} settimane",
+ "one" : "tra {0} settimana"
+ },
+ "previous" : "settimana scorsa",
+ "current" : "questa settimana",
+ "next" : "settimana prossima",
+ "past" : {
+ "one" : "{0} settimana fa",
+ "other" : "{0} settimane fa"
+ }
+ },
+ "now" : "ora",
+ "month" : {
+ "past" : {
+ "other" : "{0} mesi fa",
+ "one" : "{0} mese fa"
+ },
+ "current" : "questo mese",
+ "future" : {
+ "other" : "tra {0} mesi",
+ "one" : "tra {0} mese"
+ },
+ "previous" : "mese scorso",
+ "next" : "mese prossimo"
+ },
+ "quarter" : {
+ "future" : {
+ "other" : "tra {0} trimestri",
+ "one" : "tra {0} trimestre"
+ },
+ "previous" : "trimestre scorso",
+ "next" : "trimestre prossimo",
+ "current" : "questo trimestre",
+ "past" : {
+ "other" : "{0} trimestri fa",
+ "one" : "{0} trimestre fa"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} ore fa",
+ "one" : "{0} ora fa"
+ },
+ "current" : "quest’ora",
+ "future" : {
+ "one" : "tra {0} ora",
+ "other" : "tra {0} ore"
+ }
+ },
+ "year" : {
+ "current" : "quest’anno",
+ "next" : "anno prossimo",
+ "previous" : "anno scorso",
+ "future" : {
+ "one" : "tra {0} anno",
+ "other" : "tra {0} anni"
+ },
+ "past" : {
+ "one" : "{0} anno fa",
+ "other" : "{0} anni fa"
+ }
+ }
+ },
+ "narrow" : {
+ "second" : {
+ "future" : "tra {0} s",
+ "current" : "ora",
+ "past" : "{0}s fa"
+ },
+ "month" : {
+ "past" : {
+ "other" : "{0} mesi fa",
+ "one" : "{0} mese fa"
+ },
+ "future" : {
+ "one" : "tra {0} mese",
+ "other" : "tra {0} mesi"
+ },
+ "next" : "mese prossimo",
+ "current" : "questo mese",
+ "previous" : "mese scorso"
+ },
+ "quarter" : {
+ "current" : "questo trimestre",
+ "next" : "trimestre prossimo",
+ "past" : "{0} trim. fa",
+ "future" : "tra {0} trim.",
+ "previous" : "trimestre scorso"
+ },
+ "now" : "ora",
+ "week" : {
+ "past" : "{0} sett. fa",
+ "current" : "questa settimana",
+ "next" : "settimana prossima",
+ "future" : "tra {0} sett.",
+ "previous" : "settimana scorsa"
+ },
+ "year" : {
+ "previous" : "anno scorso",
+ "current" : "quest’anno",
+ "past" : {
+ "one" : "{0} anno fa",
+ "other" : "{0} anni fa"
+ },
+ "future" : {
+ "one" : "tra {0} anno",
+ "other" : "tra {0} anni"
+ },
+ "next" : "anno prossimo"
+ },
+ "day" : {
+ "current" : "oggi",
+ "future" : {
+ "one" : "tra {0}g",
+ "other" : "tra {0} gg"
+ },
+ "past" : {
+ "other" : "{0} gg fa",
+ "one" : "{0}g fa"
+ },
+ "next" : "domani",
+ "previous" : "ieri"
+ },
+ "hour" : {
+ "future" : "tra {0} h",
+ "current" : "quest’ora",
+ "past" : "{0}h fa"
+ },
+ "minute" : {
+ "future" : "tra {0} min",
+ "current" : "questo minuto",
+ "past" : "{0} min fa"
+ }
+ },
+ "short" : {
+ "month" : {
+ "next" : "mese prossimo",
+ "past" : {
+ "one" : "{0} mese fa",
+ "other" : "{0} mesi fa"
+ },
+ "current" : "questo mese",
+ "previous" : "mese scorso",
+ "future" : {
+ "one" : "tra {0} mese",
+ "other" : "tra {0} mesi"
+ }
+ },
+ "now" : "ora",
+ "day" : {
+ "next" : "domani",
+ "current" : "oggi",
+ "previous" : "ieri",
+ "past" : {
+ "other" : "{0}gg fa",
+ "one" : "{0}g fa"
+ },
+ "future" : {
+ "one" : "tra {0} g",
+ "other" : "tra {0} gg"
+ }
+ },
+ "year" : {
+ "previous" : "anno scorso",
+ "current" : "quest’anno",
+ "next" : "anno prossimo",
+ "past" : {
+ "other" : "{0} anni fa",
+ "one" : "{0} anno fa"
+ },
+ "future" : {
+ "one" : "tra {0} anno",
+ "other" : "tra {0} anni"
+ }
+ },
+ "hour" : {
+ "past" : "{0}h fa",
+ "future" : "tra {0}h",
+ "current" : "quest’ora"
+ },
+ "minute" : {
+ "future" : "tra {0} min",
+ "current" : "questo minuto",
+ "past" : "{0} min fa"
+ },
+ "second" : {
+ "past" : {
+ "one" : "{0}s fa",
+ "other" : "{0} sec. fa"
+ },
+ "future" : {
+ "one" : "tra {0}s",
+ "other" : "tra {0} sec."
+ },
+ "current" : "ora"
+ },
+ "quarter" : {
+ "current" : "questo trimestre",
+ "future" : "tra {0} trim.",
+ "previous" : "trimestre scorso",
+ "next" : "trimestre prossimo",
+ "past" : "{0} trim. fa"
+ },
+ "week" : {
+ "future" : "tra {0} sett.",
+ "previous" : "settimana scorsa",
+ "next" : "settimana prossima",
+ "past" : "{0} sett. fa",
+ "current" : "questa settimana"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ja.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ja.json
new file mode 100644
index 00000000..2e673c06
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ja.json
@@ -0,0 +1,161 @@
+{
+ "long" : {
+ "hour" : {
+ "future" : "{0} 時間後",
+ "past" : "{0} 時間前",
+ "current" : "1 時間以内"
+ },
+ "second" : {
+ "future" : "{0} 秒後",
+ "past" : "{0} 秒前",
+ "current" : "今"
+ },
+ "week" : {
+ "next" : "翌週",
+ "current" : "今週",
+ "previous" : "先週",
+ "future" : "{0} 週間後",
+ "past" : "{0} 週間前"
+ },
+ "minute" : {
+ "current" : "1 分以内",
+ "past" : "{0} 分前",
+ "future" : "{0} 分後"
+ },
+ "year" : {
+ "current" : "今年",
+ "past" : "{0} 年前",
+ "future" : "{0} 年後",
+ "previous" : "昨年",
+ "next" : "翌年"
+ },
+ "quarter" : {
+ "next" : "翌四半期",
+ "current" : "今四半期",
+ "future" : "{0} 四半期後",
+ "previous" : "前四半期",
+ "past" : "{0} 四半期前"
+ },
+ "month" : {
+ "previous" : "先月",
+ "future" : "{0} か月後",
+ "current" : "今月",
+ "next" : "翌月",
+ "past" : "{0} か月前"
+ },
+ "day" : {
+ "next" : "明日",
+ "past" : "{0} 日前",
+ "current" : "今日",
+ "future" : "{0} 日後",
+ "previous" : "昨日"
+ },
+ "now" : "今"
+ },
+ "narrow" : {
+ "week" : {
+ "current" : "今週",
+ "next" : "翌週",
+ "past" : "{0}週間前",
+ "previous" : "先週",
+ "future" : "{0}週間後"
+ },
+ "minute" : {
+ "current" : "1 分以内",
+ "past" : "{0}分前",
+ "future" : "{0}分後"
+ },
+ "month" : {
+ "current" : "今月",
+ "previous" : "先月",
+ "past" : "{0}か月前",
+ "next" : "翌月",
+ "future" : "{0}か月後"
+ },
+ "now" : "今",
+ "year" : {
+ "current" : "今年",
+ "next" : "翌年",
+ "past" : "{0}年前",
+ "future" : "{0}年後",
+ "previous" : "昨年"
+ },
+ "hour" : {
+ "future" : "{0}時間後",
+ "current" : "1 時間以内",
+ "past" : "{0}時間前"
+ },
+ "quarter" : {
+ "previous" : "前四半期",
+ "current" : "今四半期",
+ "past" : "{0}四半期前",
+ "future" : "{0}四半期後",
+ "next" : "翌四半期"
+ },
+ "second" : {
+ "past" : "{0}秒前",
+ "current" : "今",
+ "future" : "{0}秒後"
+ },
+ "day" : {
+ "past" : "{0}日前",
+ "current" : "今日",
+ "future" : "{0}日後",
+ "previous" : "昨日",
+ "next" : "明日"
+ }
+ },
+ "short" : {
+ "month" : {
+ "previous" : "先月",
+ "current" : "今月",
+ "next" : "翌月",
+ "past" : "{0} か月前",
+ "future" : "{0} か月後"
+ },
+ "now" : "今",
+ "day" : {
+ "next" : "明日",
+ "current" : "今日",
+ "previous" : "昨日",
+ "past" : "{0} 日前",
+ "future" : "{0} 日後"
+ },
+ "year" : {
+ "current" : "今年",
+ "future" : "{0} 年後",
+ "previous" : "昨年",
+ "next" : "翌年",
+ "past" : "{0} 年前"
+ },
+ "hour" : {
+ "current" : "1 時間以内",
+ "past" : "{0} 時間前",
+ "future" : "{0} 時間後"
+ },
+ "minute" : {
+ "past" : "{0} 分前",
+ "future" : "{0} 分後",
+ "current" : "1 分以内"
+ },
+ "second" : {
+ "current" : "今",
+ "past" : "{0} 秒前",
+ "future" : "{0} 秒後"
+ },
+ "quarter" : {
+ "future" : "{0} 四半期後",
+ "previous" : "前四半期",
+ "next" : "翌四半期",
+ "past" : "{0} 四半期前",
+ "current" : "今四半期"
+ },
+ "week" : {
+ "next" : "翌週",
+ "past" : "{0} 週間前",
+ "current" : "今週",
+ "previous" : "先週",
+ "future" : "{0} 週間後"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/jgo.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/jgo.json
new file mode 100644
index 00000000..26f333b0
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/jgo.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "now" : "now",
+ "week" : {
+ "next" : "next week",
+ "current" : "this week",
+ "past" : "Ɛ́ gɛ́ mɔ {0} ŋgap-mbi",
+ "future" : "Nǔu ŋgap-mbi {0}",
+ "previous" : "last week"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "future" : "+{0} Q",
+ "current" : "this quarter",
+ "past" : "-{0} Q"
+ },
+ "day" : {
+ "future" : "Nǔu lɛ́Ꞌ {0}",
+ "previous" : "yesterday",
+ "next" : "tomorrow",
+ "past" : "Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}",
+ "current" : "lɔꞋɔ"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "ɛ́ gɛ mɔ́ {0} háwa",
+ "future" : "nǔu háwa {0}"
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "now",
+ "past" : "-{0} s"
+ },
+ "month" : {
+ "past" : "ɛ́ gɛ́ mɔ́ pɛsaŋ {0}",
+ "future" : "Nǔu {0} saŋ",
+ "current" : "this month",
+ "previous" : "last month",
+ "next" : "next month"
+ },
+ "minute" : {
+ "future" : "nǔu {0} minút",
+ "current" : "this minute",
+ "past" : "ɛ́ gɛ́ mɔ́ minút {0}"
+ },
+ "year" : {
+ "next" : "next year",
+ "future" : "Nǔu ŋguꞋ {0}",
+ "previous" : "last year",
+ "current" : "this year",
+ "past" : "Ɛ́gɛ́ mɔ́ ŋguꞋ {0}"
+ }
+ },
+ "long" : {
+ "day" : {
+ "future" : "Nǔu lɛ́Ꞌ {0}",
+ "past" : "Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}",
+ "current" : "lɔꞋɔ",
+ "next" : "tomorrow",
+ "previous" : "yesterday"
+ },
+ "second" : {
+ "past" : "-{0} s",
+ "current" : "now",
+ "future" : "+{0} s"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "future" : "+{0} Q",
+ "past" : "-{0} Q"
+ },
+ "month" : {
+ "future" : "Nǔu {0} saŋ",
+ "previous" : "last month",
+ "past" : "ɛ́ gɛ́ mɔ́ pɛsaŋ {0}",
+ "next" : "next month",
+ "current" : "this month"
+ },
+ "week" : {
+ "future" : "Nǔu ŋgap-mbi {0}",
+ "past" : "Ɛ́ gɛ́ mɔ {0} ŋgap-mbi",
+ "current" : "this week",
+ "previous" : "last week",
+ "next" : "next week"
+ },
+ "hour" : {
+ "future" : "nǔu háwa {0}",
+ "current" : "this hour",
+ "past" : "ɛ́ gɛ mɔ́ {0} háwa"
+ },
+ "minute" : {
+ "future" : "nǔu {0} minút",
+ "past" : "ɛ́ gɛ́ mɔ́ minút {0}",
+ "current" : "this minute"
+ },
+ "now" : "now",
+ "year" : {
+ "future" : "Nǔu ŋguꞋ {0}",
+ "next" : "next year",
+ "past" : "Ɛ́gɛ́ mɔ́ ŋguꞋ {0}",
+ "previous" : "last year",
+ "current" : "this year"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "future" : "nǔu háwa {0}",
+ "current" : "this hour",
+ "past" : "ɛ́ gɛ mɔ́ {0} háwa"
+ },
+ "now" : "now",
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "previous" : "last quarter"
+ },
+ "day" : {
+ "current" : "lɔꞋɔ",
+ "past" : "Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}",
+ "future" : "Nǔu lɛ́Ꞌ {0}",
+ "next" : "tomorrow",
+ "previous" : "yesterday"
+ },
+ "week" : {
+ "current" : "this week",
+ "past" : "Ɛ́ gɛ́ mɔ {0} ŋgap-mbi",
+ "future" : "Nǔu ŋgap-mbi {0}",
+ "next" : "next week",
+ "previous" : "last week"
+ },
+ "minute" : {
+ "past" : "ɛ́ gɛ́ mɔ́ minút {0}",
+ "future" : "nǔu {0} minút",
+ "current" : "this minute"
+ },
+ "second" : {
+ "past" : "-{0} s",
+ "current" : "now",
+ "future" : "+{0} s"
+ },
+ "month" : {
+ "current" : "this month",
+ "future" : "Nǔu {0} saŋ",
+ "previous" : "last month",
+ "next" : "next month",
+ "past" : "ɛ́ gɛ́ mɔ́ pɛsaŋ {0}"
+ },
+ "year" : {
+ "future" : "Nǔu ŋguꞋ {0}",
+ "previous" : "last year",
+ "next" : "next year",
+ "current" : "this year",
+ "past" : "Ɛ́gɛ́ mɔ́ ŋguꞋ {0}"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ka.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ka.json
new file mode 100644
index 00000000..8537adbc
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ka.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "current" : "ამ კვარტალში",
+ "past" : "{0} კვარტ. წინ",
+ "next" : "შემდეგ კვარტალში",
+ "future" : "{0} კვარტალში",
+ "previous" : "გასულ კვარტალში"
+ },
+ "day" : {
+ "next" : "ხვალ",
+ "previous" : "გუშინ",
+ "future" : "{0} დღეში",
+ "past" : "{0} დღის წინ",
+ "current" : "დღეს"
+ },
+ "year" : {
+ "past" : "{0} წლის წინ",
+ "previous" : "გასულ წელს",
+ "future" : "{0} წელში",
+ "next" : "მომავალ წელს",
+ "current" : "ამ წელს"
+ },
+ "minute" : {
+ "current" : "ამ წუთში",
+ "past" : "{0} წთ წინ",
+ "future" : "{0} წუთში"
+ },
+ "now" : "ახლა",
+ "week" : {
+ "current" : "ამ კვირაში",
+ "previous" : "გასულ კვირაში",
+ "past" : "{0} კვირის წინ",
+ "next" : "მომავალ კვირაში",
+ "future" : "{0} კვირაში"
+ },
+ "second" : {
+ "current" : "ახლა",
+ "future" : "{0} წამში",
+ "past" : "{0} წმ წინ"
+ },
+ "month" : {
+ "future" : "{0} თვეში",
+ "current" : "ამ თვეში",
+ "past" : "{0} თვის წინ",
+ "previous" : "გასულ თვეს",
+ "next" : "მომავალ თვეს"
+ },
+ "hour" : {
+ "past" : "{0} სთ წინ",
+ "future" : "{0} საათში",
+ "current" : "ამ საათში"
+ }
+ },
+ "long" : {
+ "year" : {
+ "next" : "მომავალ წელს",
+ "previous" : "გასულ წელს",
+ "past" : "{0} წლის წინ",
+ "future" : "{0} წელიწადში",
+ "current" : "ამ წელს"
+ },
+ "now" : "ახლა",
+ "quarter" : {
+ "next" : "შემდეგ კვარტალში",
+ "past" : "{0} კვარტალის წინ",
+ "future" : "{0} კვარტალში",
+ "current" : "ამ კვარტალში",
+ "previous" : "გასულ კვარტალში"
+ },
+ "month" : {
+ "past" : "{0} თვის წინ",
+ "next" : "მომავალ თვეს",
+ "previous" : "გასულ თვეს",
+ "future" : "{0} თვეში",
+ "current" : "ამ თვეში"
+ },
+ "second" : {
+ "current" : "ახლა",
+ "future" : "{0} წამში",
+ "past" : "{0} წამის წინ"
+ },
+ "week" : {
+ "past" : "{0} კვირის წინ",
+ "previous" : "გასულ კვირაში",
+ "future" : "{0} კვირაში",
+ "next" : "მომავალ კვირაში",
+ "current" : "ამ კვირაში"
+ },
+ "day" : {
+ "next" : "ხვალ",
+ "future" : "{0} დღეში",
+ "previous" : "გუშინ",
+ "current" : "დღეს",
+ "past" : "{0} დღის წინ"
+ },
+ "minute" : {
+ "current" : "ამ წუთში",
+ "future" : "{0} წუთში",
+ "past" : "{0} წუთის წინ"
+ },
+ "hour" : {
+ "past" : "{0} საათის წინ",
+ "future" : "{0} საათში",
+ "current" : "ამ საათში"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} წთ წინ",
+ "future" : "{0} წუთში",
+ "current" : "ამ წუთში"
+ },
+ "week" : {
+ "future" : "{0} კვირაში",
+ "previous" : "გასულ კვირაში",
+ "next" : "მომავალ კვირაში",
+ "current" : "ამ კვირაში",
+ "past" : "{0} კვ. წინ"
+ },
+ "year" : {
+ "current" : "ამ წელს",
+ "previous" : "გასულ წელს",
+ "future" : "{0} წელში",
+ "past" : "{0} წლის წინ",
+ "next" : "მომავალ წელს"
+ },
+ "month" : {
+ "next" : "მომავალ თვეს",
+ "past" : "{0} თვის წინ",
+ "future" : "{0} თვეში",
+ "previous" : "გასულ თვეს",
+ "current" : "ამ თვეში"
+ },
+ "quarter" : {
+ "next" : "შემდეგ კვარტალში",
+ "past" : "{0} კვარტ. წინ",
+ "previous" : "გასულ კვარტალში",
+ "current" : "ამ კვარტალში",
+ "future" : "{0} კვარტალში"
+ },
+ "day" : {
+ "current" : "დღეს",
+ "previous" : "გუშინ",
+ "past" : "{0} დღის წინ",
+ "next" : "ხვალ",
+ "future" : "{0} დღეში"
+ },
+ "hour" : {
+ "past" : "{0} სთ წინ",
+ "future" : "{0} საათში",
+ "current" : "ამ საათში"
+ },
+ "second" : {
+ "past" : "{0} წმ წინ",
+ "future" : "{0} წამში",
+ "current" : "ახლა"
+ },
+ "now" : "ახლა"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kea.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kea.json
new file mode 100644
index 00000000..d7504d4f
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kea.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "manha",
+ "future" : "di li {0} dia",
+ "previous" : "onti",
+ "current" : "oji",
+ "past" : "a ten {0} dia"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "a ten {0} trim.",
+ "future" : "di li {0} trim.",
+ "previous" : "last quarter",
+ "current" : "this quarter"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "a ten {0} ora",
+ "future" : "di li {0} ora"
+ },
+ "year" : {
+ "next" : "prósimu anu",
+ "past" : "a ten {0} anu",
+ "current" : "es anu li",
+ "previous" : "anu pasadu",
+ "future" : "di li {0} anu"
+ },
+ "now" : "now",
+ "month" : {
+ "current" : "es mes li",
+ "future" : "di li {0} mes",
+ "past" : "a ten {0} mes",
+ "next" : "prósimu mes",
+ "previous" : "mes pasadu"
+ },
+ "week" : {
+ "previous" : "simana pasadu",
+ "current" : "es simana li",
+ "past" : "a ten {0} sim.",
+ "future" : "di li {0} sim.",
+ "next" : "prósimu simana"
+ },
+ "minute" : {
+ "past" : "a ten {0} m",
+ "future" : "di li {0} m",
+ "current" : "this minute"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "a ten {0} s",
+ "future" : "di li {0} s"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "onti",
+ "current" : "oji",
+ "next" : "manha",
+ "past" : "a ten {0} dia",
+ "future" : "di li {0} dia"
+ },
+ "week" : {
+ "current" : "es simana li",
+ "future" : "di li {0} simana",
+ "past" : "a ten {0} simana",
+ "previous" : "simana pasadu",
+ "next" : "prósimu simana"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : "a ten {0} minutu",
+ "future" : "di li {0} minutu"
+ },
+ "month" : {
+ "future" : "di li {0} mes",
+ "next" : "prósimu mes",
+ "previous" : "mes pasadu",
+ "current" : "es mes li",
+ "past" : "a ten {0} mes"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "a ten {0} ora",
+ "future" : "di li {0} ora"
+ },
+ "year" : {
+ "past" : "a ten {0} anu",
+ "future" : "di li {0} anu",
+ "previous" : "anu pasadu",
+ "next" : "prósimu anu",
+ "current" : "es anu li"
+ },
+ "second" : {
+ "future" : "di li {0} sigundu",
+ "current" : "now",
+ "past" : "a ten {0} sigundu"
+ },
+ "now" : "now",
+ "quarter" : {
+ "past" : "a ten {0} trimestri",
+ "current" : "this quarter",
+ "previous" : "last quarter",
+ "future" : "di li {0} trimestri",
+ "next" : "next quarter"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "di li {0} trim.",
+ "next" : "next quarter",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "a ten {0} trim."
+ },
+ "minute" : {
+ "past" : "a ten {0} min",
+ "current" : "this minute",
+ "future" : "di li {0} min"
+ },
+ "year" : {
+ "next" : "prósimu anu",
+ "future" : "di li {0} anu",
+ "current" : "es anu li",
+ "past" : "a ten {0} anu",
+ "previous" : "anu pasadu"
+ },
+ "second" : {
+ "future" : "di li {0} sig",
+ "current" : "now",
+ "past" : "a ten {0} sig"
+ },
+ "hour" : {
+ "future" : "di li {0} ora",
+ "current" : "this hour",
+ "past" : "a ten {0} ora"
+ },
+ "now" : "now",
+ "month" : {
+ "previous" : "mes pasadu",
+ "next" : "prósimu mes",
+ "past" : "a ten {0} mes",
+ "current" : "es mes li",
+ "future" : "di li {0} mes"
+ },
+ "week" : {
+ "previous" : "simana pasadu",
+ "current" : "es simana li",
+ "next" : "prósimu simana",
+ "past" : "a ten {0} sim.",
+ "future" : "di li {0} sim."
+ },
+ "day" : {
+ "next" : "manha",
+ "past" : "a ten {0} dia",
+ "future" : "di li {0} dia",
+ "previous" : "onti",
+ "current" : "oji"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kk.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kk.json
new file mode 100644
index 00000000..bce9c114
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kk.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "ертең",
+ "future" : "{0} күннен кейін",
+ "previous" : "кеше",
+ "current" : "бүгін",
+ "past" : "{0} күн бұрын"
+ },
+ "quarter" : {
+ "next" : "келесі тоқсан",
+ "past" : "{0} тқс. бұрын",
+ "future" : "{0} тқс. кейін",
+ "previous" : "өткен тоқсан",
+ "current" : "осы тоқсан"
+ },
+ "hour" : {
+ "current" : "осы сағат",
+ "past" : "{0} сағ. бұрын",
+ "future" : "{0} сағ. кейін"
+ },
+ "year" : {
+ "next" : "келесі жыл",
+ "past" : "{0} ж. бұрын",
+ "current" : "биылғы жыл",
+ "previous" : "былтырғы жыл",
+ "future" : "{0} ж. кейін"
+ },
+ "now" : "қазір",
+ "month" : {
+ "current" : "осы ай",
+ "future" : "{0} айдан кейін",
+ "past" : "{0} ай бұрын",
+ "next" : "келесі ай",
+ "previous" : "өткен ай"
+ },
+ "week" : {
+ "previous" : "өткен апта",
+ "current" : "осы апта",
+ "past" : "{0} ап. бұрын",
+ "future" : "{0} ап. кейін",
+ "next" : "келесі апта"
+ },
+ "minute" : {
+ "past" : "{0} мин. бұрын",
+ "current" : "осы минут",
+ "future" : "{0} мин. кейін"
+ },
+ "second" : {
+ "future" : "{0} сек. кейін",
+ "current" : "қазір",
+ "past" : "{0} сек. бұрын"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "кеше",
+ "current" : "бүгін",
+ "next" : "ертең",
+ "past" : "{0} күн бұрын",
+ "future" : "{0} күннен кейін"
+ },
+ "week" : {
+ "current" : "осы апта",
+ "future" : "{0} аптадан кейін",
+ "past" : "{0} апта бұрын",
+ "previous" : "өткен апта",
+ "next" : "келесі апта"
+ },
+ "minute" : {
+ "current" : "осы минут",
+ "past" : "{0} минут бұрын",
+ "future" : "{0} минуттан кейін"
+ },
+ "month" : {
+ "future" : "{0} айдан кейін",
+ "next" : "келесі ай",
+ "previous" : "өткен ай",
+ "current" : "осы ай",
+ "past" : "{0} ай бұрын"
+ },
+ "hour" : {
+ "current" : "осы сағат",
+ "past" : "{0} сағат бұрын",
+ "future" : "{0} сағаттан кейін"
+ },
+ "year" : {
+ "past" : "{0} жыл бұрын",
+ "future" : "{0} жылдан кейін",
+ "previous" : "былтырғы жыл",
+ "next" : "келесі жыл",
+ "current" : "биылғы жыл"
+ },
+ "second" : {
+ "current" : "қазір",
+ "past" : "{0} секунд бұрын",
+ "future" : "{0} секундтан кейін"
+ },
+ "now" : "қазір",
+ "quarter" : {
+ "past" : "{0} тоқсан бұрын",
+ "current" : "осы тоқсан",
+ "previous" : "өткен тоқсан",
+ "future" : "{0} тоқсаннан кейін",
+ "next" : "келесі тоқсан"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} тқс. кейін",
+ "next" : "келесі тоқсан",
+ "previous" : "өткен тоқсан",
+ "current" : "осы тоқсан",
+ "past" : "{0} тқс. бұрын"
+ },
+ "minute" : {
+ "past" : "{0} мин. бұрын",
+ "future" : "{0} мин. кейін",
+ "current" : "осы минут"
+ },
+ "year" : {
+ "next" : "келесі жыл",
+ "future" : "{0} ж. кейін",
+ "current" : "биылғы жыл",
+ "past" : "{0} ж. бұрын",
+ "previous" : "былтырғы жыл"
+ },
+ "second" : {
+ "current" : "қазір",
+ "past" : "{0} сек. бұрын",
+ "future" : "{0} сек. кейін"
+ },
+ "hour" : {
+ "future" : "{0} сағ. кейін",
+ "current" : "осы сағат",
+ "past" : "{0} сағ. бұрын"
+ },
+ "now" : "қазір",
+ "month" : {
+ "previous" : "өткен ай",
+ "next" : "келесі ай",
+ "past" : "{0} ай бұрын",
+ "current" : "осы ай",
+ "future" : "{0} айдан кейін"
+ },
+ "week" : {
+ "previous" : "өткен апта",
+ "current" : "осы апта",
+ "next" : "келесі апта",
+ "past" : "{0} ап. бұрын",
+ "future" : "{0} ап. кейін"
+ },
+ "day" : {
+ "next" : "ертең",
+ "past" : "{0} күн бұрын",
+ "future" : "{0} күннен кейін",
+ "previous" : "кеше",
+ "current" : "бүгін"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kl.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kl.json
new file mode 100644
index 00000000..a519ecd7
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kl.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "current" : "this quarter",
+ "previous" : "last quarter",
+ "next" : "next quarter"
+ },
+ "year" : {
+ "previous" : "last year",
+ "next" : "next year",
+ "future" : "om {0} ukioq",
+ "current" : "this year",
+ "past" : "for {0} ukioq siden"
+ },
+ "week" : {
+ "future" : "om {0} sapaatip-akunnera",
+ "previous" : "last week",
+ "next" : "next week",
+ "past" : "for {0} sapaatip-akunnera siden",
+ "current" : "this week"
+ },
+ "day" : {
+ "current" : "today",
+ "past" : "for {0} ulloq unnuarlu siden",
+ "next" : "tomorrow",
+ "future" : "om {0} ulloq unnuarlu",
+ "previous" : "yesterday"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "for {0} nalunaaquttap-akunnera siden",
+ "future" : "om {0} nalunaaquttap-akunnera"
+ },
+ "minute" : {
+ "future" : "om {0} minutsi",
+ "current" : "this minute",
+ "past" : "for {0} minutsi siden"
+ },
+ "month" : {
+ "next" : "next month",
+ "current" : "this month",
+ "past" : "for {0} qaammat siden",
+ "future" : "om {0} qaammat",
+ "previous" : "last month"
+ },
+ "now" : "now",
+ "second" : {
+ "future" : "om {0} sekundi",
+ "current" : "now",
+ "past" : "for {0} sekundi siden"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "for {0} minutsi siden",
+ "future" : "om {0} minutsi",
+ "current" : "this minute"
+ },
+ "week" : {
+ "current" : "this week",
+ "past" : "for {0} sapaatip-akunnera siden",
+ "future" : "om {0} sapaatip-akunnera",
+ "next" : "next week",
+ "previous" : "last week"
+ },
+ "year" : {
+ "current" : "this year",
+ "future" : "om {0} ukioq",
+ "past" : "for {0} ukioq siden",
+ "next" : "next year",
+ "previous" : "last year"
+ },
+ "day" : {
+ "next" : "tomorrow",
+ "current" : "today",
+ "previous" : "yesterday",
+ "past" : "for {0} ulloq unnuarlu siden",
+ "future" : "om {0} ulloq unnuarlu"
+ },
+ "hour" : {
+ "future" : "om {0} nalunaaquttap-akunnera",
+ "current" : "this hour",
+ "past" : "for {0} nalunaaquttap-akunnera siden"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q"
+ },
+ "second" : {
+ "past" : "for {0} sekundi siden",
+ "current" : "now",
+ "future" : "om {0} sekundi"
+ },
+ "month" : {
+ "current" : "this month",
+ "past" : "for {0} qaammat siden",
+ "future" : "om {0} qaammat",
+ "next" : "next month",
+ "previous" : "last month"
+ },
+ "now" : "now"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "om {0} nalunaaquttap-akunnera",
+ "current" : "this hour",
+ "past" : "for {0} nalunaaquttap-akunnera siden"
+ },
+ "day" : {
+ "next" : "tomorrow",
+ "past" : "for {0} ulloq unnuarlu siden",
+ "previous" : "yesterday",
+ "future" : "om {0} ulloq unnuarlu",
+ "current" : "today"
+ },
+ "second" : {
+ "past" : "for {0} sekundi siden",
+ "current" : "now",
+ "future" : "om {0} sekundi"
+ },
+ "week" : {
+ "future" : "om {0} sapaatip-akunnera",
+ "past" : "for {0} sapaatip-akunnera siden",
+ "current" : "this week",
+ "next" : "next week",
+ "previous" : "last week"
+ },
+ "minute" : {
+ "future" : "om {0} minutsi",
+ "past" : "for {0} minutsi siden",
+ "current" : "this minute"
+ },
+ "month" : {
+ "future" : "om {0} qaammat",
+ "past" : "for {0} qaammat siden",
+ "current" : "this month",
+ "previous" : "last month",
+ "next" : "next month"
+ },
+ "now" : "now",
+ "year" : {
+ "current" : "this year",
+ "next" : "next year",
+ "previous" : "last year",
+ "future" : "om {0} ukioq",
+ "past" : "for {0} ukioq siden"
+ },
+ "quarter" : {
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "current" : "this quarter"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/km.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/km.json
new file mode 100644
index 00000000..a790f0b5
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/km.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "ថ្ងៃស្អែក",
+ "future" : "{0} ថ្ងៃទៀត",
+ "previous" : "ម្សិលមិញ",
+ "current" : "ថ្ងៃនេះ",
+ "past" : "{0} ថ្ងៃមុន"
+ },
+ "quarter" : {
+ "next" : "ត្រីមាសក្រោយ",
+ "past" : "{0} ត្រីមាសមុន",
+ "future" : "{0} ត្រីមាសទៀត",
+ "previous" : "ត្រីមាសមុន",
+ "current" : "ត្រីមាសនេះ"
+ },
+ "hour" : {
+ "current" : "ម៉ោងនេះ",
+ "future" : "{0} ម៉ោងទៀត",
+ "past" : "{0} ម៉ោងមុន"
+ },
+ "year" : {
+ "next" : "ឆ្នាំក្រោយ",
+ "past" : "{0} ឆ្នាំមុន",
+ "current" : "ឆ្នាំនេះ",
+ "previous" : "ឆ្នាំមុន",
+ "future" : "{0} ឆ្នាំទៀត"
+ },
+ "now" : "ឥឡូវ",
+ "month" : {
+ "current" : "ខែនេះ",
+ "future" : "{0} ខែទៀត",
+ "past" : "{0} ខែមុន",
+ "next" : "ខែក្រោយ",
+ "previous" : "ខែមុន"
+ },
+ "week" : {
+ "previous" : "សប្ដាហ៍មុន",
+ "current" : "សប្ដាហ៍នេះ",
+ "past" : "{0} សប្ដាហ៍មុន",
+ "future" : "{0} សប្ដាហ៍ទៀត",
+ "next" : "សប្ដាហ៍ក្រោយ"
+ },
+ "minute" : {
+ "past" : "{0} នាទីមុន",
+ "future" : "{0} នាទីទៀត",
+ "current" : "នាទីនេះ"
+ },
+ "second" : {
+ "current" : "ឥឡូវ",
+ "past" : "{0} វិនាទីមុន",
+ "future" : "{0} វិនាទីទៀត"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "ម្សិលមិញ",
+ "current" : "ថ្ងៃនេះ",
+ "next" : "ថ្ងៃស្អែក",
+ "past" : "{0} ថ្ងៃមុន",
+ "future" : "{0} ថ្ងៃទៀត"
+ },
+ "week" : {
+ "current" : "សប្ដាហ៍នេះ",
+ "future" : "{0} សប្ដាហ៍ទៀត",
+ "past" : "{0} សប្ដាហ៍មុន",
+ "previous" : "សប្ដាហ៍មុន",
+ "next" : "សប្ដាហ៍ក្រោយ"
+ },
+ "minute" : {
+ "past" : "{0} នាទីមុន",
+ "future" : "{0} នាទីទៀត",
+ "current" : "នាទីនេះ"
+ },
+ "month" : {
+ "future" : "{0} ខែទៀត",
+ "next" : "ខែក្រោយ",
+ "previous" : "ខែមុន",
+ "current" : "ខែនេះ",
+ "past" : "{0} ខែមុន"
+ },
+ "hour" : {
+ "future" : "ក្នុងរយៈពេល {0} ម៉ោង",
+ "current" : "ម៉ោងនេះ",
+ "past" : "{0} ម៉ោងមុន"
+ },
+ "year" : {
+ "past" : "{0} ឆ្នាំមុន",
+ "future" : "{0} ឆ្នាំទៀត",
+ "previous" : "ឆ្នាំមុន",
+ "next" : "ឆ្នាំក្រោយ",
+ "current" : "ឆ្នាំនេះ"
+ },
+ "second" : {
+ "future" : "{0} វិនាទីទៀត",
+ "current" : "ឥឡូវ",
+ "past" : "{0} វិនាទីមុន"
+ },
+ "now" : "ឥឡូវ",
+ "quarter" : {
+ "past" : "{0} ត្រីមាសមុន",
+ "current" : "ត្រីមាសនេះ",
+ "previous" : "ត្រីមាសមុន",
+ "future" : "{0} ត្រីមាសទៀត",
+ "next" : "ត្រីមាសក្រោយ"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} ត្រីមាសទៀត",
+ "next" : "ត្រីមាសក្រោយ",
+ "previous" : "ត្រីមាសមុន",
+ "current" : "ត្រីមាសនេះ",
+ "past" : "{0} ត្រីមាសមុន"
+ },
+ "minute" : {
+ "current" : "នាទីនេះ",
+ "past" : "{0} នាទីមុន",
+ "future" : "{0} នាទីទៀត"
+ },
+ "year" : {
+ "next" : "ឆ្នាំក្រោយ",
+ "future" : "{0} ឆ្នាំទៀត",
+ "current" : "ឆ្នាំនេះ",
+ "past" : "{0} ឆ្នាំមុន",
+ "previous" : "ឆ្នាំមុន"
+ },
+ "second" : {
+ "current" : "ឥឡូវ",
+ "past" : "{0} វិនាទីមុន",
+ "future" : "{0} វិនាទីទៀត"
+ },
+ "hour" : {
+ "past" : "{0} ម៉ោងមុន",
+ "current" : "ម៉ោងនេះ",
+ "future" : "{0} ម៉ោងទៀត"
+ },
+ "now" : "ឥឡូវ",
+ "month" : {
+ "previous" : "ខែមុន",
+ "next" : "ខែក្រោយ",
+ "past" : "{0} ខែមុន",
+ "current" : "ខែនេះ",
+ "future" : "{0} ខែទៀត"
+ },
+ "week" : {
+ "previous" : "សប្ដាហ៍មុន",
+ "current" : "សប្ដាហ៍នេះ",
+ "next" : "សប្ដាហ៍ក្រោយ",
+ "past" : "{0} សប្ដាហ៍មុន",
+ "future" : "{0} សប្ដាហ៍ទៀត"
+ },
+ "day" : {
+ "next" : "ថ្ងៃស្អែក",
+ "past" : "{0} ថ្ងៃមុន",
+ "future" : "{0} ថ្ងៃទៀត",
+ "previous" : "ម្សិលមិញ",
+ "current" : "ថ្ងៃនេះ"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kn.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kn.json
new file mode 100644
index 00000000..f7ba4148
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kn.json
@@ -0,0 +1,302 @@
+{
+ "narrow" : {
+ "now" : "ಈಗ",
+ "minute" : {
+ "current" : "ಈ ನಿಮಿಷ",
+ "future" : {
+ "one" : "{0} ನಿಮಿಷದಲ್ಲಿ",
+ "other" : "{0} ನಿಮಿಷಗಳಲ್ಲಿ"
+ },
+ "past" : {
+ "other" : "{0} ನಿಮಿಷಗಳ ಹಿಂದೆ",
+ "one" : "{0} ನಿಮಿಷದ ಹಿಂದೆ"
+ }
+ },
+ "week" : {
+ "future" : {
+ "one" : "{0} ವಾರದಲ್ಲಿ",
+ "other" : "{0} ವಾರಗಳಲ್ಲಿ"
+ },
+ "current" : "ಈ ವಾರ",
+ "previous" : "ಕಳೆದ ವಾರ",
+ "next" : "ಮುಂದಿನ ವಾರ",
+ "past" : {
+ "one" : "{0} ವಾರದ ಹಿಂದೆ",
+ "other" : "{0} ವಾರಗಳ ಹಿಂದೆ"
+ }
+ },
+ "hour" : {
+ "current" : "ಈ ಗಂಟೆ",
+ "future" : {
+ "one" : "{0} ಗಂಟೆಯಲ್ಲಿ",
+ "other" : "{0} ಗಂಟೆಗಳಲ್ಲಿ"
+ },
+ "past" : {
+ "other" : "{0} ಗಂಟೆಗಳ ಹಿಂದೆ",
+ "one" : "{0} ಗಂಟೆ ಹಿಂದೆ"
+ }
+ },
+ "month" : {
+ "current" : "ಈ ತಿಂಗಳು",
+ "future" : {
+ "other" : "{0} ತಿಂಗಳುಗಳಲ್ಲಿ",
+ "one" : "{0} ತಿಂಗಳಲ್ಲಿ"
+ },
+ "previous" : "ಕಳೆದ ತಿಂಗಳು",
+ "next" : "ಮುಂದಿನ ತಿಂಗಳು",
+ "past" : {
+ "one" : "{0} ತಿಂಗಳ ಹಿಂದೆ",
+ "other" : "{0} ತಿಂಗಳುಗಳ ಹಿಂದೆ"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "{0} ಸೆಕೆಂಡ್ನಲ್ಲಿ",
+ "other" : "{0} ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ"
+ },
+ "past" : {
+ "other" : "{0} ಸೆಕೆಂಡುಗಳ ಹಿಂದೆ",
+ "one" : "{0} ಸೆಕೆಂಡ್ ಹಿಂದೆ"
+ },
+ "current" : "ಈಗ"
+ },
+ "year" : {
+ "past" : {
+ "one" : "{0} ವರ್ಷದ ಹಿಂದೆ",
+ "other" : "{0} ವರ್ಷಗಳ ಹಿಂದೆ"
+ },
+ "future" : {
+ "other" : "{0} ವರ್ಷಗಳಲ್ಲಿ",
+ "one" : "{0} ವರ್ಷದಲ್ಲಿ"
+ },
+ "current" : "ಈ ವರ್ಷ",
+ "next" : "ಮುಂದಿನ ವರ್ಷ",
+ "previous" : "ಕಳೆದ ವರ್ಷ"
+ },
+ "day" : {
+ "next" : "ನಾಳೆ",
+ "future" : {
+ "one" : "{0} ದಿನದಲ್ಲಿ",
+ "other" : "{0} ದಿನಗಳಲ್ಲಿ"
+ },
+ "past" : {
+ "one" : "{0} ದಿನದ ಹಿಂದೆ",
+ "other" : "{0} ದಿನಗಳ ಹಿಂದೆ"
+ },
+ "current" : "ಇಂದು",
+ "previous" : "ನಿನ್ನೆ"
+ },
+ "quarter" : {
+ "future" : "{0} ತ್ರೈಮಾಸಿಕಗಳಲ್ಲಿ",
+ "current" : "ಈ ತ್ರೈಮಾಸಿಕ",
+ "next" : "ಮುಂದಿನ ತ್ರೈಮಾಸಿಕ",
+ "past" : {
+ "one" : "{0} ತ್ರೈ.ಮಾ. ಹಿಂದೆ",
+ "other" : "{0} ತ್ರೈಮಾಸಿಕಗಳ ಹಿಂದೆ"
+ },
+ "previous" : "ಕಳೆದ ತ್ರೈಮಾಸಿಕ"
+ }
+ },
+ "long" : {
+ "second" : {
+ "past" : {
+ "one" : "{0} ಸೆಕೆಂಡ್ ಹಿಂದೆ",
+ "other" : "{0} ಸೆಕೆಂಡುಗಳ ಹಿಂದೆ"
+ },
+ "future" : {
+ "one" : "{0} ಸೆಕೆಂಡ್ನಲ್ಲಿ",
+ "other" : "{0} ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ"
+ },
+ "current" : "ಈಗ"
+ },
+ "year" : {
+ "future" : {
+ "other" : "{0} ವರ್ಷಗಳಲ್ಲಿ",
+ "one" : "{0} ವರ್ಷದಲ್ಲಿ"
+ },
+ "past" : {
+ "one" : "{0} ವರ್ಷದ ಹಿಂದೆ",
+ "other" : "{0} ವರ್ಷಗಳ ಹಿಂದೆ"
+ },
+ "next" : "ಮುಂದಿನ ವರ್ಷ",
+ "current" : "ಈ ವರ್ಷ",
+ "previous" : "ಹಿಂದಿನ ವರ್ಷ"
+ },
+ "day" : {
+ "current" : "ಇಂದು",
+ "next" : "ನಾಳೆ",
+ "previous" : "ನಿನ್ನೆ",
+ "past" : {
+ "one" : "{0} ದಿನದ ಹಿಂದೆ",
+ "other" : "{0} ದಿನಗಳ ಹಿಂದೆ"
+ },
+ "future" : {
+ "one" : "{0} ದಿನದಲ್ಲಿ",
+ "other" : "{0} ದಿನಗಳಲ್ಲಿ"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "{0} ನಿಮಿಷದ ಹಿಂದೆ",
+ "other" : "{0} ನಿಮಿಷಗಳ ಹಿಂದೆ"
+ },
+ "future" : {
+ "one" : "{0} ನಿಮಿಷದಲ್ಲಿ",
+ "other" : "{0} ನಿಮಿಷಗಳಲ್ಲಿ"
+ },
+ "current" : "ಈ ನಿಮಿಷ"
+ },
+ "quarter" : {
+ "next" : "ಮುಂದಿನ ತ್ರೈಮಾಸಿಕ",
+ "previous" : "ಹಿಂದಿನ ತ್ರೈಮಾಸಿಕ",
+ "future" : {
+ "one" : "{0} ತ್ರೈಮಾಸಿಕದಲ್ಲಿ",
+ "other" : "{0} ತ್ರೈಮಾಸಿಕಗಳಲ್ಲಿ"
+ },
+ "past" : {
+ "other" : "{0} ತ್ರೈಮಾಸಿಕಗಳ ಹಿಂದೆ",
+ "one" : "{0} ತ್ರೈಮಾಸಿಕದ ಹಿಂದೆ"
+ },
+ "current" : "ಈ ತ್ರೈಮಾಸಿಕ"
+ },
+ "month" : {
+ "current" : "ಈ ತಿಂಗಳು",
+ "next" : "ಮುಂದಿನ ತಿಂಗಳು",
+ "previous" : "ಕಳೆದ ತಿಂಗಳು",
+ "past" : {
+ "other" : "{0} ತಿಂಗಳುಗಳ ಹಿಂದೆ",
+ "one" : "{0} ತಿಂಗಳ ಹಿಂದೆ"
+ },
+ "future" : {
+ "other" : "{0} ತಿಂಗಳುಗಳಲ್ಲಿ",
+ "one" : "{0} ತಿಂಗಳಲ್ಲಿ"
+ }
+ },
+ "hour" : {
+ "current" : "ಈ ಗಂಟೆ",
+ "past" : {
+ "other" : "{0} ಗಂಟೆಗಳ ಹಿಂದೆ",
+ "one" : "{0} ಗಂಟೆ ಹಿಂದೆ"
+ },
+ "future" : {
+ "one" : "{0} ಗಂಟೆಯಲ್ಲಿ",
+ "other" : "{0} ಗಂಟೆಗಳಲ್ಲಿ"
+ }
+ },
+ "week" : {
+ "next" : "ಮುಂದಿನ ವಾರ",
+ "future" : {
+ "one" : "{0} ವಾರದಲ್ಲಿ",
+ "other" : "{0} ವಾರಗಳಲ್ಲಿ"
+ },
+ "current" : "ಈ ವಾರ",
+ "previous" : "ಕಳೆದ ವಾರ",
+ "past" : {
+ "other" : "{0} ವಾರಗಳ ಹಿಂದೆ",
+ "one" : "{0} ವಾರದ ಹಿಂದೆ"
+ }
+ },
+ "now" : "ಈಗ"
+ },
+ "short" : {
+ "month" : {
+ "previous" : "ಕಳೆದ ತಿಂಗಳು",
+ "current" : "ಈ ತಿಂಗಳು",
+ "next" : "ಮುಂದಿನ ತಿಂಗಳು",
+ "past" : {
+ "one" : "{0} ತಿಂಗಳು ಹಿಂದೆ",
+ "other" : "{0} ತಿಂಗಳುಗಳ ಹಿಂದೆ"
+ },
+ "future" : {
+ "other" : "{0} ತಿಂಗಳುಗಳಲ್ಲಿ",
+ "one" : "{0} ತಿಂಗಳಲ್ಲಿ"
+ }
+ },
+ "hour" : {
+ "current" : "ಈ ಗಂಟೆ",
+ "past" : {
+ "other" : "{0} ಗಂಟೆಗಳ ಹಿಂದೆ",
+ "one" : "{0} ಗಂಟೆ ಹಿಂದೆ"
+ },
+ "future" : {
+ "one" : "{0} ಗಂಟೆಯಲ್ಲಿ",
+ "other" : "{0} ಗಂಟೆಗಳಲ್ಲಿ"
+ }
+ },
+ "now" : "ಈಗ",
+ "quarter" : {
+ "future" : {
+ "one" : "{0} ತ್ರೈ.ಮಾ.ದಲ್ಲಿ",
+ "other" : "{0} ತ್ರೈಮಾಸಿಕಗಳಲ್ಲಿ"
+ },
+ "previous" : "ಕಳೆದ ತ್ರೈಮಾಸಿಕ",
+ "current" : "ಈ ತ್ರೈಮಾಸಿಕ",
+ "next" : "ಮುಂದಿನ ತ್ರೈಮಾಸಿಕ",
+ "past" : {
+ "one" : "{0} ತ್ರೈ.ಮಾ. ಹಿಂದೆ",
+ "other" : "{0} ತ್ರೈಮಾಸಿಕಗಳ ಹಿಂದೆ"
+ }
+ },
+ "week" : {
+ "previous" : "ಕಳೆದ ವಾರ",
+ "next" : "ಮುಂದಿನ ವಾರ",
+ "future" : {
+ "one" : "{0} ವಾರದಲ್ಲಿ",
+ "other" : "{0} ವಾರಗಳಲ್ಲಿ"
+ },
+ "current" : "ಈ ವಾರ",
+ "past" : {
+ "one" : "{0} ವಾರದ ಹಿಂದೆ",
+ "other" : "{0} ವಾರಗಳ ಹಿಂದೆ"
+ }
+ },
+ "day" : {
+ "current" : "ಇಂದು",
+ "previous" : "ನಿನ್ನೆ",
+ "next" : "ನಾಳೆ",
+ "past" : {
+ "other" : "{0} ದಿನಗಳ ಹಿಂದೆ",
+ "one" : "{0} ದಿನದ ಹಿಂದೆ"
+ },
+ "future" : {
+ "other" : "{0} ದಿನಗಳಲ್ಲಿ",
+ "one" : "{0} ದಿನದಲ್ಲಿ"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "other" : "{0} ನಿಮಿಷಗಳಲ್ಲಿ",
+ "one" : "{0} ನಿಮಿಷದಲ್ಲಿ"
+ },
+ "past" : {
+ "other" : "{0} ನಿಮಿಷಗಳ ಹಿಂದೆ",
+ "one" : "{0} ನಿಮಿಷದ ಹಿಂದೆ"
+ },
+ "current" : "ಈ ನಿಮಿಷ"
+ },
+ "second" : {
+ "current" : "ಈಗ",
+ "past" : {
+ "one" : "{0} ಸೆಕೆಂಡ್ ಹಿಂದೆ",
+ "other" : "{0} ಸೆಕೆಂಡುಗಳ ಹಿಂದೆ"
+ },
+ "future" : {
+ "one" : "{0} ಸೆಕೆಂಡ್ನಲ್ಲಿ",
+ "other" : "{0} ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ"
+ }
+ },
+ "year" : {
+ "previous" : "ಕಳೆದ ವರ್ಷ",
+ "next" : "ಮುಂದಿನ ವರ್ಷ",
+ "current" : "ಈ ವರ್ಷ",
+ "future" : {
+ "other" : "{0} ವರ್ಷಗಳಲ್ಲಿ",
+ "one" : "{0} ವರ್ಷದಲ್ಲಿ"
+ },
+ "past" : {
+ "one" : "{0} ವರ್ಷದ ಹಿಂದೆ",
+ "other" : "{0} ವರ್ಷಗಳ ಹಿಂದೆ"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ko.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ko.json
new file mode 100644
index 00000000..bb4cd5cc
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ko.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "now" : "지금",
+ "week" : {
+ "next" : "다음 주",
+ "current" : "이번 주",
+ "past" : "{0}주 전",
+ "future" : "{0}주 후",
+ "previous" : "지난주"
+ },
+ "quarter" : {
+ "previous" : "지난 분기",
+ "next" : "다음 분기",
+ "future" : "{0}분기 후",
+ "current" : "이번 분기",
+ "past" : "{0}분기 전"
+ },
+ "day" : {
+ "future" : "{0}일 후",
+ "previous" : "어제",
+ "next" : "내일",
+ "past" : "{0}일 전",
+ "current" : "오늘"
+ },
+ "hour" : {
+ "current" : "현재 시간",
+ "past" : "{0}시간 전",
+ "future" : "{0}시간 후"
+ },
+ "second" : {
+ "future" : "{0}초 후",
+ "current" : "지금",
+ "past" : "{0}초 전"
+ },
+ "month" : {
+ "past" : "{0}개월 전",
+ "future" : "{0}개월 후",
+ "current" : "이번 달",
+ "previous" : "지난달",
+ "next" : "다음 달"
+ },
+ "minute" : {
+ "future" : "{0}분 후",
+ "current" : "현재 분",
+ "past" : "{0}분 전"
+ },
+ "year" : {
+ "next" : "내년",
+ "future" : "{0}년 후",
+ "previous" : "작년",
+ "current" : "올해",
+ "past" : "{0}년 전"
+ }
+ },
+ "long" : {
+ "day" : {
+ "future" : "{0}일 후",
+ "past" : "{0}일 전",
+ "current" : "오늘",
+ "next" : "내일",
+ "previous" : "어제"
+ },
+ "second" : {
+ "past" : "{0}초 전",
+ "current" : "지금",
+ "future" : "{0}초 후"
+ },
+ "quarter" : {
+ "current" : "이번 분기",
+ "next" : "다음 분기",
+ "previous" : "지난 분기",
+ "future" : "{0}분기 후",
+ "past" : "{0}분기 전"
+ },
+ "month" : {
+ "future" : "{0}개월 후",
+ "previous" : "지난달",
+ "past" : "{0}개월 전",
+ "next" : "다음 달",
+ "current" : "이번 달"
+ },
+ "week" : {
+ "future" : "{0}주 후",
+ "past" : "{0}주 전",
+ "current" : "이번 주",
+ "previous" : "지난주",
+ "next" : "다음 주"
+ },
+ "hour" : {
+ "future" : "{0}시간 후",
+ "current" : "현재 시간",
+ "past" : "{0}시간 전"
+ },
+ "minute" : {
+ "future" : "{0}분 후",
+ "past" : "{0}분 전",
+ "current" : "현재 분"
+ },
+ "now" : "지금",
+ "year" : {
+ "future" : "{0}년 후",
+ "next" : "내년",
+ "past" : "{0}년 전",
+ "previous" : "작년",
+ "current" : "올해"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "future" : "{0}시간 후",
+ "current" : "현재 시간",
+ "past" : "{0}시간 전"
+ },
+ "now" : "지금",
+ "quarter" : {
+ "current" : "이번 분기",
+ "future" : "{0}분기 후",
+ "past" : "{0}분기 전",
+ "next" : "다음 분기",
+ "previous" : "지난 분기"
+ },
+ "day" : {
+ "current" : "오늘",
+ "past" : "{0}일 전",
+ "future" : "{0}일 후",
+ "next" : "내일",
+ "previous" : "어제"
+ },
+ "week" : {
+ "current" : "이번 주",
+ "past" : "{0}주 전",
+ "future" : "{0}주 후",
+ "next" : "다음 주",
+ "previous" : "지난주"
+ },
+ "minute" : {
+ "past" : "{0}분 전",
+ "future" : "{0}분 후",
+ "current" : "현재 분"
+ },
+ "second" : {
+ "past" : "{0}초 전",
+ "current" : "지금",
+ "future" : "{0}초 후"
+ },
+ "month" : {
+ "current" : "이번 달",
+ "future" : "{0}개월 후",
+ "previous" : "지난달",
+ "next" : "다음 달",
+ "past" : "{0}개월 전"
+ },
+ "year" : {
+ "future" : "{0}년 후",
+ "previous" : "작년",
+ "next" : "내년",
+ "current" : "올해",
+ "past" : "{0}년 전"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kok.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kok.json
new file mode 100644
index 00000000..628f04ad
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/kok.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "{0} त्रैमासीकां आदीं",
+ "future" : "{0} त्रैमासीकांत",
+ "current" : "हो त्रैमासीक",
+ "previous" : "फाटलो त्रैमासीक",
+ "next" : "फुडलो त्रैमासीक"
+ },
+ "year" : {
+ "previous" : "फाटलें वर्स",
+ "next" : "फुडलें वर्स",
+ "future" : "{0} वर्सांनीं",
+ "current" : "हें वर्स",
+ "past" : "{0} वर्स आदीं"
+ },
+ "week" : {
+ "future" : "{0} सप्तकांनीं",
+ "previous" : "निमाणो सप्तक",
+ "next" : "फुडलो सप्तक",
+ "past" : "{0} सप्त. आदीं",
+ "current" : "हो सप्तक"
+ },
+ "day" : {
+ "current" : "आयज",
+ "past" : "{0} दीस आदीं",
+ "next" : "फाल्यां",
+ "future" : "{0} दिसानीं",
+ "previous" : "काल"
+ },
+ "hour" : {
+ "current" : "हें वर",
+ "past" : "{0} वरा आदीं",
+ "future" : "{0} वरांनीं"
+ },
+ "minute" : {
+ "future" : "{0} मिन्टां",
+ "current" : "हें मिनीट",
+ "past" : "{0} मिन्टां आदीं"
+ },
+ "month" : {
+ "next" : "फुडलो म्हयनो",
+ "current" : "हो म्हयनो",
+ "past" : "{0} म्हयन्यां आदीं",
+ "future" : "{0} म्हयन्यानीं",
+ "previous" : "फाटलो म्हयनो"
+ },
+ "now" : "आतां",
+ "second" : {
+ "future" : "{0} सेकंदानीं",
+ "current" : "आतां",
+ "past" : "{0} से. आदीं"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} मिन्टां आदीं",
+ "future" : "{0} मिन्टां",
+ "current" : "हें मिनीट"
+ },
+ "week" : {
+ "current" : "हो सप्तक",
+ "past" : "{0} सप्तकां आदीं",
+ "future" : "{0} सप्त.",
+ "next" : "फुडलो सप्तक",
+ "previous" : "निमाणो सप्तक"
+ },
+ "year" : {
+ "future" : "{0} वर्सांनीं",
+ "previous" : "फाटलें वर्स",
+ "next" : "फुडलें वर्स",
+ "current" : "हें वर्स",
+ "past" : "{0} वर्स आदीं"
+ },
+ "day" : {
+ "next" : "फाल्यां",
+ "current" : "आयज",
+ "previous" : "काल",
+ "past" : "{0} दीस आदीं",
+ "future" : "{0} दिसानीं"
+ },
+ "hour" : {
+ "future" : "{0} वरांनीं",
+ "current" : "हें वर",
+ "past" : "{0} वरा आदीं"
+ },
+ "quarter" : {
+ "current" : "हो त्रैमासीक",
+ "future" : "{0} त्रैमासीकांत",
+ "previous" : "फाटलो त्रैमासीक",
+ "next" : "फुडलो त्रैमासीक",
+ "past" : "{0} त्रैमासीकां आदीं"
+ },
+ "second" : {
+ "past" : "{0} से. आदीं",
+ "current" : "आतां",
+ "future" : "{0} सेकंदानीं"
+ },
+ "month" : {
+ "current" : "हो म्हयनो",
+ "past" : "{0} म्हयन्यां आदीं",
+ "future" : "{0} म्हयन्यानीं",
+ "next" : "फुडलो म्हयनो",
+ "previous" : "फाटलो म्हयनो"
+ },
+ "now" : "आतां"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "{0} वरांनीं",
+ "current" : "हें वर",
+ "past" : "{0} वरा आदीं"
+ },
+ "day" : {
+ "next" : "फाल्यां",
+ "past" : "{0} दीस आदीं",
+ "previous" : "काल",
+ "future" : "{0} दिसानीं",
+ "current" : "आयज"
+ },
+ "second" : {
+ "past" : "{0} सेकंद आदीं",
+ "current" : "आतां",
+ "future" : "{0} सेकंदानीं"
+ },
+ "week" : {
+ "future" : "{0} सप्तकांनीं",
+ "past" : "{0} सप्तकां आदीं",
+ "current" : "हो सप्तक",
+ "next" : "फुडलो सप्तक",
+ "previous" : "निमाणो सप्तक"
+ },
+ "minute" : {
+ "future" : "{0} मिन्टां",
+ "past" : "{0} मिन्टां आदीं",
+ "current" : "हें मिनीट"
+ },
+ "month" : {
+ "future" : "{0} म्हयन्यानीं",
+ "past" : "{0} म्हयन्यां आदीं",
+ "current" : "हो म्हयनो",
+ "previous" : "फाटलो म्हयनो",
+ "next" : "फुडलो म्हयनो"
+ },
+ "now" : "आतां",
+ "year" : {
+ "current" : "हें वर्स",
+ "next" : "फुडलें वर्स",
+ "previous" : "फाटलें वर्स",
+ "future" : "{0} वर्सांनीं",
+ "past" : "{0} वर्सां आदीं"
+ },
+ "quarter" : {
+ "future" : "{0} त्रैमासीकांत",
+ "previous" : "फाटलो त्रैमासीक",
+ "past" : "{0} त्रैमासीकां आदीं",
+ "next" : "फुडलो त्रैमासीक",
+ "current" : "हो त्रैमासीक"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ksh.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ksh.json
new file mode 100644
index 00000000..1ff9a846
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ksh.json
@@ -0,0 +1,185 @@
+{
+ "narrow" : {
+ "second" : {
+ "future" : "+{0} s",
+ "past" : "-{0} s",
+ "current" : "now"
+ },
+ "year" : {
+ "previous" : "läz Johr",
+ "next" : "näx Johr",
+ "future" : {
+ "zero" : "en keinem Johr",
+ "other" : "en {0} Johre",
+ "one" : "en {0} Johr"
+ },
+ "current" : "diß Johr",
+ "past" : {
+ "other" : "vör {0} Johre",
+ "zero" : "vör keijnem Johr",
+ "one" : "vör {0} Johr"
+ }
+ },
+ "month" : {
+ "past" : "-{0} m",
+ "next" : "nächste Mohnd",
+ "future" : "+{0} m",
+ "previous" : "lätzde Mohnd",
+ "current" : "diese Mohnd"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "current" : "this minute",
+ "future" : "+{0} min"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q"
+ },
+ "hour" : {
+ "future" : "+{0} h",
+ "past" : "-{0} h",
+ "current" : "this hour"
+ },
+ "now" : "now",
+ "week" : {
+ "next" : "nächste Woche",
+ "previous" : "läz Woch",
+ "past" : "-{0} w",
+ "future" : "+{0} w",
+ "current" : "di Woch"
+ },
+ "day" : {
+ "previous" : "jestere",
+ "future" : "+{0} d",
+ "past" : "-{0} d",
+ "current" : "hück",
+ "next" : "morje"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "this minute",
+ "past" : "-{0} min",
+ "future" : "+{0} min"
+ },
+ "week" : {
+ "current" : "di Woch",
+ "past" : "-{0} w",
+ "future" : "+{0} w",
+ "next" : "nächste Woche",
+ "previous" : "läz Woch"
+ },
+ "year" : {
+ "future" : {
+ "one" : "en {0} Johr",
+ "zero" : "en keinem Johr",
+ "other" : "en {0} Johre"
+ },
+ "previous" : "läz Johr",
+ "next" : "näx Johr",
+ "current" : "diß Johr",
+ "past" : {
+ "zero" : "vör keijnem Johr",
+ "other" : "vör {0} Johre",
+ "one" : "vör {0} Johr"
+ }
+ },
+ "day" : {
+ "next" : "morje",
+ "current" : "hück",
+ "previous" : "jestere",
+ "past" : "-{0} d",
+ "future" : "+{0} d"
+ },
+ "hour" : {
+ "past" : "-{0} h",
+ "current" : "this hour",
+ "future" : "+{0} h"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q"
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "now",
+ "past" : "-{0} s"
+ },
+ "month" : {
+ "current" : "diese Mohnd",
+ "past" : "-{0} m",
+ "future" : "+{0} m",
+ "next" : "nächste Mohnd",
+ "previous" : "lätzde Mohnd"
+ },
+ "now" : "now"
+ },
+ "long" : {
+ "minute" : {
+ "past" : "-{0} min",
+ "future" : "+{0} min",
+ "current" : "this minute"
+ },
+ "now" : "now",
+ "week" : {
+ "previous" : "läz Woch",
+ "past" : "-{0} w",
+ "future" : "+{0} w",
+ "current" : "di Woch",
+ "next" : "nächste Woche"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "future" : "+{0} Q"
+ },
+ "hour" : {
+ "future" : "+{0} h",
+ "current" : "this hour",
+ "past" : "-{0} h"
+ },
+ "day" : {
+ "current" : "hück",
+ "future" : "+{0} d",
+ "next" : "morje",
+ "previous" : "jestere",
+ "past" : "-{0} d"
+ },
+ "month" : {
+ "next" : "nächste Mohnd",
+ "past" : "-{0} m",
+ "future" : "+{0} m",
+ "previous" : "lätzde Mohnd",
+ "current" : "diese Mohnd"
+ },
+ "second" : {
+ "current" : "now",
+ "future" : "+{0} s",
+ "past" : "-{0} s"
+ },
+ "year" : {
+ "next" : "näx Johr",
+ "current" : "diß Johr",
+ "future" : {
+ "other" : "en {0} Johre",
+ "zero" : "en keinem Johr",
+ "one" : "en {0} Johr"
+ },
+ "previous" : "läz Johr",
+ "past" : {
+ "zero" : "vör keijnem Johr",
+ "other" : "vör {0} Johre",
+ "one" : "vör {0} Johr"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ky.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ky.json
new file mode 100644
index 00000000..924eed0a
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ky.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "next" : "кийинки чейр.",
+ "past" : "{0} чейр. мурун",
+ "future" : "{0} чейр. кийин",
+ "previous" : "акыркы чейр.",
+ "current" : "бул чейр."
+ },
+ "day" : {
+ "next" : "эртеӊ",
+ "future" : "{0} күн. кийин",
+ "previous" : "кечээ",
+ "current" : "бүгүн",
+ "past" : "{0} күн мурун"
+ },
+ "year" : {
+ "next" : "эмдиги жылы",
+ "past" : "{0} жыл мурун",
+ "current" : "быйыл",
+ "previous" : "былтыр",
+ "future" : "{0} жыл. кийин"
+ },
+ "week" : {
+ "previous" : "өткөн апт.",
+ "current" : "ушул апт.",
+ "past" : "{0} апт. мурун",
+ "future" : "{0} апт. кийин",
+ "next" : "келерки апт."
+ },
+ "second" : {
+ "future" : "{0} сек. кийн",
+ "current" : "азыр",
+ "past" : "{0} сек. мурн"
+ },
+ "minute" : {
+ "current" : "ушул мүнөттө",
+ "past" : "{0} мүн. мурн",
+ "future" : "{0} мүн. кийн"
+ },
+ "hour" : {
+ "past" : "{0} с. мурн",
+ "future" : "{0} с. кийн",
+ "current" : "ушул саатта"
+ },
+ "now" : "азыр",
+ "month" : {
+ "current" : "бул айда",
+ "future" : "{0} айд. кийн",
+ "past" : "{0} ай мурн",
+ "next" : "эмдиги айда",
+ "previous" : "өткөн айда"
+ }
+ },
+ "long" : {
+ "now" : "азыр",
+ "minute" : {
+ "current" : "ушул мүнөттө",
+ "past" : "{0} мүнөт мурун",
+ "future" : "{0} мүнөттөн кийин"
+ },
+ "quarter" : {
+ "future" : "{0} чейректен кийин",
+ "current" : "бул чейрек",
+ "next" : "кийинки чейрек",
+ "past" : "{0} чейрек мурун",
+ "previous" : "акыркы чейрек"
+ },
+ "week" : {
+ "past" : "{0} апта мурун",
+ "future" : "{0} аптадан кийин",
+ "previous" : "өткөн аптада",
+ "next" : "келерки аптада",
+ "current" : "ушул аптада"
+ },
+ "day" : {
+ "next" : "эртеӊ",
+ "previous" : "кечээ",
+ "future" : "{0} күндөн кийин",
+ "current" : "бүгүн",
+ "past" : "{0} күн мурун"
+ },
+ "hour" : {
+ "future" : "{0} сааттан кийин",
+ "current" : "ушул саатта",
+ "past" : "{0} саат мурун"
+ },
+ "month" : {
+ "current" : "бул айда",
+ "past" : "{0} ай мурун",
+ "previous" : "өткөн айда",
+ "future" : "{0} айдан кийин",
+ "next" : "эмдиги айда"
+ },
+ "second" : {
+ "future" : "{0} секунддан кийин",
+ "current" : "азыр",
+ "past" : "{0} секунд мурун"
+ },
+ "year" : {
+ "previous" : "былтыр",
+ "next" : "эмдиги жылы",
+ "past" : "{0} жыл мурун",
+ "current" : "быйыл",
+ "future" : "{0} жылдан кийин"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} чейректен кийин",
+ "next" : "кийинки чейр.",
+ "previous" : "акыркы чейр.",
+ "current" : "бул чейр.",
+ "past" : "{0} чейр. мурун"
+ },
+ "minute" : {
+ "current" : "ушул мүнөттө",
+ "past" : "{0} мүн. мурун",
+ "future" : "{0} мүн. кийин"
+ },
+ "year" : {
+ "next" : "эмдиги жылы",
+ "future" : "{0} жыл. кийин",
+ "current" : "быйыл",
+ "past" : "{0} жыл мурун",
+ "previous" : "былтыр"
+ },
+ "second" : {
+ "future" : "{0} сек. кийин",
+ "current" : "азыр",
+ "past" : "{0} сек. мурун"
+ },
+ "hour" : {
+ "current" : "ушул саатта",
+ "past" : "{0} саат. мурун",
+ "future" : "{0} саат. кийин"
+ },
+ "now" : "азыр",
+ "month" : {
+ "previous" : "өткөн айда",
+ "next" : "эмдиги айда",
+ "past" : "{0} ай мурун",
+ "current" : "бул айда",
+ "future" : "{0} айд. кийин"
+ },
+ "week" : {
+ "previous" : "өткөн апт.",
+ "current" : "ушул апт.",
+ "next" : "келерки апт.",
+ "past" : "{0} апт. мурун",
+ "future" : "{0} апт. кийин"
+ },
+ "day" : {
+ "next" : "эртеӊ",
+ "past" : "{0} күн мурун",
+ "future" : "{0} күн. кийин",
+ "previous" : "кечээ",
+ "current" : "бүгүн"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lb.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lb.json
new file mode 100644
index 00000000..b13897f7
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lb.json
@@ -0,0 +1,257 @@
+{
+ "narrow" : {
+ "month" : {
+ "past" : "-{0} M.",
+ "next" : "nächste Mount",
+ "previous" : "leschte Mount",
+ "current" : "dëse Mount",
+ "future" : "+{0} M."
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "-{0} Sek.",
+ "future" : "+{0} Sek."
+ },
+ "day" : {
+ "current" : "haut",
+ "past" : "-{0} D.",
+ "previous" : "gëschter",
+ "next" : "muer",
+ "future" : "+{0} D."
+ },
+ "now" : "now",
+ "quarter" : {
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "future" : "+{0} Q.",
+ "past" : "-{0} Q."
+ },
+ "week" : {
+ "current" : "dës Woch",
+ "future" : "+{0} W.",
+ "next" : "nächst Woch",
+ "past" : "-{0} W.",
+ "previous" : "lescht Woch"
+ },
+ "minute" : {
+ "future" : "+{0} Min.",
+ "past" : "-{0} Min.",
+ "current" : "this minute"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "-{0} St.",
+ "future" : "+{0} St."
+ },
+ "year" : {
+ "previous" : "lescht Joer",
+ "next" : "nächst Joer",
+ "current" : "dëst Joer",
+ "future" : "+{0} J.",
+ "past" : "-{0} J."
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "past" : {
+ "one" : "virun {0} Quartal",
+ "other" : "viru(n) {0} Quartaler"
+ },
+ "previous" : "last quarter",
+ "future" : {
+ "other" : "a(n) {0} Quartaler",
+ "one" : "an {0} Quartal"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "one" : "an {0} Stonn",
+ "other" : "a(n) {0} Stonnen"
+ },
+ "past" : {
+ "one" : "virun {0} Stonn",
+ "other" : "viru(n) {0} Stonnen"
+ },
+ "current" : "this hour"
+ },
+ "month" : {
+ "next" : "nächste Mount",
+ "previous" : "leschte Mount",
+ "current" : "dëse Mount",
+ "future" : {
+ "one" : "an {0} Mount",
+ "other" : "a(n) {0} Méint"
+ },
+ "past" : {
+ "other" : "viru(n) {0} Méint",
+ "one" : "virun {0} Mount"
+ }
+ },
+ "now" : "now",
+ "week" : {
+ "current" : "dës Woch",
+ "next" : "nächst Woch",
+ "past" : {
+ "one" : "virun {0} Woch",
+ "other" : "viru(n) {0} Wochen"
+ },
+ "previous" : "lescht Woch",
+ "future" : {
+ "other" : "a(n) {0} Wochen",
+ "one" : "an {0} Woch"
+ }
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : {
+ "one" : "an {0} Minutt",
+ "other" : "a(n) {0} Minutten"
+ },
+ "past" : {
+ "one" : "virun {0} Minutt",
+ "other" : "viru(n) {0} Minutten"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "an {0} Sekonn",
+ "other" : "a(n) {0} Sekonnen"
+ },
+ "current" : "now",
+ "past" : {
+ "other" : "viru(n) {0} Sekonnen",
+ "one" : "virun {0} Sekonn"
+ }
+ },
+ "day" : {
+ "current" : "haut",
+ "future" : {
+ "one" : "an {0} Dag",
+ "other" : "a(n) {0} Deeg"
+ },
+ "previous" : "gëschter",
+ "next" : "muer",
+ "past" : {
+ "other" : "viru(n) {0} Deeg",
+ "one" : "virun {0} Dag"
+ }
+ },
+ "year" : {
+ "past" : {
+ "one" : "virun {0} Joer",
+ "other" : "viru(n) {0} Joer"
+ },
+ "next" : "nächst Joer",
+ "previous" : "lescht Joer",
+ "current" : "dëst Joer",
+ "future" : {
+ "one" : "an {0} Joer",
+ "other" : "a(n) {0} Joer"
+ }
+ }
+ },
+ "short" : {
+ "hour" : {
+ "current" : "this hour",
+ "past" : {
+ "other" : "viru(n) {0} St.",
+ "one" : "virun {0} St."
+ },
+ "future" : {
+ "one" : "an {0} St.",
+ "other" : "a(n) {0} St."
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "an {0} Sek.",
+ "other" : "a(n) {0} Sek."
+ },
+ "past" : {
+ "one" : "virun {0} Sek.",
+ "other" : "viru(n) {0} Sek."
+ },
+ "current" : "now"
+ },
+ "now" : "now",
+ "year" : {
+ "past" : {
+ "one" : "virun {0} J.",
+ "other" : "viru(n) {0} J."
+ },
+ "future" : {
+ "one" : "an {0} J.",
+ "other" : "a(n) {0} J."
+ },
+ "previous" : "lescht Joer",
+ "current" : "dëst Joer",
+ "next" : "nächst Joer"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "future" : {
+ "other" : "a(n) {0} Q.",
+ "one" : "an {0} Q."
+ },
+ "next" : "next quarter",
+ "past" : {
+ "other" : "viru(n) {0} Q.",
+ "one" : "virun {0} Q."
+ },
+ "current" : "this quarter"
+ },
+ "week" : {
+ "previous" : "lescht Woch",
+ "current" : "dës Woch",
+ "next" : "nächst Woch",
+ "past" : {
+ "one" : "virun {0} W.",
+ "other" : "viru(n) {0} W."
+ },
+ "future" : {
+ "other" : "a(n) {0} W.",
+ "one" : "an {0} W."
+ }
+ },
+ "day" : {
+ "next" : "muer",
+ "past" : {
+ "other" : "viru(n) {0} D.",
+ "one" : "virun {0} D."
+ },
+ "previous" : "gëschter",
+ "future" : {
+ "one" : "an {0} D.",
+ "other" : "a(n) {0} D."
+ },
+ "current" : "haut"
+ },
+ "minute" : {
+ "past" : {
+ "other" : "viru(n) {0} Min.",
+ "one" : "virun {0} Min."
+ },
+ "future" : {
+ "one" : "an {0} Min.",
+ "other" : "a(n) {0} Min."
+ },
+ "current" : "this minute"
+ },
+ "month" : {
+ "next" : "nächste Mount",
+ "past" : {
+ "one" : "virun {0} M.",
+ "other" : "viru(n) {0} M."
+ },
+ "future" : {
+ "one" : "an {0} M.",
+ "other" : "a(n) {0} M."
+ },
+ "previous" : "leschte Mount",
+ "current" : "dëse Mount"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lkt.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lkt.json
new file mode 100644
index 00000000..8d668d6d
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lkt.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "year" : {
+ "future" : "Letáŋhaŋ ómakȟa {0} kiŋháŋ",
+ "previous" : "Ómakȟa kʼuŋ héhaŋ",
+ "next" : "Tȟokáta ómakȟa kiŋháŋ",
+ "current" : "Lé ómakȟa kiŋ",
+ "past" : "Hékta ómakȟa {0} kʼuŋ héhaŋ"
+ },
+ "week" : {
+ "past" : "Hékta okó {0} kʼuŋ héhaŋ",
+ "previous" : "Okó kʼuŋ héhaŋ",
+ "future" : "Letáŋhaŋ okó {0} kiŋháŋ",
+ "current" : "Lé okó kiŋ",
+ "next" : "Tȟokáta okó kiŋháŋ"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "Hékta owápȟe {0} kʼuŋ héhaŋ",
+ "future" : "Letáŋhaŋ owápȟe {0} kiŋháŋ"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "previous" : "last quarter",
+ "future" : "+{0} Q",
+ "past" : "-{0} Q",
+ "next" : "next quarter"
+ },
+ "second" : {
+ "past" : "Hékta okpí {0} k’uŋ héhaŋ",
+ "future" : "Letáŋhaŋ okpí {0} kiŋháŋ",
+ "current" : "now"
+ },
+ "month" : {
+ "current" : "Lé wí kiŋ",
+ "future" : "Letáŋhaŋ wíyawapi {0} kiŋháŋ",
+ "past" : "Hékta wíyawapi {0} kʼuŋ héhaŋ",
+ "next" : "Tȟokáta wí kiŋháŋ",
+ "previous" : "Wí kʼuŋ héhaŋ"
+ },
+ "day" : {
+ "previous" : "Ȟtálehaŋ",
+ "future" : "Letáŋhaŋ {0}-čháŋ kiŋháŋ",
+ "next" : "Híŋhaŋni kiŋháŋ",
+ "current" : "Lé aŋpétu kiŋ",
+ "past" : "Hékta {0}-čháŋ k’uŋ héhaŋ"
+ },
+ "minute" : {
+ "future" : "Letáŋhaŋ oȟ’áŋkȟo {0} kiŋháŋ",
+ "current" : "this minute",
+ "past" : "Hékta oȟ’áŋkȟo {0} k’uŋ héhaŋ"
+ },
+ "now" : "now"
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "previous" : "last quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q"
+ },
+ "now" : "now",
+ "year" : {
+ "previous" : "Ómakȟa kʼuŋ héhaŋ",
+ "past" : "Hékta ómakȟa {0} kʼuŋ héhaŋ",
+ "future" : "Letáŋhaŋ ómakȟa {0} kiŋháŋ",
+ "next" : "Tȟokáta ómakȟa kiŋháŋ",
+ "current" : "Lé ómakȟa kiŋ"
+ },
+ "month" : {
+ "previous" : "Wí kʼuŋ héhaŋ",
+ "current" : "Lé wí kiŋ",
+ "future" : "Letáŋhaŋ wíyawapi {0} kiŋháŋ",
+ "past" : "Hékta wíyawapi {0} kʼuŋ héhaŋ",
+ "next" : "Tȟokáta wí kiŋháŋ"
+ },
+ "day" : {
+ "previous" : "Ȟtálehaŋ",
+ "future" : "Letáŋhaŋ {0}-čháŋ kiŋháŋ",
+ "next" : "Híŋhaŋni kiŋháŋ",
+ "past" : "Hékta {0}-čháŋ k’uŋ héhaŋ",
+ "current" : "Lé aŋpétu kiŋ"
+ },
+ "second" : {
+ "past" : "Hékta okpí {0} k’uŋ héhaŋ",
+ "future" : "Letáŋhaŋ okpí {0} kiŋháŋ",
+ "current" : "now"
+ },
+ "week" : {
+ "past" : "Hékta okó {0} kʼuŋ héhaŋ",
+ "current" : "Lé okó kiŋ",
+ "next" : "Tȟokáta okó kiŋháŋ",
+ "previous" : "Okó kʼuŋ héhaŋ",
+ "future" : "Letáŋhaŋ okó {0} kiŋháŋ"
+ },
+ "hour" : {
+ "future" : "Letáŋhaŋ owápȟe {0} kiŋháŋ",
+ "current" : "this hour",
+ "past" : "Hékta owápȟe {0} kʼuŋ héhaŋ"
+ },
+ "minute" : {
+ "future" : "Letáŋhaŋ oȟ’áŋkȟo {0} kiŋháŋ",
+ "current" : "this minute",
+ "past" : "Hékta oȟ’áŋkȟo {0} k’uŋ héhaŋ"
+ }
+ },
+ "short" : {
+ "second" : {
+ "current" : "now",
+ "past" : "Hékta okpí {0} k’uŋ héhaŋ",
+ "future" : "Letáŋhaŋ okpí {0} kiŋháŋ"
+ },
+ "now" : "now",
+ "month" : {
+ "future" : "Letáŋhaŋ wíyawapi {0} kiŋháŋ",
+ "current" : "Lé wí kiŋ",
+ "past" : "Hékta wíyawapi {0} kʼuŋ héhaŋ",
+ "previous" : "Wí kʼuŋ héhaŋ",
+ "next" : "Tȟokáta wí kiŋháŋ"
+ },
+ "day" : {
+ "previous" : "Ȟtálehaŋ",
+ "current" : "Lé aŋpétu kiŋ",
+ "next" : "Híŋhaŋni kiŋháŋ",
+ "future" : "Letáŋhaŋ {0}-čháŋ kiŋháŋ",
+ "past" : "Hékta {0}-čháŋ k’uŋ héhaŋ"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : "Letáŋhaŋ oȟ’áŋkȟo {0} kiŋháŋ",
+ "past" : "Hékta oȟ’áŋkȟo {0} k’uŋ héhaŋ"
+ },
+ "quarter" : {
+ "past" : "-{0} Q",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "next" : "next quarter"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "future" : "Letáŋhaŋ owápȟe {0} kiŋháŋ",
+ "past" : "Hékta owápȟe {0} kʼuŋ héhaŋ"
+ },
+ "week" : {
+ "future" : "Letáŋhaŋ okó {0} kiŋháŋ",
+ "previous" : "Okó kʼuŋ héhaŋ",
+ "next" : "Tȟokáta okó kiŋháŋ",
+ "past" : "Hékta okó {0} kʼuŋ héhaŋ",
+ "current" : "Lé okó kiŋ"
+ },
+ "year" : {
+ "next" : "Tȟokáta ómakȟa kiŋháŋ",
+ "current" : "Lé ómakȟa kiŋ",
+ "past" : "Hékta ómakȟa {0} kʼuŋ héhaŋ",
+ "future" : "Letáŋhaŋ ómakȟa {0} kiŋháŋ",
+ "previous" : "Ómakȟa kʼuŋ héhaŋ"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lo.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lo.json
new file mode 100644
index 00000000..6954f38a
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lo.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "{0} ຕມ. ກ່ອນ",
+ "future" : "ໃນ {0} ຕມ.",
+ "current" : "ໄຕຣມາດນີ້",
+ "previous" : "ໄຕຣມາດກ່ອນໜ້າ",
+ "next" : "ໄຕຣມາດໜ້າ"
+ },
+ "year" : {
+ "previous" : "ປີກາຍ",
+ "next" : "ປີໜ້າ",
+ "future" : "ໃນອີກ {0} ປີ",
+ "current" : "ປີນີ້",
+ "past" : "{0} ປີກ່ອນ"
+ },
+ "week" : {
+ "future" : "ໃນອີກ {0} ອທ.",
+ "previous" : "ອາທິດແລ້ວ",
+ "next" : "ອາທິດໜ້າ",
+ "past" : "{0} ອທ. ກ່ອນ",
+ "current" : "ອາທິດນີ້"
+ },
+ "day" : {
+ "current" : "ມື້ນີ້",
+ "past" : "{0} ມື້ກ່ອນ",
+ "next" : "ມື້ອື່ນ",
+ "future" : "ໃນອີກ {0} ມື້",
+ "previous" : "ມື້ວານ"
+ },
+ "hour" : {
+ "current" : "ຊົ່ວໂມງນີ້",
+ "past" : "{0} ຊມ. ກ່ອນ",
+ "future" : "ໃນອີກ {0} ຊມ."
+ },
+ "minute" : {
+ "future" : "ໃນ {0} ນທ.",
+ "current" : "ນາທີນີ້",
+ "past" : "{0} ນທ. ກ່ອນ"
+ },
+ "month" : {
+ "next" : "ເດືອນໜ້າ",
+ "current" : "ເດືອນນີ້",
+ "past" : "{0} ດ. ກ່ອນ",
+ "future" : "ໃນອີກ {0} ດ.",
+ "previous" : "ເດືອນແລ້ວ"
+ },
+ "now" : "ຕອນນີ້",
+ "second" : {
+ "future" : "ໃນ {0} ວິ.",
+ "current" : "ຕອນນີ້",
+ "past" : "{0} ວິ. ກ່ອນ"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} ນທ. ກ່ອນ",
+ "future" : "ໃນ {0} ນທ.",
+ "current" : "ນາທີນີ້"
+ },
+ "week" : {
+ "current" : "ອາທິດນີ້",
+ "past" : "{0} ອທ. ກ່ອນ",
+ "future" : "ໃນອີກ {0} ອທ.",
+ "next" : "ອາທິດໜ້າ",
+ "previous" : "ອາທິດແລ້ວ"
+ },
+ "year" : {
+ "future" : "ໃນອີກ {0} ປີ",
+ "previous" : "ປີກາຍ",
+ "next" : "ປີໜ້າ",
+ "current" : "ປີນີ້",
+ "past" : "{0} ປີກ່ອນ"
+ },
+ "day" : {
+ "next" : "ມື້ອື່ນ",
+ "current" : "ມື້ນີ້",
+ "previous" : "ມື້ວານ",
+ "past" : "{0} ມື້ກ່ອນ",
+ "future" : "ໃນອີກ {0} ມື້"
+ },
+ "hour" : {
+ "future" : "ໃນອີກ {0} ຊມ.",
+ "current" : "ຊົ່ວໂມງນີ້",
+ "past" : "{0} ຊມ. ກ່ອນ"
+ },
+ "quarter" : {
+ "current" : "ໄຕຣມາດນີ້",
+ "future" : "ໃນ {0} ຕມ.",
+ "previous" : "ໄຕຣມາດກ່ອນໜ້າ",
+ "next" : "ໄຕຣມາດໜ້າ",
+ "past" : "{0} ຕມ. ກ່ອນ"
+ },
+ "second" : {
+ "past" : "{0} ວິ. ກ່ອນ",
+ "current" : "ຕອນນີ້",
+ "future" : "ໃນ {0} ວິ."
+ },
+ "month" : {
+ "current" : "ເດືອນນີ້",
+ "past" : "{0} ດ. ກ່ອນ",
+ "future" : "ໃນອີກ {0} ດ.",
+ "next" : "ເດືອນໜ້າ",
+ "previous" : "ເດືອນແລ້ວ"
+ },
+ "now" : "ຕອນນີ້"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "ໃນອີກ {0} ຊົ່ວໂມງ",
+ "current" : "ຊົ່ວໂມງນີ້",
+ "past" : "{0} ຊົ່ວໂມງກ່ອນ"
+ },
+ "day" : {
+ "next" : "ມື້ອື່ນ",
+ "past" : "{0} ມື້ກ່ອນ",
+ "previous" : "ມື້ວານ",
+ "future" : "ໃນອີກ {0} ມື້",
+ "current" : "ມື້ນີ້"
+ },
+ "second" : {
+ "past" : "{0} ວິນາທີກ່ອນ",
+ "current" : "ຕອນນີ້",
+ "future" : "ໃນອີກ {0} ວິນາທີ"
+ },
+ "week" : {
+ "future" : "ໃນອີກ {0} ອາທິດ",
+ "past" : "{0} ອາທິດກ່ອນ",
+ "current" : "ອາທິດນີ້",
+ "next" : "ອາທິດໜ້າ",
+ "previous" : "ອາທິດແລ້ວ"
+ },
+ "minute" : {
+ "future" : "{0} ໃນອີກ 0 ນາທີ",
+ "past" : "{0} ນາທີກ່ອນ",
+ "current" : "ນາທີນີ້"
+ },
+ "month" : {
+ "future" : "ໃນອີກ {0} ເດືອນ",
+ "past" : "{0} ເດືອນກ່ອນ",
+ "current" : "ເດືອນນີ້",
+ "previous" : "ເດືອນແລ້ວ",
+ "next" : "ເດືອນໜ້າ"
+ },
+ "now" : "ຕອນນີ້",
+ "year" : {
+ "current" : "ປີນີ້",
+ "next" : "ປີໜ້າ",
+ "previous" : "ປີກາຍ",
+ "future" : "ໃນອີກ {0} ປີ",
+ "past" : "{0} ປີກ່ອນ"
+ },
+ "quarter" : {
+ "future" : "ໃນອີກ {0} ໄຕຣມາດ",
+ "previous" : "ໄຕຣມາດກ່ອນໜ້າ",
+ "past" : "{0} ໄຕຣມາດກ່ອນ",
+ "next" : "ໄຕຣມາດໜ້າ",
+ "current" : "ໄຕຣມາດນີ້"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lt.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lt.json
new file mode 100644
index 00000000..c30914b9
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lt.json
@@ -0,0 +1,228 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "prieš {0} ketv.",
+ "future" : "po {0} ketv.",
+ "current" : "šis ketvirtis",
+ "previous" : "praėjęs ketvirtis",
+ "next" : "kitas ketvirtis"
+ },
+ "year" : {
+ "previous" : "praėjusiais metais",
+ "next" : "kitais metais",
+ "future" : "po {0} m.",
+ "current" : "šiais metais",
+ "past" : "prieš {0} m."
+ },
+ "week" : {
+ "future" : "po {0} sav.",
+ "previous" : "praėjusią savaitę",
+ "next" : "kitą savaitę",
+ "past" : "prieš {0} sav.",
+ "current" : "šią savaitę"
+ },
+ "day" : {
+ "current" : "šiandien",
+ "past" : "prieš {0} d.",
+ "next" : "rytoj",
+ "future" : "po {0} d.",
+ "previous" : "vakar"
+ },
+ "hour" : {
+ "current" : "šią valandą",
+ "past" : "prieš {0} val.",
+ "future" : "po {0} val."
+ },
+ "minute" : {
+ "future" : "po {0} min.",
+ "current" : "šią minutę",
+ "past" : "prieš {0} min."
+ },
+ "month" : {
+ "next" : "kitą mėnesį",
+ "current" : "šį mėnesį",
+ "past" : "prieš {0} mėn.",
+ "future" : "po {0} mėn.",
+ "previous" : "praėjusį mėnesį"
+ },
+ "now" : "dabar",
+ "second" : {
+ "future" : "po {0} s",
+ "current" : "dabar",
+ "past" : "prieš {0} s"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "prieš {0} min.",
+ "future" : "po {0} min.",
+ "current" : "šią minutę"
+ },
+ "week" : {
+ "current" : "šią savaitę",
+ "past" : "prieš {0} sav.",
+ "future" : "po {0} sav.",
+ "next" : "kitą savaitę",
+ "previous" : "praėjusią savaitę"
+ },
+ "year" : {
+ "future" : "po {0} m.",
+ "previous" : "praėjusiais metais",
+ "next" : "kitais metais",
+ "current" : "šiais metais",
+ "past" : "prieš {0} m."
+ },
+ "day" : {
+ "next" : "rytoj",
+ "current" : "šiandien",
+ "previous" : "vakar",
+ "past" : "prieš {0} d.",
+ "future" : "po {0} d."
+ },
+ "hour" : {
+ "future" : "po {0} val.",
+ "current" : "šią valandą",
+ "past" : "prieš {0} val."
+ },
+ "quarter" : {
+ "current" : "šis ketvirtis",
+ "future" : "po {0} ketv.",
+ "previous" : "praėjęs ketvirtis",
+ "next" : "kitas ketvirtis",
+ "past" : "prieš {0} ketv."
+ },
+ "second" : {
+ "past" : "prieš {0} sek.",
+ "current" : "dabar",
+ "future" : "po {0} sek."
+ },
+ "month" : {
+ "current" : "šį mėnesį",
+ "past" : "prieš {0} mėn.",
+ "future" : "po {0} mėn.",
+ "next" : "kitą mėnesį",
+ "previous" : "praėjusį mėnesį"
+ },
+ "now" : "dabar"
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "kitas ketvirtis",
+ "current" : "šis ketvirtis",
+ "future" : {
+ "many" : "po {0} ketvirčio",
+ "one" : "po {0} ketvirčio",
+ "other" : "po {0} ketvirčių"
+ },
+ "previous" : "praėjęs ketvirtis",
+ "past" : {
+ "few" : "prieš {0} ketvirčius",
+ "one" : "prieš {0} ketvirtį",
+ "many" : "prieš {0} ketvirčio",
+ "other" : "prieš {0} ketvirčių"
+ }
+ },
+ "day" : {
+ "next" : "rytoj",
+ "past" : {
+ "few" : "prieš {0} dienas",
+ "one" : "prieš {0} dieną",
+ "many" : "prieš {0} dienos",
+ "other" : "prieš {0} dienų"
+ },
+ "previous" : "vakar",
+ "current" : "šiandien",
+ "future" : {
+ "other" : "po {0} dienų",
+ "many" : "po {0} dienos",
+ "one" : "po {0} dienos"
+ }
+ },
+ "week" : {
+ "current" : "šią savaitę",
+ "next" : "kitą savaitę",
+ "past" : {
+ "one" : "prieš {0} savaitę",
+ "few" : "prieš {0} savaites",
+ "other" : "prieš {0} savaičių",
+ "many" : "prieš {0} savaitės"
+ },
+ "future" : {
+ "one" : "po {0} savaitės",
+ "other" : "po {0} savaičių",
+ "many" : "po {0} savaitės"
+ },
+ "previous" : "praėjusią savaitę"
+ },
+ "month" : {
+ "current" : "šį mėnesį",
+ "future" : {
+ "one" : "po {0} mėnesio",
+ "many" : "po {0} mėnesio",
+ "other" : "po {0} mėnesių"
+ },
+ "next" : "kitą mėnesį",
+ "previous" : "praėjusį mėnesį",
+ "past" : {
+ "one" : "prieš {0} mėnesį",
+ "many" : "prieš {0} mėnesio",
+ "other" : "prieš {0} mėnesių",
+ "few" : "prieš {0} mėnesius"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "po {0} sekundės",
+ "many" : "po {0} sekundės",
+ "other" : "po {0} sekundžių"
+ },
+ "current" : "dabar",
+ "past" : {
+ "many" : "prieš {0} sekundės",
+ "one" : "prieš {0} sekundę",
+ "few" : "prieš {0} sekundes",
+ "other" : "prieš {0} sekundžių"
+ }
+ },
+ "year" : {
+ "current" : "šiais metais",
+ "next" : "kitais metais",
+ "previous" : "praėjusiais metais",
+ "future" : "po {0} metų",
+ "past" : {
+ "other" : "prieš {0} metų",
+ "one" : "prieš {0} metus",
+ "few" : "prieš {0} metus"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "one" : "prieš {0} valandą",
+ "other" : "prieš {0} valandų",
+ "few" : "prieš {0} valandas",
+ "many" : "prieš {0} valandos"
+ },
+ "future" : {
+ "many" : "po {0} valandos",
+ "other" : "po {0} valandų",
+ "one" : "po {0} valandos"
+ },
+ "current" : "šią valandą"
+ },
+ "now" : "dabar",
+ "minute" : {
+ "current" : "šią minutę",
+ "future" : {
+ "one" : "po {0} minutės",
+ "other" : "po {0} minučių",
+ "many" : "po {0} minutės"
+ },
+ "past" : {
+ "other" : "prieš {0} minučių",
+ "many" : "prieš {0} minutės",
+ "one" : "prieš {0} minutę",
+ "few" : "prieš {0} minutes"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lv.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lv.json
new file mode 100644
index 00000000..29e9af9b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/lv.json
@@ -0,0 +1,227 @@
+{
+ "short" : {
+ "now" : "tagad",
+ "minute" : {
+ "past" : "pirms {0} min.",
+ "future" : "pēc {0} min.",
+ "current" : "šajā minūtē"
+ },
+ "year" : {
+ "current" : "šajā gadā",
+ "future" : "pēc {0} g.",
+ "previous" : "pagājušajā gadā",
+ "next" : "nākamajā gadā",
+ "past" : "pirms {0} g."
+ },
+ "second" : {
+ "current" : "tagad",
+ "future" : "pēc {0} sek.",
+ "past" : "pirms {0} sek."
+ },
+ "hour" : {
+ "future" : "pēc {0} st.",
+ "past" : "pirms {0} st.",
+ "current" : "šajā stundā"
+ },
+ "month" : {
+ "current" : "šajā mēnesī",
+ "next" : "nākamajā mēnesī",
+ "past" : "pirms {0} mēn.",
+ "future" : "pēc {0} mēn.",
+ "previous" : "pagājušajā mēnesī"
+ },
+ "quarter" : {
+ "future" : "pēc {0} cet.",
+ "previous" : "pēdējais ceturksnis",
+ "next" : "nākamais ceturksnis",
+ "past" : "pirms {0} cet.",
+ "current" : "šis ceturksnis"
+ },
+ "week" : {
+ "next" : "nākamajā nedēļā",
+ "past" : "pirms {0} ned.",
+ "current" : "šajā nedēļā",
+ "previous" : "pagājušajā nedēļā",
+ "future" : "pēc {0} ned."
+ },
+ "day" : {
+ "next" : "rīt",
+ "current" : "šodien",
+ "previous" : "vakar",
+ "past" : {
+ "one" : "pirms {0} d.",
+ "other" : "pirms {0} d."
+ },
+ "future" : {
+ "one" : "pēc {0} d.",
+ "other" : "pēc {0} d."
+ }
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "current" : "šis ceturksnis",
+ "previous" : "pēdējais ceturksnis",
+ "next" : "nākamais ceturksnis",
+ "past" : {
+ "one" : "pirms {0} ceturkšņa",
+ "other" : "pirms {0} ceturkšņiem"
+ },
+ "future" : {
+ "one" : "pēc {0} ceturkšņa",
+ "other" : "pēc {0} ceturkšņiem"
+ }
+ },
+ "minute" : {
+ "current" : "šajā minūtē",
+ "past" : {
+ "one" : "pirms {0} minūtes",
+ "other" : "pirms {0} minūtēm"
+ },
+ "future" : {
+ "one" : "pēc {0} minūtes",
+ "other" : "pēc {0} minūtēm"
+ }
+ },
+ "now" : "tagad",
+ "second" : {
+ "past" : {
+ "other" : "pirms {0} sekundēm",
+ "one" : "pirms {0} sekundes"
+ },
+ "future" : {
+ "one" : "pēc {0} sekundes",
+ "other" : "pēc {0} sekundēm"
+ },
+ "current" : "tagad"
+ },
+ "hour" : {
+ "future" : {
+ "other" : "pēc {0} stundām",
+ "one" : "pēc {0} stundas"
+ },
+ "current" : "šajā stundā",
+ "past" : {
+ "other" : "pirms {0} stundām",
+ "one" : "pirms {0} stundas"
+ }
+ },
+ "week" : {
+ "next" : "nākamajā nedēļā",
+ "past" : {
+ "other" : "pirms {0} nedēļām",
+ "one" : "pirms {0} nedēļas"
+ },
+ "current" : "šajā nedēļā",
+ "previous" : "pagājušajā nedēļā",
+ "future" : {
+ "other" : "pēc {0} nedēļām",
+ "one" : "pēc {0} nedēļas"
+ }
+ },
+ "day" : {
+ "future" : {
+ "other" : "pēc {0} dienām",
+ "one" : "pēc {0} dienas"
+ },
+ "past" : {
+ "one" : "pirms {0} dienas",
+ "other" : "pirms {0} dienām"
+ },
+ "previous" : "vakar",
+ "current" : "šodien",
+ "next" : "rīt"
+ },
+ "month" : {
+ "past" : {
+ "other" : "pirms {0} mēnešiem",
+ "one" : "pirms {0} mēneša"
+ },
+ "previous" : "pagājušajā mēnesī",
+ "next" : "nākamajā mēnesī",
+ "future" : {
+ "other" : "pēc {0} mēnešiem",
+ "one" : "pēc {0} mēneša"
+ },
+ "current" : "šajā mēnesī"
+ },
+ "year" : {
+ "current" : "šajā gadā",
+ "previous" : "pagājušajā gadā",
+ "future" : {
+ "one" : "pēc {0} gada",
+ "other" : "pēc {0} gadiem"
+ },
+ "next" : "nākamajā gadā",
+ "past" : {
+ "other" : "pirms {0} gadiem",
+ "one" : "pirms {0} gada"
+ }
+ }
+ },
+ "narrow" : {
+ "week" : {
+ "past" : "pirms {0} ned.",
+ "future" : "pēc {0} ned.",
+ "next" : "nākamajā nedēļā",
+ "current" : "šajā nedēļā",
+ "previous" : "pagājušajā nedēļā"
+ },
+ "minute" : {
+ "past" : "pirms {0} min",
+ "future" : {
+ "other" : "pēc {0} min",
+ "one" : "pēc {0} min"
+ },
+ "current" : "šajā minūtē"
+ },
+ "month" : {
+ "next" : "nākamajā mēnesī",
+ "past" : "pirms {0} mēn.",
+ "current" : "šajā mēnesī",
+ "future" : "pēc {0} mēn.",
+ "previous" : "pagājušajā mēnesī"
+ },
+ "now" : "tagad",
+ "year" : {
+ "previous" : "pagājušajā gadā",
+ "current" : "šajā gadā",
+ "past" : "pirms {0} g.",
+ "future" : "pēc {0} g.",
+ "next" : "nākamajā gadā"
+ },
+ "day" : {
+ "current" : "šodien",
+ "past" : {
+ "one" : "pirms {0} d.",
+ "other" : "pirms {0} d."
+ },
+ "future" : {
+ "one" : "pēc {0} d.",
+ "other" : "pēc {0} d."
+ },
+ "previous" : "vakar",
+ "next" : "rīt"
+ },
+ "second" : {
+ "past" : {
+ "other" : "pirms {0} s",
+ "one" : "pirms {0} s"
+ },
+ "current" : "tagad",
+ "future" : "pēc {0} s"
+ },
+ "quarter" : {
+ "current" : "šis ceturksnis",
+ "previous" : "pēdējais ceturksnis",
+ "past" : "pirms {0} cet.",
+ "next" : "nākamais ceturksnis",
+ "future" : "pēc {0} cet."
+ },
+ "hour" : {
+ "current" : "šajā stundā",
+ "past" : "pirms {0} h",
+ "future" : "pēc {0} h"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mk.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mk.json
new file mode 100644
index 00000000..3c440c64
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mk.json
@@ -0,0 +1,257 @@
+{
+ "short" : {
+ "month" : {
+ "current" : "овој месец",
+ "next" : "следниот месец",
+ "past" : {
+ "one" : "пред {0} месец",
+ "other" : "пред {0} месеци"
+ },
+ "future" : {
+ "one" : "за {0} месец",
+ "other" : "за {0} месеци"
+ },
+ "previous" : "минатиот месец"
+ },
+ "now" : "сега",
+ "day" : {
+ "next" : "утре",
+ "current" : "денес",
+ "previous" : "вчера",
+ "past" : {
+ "one" : "пред {0} ден",
+ "other" : "пред {0} дена"
+ },
+ "future" : {
+ "one" : "за {0} ден",
+ "other" : "за {0} дена"
+ }
+ },
+ "year" : {
+ "current" : "оваа година",
+ "future" : "за {0} год.",
+ "previous" : "минатата година",
+ "next" : "следната година",
+ "past" : "пред {0} год."
+ },
+ "hour" : {
+ "past" : {
+ "other" : "пред {0} часа",
+ "one" : "пред {0} час"
+ },
+ "future" : {
+ "one" : "за {0} час",
+ "other" : "за {0} часа"
+ },
+ "current" : "часов"
+ },
+ "minute" : {
+ "future" : "за {0} мин.",
+ "past" : "пред {0} мин.",
+ "current" : "оваа минута"
+ },
+ "second" : {
+ "current" : "сега",
+ "future" : "за {0} сек.",
+ "past" : "пред {0} сек."
+ },
+ "quarter" : {
+ "future" : "за {0} тромес.",
+ "previous" : "последното тромесечје",
+ "next" : "следното тромесечје",
+ "past" : "пред {0} тромес.",
+ "current" : "ова тромесечје"
+ },
+ "week" : {
+ "next" : "следната седмица",
+ "past" : {
+ "one" : "пред {0} седмица",
+ "other" : "пред {0} седмици"
+ },
+ "current" : "оваа седмица",
+ "previous" : "минатата седмица",
+ "future" : {
+ "other" : "за {0} седмици",
+ "one" : "за {0} седмица"
+ }
+ }
+ },
+ "narrow" : {
+ "second" : {
+ "current" : "сега",
+ "past" : "пред {0} сек.",
+ "future" : "за {0} сек."
+ },
+ "now" : "сега",
+ "quarter" : {
+ "previous" : "последното тромесечје",
+ "current" : "ова тромесечје",
+ "past" : "пред {0} тромес.",
+ "future" : "за {0} тромес.",
+ "next" : "следното тромесечје"
+ },
+ "minute" : {
+ "future" : "за {0} мин.",
+ "current" : "оваа минута",
+ "past" : "пред {0} мин."
+ },
+ "day" : {
+ "next" : "утре",
+ "current" : "денес",
+ "past" : {
+ "other" : "пред {0} дена",
+ "one" : "пред {0} ден"
+ },
+ "future" : {
+ "other" : "за {0} дена",
+ "one" : "за {0} ден"
+ },
+ "previous" : "вчера"
+ },
+ "week" : {
+ "current" : "оваа седмица",
+ "next" : "следната седмица",
+ "past" : {
+ "other" : "пред {0} седмици",
+ "one" : "пред {0} седмица"
+ },
+ "previous" : "минатата седмица",
+ "future" : {
+ "one" : "за {0} седмица",
+ "other" : "за {0} седмици"
+ }
+ },
+ "month" : {
+ "current" : "овој месец",
+ "next" : "следниот месец",
+ "past" : {
+ "other" : "пред {0} месеци",
+ "one" : "пред {0} месец"
+ },
+ "previous" : "минатиот месец",
+ "future" : {
+ "one" : "за {0} месец",
+ "other" : "за {0} месеци"
+ }
+ },
+ "year" : {
+ "previous" : "минатата година",
+ "current" : "оваа година",
+ "next" : "следната година",
+ "past" : "пред {0} год.",
+ "future" : "за {0} год."
+ },
+ "hour" : {
+ "current" : "часов",
+ "past" : {
+ "one" : "пред {0} час",
+ "other" : "пред {0} часа"
+ },
+ "future" : {
+ "one" : "за {0} час",
+ "other" : "за {0} часа"
+ }
+ }
+ },
+ "long" : {
+ "now" : "сега",
+ "minute" : {
+ "current" : "оваа минута",
+ "future" : {
+ "one" : "за {0} минута",
+ "other" : "за {0} минути"
+ },
+ "past" : {
+ "other" : "пред {0} минути",
+ "one" : "пред {0} минута"
+ }
+ },
+ "year" : {
+ "future" : {
+ "other" : "за {0} години",
+ "one" : "за {0} година"
+ },
+ "previous" : "минатата година",
+ "next" : "следната година",
+ "past" : {
+ "other" : "пред {0} години",
+ "one" : "пред {0} година"
+ },
+ "current" : "оваа година"
+ },
+ "hour" : {
+ "current" : "часов",
+ "past" : {
+ "one" : "пред {0} час",
+ "other" : "пред {0} часа"
+ },
+ "future" : {
+ "one" : "за {0} час",
+ "other" : "за {0} часа"
+ }
+ },
+ "second" : {
+ "current" : "сега",
+ "past" : {
+ "one" : "пред {0} секунда",
+ "other" : "пред {0} секунди"
+ },
+ "future" : {
+ "one" : "за {0} секунда",
+ "other" : "за {0} секунди"
+ }
+ },
+ "day" : {
+ "previous" : "вчера",
+ "current" : "денес",
+ "future" : {
+ "other" : "за {0} дена",
+ "one" : "за {0} ден"
+ },
+ "past" : {
+ "one" : "пред {0} ден",
+ "other" : "пред {0} дена"
+ },
+ "next" : "утре"
+ },
+ "month" : {
+ "previous" : "минатиот месец",
+ "current" : "овој месец",
+ "next" : "следниот месец",
+ "future" : {
+ "other" : "за {0} месеци",
+ "one" : "за {0} месец"
+ },
+ "past" : {
+ "one" : "пред {0} месец",
+ "other" : "пред {0} месеци"
+ }
+ },
+ "quarter" : {
+ "current" : "ова тромесечје",
+ "previous" : "последното тромесечје",
+ "past" : {
+ "one" : "пред {0} тромесечје",
+ "other" : "пред {0} тромесечја"
+ },
+ "future" : {
+ "other" : "за {0} тромесечја",
+ "one" : "за {0} тромесечје"
+ },
+ "next" : "следното тромесечје"
+ },
+ "week" : {
+ "future" : {
+ "one" : "за {0} седмица",
+ "other" : "за {0} седмици"
+ },
+ "current" : "оваа седмица",
+ "next" : "следната седмица",
+ "previous" : "минатата седмица",
+ "past" : {
+ "one" : "пред {0} седмица",
+ "other" : "пред {0} седмици"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ml.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ml.json
new file mode 100644
index 00000000..b828f8e8
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ml.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "നാളെ",
+ "future" : "{0} ദിവസത്തിൽ",
+ "previous" : "ഇന്നലെ",
+ "current" : "ഇന്ന്",
+ "past" : "{0} ദിവസം മുമ്പ്"
+ },
+ "quarter" : {
+ "next" : "അടുത്ത പാദം",
+ "past" : "{0} പാദം മുമ്പ്",
+ "future" : "{0} പാദത്തിൽ",
+ "previous" : "കഴിഞ്ഞ പാദം",
+ "current" : "ഈ പാദം"
+ },
+ "hour" : {
+ "future" : "{0} മണിക്കൂറിൽ",
+ "current" : "ഈ മണിക്കൂറിൽ",
+ "past" : "{0} മണിക്കൂർ മുമ്പ്"
+ },
+ "year" : {
+ "next" : "അടുത്തവർഷം",
+ "past" : "{0} വർഷം മുമ്പ്",
+ "current" : "ഈ വർഷം",
+ "previous" : "കഴിഞ്ഞ വർഷം",
+ "future" : "{0} വർഷത്തിൽ"
+ },
+ "now" : "ഇപ്പോൾ",
+ "month" : {
+ "current" : "ഈ മാസം",
+ "future" : "{0} മാസത്തിൽ",
+ "past" : "{0} മാസം മുമ്പ്",
+ "next" : "അടുത്ത മാസം",
+ "previous" : "കഴിഞ്ഞ മാസം"
+ },
+ "week" : {
+ "previous" : "കഴിഞ്ഞ ആഴ്ച",
+ "current" : "ഈ ആഴ്ച",
+ "past" : "{0} ആഴ്ച മുമ്പ്",
+ "future" : "{0} ആഴ്ചയിൽ",
+ "next" : "അടുത്ത ആഴ്ച"
+ },
+ "minute" : {
+ "current" : "ഈ മിനിറ്റിൽ",
+ "past" : "{0} മിനിറ്റ് മുമ്പ്",
+ "future" : "{0} മിനിറ്റിൽ"
+ },
+ "second" : {
+ "current" : "ഇപ്പോൾ",
+ "past" : "{0} സെക്കൻഡ് മുമ്പ്",
+ "future" : "{0} സെക്കൻഡിൽ"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "ഇന്നലെ",
+ "current" : "ഇന്ന്",
+ "next" : "നാളെ",
+ "past" : "{0} ദിവസം മുമ്പ്",
+ "future" : "{0} ദിവസത്തിൽ"
+ },
+ "week" : {
+ "current" : "ഈ ആഴ്ച",
+ "future" : "{0} ആഴ്ചയിൽ",
+ "past" : "{0} ആഴ്ച മുമ്പ്",
+ "previous" : "കഴിഞ്ഞ ആഴ്ച",
+ "next" : "അടുത്ത ആഴ്ച"
+ },
+ "minute" : {
+ "past" : "{0} മിനിറ്റ് മുമ്പ്",
+ "future" : "{0} മിനിറ്റിൽ",
+ "current" : "ഈ മിനിറ്റിൽ"
+ },
+ "month" : {
+ "future" : "{0} മാസത്തിൽ",
+ "next" : "അടുത്ത മാസം",
+ "previous" : "കഴിഞ്ഞ മാസം",
+ "current" : "ഈ മാസം",
+ "past" : "{0} മാസം മുമ്പ്"
+ },
+ "hour" : {
+ "future" : "{0} മണിക്കൂറിൽ",
+ "current" : "ഈ മണിക്കൂറിൽ",
+ "past" : "{0} മണിക്കൂർ മുമ്പ്"
+ },
+ "year" : {
+ "past" : "{0} വർഷം മുമ്പ്",
+ "future" : "{0} വർഷത്തിൽ",
+ "previous" : "കഴിഞ്ഞ വർഷം",
+ "next" : "അടുത്തവർഷം",
+ "current" : "ഈ വർഷം"
+ },
+ "second" : {
+ "past" : "{0} സെക്കൻഡ് മുമ്പ്",
+ "future" : "{0} സെക്കൻഡിൽ",
+ "current" : "ഇപ്പോൾ"
+ },
+ "now" : "ഇപ്പോൾ",
+ "quarter" : {
+ "past" : "{0} പാദം മുമ്പ്",
+ "current" : "ഈ പാദം",
+ "previous" : "കഴിഞ്ഞ പാദം",
+ "future" : "{0} പാദത്തിൽ",
+ "next" : "അടുത്ത പാദം"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} പാദത്തിൽ",
+ "next" : "അടുത്ത പാദം",
+ "previous" : "കഴിഞ്ഞ പാദം",
+ "current" : "ഈ പാദം",
+ "past" : "{0} പാദം മുമ്പ്"
+ },
+ "minute" : {
+ "future" : "{0} മിനിറ്റിൽ",
+ "current" : "ഈ മിനിറ്റിൽ",
+ "past" : "{0} മിനിറ്റ് മുമ്പ്"
+ },
+ "year" : {
+ "next" : "അടുത്തവർഷം",
+ "future" : "{0} വർഷത്തിൽ",
+ "current" : "ഈ വർഷം",
+ "past" : "{0} വർഷം മുമ്പ്",
+ "previous" : "കഴിഞ്ഞ വർഷം"
+ },
+ "second" : {
+ "future" : "{0} സെക്കൻഡിൽ",
+ "current" : "ഇപ്പോൾ",
+ "past" : "{0} സെക്കൻഡ് മുമ്പ്"
+ },
+ "hour" : {
+ "past" : "{0} മണിക്കൂർ മുമ്പ്",
+ "current" : "ഈ മണിക്കൂറിൽ",
+ "future" : "{0} മണിക്കൂറിൽ"
+ },
+ "now" : "ഇപ്പോൾ",
+ "month" : {
+ "previous" : "കഴിഞ്ഞ മാസം",
+ "next" : "അടുത്ത മാസം",
+ "past" : "{0} മാസം മുമ്പ്",
+ "current" : "ഈ മാസം",
+ "future" : "{0} മാസത്തിൽ"
+ },
+ "week" : {
+ "previous" : "കഴിഞ്ഞ ആഴ്ച",
+ "current" : "ഈ ആഴ്ച",
+ "next" : "അടുത്ത ആഴ്ച",
+ "past" : "{0} ആഴ്ച മുമ്പ്",
+ "future" : "{0} ആഴ്ചയിൽ"
+ },
+ "day" : {
+ "next" : "നാളെ",
+ "past" : "{0} ദിവസം മുമ്പ്",
+ "future" : "{0} ദിവസത്തിൽ",
+ "previous" : "ഇന്നലെ",
+ "current" : "ഇന്ന്"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mn.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mn.json
new file mode 100644
index 00000000..946947e3
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mn.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "маргааш",
+ "future" : "{0} өдөрт",
+ "previous" : "өчигдөр",
+ "current" : "өнөөдөр",
+ "past" : "{0} өдрийн өмнө"
+ },
+ "quarter" : {
+ "next" : "дараагийн улирал",
+ "past" : "{0} улирлын өмнө",
+ "future" : "{0} улиралд",
+ "previous" : "өнгөрсөн улирал",
+ "current" : "энэ улирал"
+ },
+ "hour" : {
+ "future" : "{0} цагт",
+ "current" : "энэ цаг",
+ "past" : "{0} ц. өмнө"
+ },
+ "year" : {
+ "next" : "ирэх жил",
+ "past" : "-{0} жил.н өмнө",
+ "current" : "энэ жил",
+ "previous" : "өнгөрсөн жил",
+ "future" : "+{0} жилд"
+ },
+ "now" : "одоо",
+ "month" : {
+ "current" : "энэ сар",
+ "future" : "+{0} сард",
+ "past" : "{0} сарын өмнө",
+ "next" : "ирэх сар",
+ "previous" : "өнгөрсөн сар"
+ },
+ "week" : {
+ "previous" : "өнгөрсөн долоо хоног",
+ "current" : "энэ долоо хоног",
+ "past" : "{0} 7 хоногийн өмнө",
+ "future" : "{0} 7 хоногт",
+ "next" : "ирэх долоо хоног"
+ },
+ "minute" : {
+ "current" : "энэ минут",
+ "past" : "{0} мин. өмнө",
+ "future" : "{0} мин. дотор"
+ },
+ "second" : {
+ "current" : "одоо",
+ "past" : "{0} сек. өмнө",
+ "future" : "{0} сек. дотор"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "өчигдөр",
+ "current" : "өнөөдөр",
+ "next" : "маргааш",
+ "past" : "{0} өдрийн өмнө",
+ "future" : "{0} өдөрт"
+ },
+ "week" : {
+ "current" : "энэ долоо хоног",
+ "future" : "{0} 7 хоногт",
+ "past" : "{0} 7 хоногийн өмнө",
+ "previous" : "өнгөрсөн долоо хоног",
+ "next" : "ирэх долоо хоног"
+ },
+ "minute" : {
+ "current" : "энэ минут",
+ "past" : "{0} минутын өмнө",
+ "future" : "{0} минутын дотор"
+ },
+ "month" : {
+ "future" : "{0} сард",
+ "next" : "ирэх сар",
+ "previous" : "өнгөрсөн сар",
+ "current" : "энэ сар",
+ "past" : "{0} сарын өмнө"
+ },
+ "hour" : {
+ "current" : "энэ цаг",
+ "past" : "{0} цагийн өмнө",
+ "future" : "{0} цагт"
+ },
+ "year" : {
+ "past" : "{0} жилийн өмнө",
+ "future" : "{0} жилийн дотор",
+ "previous" : "өнгөрсөн жил",
+ "next" : "ирэх жил",
+ "current" : "энэ жил"
+ },
+ "second" : {
+ "past" : "{0} секундын өмнө",
+ "future" : "{0} секундын дотор",
+ "current" : "одоо"
+ },
+ "now" : "одоо",
+ "quarter" : {
+ "past" : "{0} улирлын өмнө",
+ "current" : "энэ улирал",
+ "previous" : "өнгөрсөн улирал",
+ "future" : "{0} улиралд",
+ "next" : "дараагийн улирал"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} улиралд",
+ "next" : "дараагийн улирал",
+ "previous" : "өнгөрсөн улирал",
+ "current" : "энэ улирал",
+ "past" : "{0} улирлын өмнө"
+ },
+ "minute" : {
+ "current" : "энэ минут",
+ "past" : "{0} мин. өмнө",
+ "future" : "{0} мин. дотор"
+ },
+ "year" : {
+ "next" : "ирэх жил",
+ "future" : "{0} жилийн дотор",
+ "current" : "энэ жил",
+ "past" : "{0} жилийн өмнө",
+ "previous" : "өнгөрсөн жил"
+ },
+ "second" : {
+ "future" : "{0} сек. дотор",
+ "current" : "одоо",
+ "past" : "{0} сек. өмнө"
+ },
+ "hour" : {
+ "current" : "энэ цаг",
+ "past" : "{0} ц. өмнө",
+ "future" : "{0} цагт"
+ },
+ "now" : "одоо",
+ "month" : {
+ "previous" : "өнгөрсөн сар",
+ "next" : "ирэх сар",
+ "past" : "{0} сарын өмнө",
+ "current" : "энэ сар",
+ "future" : "{0} сард"
+ },
+ "week" : {
+ "previous" : "өнгөрсөн долоо хоног",
+ "current" : "энэ долоо хоног",
+ "next" : "ирэх долоо хоног",
+ "past" : "{0} 7 хоногийн өмнө",
+ "future" : "{0} 7 хоногт"
+ },
+ "day" : {
+ "next" : "маргааш",
+ "past" : "{0} өдрийн өмнө",
+ "future" : "{0} өдөрт",
+ "previous" : "өчигдөр",
+ "current" : "өнөөдөр"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mr.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mr.json
new file mode 100644
index 00000000..94aa82d2
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mr.json
@@ -0,0 +1,281 @@
+{
+ "narrow" : {
+ "hour" : {
+ "future" : {
+ "other" : "येत्या {0} तासांमध्ये",
+ "one" : "येत्या {0} तासामध्ये"
+ },
+ "past" : {
+ "one" : "{0} तासापूर्वी",
+ "other" : "{0} तासांपूर्वी"
+ },
+ "current" : "तासात"
+ },
+ "now" : "आत्ता",
+ "quarter" : {
+ "current" : "ही तिमाही",
+ "next" : "पुढील तिमाही",
+ "previous" : "मागील तिमाही",
+ "past" : {
+ "one" : "{0} तिमाहीपूर्वी",
+ "other" : "{0} तिमाहींपूर्वी"
+ },
+ "future" : {
+ "one" : "{0} तिमाहीमध्ये",
+ "other" : "{0} तिमाहींमध्ये"
+ }
+ },
+ "year" : {
+ "next" : "पुढील वर्ष",
+ "previous" : "मागील वर्ष",
+ "past" : {
+ "one" : "{0} वर्षापूर्वी",
+ "other" : "{0} वर्षांपूर्वी"
+ },
+ "current" : "हे वर्ष",
+ "future" : {
+ "one" : "येत्या {0} वर्षामध्ये",
+ "other" : "येत्या {0} वर्षांमध्ये"
+ }
+ },
+ "week" : {
+ "next" : "पुढील आठवडा",
+ "previous" : "मागील आठवडा",
+ "future" : {
+ "other" : "येत्या {0} आठवड्यांमध्ये",
+ "one" : "येत्या {0} आठवड्यामध्ये"
+ },
+ "past" : {
+ "other" : "{0} आठवड्यांपूर्वी",
+ "one" : "{0} आठवड्यापूर्वी"
+ },
+ "current" : "हा आठवडा"
+ },
+ "month" : {
+ "previous" : "मागील महिना",
+ "next" : "पुढील महिना",
+ "future" : {
+ "one" : "{0} महिन्यामध्ये",
+ "other" : "{0} महिन्यांमध्ये"
+ },
+ "past" : {
+ "other" : "{0} महिन्यांपूर्वी",
+ "one" : "{0} महिन्यापूर्वी"
+ },
+ "current" : "हा महिना"
+ },
+ "day" : {
+ "future" : {
+ "one" : "{0} दिवसामध्ये",
+ "other" : "{0} दिवसांमध्ये"
+ },
+ "previous" : "काल",
+ "current" : "आज",
+ "next" : "उद्या",
+ "past" : {
+ "one" : "{0} दिवसापूर्वी",
+ "other" : "{0} दिवसांपूर्वी"
+ }
+ },
+ "minute" : {
+ "future" : "{0} मिनि. मध्ये",
+ "current" : "या मिनिटात",
+ "past" : "{0} मिनि. पूर्वी"
+ },
+ "second" : {
+ "past" : "{0} से. पूर्वी",
+ "current" : "आत्ता",
+ "future" : {
+ "one" : "{0} से. मध्ये",
+ "other" : "येत्या {0} से. मध्ये"
+ }
+ }
+ },
+ "long" : {
+ "second" : {
+ "past" : {
+ "other" : "{0} सेकंदांपूर्वी",
+ "one" : "{0} सेकंदापूर्वी"
+ },
+ "future" : {
+ "other" : "{0} सेकंदांमध्ये",
+ "one" : "{0} सेकंदामध्ये"
+ },
+ "current" : "आत्ता"
+ },
+ "year" : {
+ "previous" : "मागील वर्ष",
+ "current" : "हे वर्ष",
+ "next" : "पुढील वर्ष",
+ "past" : {
+ "one" : "{0} वर्षापूर्वी",
+ "other" : "{0} वर्षांपूर्वी"
+ },
+ "future" : {
+ "one" : "येत्या {0} वर्षामध्ये",
+ "other" : "येत्या {0} वर्षांमध्ये"
+ }
+ },
+ "quarter" : {
+ "current" : "ही तिमाही",
+ "future" : {
+ "one" : "{0} तिमाहीमध्ये",
+ "other" : "{0} तिमाहींमध्ये"
+ },
+ "past" : {
+ "other" : "{0} तिमाहींपूर्वी",
+ "one" : "{0} तिमाहीपूर्वी"
+ },
+ "previous" : "मागील तिमाही",
+ "next" : "पुढील तिमाही"
+ },
+ "minute" : {
+ "current" : "या मिनिटात",
+ "past" : {
+ "other" : "{0} मिनिटांपूर्वी",
+ "one" : "{0} मिनिटापूर्वी"
+ },
+ "future" : {
+ "other" : "{0} मिनिटांमध्ये",
+ "one" : "{0} मिनिटामध्ये"
+ }
+ },
+ "now" : "आत्ता",
+ "month" : {
+ "future" : {
+ "other" : "येत्या {0} महिन्यांमध्ये",
+ "one" : "येत्या {0} महिन्यामध्ये"
+ },
+ "past" : {
+ "one" : "{0} महिन्यापूर्वी",
+ "other" : "{0} महिन्यांपूर्वी"
+ },
+ "current" : "हा महिना",
+ "next" : "पुढील महिना",
+ "previous" : "मागील महिना"
+ },
+ "week" : {
+ "current" : "हा आठवडा",
+ "next" : "पुढील आठवडा",
+ "previous" : "मागील आठवडा",
+ "past" : {
+ "one" : "{0} आठवड्यापूर्वी",
+ "other" : "{0} आठवड्यांपूर्वी"
+ },
+ "future" : {
+ "one" : "{0} आठवड्यामध्ये",
+ "other" : "{0} आठवड्यांमध्ये"
+ }
+ },
+ "hour" : {
+ "current" : "तासात",
+ "past" : {
+ "one" : "{0} तासापूर्वी",
+ "other" : "{0} तासांपूर्वी"
+ },
+ "future" : {
+ "other" : "{0} तासांमध्ये",
+ "one" : "{0} तासामध्ये"
+ }
+ },
+ "day" : {
+ "past" : {
+ "one" : "{0} दिवसापूर्वी",
+ "other" : "{0} दिवसांपूर्वी"
+ },
+ "previous" : "काल",
+ "next" : "उद्या",
+ "future" : {
+ "other" : "येत्या {0} दिवसांमध्ये",
+ "one" : "येत्या {0} दिवसामध्ये"
+ },
+ "current" : "आज"
+ }
+ },
+ "short" : {
+ "second" : {
+ "past" : "{0} से. पूर्वी",
+ "current" : "आत्ता",
+ "future" : "{0} से. मध्ये"
+ },
+ "day" : {
+ "next" : "उद्या",
+ "past" : {
+ "one" : "{0} दिवसापूर्वी",
+ "other" : "{0} दिवसांपूर्वी"
+ },
+ "previous" : "काल",
+ "future" : {
+ "other" : "येत्या {0} दिवसांमध्ये",
+ "one" : "{0} दिवसामध्ये"
+ },
+ "current" : "आज"
+ },
+ "year" : {
+ "past" : {
+ "one" : "{0} वर्षापूर्वी",
+ "other" : "{0} वर्षांपूर्वी"
+ },
+ "future" : {
+ "one" : "{0} वर्षामध्ये",
+ "other" : "{0} वर्षांमध्ये"
+ },
+ "previous" : "मागील वर्ष",
+ "current" : "हे वर्ष",
+ "next" : "पुढील वर्ष"
+ },
+ "week" : {
+ "previous" : "मागील आठवडा",
+ "current" : "हा आठवडा",
+ "next" : "पुढील आठवडा",
+ "past" : {
+ "one" : "{0} आठवड्यापूर्वी",
+ "other" : "{0} आठवड्यांपूर्वी"
+ },
+ "future" : {
+ "one" : "येत्या {0} आठवड्यामध्ये",
+ "other" : "येत्या {0} आठवड्यांमध्ये"
+ }
+ },
+ "now" : "आत्ता",
+ "minute" : {
+ "past" : "{0} मिनि. पूर्वी",
+ "future" : "{0} मिनि. मध्ये",
+ "current" : "या मिनिटात"
+ },
+ "quarter" : {
+ "previous" : "मागील तिमाही",
+ "future" : {
+ "other" : "येत्या {0} तिमाहींमध्ये",
+ "one" : "येत्या {0} तिमाहीमध्ये"
+ },
+ "next" : "पुढील तिमाही",
+ "past" : {
+ "other" : "{0} तिमाहींपूर्वी",
+ "one" : "{0} तिमाहीपूर्वी"
+ },
+ "current" : "ही तिमाही"
+ },
+ "month" : {
+ "next" : "पुढील महिना",
+ "past" : {
+ "one" : "{0} महिन्यापूर्वी",
+ "other" : "{0} महिन्यांपूर्वी"
+ },
+ "future" : "{0} महिन्यामध्ये",
+ "previous" : "मागील महिना",
+ "current" : "हा महिना"
+ },
+ "hour" : {
+ "current" : "तासात",
+ "past" : {
+ "one" : "{0} तासापूर्वी",
+ "other" : "{0} तासांपूर्वी"
+ },
+ "future" : {
+ "one" : "{0} तासामध्ये",
+ "other" : "{0} तासांमध्ये"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ms.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ms.json
new file mode 100644
index 00000000..ab98d0d6
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ms.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "esok",
+ "future" : "dlm {0} hari",
+ "previous" : "semlm",
+ "current" : "hari ini",
+ "past" : "{0} hari lalu"
+ },
+ "quarter" : {
+ "next" : "suku seterusnya",
+ "past" : "{0} suku thn lalu",
+ "future" : "dlm {0} suku thn",
+ "previous" : "suku lepas",
+ "current" : "suku ini"
+ },
+ "hour" : {
+ "future" : "dlm {0} jam",
+ "current" : "jam ini",
+ "past" : "{0} jam lalu"
+ },
+ "year" : {
+ "next" : "thn depan",
+ "past" : "{0} thn lalu",
+ "current" : "thn ini",
+ "previous" : "thn lepas",
+ "future" : "dalam {0} thn"
+ },
+ "now" : "sekarang",
+ "month" : {
+ "current" : "bln ini",
+ "future" : "dlm {0} bln",
+ "past" : "{0} bulan lalu",
+ "next" : "bln depan",
+ "previous" : "bln lalu"
+ },
+ "week" : {
+ "previous" : "mng lepas",
+ "current" : "mng ini",
+ "past" : "{0} mgu lalu",
+ "future" : "dlm {0} mgu",
+ "next" : "mng depan"
+ },
+ "minute" : {
+ "current" : "pada minit ini",
+ "past" : "{0} min lalu",
+ "future" : "dlm {0} min"
+ },
+ "second" : {
+ "past" : "{0} saat lalu",
+ "current" : "sekarang",
+ "future" : "dlm {0} saat"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "semalam",
+ "current" : "hari ini",
+ "next" : "esok",
+ "past" : "{0} hari lalu",
+ "future" : "dalam {0} hari"
+ },
+ "week" : {
+ "current" : "minggu ini",
+ "future" : "dalam {0} minggu",
+ "past" : "{0} minggu lalu",
+ "previous" : "minggu lalu",
+ "next" : "minggu depan"
+ },
+ "minute" : {
+ "current" : "pada minit ini",
+ "past" : "{0} minit lalu",
+ "future" : "dalam {0} minit"
+ },
+ "month" : {
+ "future" : "dalam {0} bulan",
+ "next" : "bulan depan",
+ "previous" : "bulan lalu",
+ "current" : "bulan ini",
+ "past" : "{0} bulan lalu"
+ },
+ "hour" : {
+ "current" : "jam ini",
+ "future" : "dalam {0} jam",
+ "past" : "{0} jam lalu"
+ },
+ "year" : {
+ "past" : "{0} tahun lalu",
+ "future" : "dalam {0} tahun",
+ "previous" : "tahun lalu",
+ "next" : "tahun depan",
+ "current" : "tahun ini"
+ },
+ "second" : {
+ "past" : "{0} saat lalu",
+ "current" : "sekarang",
+ "future" : "dalam {0} saat"
+ },
+ "now" : "sekarang",
+ "quarter" : {
+ "past" : "{0} suku tahun lalu",
+ "current" : "suku tahun ini",
+ "previous" : "suku tahun lalu",
+ "future" : "dalam {0} suku tahun",
+ "next" : "suku tahun seterusnya"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "dlm {0} suku thn",
+ "next" : "suku seterusnya",
+ "previous" : "suku lepas",
+ "current" : "suku ini",
+ "past" : "{0} suku thn lalu"
+ },
+ "minute" : {
+ "current" : "pada minit ini",
+ "past" : "{0} min lalu",
+ "future" : "dlm {0} min"
+ },
+ "year" : {
+ "next" : "thn depan",
+ "future" : "dalam {0} thn",
+ "current" : "thn ini",
+ "past" : "{0} thn lalu",
+ "previous" : "thn lepas"
+ },
+ "second" : {
+ "past" : "{0} saat lalu",
+ "current" : "sekarang",
+ "future" : "dlm {0} saat"
+ },
+ "hour" : {
+ "current" : "jam ini",
+ "past" : "{0} jam lalu",
+ "future" : "dlm {0} jam"
+ },
+ "now" : "sekarang",
+ "month" : {
+ "previous" : "bln lalu",
+ "next" : "bln depan",
+ "past" : "{0} bln lalu",
+ "current" : "bln ini",
+ "future" : "dlm {0} bln"
+ },
+ "week" : {
+ "previous" : "mng lepas",
+ "current" : "mng ini",
+ "next" : "mng depan",
+ "past" : "{0} mgu lalu",
+ "future" : "dlm {0} mgu"
+ },
+ "day" : {
+ "next" : "esok",
+ "past" : "{0} hari lalu",
+ "future" : "dlm {0} hari",
+ "previous" : "semlm",
+ "current" : "hari ini"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mt.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mt.json
new file mode 100644
index 00000000..aee1b263
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mt.json
@@ -0,0 +1,170 @@
+{
+ "narrow" : {
+ "now" : "now",
+ "hour" : {
+ "future" : "+{0} h",
+ "current" : "this hour",
+ "past" : "-{0} h"
+ },
+ "minute" : {
+ "future" : "+{0} min",
+ "current" : "this minute",
+ "past" : "-{0} min"
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "past" : "-{0} s",
+ "current" : "now"
+ },
+ "year" : {
+ "next" : "Is-sena d-dieħla",
+ "future" : "+{0} y",
+ "previous" : "Is-sena li għaddiet",
+ "current" : "din is-sena",
+ "past" : {
+ "one" : "{0} sena ilu",
+ "other" : "{0} snin ilu"
+ }
+ },
+ "week" : {
+ "past" : "-{0} w",
+ "next" : "Il-ġimgħa d-dieħla",
+ "future" : "+{0} w",
+ "previous" : "Il-ġimgħa li għaddiet",
+ "current" : "Din il-ġimgħa"
+ },
+ "month" : {
+ "previous" : "Ix-xahar li għadda",
+ "current" : "Dan ix-xahar",
+ "next" : "Ix-xahar id-dieħel",
+ "past" : "-{0} m",
+ "future" : "+{0} m"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "current" : "this quarter"
+ },
+ "day" : {
+ "next" : "Għada",
+ "previous" : "Ilbieraħ",
+ "past" : "-{0} d",
+ "future" : "+{0} d",
+ "current" : "Illum"
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q"
+ },
+ "day" : {
+ "previous" : "Ilbieraħ",
+ "past" : "-{0} d",
+ "future" : "+{0} d",
+ "current" : "Illum",
+ "next" : "Għada"
+ },
+ "week" : {
+ "next" : "Il-ġimgħa d-dieħla",
+ "past" : "-{0} w",
+ "future" : "+{0} w",
+ "previous" : "Il-ġimgħa li għaddiet",
+ "current" : "Din il-ġimgħa"
+ },
+ "hour" : {
+ "future" : "+{0} h",
+ "past" : "-{0} h",
+ "current" : "this hour"
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "now",
+ "past" : "-{0} s"
+ },
+ "year" : {
+ "previous" : "Is-sena li għaddiet",
+ "past" : {
+ "one" : "{0} sena ilu",
+ "other" : "{0} snin ilu"
+ },
+ "next" : "Is-sena d-dieħla",
+ "future" : "+{0} y",
+ "current" : "din is-sena"
+ },
+ "month" : {
+ "next" : "Ix-xahar id-dieħel",
+ "past" : "-{0} m",
+ "previous" : "Ix-xahar li għadda",
+ "current" : "Dan ix-xahar",
+ "future" : "+{0} m"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "current" : "this minute",
+ "future" : "+{0} min"
+ },
+ "now" : "now"
+ },
+ "short" : {
+ "hour" : {
+ "past" : "-{0} h",
+ "future" : "+{0} h",
+ "current" : "this hour"
+ },
+ "now" : "now",
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "previous" : "last quarter"
+ },
+ "day" : {
+ "current" : "Illum",
+ "past" : "-{0} d",
+ "future" : "+{0} d",
+ "next" : "Għada",
+ "previous" : "Ilbieraħ"
+ },
+ "week" : {
+ "current" : "Din il-ġimgħa",
+ "past" : "-{0} w",
+ "future" : "+{0} w",
+ "next" : "Il-ġimgħa d-dieħla",
+ "previous" : "Il-ġimgħa li għaddiet"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "current" : "this minute",
+ "future" : "+{0} min"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "-{0} s",
+ "future" : "+{0} s"
+ },
+ "month" : {
+ "current" : "Dan ix-xahar",
+ "future" : "+{0} m",
+ "previous" : "Ix-xahar li għadda",
+ "next" : "Ix-xahar id-dieħel",
+ "past" : "-{0} m"
+ },
+ "year" : {
+ "future" : "+{0} y",
+ "previous" : "Is-sena li għaddiet",
+ "next" : "Is-sena d-dieħla",
+ "current" : "din is-sena",
+ "past" : {
+ "other" : "{0} snin ilu",
+ "one" : "{0} sena ilu"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/my.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/my.json
new file mode 100644
index 00000000..3afada94
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/my.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "ပြီးခဲ့သည့် သုံးလပတ်ကာလ {0} ခုအတွင်း",
+ "future" : "သုံးလပတ်ကာလ {0} ခုအတွင်း",
+ "current" : "ယခုသုံးလပတ်",
+ "previous" : "ပြီးခဲ့သောသုံးလပတ်",
+ "next" : "နောက်လာမည့်သုံးလပတ်"
+ },
+ "year" : {
+ "previous" : "ယမန်နှစ်",
+ "next" : "လာမည့်နှစ်",
+ "future" : "{0} နှစ်အတွင်း",
+ "current" : "ယခုနှစ်",
+ "past" : "ပြီးခဲ့သည့် {0} နှစ်"
+ },
+ "week" : {
+ "future" : "{0} ပတ်အတွင်း",
+ "previous" : "ပြီးခဲ့သည့် သီတင်းပတ်",
+ "next" : "လာမည့် သီတင်းပတ်",
+ "past" : "ပြီးခဲ့သည့် {0} ပတ်",
+ "current" : "ယခု သီတင်းပတ်"
+ },
+ "day" : {
+ "current" : "ယနေ့",
+ "past" : "ပြီးခဲ့သည့် {0} ရက်",
+ "next" : "မနက်ဖြန်",
+ "future" : "{0} ရက်အတွင်း",
+ "previous" : "မနေ့က"
+ },
+ "hour" : {
+ "current" : "ဤအချိန်",
+ "past" : "ပြီးခဲ့သည့် {0} နာရီ",
+ "future" : "{0} နာရီအတွင်း"
+ },
+ "minute" : {
+ "future" : "{0} မိနစ်အတွင်း",
+ "current" : "ဤမိနစ်",
+ "past" : "ပြီးခဲ့သည့် {0} မိနစ်"
+ },
+ "month" : {
+ "next" : "လာမည့်လ",
+ "current" : "ယခုလ",
+ "past" : "ပြီးခဲ့သည့် {0} လ",
+ "future" : "{0} လအတွင်း",
+ "previous" : "ပြီးခဲ့သည့်လ"
+ },
+ "now" : "ယခု",
+ "second" : {
+ "future" : "{0} စက္ကန့်အတွင်း",
+ "current" : "ယခု",
+ "past" : "ပြီးခဲ့သည့် {0} စက္ကန့်"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "ပြီးခဲ့သည့် {0} မိနစ်",
+ "future" : "{0} မိနစ်အတွင်း",
+ "current" : "ဤမိနစ်"
+ },
+ "week" : {
+ "current" : "ယခု သီတင်းပတ်",
+ "past" : "ပြီးခဲ့သည့် {0} ပတ်",
+ "future" : "{0} ပတ်အတွင်း",
+ "next" : "လာမည့် သီတင်းပတ်",
+ "previous" : "ပြီးခဲ့သည့် သီတင်းပတ်"
+ },
+ "year" : {
+ "current" : "ယခုနှစ်",
+ "future" : "{0} နှစ်အတွင်း",
+ "past" : "ပြီးခဲ့သည့် {0} နှစ်",
+ "next" : "လာမည့်နှစ်",
+ "previous" : "ယမန်နှစ်"
+ },
+ "day" : {
+ "next" : "မနက်ဖြန်",
+ "current" : "ယနေ့",
+ "previous" : "မနေ့က",
+ "past" : "ပြီးခဲ့သည့် {0} ရက်",
+ "future" : "{0} ရက်အတွင်း"
+ },
+ "hour" : {
+ "future" : "{0} နာရီအတွင်း",
+ "current" : "ဤအချိန်",
+ "past" : "ပြီးခဲ့သည့် {0} နာရီ"
+ },
+ "quarter" : {
+ "current" : "ယခုသုံးလပတ်",
+ "future" : "သုံးလပတ်ကာလ {0} ခုအတွင်း",
+ "previous" : "ပြီးခဲ့သောသုံးလပတ်",
+ "next" : "နောက်လာမည့်သုံးလပတ်",
+ "past" : "ပြီးခဲ့သည့် သုံးလပတ်ကာလ {0} ခုအတွင်း"
+ },
+ "second" : {
+ "past" : "ပြီးခဲ့သည့် {0} စက္ကန့်",
+ "current" : "ယခု",
+ "future" : "{0} စက္ကန့်အတွင်း"
+ },
+ "month" : {
+ "current" : "ယခုလ",
+ "past" : "ပြီးခဲ့သည့် {0} လ",
+ "future" : "{0} လအတွင်း",
+ "next" : "လာမည့်လ",
+ "previous" : "ပြီးခဲ့သည့်လ"
+ },
+ "now" : "ယခု"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "{0} နာရီအတွင်း",
+ "current" : "ဤအချိန်",
+ "past" : "ပြီးခဲ့သည့် {0} နာရီ"
+ },
+ "day" : {
+ "next" : "မနက်ဖြန်",
+ "past" : "ပြီးခဲ့သည့် {0} ရက်",
+ "previous" : "မနေ့က",
+ "future" : "{0} ရက်အတွင်း",
+ "current" : "ယနေ့"
+ },
+ "second" : {
+ "past" : "ပြီးခဲ့သည့် {0} စက္ကန့်",
+ "current" : "ယခု",
+ "future" : "{0} စက္ကန့်အတွင်း"
+ },
+ "week" : {
+ "future" : "{0} ပတ်အတွင်း",
+ "past" : "ပြီးခဲ့သည့် {0} ပတ်",
+ "current" : "ယခု သီတင်းပတ်",
+ "next" : "လာမည့် သီတင်းပတ်",
+ "previous" : "ပြီးခဲ့သည့် သီတင်းပတ်"
+ },
+ "minute" : {
+ "future" : "{0} မိနစ်အတွင်း",
+ "past" : "ပြီးခဲ့သည့် {0} မိနစ်",
+ "current" : "ဤမိနစ်"
+ },
+ "month" : {
+ "future" : "{0} လအတွင်း",
+ "past" : "ပြီးခဲ့သည့် {0} လ",
+ "current" : "ယခုလ",
+ "previous" : "ပြီးခဲ့သည့်လ",
+ "next" : "လာမည့်လ"
+ },
+ "now" : "ယခု",
+ "year" : {
+ "current" : "ယခုနှစ်",
+ "next" : "လာမည့်နှစ်",
+ "previous" : "ယမန်နှစ်",
+ "future" : "{0} နှစ်အတွင်း",
+ "past" : "ပြီးခဲ့သည့် {0} နှစ်"
+ },
+ "quarter" : {
+ "future" : "သုံးလပတ်ကာလ {0} အတွင်း",
+ "previous" : "ပြီးခဲ့သည့် သုံးလပတ်",
+ "past" : "ပြီးခဲ့သည့် သုံးလပတ်ကာလ {0} ခုအတွင်း",
+ "next" : "လာမည့် သုံးလပတ်",
+ "current" : "ယခု သုံးလပတ်"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mzn.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mzn.json
new file mode 100644
index 00000000..55504bfc
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/mzn.json
@@ -0,0 +1,161 @@
+{
+ "long" : {
+ "hour" : {
+ "future" : "{0} ساعِت دله",
+ "current" : "this hour",
+ "past" : "{0} ساعِت پیش"
+ },
+ "second" : {
+ "future" : "{0} ثانیه دله",
+ "past" : "{0} ثانیه پیش",
+ "current" : "now"
+ },
+ "week" : {
+ "next" : "بعدی هفته",
+ "current" : "این هفته",
+ "previous" : "قبلی هفته",
+ "future" : "{0} هفته دله",
+ "past" : "{0} هفته پیش"
+ },
+ "minute" : {
+ "past" : "{0} دَقه پیش",
+ "future" : "{0} دقیقه دله",
+ "current" : "this minute"
+ },
+ "year" : {
+ "current" : "امسال",
+ "past" : "{0} سال پیش",
+ "future" : "{0} سال دله",
+ "previous" : "پارسال",
+ "next" : "سال دیگه"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "future" : "{0} ربع دله",
+ "previous" : "last quarter",
+ "past" : "{0} ربع پیش"
+ },
+ "month" : {
+ "previous" : "ماه قبل",
+ "future" : "{0} ماه دله",
+ "current" : "این ماه",
+ "next" : "ماه ِبعد",
+ "past" : "{0} ماه پیش"
+ },
+ "day" : {
+ "next" : "فِردا",
+ "past" : "{0} روز پیش",
+ "current" : "اَمروز",
+ "future" : "{0} روز دله",
+ "previous" : "دیروز"
+ },
+ "now" : "now"
+ },
+ "narrow" : {
+ "week" : {
+ "current" : "این هفته",
+ "next" : "بعدی هفته",
+ "past" : "{0} هفته پیش",
+ "previous" : "قبلی هفته",
+ "future" : "{0} هفته دله"
+ },
+ "minute" : {
+ "future" : "{0} دَقه دله",
+ "past" : "{0} دَقه پیش",
+ "current" : "this minute"
+ },
+ "month" : {
+ "current" : "این ماه",
+ "previous" : "ماه قبل",
+ "past" : "{0} ماه پیش",
+ "next" : "ماه ِبعد",
+ "future" : "{0} ماه دله"
+ },
+ "now" : "now",
+ "year" : {
+ "previous" : "پارسال",
+ "current" : "امسال",
+ "next" : "سال دیگه",
+ "past" : "{0} سال پیش",
+ "future" : "{0} سال دله"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "{0} ساعت پیش",
+ "future" : "{0} ساعت دله"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "{0} ربع پیش",
+ "future" : "{0} ربع دله",
+ "next" : "next quarter"
+ },
+ "second" : {
+ "current" : "now",
+ "future" : "{0} ثانیه دله",
+ "past" : "{0} ثانیه پیش"
+ },
+ "day" : {
+ "past" : "{0} روز پیش",
+ "current" : "اَمروز",
+ "future" : "{0} روز دله",
+ "previous" : "دیروز",
+ "next" : "فِردا"
+ }
+ },
+ "short" : {
+ "month" : {
+ "current" : "این ماه",
+ "next" : "ماه ِبعد",
+ "past" : "{0} ماه پیش",
+ "future" : "{0} ماه دله",
+ "previous" : "ماه قبل"
+ },
+ "now" : "now",
+ "day" : {
+ "next" : "فِردا",
+ "current" : "اَمروز",
+ "previous" : "دیروز",
+ "past" : "{0} روز پیش",
+ "future" : "{0} روز دله"
+ },
+ "year" : {
+ "current" : "امسال",
+ "future" : "{0} سال دله",
+ "previous" : "پارسال",
+ "next" : "سال دیگه",
+ "past" : "{0} سال پیش"
+ },
+ "hour" : {
+ "past" : "{0} ساعت پیش",
+ "current" : "this hour",
+ "future" : "{0} ساعت دله"
+ },
+ "minute" : {
+ "past" : "{0} دَقه پیش",
+ "future" : "{0} دَقه دله",
+ "current" : "this minute"
+ },
+ "second" : {
+ "future" : "{0} ثانیه دله",
+ "current" : "now",
+ "past" : "{0} ثانیه پیش"
+ },
+ "quarter" : {
+ "future" : "{0} ربع دله",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "{0} ربع پیش",
+ "current" : "this quarter"
+ },
+ "week" : {
+ "next" : "بعدی هفته",
+ "past" : "{0} هفته پیش",
+ "current" : "این هفته",
+ "previous" : "قبلی هفته",
+ "future" : "{0} هفته دله"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nb.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nb.json
new file mode 100644
index 00000000..3c4fc9b5
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nb.json
@@ -0,0 +1,197 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "–{0} kv.",
+ "future" : "+{0} kv.",
+ "current" : "dette kv.",
+ "previous" : "forrige kv.",
+ "next" : "neste kv."
+ },
+ "year" : {
+ "previous" : "i fjor",
+ "next" : "neste år",
+ "future" : "+{0} år",
+ "current" : "i år",
+ "past" : "–{0} år"
+ },
+ "week" : {
+ "future" : "+{0} u.",
+ "previous" : "forrige uke",
+ "next" : "neste uke",
+ "past" : "-{0} u.",
+ "current" : "denne uken"
+ },
+ "day" : {
+ "current" : "i dag",
+ "past" : "-{0} d.",
+ "next" : "i morgen",
+ "future" : "+{0} d.",
+ "previous" : "i går"
+ },
+ "hour" : {
+ "current" : "denne timen",
+ "past" : "-{0} t",
+ "future" : "+{0} t"
+ },
+ "minute" : {
+ "future" : "+{0} min",
+ "current" : "dette minuttet",
+ "past" : "-{0} min"
+ },
+ "month" : {
+ "next" : "neste md.",
+ "current" : "denne md.",
+ "past" : "-{0} md.",
+ "future" : "+{0} md.",
+ "previous" : "forrige md."
+ },
+ "now" : "nå",
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "nå",
+ "past" : "-{0} s"
+ }
+ },
+ "long" : {
+ "month" : {
+ "next" : "neste måned",
+ "current" : "denne måneden",
+ "future" : {
+ "one" : "om {0} måned",
+ "other" : "om {0} måneder"
+ },
+ "previous" : "forrige måned",
+ "past" : {
+ "one" : "for {0} måned siden",
+ "other" : "for {0} måneder siden"
+ }
+ },
+ "hour" : {
+ "current" : "denne timen",
+ "future" : {
+ "one" : "om {0} time",
+ "other" : "om {0} timer"
+ },
+ "past" : {
+ "one" : "for {0} time siden",
+ "other" : "for {0} timer siden"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "om {0} sekund",
+ "other" : "om {0} sekunder"
+ },
+ "current" : "nå",
+ "past" : {
+ "other" : "for {0} sekunder siden",
+ "one" : "for {0} sekund siden"
+ }
+ },
+ "week" : {
+ "previous" : "forrige uke",
+ "past" : {
+ "other" : "for {0} uker siden",
+ "one" : "for {0} uke siden"
+ },
+ "future" : {
+ "other" : "om {0} uker",
+ "one" : "om {0} uke"
+ },
+ "current" : "denne uken",
+ "next" : "neste uke"
+ },
+ "year" : {
+ "current" : "i år",
+ "next" : "neste år",
+ "previous" : "i fjor",
+ "future" : "om {0} år",
+ "past" : "for {0} år siden"
+ },
+ "now" : "nå",
+ "quarter" : {
+ "future" : {
+ "one" : "om {0} kvartal",
+ "other" : "om {0} kvartaler"
+ },
+ "previous" : "forrige kvartal",
+ "past" : {
+ "other" : "for {0} kvartaler siden",
+ "one" : "for {0} kvartal siden"
+ },
+ "next" : "neste kvartal",
+ "current" : "dette kvartalet"
+ },
+ "day" : {
+ "previous" : "i går",
+ "current" : "i dag",
+ "next" : "i morgen",
+ "past" : "for {0} døgn siden",
+ "future" : "om {0} døgn"
+ },
+ "minute" : {
+ "future" : {
+ "one" : "om {0} minutt",
+ "other" : "om {0} minutter"
+ },
+ "past" : {
+ "one" : "for {0} minutt siden",
+ "other" : "for {0} minutter siden"
+ },
+ "current" : "dette minuttet"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "for {0} min siden",
+ "future" : "om {0} min",
+ "current" : "dette minuttet"
+ },
+ "week" : {
+ "current" : "denne uken",
+ "past" : "for {0} u. siden",
+ "future" : "om {0} u.",
+ "next" : "neste uke",
+ "previous" : "forrige uke"
+ },
+ "year" : {
+ "current" : "i år",
+ "future" : "om {0} år",
+ "past" : "for {0} år siden",
+ "next" : "neste år",
+ "previous" : "i fjor"
+ },
+ "day" : {
+ "next" : "i morgen",
+ "current" : "i dag",
+ "previous" : "i går",
+ "past" : "for {0} d. siden",
+ "future" : "om {0} d."
+ },
+ "hour" : {
+ "future" : "om {0} t",
+ "current" : "denne timen",
+ "past" : "for {0} t siden"
+ },
+ "quarter" : {
+ "current" : "dette kv.",
+ "future" : "om {0} kv.",
+ "previous" : "forrige kv.",
+ "next" : "neste kv.",
+ "past" : "for {0} kv. siden"
+ },
+ "second" : {
+ "past" : "for {0} sek siden",
+ "current" : "nå",
+ "future" : "om {0} sek"
+ },
+ "month" : {
+ "current" : "denne md.",
+ "past" : "for {0} md. siden",
+ "future" : "om {0} md.",
+ "next" : "neste md.",
+ "previous" : "forrige md."
+ },
+ "now" : "nå"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ne.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ne.json
new file mode 100644
index 00000000..ac0c0c07
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ne.json
@@ -0,0 +1,164 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "{0}सत्र अघि",
+ "future" : "{0}सत्रमा",
+ "current" : "यो सत्र",
+ "previous" : "अघिल्लो सत्र",
+ "next" : "अर्को सत्र"
+ },
+ "year" : {
+ "previous" : "गत वर्ष",
+ "next" : "आगामी वर्ष",
+ "future" : "{0} वर्षमा",
+ "current" : "यो वर्ष",
+ "past" : "{0} वर्ष अघि"
+ },
+ "week" : {
+ "future" : "{0} हप्तामा",
+ "previous" : "गत हप्ता",
+ "next" : "आउने हप्ता",
+ "past" : "{0} हप्ता पहिले",
+ "current" : "यो हप्ता"
+ },
+ "day" : {
+ "current" : "आज",
+ "past" : "{0} दिन पहिले",
+ "next" : "भोलि",
+ "future" : "{0} दिनमा",
+ "previous" : "हिजो"
+ },
+ "hour" : {
+ "current" : "यस घडीमा",
+ "past" : "{0} घण्टा पहिले",
+ "future" : "{0} घण्टामा"
+ },
+ "minute" : {
+ "future" : "{0} मिनेटमा",
+ "current" : "यही मिनेटमा",
+ "past" : "{0} मिनेट पहिले"
+ },
+ "month" : {
+ "next" : "अर्को महिना",
+ "current" : "यो महिना",
+ "past" : "{0} महिना पहिले",
+ "future" : "{0} महिनामा",
+ "previous" : "गत महिना"
+ },
+ "now" : "अहिले",
+ "second" : {
+ "future" : "{0} सेकेन्डमा",
+ "current" : "अहिले",
+ "past" : "{0} सेकेन्ड पहिले"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} मिनेट पहिले",
+ "future" : "{0} मिनेटमा",
+ "current" : "यही मिनेटमा"
+ },
+ "week" : {
+ "current" : "यो हप्ता",
+ "past" : "{0} हप्ता पहिले",
+ "future" : "{0} हप्तामा",
+ "next" : "आउने हप्ता",
+ "previous" : "गत हप्ता"
+ },
+ "year" : {
+ "current" : "यो वर्ष",
+ "future" : "{0} वर्षमा",
+ "past" : "{0} वर्ष अघि",
+ "next" : "आगामी वर्ष",
+ "previous" : "गत वर्ष"
+ },
+ "day" : {
+ "next" : "भोलि",
+ "current" : "आज",
+ "previous" : "हिजो",
+ "past" : "{0} दिन पहिले",
+ "future" : "{0} दिनमा"
+ },
+ "hour" : {
+ "future" : "{0} घण्टामा",
+ "current" : "यस घडीमा",
+ "past" : "{0} घण्टा पहिले"
+ },
+ "quarter" : {
+ "current" : "यो सत्र",
+ "future" : "{0}सत्रमा",
+ "previous" : "अघिल्लो सत्र",
+ "next" : "अर्को सत्र",
+ "past" : "{0}सत्र अघि"
+ },
+ "second" : {
+ "past" : "{0} सेकेन्ड पहिले",
+ "current" : "अहिले",
+ "future" : "{0} सेकेन्डमा"
+ },
+ "month" : {
+ "current" : "यो महिना",
+ "past" : "{0} महिना पहिले",
+ "future" : "{0} महिनामा",
+ "next" : "अर्को महिना",
+ "previous" : "गत महिना"
+ },
+ "now" : "अहिले"
+ },
+ "long" : {
+ "week" : {
+ "current" : "यो हप्ता",
+ "past" : "{0} हप्ता पहिले",
+ "next" : "आउने हप्ता",
+ "previous" : "गत हप्ता",
+ "future" : "{0} हप्तामा"
+ },
+ "second" : {
+ "future" : "{0} सेकेन्डमा",
+ "past" : "{0} सेकेन्ड पहिले",
+ "current" : "अहिले"
+ },
+ "quarter" : {
+ "future" : {
+ "other" : "{0}सत्रमा",
+ "one" : "+{0} सत्रमा"
+ },
+ "previous" : "अघिल्लो सत्र",
+ "past" : "{0}सत्र अघि",
+ "next" : "अर्को सत्र",
+ "current" : "यो सत्र"
+ },
+ "now" : "अहिले",
+ "day" : {
+ "future" : "{0} दिनमा",
+ "previous" : "हिजो",
+ "past" : "{0} दिन पहिले",
+ "next" : "भोलि",
+ "current" : "आज"
+ },
+ "year" : {
+ "current" : "यो वर्ष",
+ "next" : "आगामी वर्ष",
+ "previous" : "गत वर्ष",
+ "future" : "{0} वर्षमा",
+ "past" : "{0} वर्ष अघि"
+ },
+ "hour" : {
+ "future" : "{0} घण्टामा",
+ "past" : "{0} घण्टा पहिले",
+ "current" : "यस घडीमा"
+ },
+ "month" : {
+ "next" : "अर्को महिना",
+ "current" : "यो महिना",
+ "future" : "{0} महिनामा",
+ "previous" : "गत महिना",
+ "past" : "{0} महिना पहिले"
+ },
+ "minute" : {
+ "past" : "{0} मिनेट पहिले",
+ "current" : "यही मिनेटमा",
+ "future" : "{0} मिनेटमा"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nl.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nl.json
new file mode 100644
index 00000000..61964f54
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nl.json
@@ -0,0 +1,245 @@
+{
+ "narrow" : {
+ "minute" : {
+ "future" : "over {0} min.",
+ "current" : "binnen een minuut",
+ "past" : "{0} min. geleden"
+ },
+ "week" : {
+ "current" : "deze week",
+ "previous" : "vorige week",
+ "past" : {
+ "one" : "{0} week geleden",
+ "other" : "{0} weken geleden"
+ },
+ "future" : {
+ "other" : "over {0} weken",
+ "one" : "over {0} week"
+ },
+ "next" : "volgende week"
+ },
+ "quarter" : {
+ "previous" : "vorig kwartaal",
+ "current" : "dit kwartaal",
+ "past" : {
+ "other" : "{0} kwartalen geleden",
+ "one" : "{0} kwartaal geleden"
+ },
+ "next" : "volgend kwartaal",
+ "future" : {
+ "one" : "over {0} kw.",
+ "other" : "over {0} kwartalen"
+ }
+ },
+ "year" : {
+ "future" : "over {0} jaar",
+ "previous" : "vorig jaar",
+ "current" : "dit jaar",
+ "next" : "volgend jaar",
+ "past" : "{0} jaar geleden"
+ },
+ "hour" : {
+ "current" : "binnen een uur",
+ "future" : "over {0} uur",
+ "past" : "{0} uur geleden"
+ },
+ "day" : {
+ "previous" : "gisteren",
+ "current" : "vandaag",
+ "past" : {
+ "one" : "{0} dag geleden",
+ "other" : "{0} dgn geleden"
+ },
+ "future" : {
+ "other" : "over {0} dgn",
+ "one" : "over {0} dag"
+ },
+ "next" : "morgen"
+ },
+ "second" : {
+ "past" : "{0} sec. geleden",
+ "current" : "nu",
+ "future" : "over {0} sec."
+ },
+ "now" : "nu",
+ "month" : {
+ "previous" : "vorige maand",
+ "current" : "deze maand",
+ "past" : {
+ "one" : "{0} maand geleden",
+ "other" : "{0} maanden geleden"
+ },
+ "future" : {
+ "one" : "over {0} maand",
+ "other" : "over {0} maanden"
+ },
+ "next" : "volgende maand"
+ }
+ },
+ "long" : {
+ "year" : {
+ "past" : "{0} jaar geleden",
+ "future" : "over {0} jaar",
+ "previous" : "vorig jaar",
+ "next" : "volgend jaar",
+ "current" : "dit jaar"
+ },
+ "quarter" : {
+ "future" : {
+ "one" : "over {0} kwartaal",
+ "other" : "over {0} kwartalen"
+ },
+ "current" : "dit kwartaal",
+ "next" : "volgend kwartaal",
+ "past" : {
+ "one" : "{0} kwartaal geleden",
+ "other" : "{0} kwartalen geleden"
+ },
+ "previous" : "vorig kwartaal"
+ },
+ "hour" : {
+ "future" : "over {0} uur",
+ "current" : "binnen een uur",
+ "past" : "{0} uur geleden"
+ },
+ "month" : {
+ "past" : {
+ "one" : "{0} maand geleden",
+ "other" : "{0} maanden geleden"
+ },
+ "previous" : "vorige maand",
+ "current" : "deze maand",
+ "future" : {
+ "other" : "over {0} maanden",
+ "one" : "over {0} maand"
+ },
+ "next" : "volgende maand"
+ },
+ "week" : {
+ "past" : {
+ "one" : "{0} week geleden",
+ "other" : "{0} weken geleden"
+ },
+ "previous" : "vorige week",
+ "next" : "volgende week",
+ "current" : "deze week",
+ "future" : {
+ "other" : "over {0} weken",
+ "one" : "over {0} week"
+ }
+ },
+ "day" : {
+ "previous" : "gisteren",
+ "current" : "vandaag",
+ "future" : {
+ "one" : "over {0} dag",
+ "other" : "over {0} dagen"
+ },
+ "next" : "morgen",
+ "past" : {
+ "other" : "{0} dagen geleden",
+ "one" : "{0} dag geleden"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "other" : "over {0} minuten",
+ "one" : "over {0} minuut"
+ },
+ "past" : {
+ "one" : "{0} minuut geleden",
+ "other" : "{0} minuten geleden"
+ },
+ "current" : "binnen een minuut"
+ },
+ "now" : "nu",
+ "second" : {
+ "current" : "nu",
+ "future" : {
+ "other" : "over {0} seconden",
+ "one" : "over {0} seconde"
+ },
+ "past" : {
+ "one" : "{0} seconde geleden",
+ "other" : "{0} seconden geleden"
+ }
+ }
+ },
+ "short" : {
+ "hour" : {
+ "past" : "{0} uur geleden",
+ "current" : "binnen een uur",
+ "future" : "over {0} uur"
+ },
+ "quarter" : {
+ "current" : "dit kwartaal",
+ "future" : {
+ "one" : "over {0} kwartaal",
+ "other" : "over {0} kwartalen"
+ },
+ "previous" : "vorig kwartaal",
+ "next" : "volgend kwartaal",
+ "past" : {
+ "other" : "{0} kwartalen geleden",
+ "one" : "{0} kwartaal geleden"
+ }
+ },
+ "week" : {
+ "next" : "volgende week",
+ "current" : "deze week",
+ "previous" : "vorige week",
+ "past" : {
+ "one" : "{0} week geleden",
+ "other" : "{0} weken geleden"
+ },
+ "future" : {
+ "one" : "over {0} week",
+ "other" : "over {0} weken"
+ }
+ },
+ "year" : {
+ "future" : "over {0} jaar",
+ "previous" : "vorig jaar",
+ "next" : "volgend jaar",
+ "current" : "dit jaar",
+ "past" : "{0} jaar geleden"
+ },
+ "minute" : {
+ "future" : "over {0} min.",
+ "past" : "{0} min. geleden",
+ "current" : "binnen een minuut"
+ },
+ "now" : "nu",
+ "month" : {
+ "current" : "deze maand",
+ "past" : {
+ "one" : "{0} maand geleden",
+ "other" : "{0} maanden geleden"
+ },
+ "future" : {
+ "one" : "over {0} maand",
+ "other" : "over {0} maanden"
+ },
+ "next" : "volgende maand",
+ "previous" : "vorige maand"
+ },
+ "day" : {
+ "future" : {
+ "one" : "over {0} dag",
+ "other" : "over {0} dgn"
+ },
+ "current" : "vandaag",
+ "next" : "morgen",
+ "previous" : "gisteren",
+ "past" : {
+ "other" : "{0} dgn geleden",
+ "one" : "{0} dag geleden"
+ }
+ },
+ "second" : {
+ "past" : "{0} sec. geleden",
+ "current" : "nu",
+ "future" : "over {0} sec."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nn.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nn.json
new file mode 100644
index 00000000..803bab01
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/nn.json
@@ -0,0 +1,185 @@
+{
+ "narrow" : {
+ "hour" : {
+ "future" : "+{0} t",
+ "current" : "denne timen",
+ "past" : "–{0} t"
+ },
+ "quarter" : {
+ "current" : "dette kvartalet",
+ "previous" : "førre kvartal",
+ "future" : "+{0} kv.",
+ "past" : "–{0} kv.",
+ "next" : "neste kvartal"
+ },
+ "year" : {
+ "future" : "om {0} år",
+ "previous" : "i fjor",
+ "next" : "neste år",
+ "current" : "i år",
+ "past" : "for {0} år sidan"
+ },
+ "day" : {
+ "previous" : "i går",
+ "future" : "+{0} d.",
+ "next" : "i morgon",
+ "current" : "i dag",
+ "past" : "–{0} d."
+ },
+ "month" : {
+ "current" : "denne månaden",
+ "future" : "+{0} md.",
+ "past" : "–{0} md.",
+ "next" : "neste månad",
+ "previous" : "førre månad"
+ },
+ "now" : "no",
+ "second" : {
+ "past" : {
+ "one" : "–{0} s",
+ "other" : "–{0} s"
+ },
+ "future" : "+{0} s",
+ "current" : "no"
+ },
+ "minute" : {
+ "current" : "dette minuttet",
+ "past" : "–{0} min",
+ "future" : "+{0} min"
+ },
+ "week" : {
+ "past" : "–{0} v.",
+ "previous" : "førre veke",
+ "future" : "+{0} v.",
+ "current" : "denne veka",
+ "next" : "neste veke"
+ }
+ },
+ "long" : {
+ "week" : {
+ "future" : {
+ "other" : "om {0} veker",
+ "one" : "om {0} veke"
+ },
+ "past" : {
+ "one" : "for {0} veke sidan",
+ "other" : "for {0} veker sidan"
+ },
+ "next" : "neste veke",
+ "previous" : "førre veke",
+ "current" : "denne veka"
+ },
+ "day" : {
+ "future" : "om {0} døgn",
+ "previous" : "i går",
+ "current" : "i dag",
+ "next" : "i morgon",
+ "past" : "for {0} døgn sidan"
+ },
+ "hour" : {
+ "past" : {
+ "one" : "for {0} time sidan",
+ "other" : "for {0} timar sidan"
+ },
+ "current" : "denne timen",
+ "future" : {
+ "one" : "om {0} time",
+ "other" : "om {0} timar"
+ }
+ },
+ "minute" : {
+ "future" : "om {0} minutt",
+ "current" : "dette minuttet",
+ "past" : "for {0} minutt sidan"
+ },
+ "now" : "no",
+ "month" : {
+ "past" : {
+ "other" : "for {0} månadar sidan",
+ "one" : "for {0} månad sidan"
+ },
+ "current" : "denne månaden",
+ "next" : "neste månad",
+ "previous" : "førre månad",
+ "future" : {
+ "one" : "om {0} månad",
+ "other" : "om {0} månadar"
+ }
+ },
+ "quarter" : {
+ "next" : "neste kvartal",
+ "past" : "for {0} kvartal sidan",
+ "future" : "om {0} kvartal",
+ "previous" : "førre kvartal",
+ "current" : "dette kvartalet"
+ },
+ "second" : {
+ "current" : "no",
+ "past" : "for {0} sekund sidan",
+ "future" : {
+ "one" : "om {0} sekund",
+ "other" : "om {0} sekund"
+ }
+ },
+ "year" : {
+ "future" : "om {0} år",
+ "previous" : "i fjor",
+ "next" : "neste år",
+ "past" : "for {0} år sidan",
+ "current" : "i år"
+ }
+ },
+ "short" : {
+ "second" : {
+ "current" : "no",
+ "past" : "for {0} sek sidan",
+ "future" : "om {0} sek"
+ },
+ "now" : "no",
+ "month" : {
+ "future" : "om {0} md.",
+ "current" : "denne månaden",
+ "past" : "for {0} md. sidan",
+ "previous" : "førre månad",
+ "next" : "neste månad"
+ },
+ "day" : {
+ "previous" : "i går",
+ "current" : "i dag",
+ "next" : "i morgon",
+ "future" : "om {0} d.",
+ "past" : "for {0} d. sidan"
+ },
+ "minute" : {
+ "past" : "for {0} min sidan",
+ "future" : "om {0} min",
+ "current" : "dette minuttet"
+ },
+ "quarter" : {
+ "past" : "for {0} kv. sidan",
+ "previous" : "førre kvartal",
+ "current" : "dette kvartalet",
+ "future" : "om {0} kv.",
+ "next" : "neste kvartal"
+ },
+ "hour" : {
+ "future" : "om {0} t",
+ "current" : "denne timen",
+ "past" : "for {0} t sidan"
+ },
+ "week" : {
+ "future" : "om {0} v.",
+ "previous" : "førre veke",
+ "next" : "neste veke",
+ "past" : "for {0} v. sidan",
+ "current" : "denne veka"
+ },
+ "year" : {
+ "next" : "neste år",
+ "current" : "i år",
+ "past" : "for {0} år sidan",
+ "future" : "om {0} år",
+ "previous" : "i fjor"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/or.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/or.json
new file mode 100644
index 00000000..8260f85b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/or.json
@@ -0,0 +1,164 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "ଆସନ୍ତାକାଲି",
+ "future" : "{0} ଦିନରେ",
+ "previous" : "ଗତକାଲି",
+ "current" : "ଆଜି",
+ "past" : "{0} ଦିନ ପୂର୍ବେ"
+ },
+ "quarter" : {
+ "next" : "ଆଗାମୀ ତ୍ରୟମାସ",
+ "past" : "{0} ତ୍ରୟ. ପୂର୍ବେ",
+ "future" : "{0} ତ୍ରୟ. ରେ",
+ "previous" : "ଗତ ତ୍ରୟମାସ",
+ "current" : "ଗତ ତ୍ରୟମାସ"
+ },
+ "hour" : {
+ "past" : "{0} ଘ. ପୂର୍ବେ",
+ "future" : "{0} ଘ. ରେ",
+ "current" : "ଏହି ଘଣ୍ଟା"
+ },
+ "year" : {
+ "next" : "ଆଗାମୀ ବର୍ଷ",
+ "past" : "{0} ବ. ପୂର୍ବେ",
+ "current" : "ଏହି ବର୍ଷ",
+ "previous" : "ଗତ ବର୍ଷ",
+ "future" : "{0} ବ. ରେ"
+ },
+ "now" : "ବର୍ତ୍ତମାନ",
+ "month" : {
+ "current" : "ଏହି ମାସ",
+ "future" : "{0} ମା. ରେ",
+ "past" : "{0} ମା. ପୂର୍ବେ",
+ "next" : "ଆଗାମୀ ମାସ",
+ "previous" : "ଗତ ମାସ"
+ },
+ "week" : {
+ "previous" : "ଗତ ସପ୍ତାହ",
+ "current" : "ଏହି ସପ୍ତାହ",
+ "past" : "{0} ସପ୍ତା. ପୂର୍ବେ",
+ "future" : "{0} ସପ୍ତା. ରେ",
+ "next" : "ଆଗାମୀ ସପ୍ତାହ"
+ },
+ "minute" : {
+ "future" : "{0} ମି. ରେ",
+ "current" : "ଏହି ମିନିଟ୍",
+ "past" : "{0} ମି. ପୂର୍ବେ"
+ },
+ "second" : {
+ "past" : "{0} ସେ. ପୂର୍ବେ",
+ "future" : "{0} ସେ. ରେ",
+ "current" : "ବର୍ତ୍ତମାନ"
+ }
+ },
+ "long" : {
+ "now" : "ବର୍ତ୍ତମାନ",
+ "hour" : {
+ "current" : "ଏହି ଘଣ୍ଟା",
+ "past" : "{0} ଘଣ୍ଟା ପୂର୍ବେ",
+ "future" : "{0} ଘଣ୍ଟାରେ"
+ },
+ "quarter" : {
+ "past" : "{0} ତ୍ରୟମାସ ପୂର୍ବେ",
+ "current" : "ଗତ ତ୍ରୟମାସ",
+ "previous" : "ଗତ ତ୍ରୟମାସ",
+ "future" : "{0} ତ୍ରୟମାସରେ",
+ "next" : "ଆଗାମୀ ତ୍ରୟମାସ"
+ },
+ "second" : {
+ "current" : "ବର୍ତ୍ତମାନ",
+ "past" : "{0} ସେକେଣ୍ଡ ପୂର୍ବେ",
+ "future" : "{0} ସେକେଣ୍ଡରେ"
+ },
+ "month" : {
+ "future" : "{0} ମାସରେ",
+ "next" : "ଆଗାମୀ ମାସ",
+ "previous" : "ଗତ ମାସ",
+ "current" : "ଏହି ମାସ",
+ "past" : "{0} ମାସ ପୂର୍ବେ"
+ },
+ "minute" : {
+ "future" : "{0} ମିନିଟ୍ରେ",
+ "current" : "ଏହି ମିନିଟ୍",
+ "past" : "{0} ମିନିଟ୍ ପୂର୍ବେ"
+ },
+ "day" : {
+ "next" : "ଆସନ୍ତାକାଲି",
+ "current" : "ଆଜି",
+ "future" : "{0} ଦିନରେ",
+ "previous" : "ଗତକାଲି",
+ "past" : "{0} ଦିନ ପୂର୍ବେ"
+ },
+ "week" : {
+ "future" : "{0} ସପ୍ତାହରେ",
+ "current" : "ଏହି ସପ୍ତାହ",
+ "next" : "ଆଗାମୀ ସପ୍ତାହ",
+ "past" : {
+ "other" : "{0} ସପ୍ତାହ ପୂର୍ବେ",
+ "one" : "{0} ସପ୍ତାହରେ"
+ },
+ "previous" : "ଗତ ସପ୍ତାହ"
+ },
+ "year" : {
+ "past" : "{0} ବର୍ଷ ପୂର୍ବେ",
+ "future" : "{0} ବର୍ଷରେ",
+ "previous" : "ଗତ ବର୍ଷ",
+ "next" : "ଆଗାମୀ ବର୍ଷ",
+ "current" : "ଏହି ବର୍ଷ"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} ତ୍ରୟ. ରେ",
+ "next" : "ଆଗାମୀ ତ୍ରୟମାସ",
+ "previous" : "ଗତ ତ୍ରୟମାସ",
+ "current" : "ଗତ ତ୍ରୟମାସ",
+ "past" : "{0} ତ୍ରୟ. ପୂର୍ବେ"
+ },
+ "minute" : {
+ "future" : "{0} ମି. ରେ",
+ "current" : "ଏହି ମିନିଟ୍",
+ "past" : "{0} ମି. ପୂର୍ବେ"
+ },
+ "year" : {
+ "next" : "ଆଗାମୀ ବର୍ଷ",
+ "future" : "{0} ବ. ରେ",
+ "current" : "ଏହି ବର୍ଷ",
+ "past" : "{0} ବ. ପୂର୍ବେ",
+ "previous" : "ଗତ ବର୍ଷ"
+ },
+ "second" : {
+ "future" : "{0} ସେ. ରେ",
+ "current" : "ବର୍ତ୍ତମାନ",
+ "past" : "{0} ସେ. ପୂର୍ବେ"
+ },
+ "hour" : {
+ "past" : "{0} ଘ. ପୂର୍ବେ",
+ "current" : "ଏହି ଘଣ୍ଟା",
+ "future" : "{0} ଘ. ରେ"
+ },
+ "now" : "ବର୍ତ୍ତମାନ",
+ "month" : {
+ "previous" : "ଗତ ମାସ",
+ "next" : "ଆଗାମୀ ମାସ",
+ "past" : "{0} ମା. ପୂର୍ବେ",
+ "current" : "ଏହି ମାସ",
+ "future" : "{0} ମା. ରେ"
+ },
+ "week" : {
+ "previous" : "ଗତ ସପ୍ତାହ",
+ "current" : "ଏହି ସପ୍ତାହ",
+ "next" : "ଆଗାମୀ ସପ୍ତାହ",
+ "past" : "{0} ସପ୍ତା. ପୂର୍ବେ",
+ "future" : "{0} ସପ୍ତା. ରେ"
+ },
+ "day" : {
+ "next" : "ଆସନ୍ତାକାଲି",
+ "past" : "{0} ଦିନ ପୂର୍ବେ",
+ "future" : "{0} ଦିନରେ",
+ "previous" : "ଗତକାଲି",
+ "current" : "ଆଜି"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pa.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pa.json
new file mode 100644
index 00000000..f5515828
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pa.json
@@ -0,0 +1,263 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "{0} ਤਿਮਾਹੀਆਂ ਪਹਿਲਾਂ",
+ "current" : "ਇਹ ਤਿਮਾਹੀ",
+ "next" : "ਅਗਲੀ ਤਿਮਾਹੀ",
+ "future" : "{0} ਤਿਮਾਹੀਆਂ ਵਿੱਚ",
+ "previous" : "ਪਿਛਲੀ ਤਿਮਾਹੀ"
+ },
+ "week" : {
+ "next" : "ਅਗਲਾ ਹਫ਼ਤਾ",
+ "future" : {
+ "other" : "{0} ਹਫ਼ਤਿਆਂ ਵਿੱਚ",
+ "one" : "{0} ਹਫ਼ਤੇ ਵਿੱਚ"
+ },
+ "previous" : "ਪਿਛਲਾ ਹਫ਼ਤਾ",
+ "current" : "ਇਹ ਹਫ਼ਤਾ",
+ "past" : {
+ "one" : "{0} ਹਫ਼ਤਾ ਪਹਿਲਾਂ",
+ "other" : "{0} ਹਫ਼ਤੇ ਪਹਿਲਾਂ"
+ }
+ },
+ "hour" : {
+ "current" : "ਇਸ ਘੰਟੇ",
+ "past" : {
+ "one" : "{0} ਘੰਟਾ ਪਹਿਲਾਂ",
+ "other" : "{0} ਘੰਟੇ ਪਹਿਲਾਂ"
+ },
+ "future" : {
+ "other" : "{0} ਘੰਟਿਆਂ ਵਿੱਚ",
+ "one" : "{0} ਘੰਟੇ ਵਿੱਚ"
+ }
+ },
+ "now" : "ਹੁਣ",
+ "day" : {
+ "past" : "{0} ਦਿਨ ਪਹਿਲਾਂ",
+ "future" : {
+ "one" : "{0} ਦਿਨ ਵਿੱਚ",
+ "other" : "{0} ਦਿਨਾਂ ਵਿੱਚ"
+ },
+ "previous" : "ਬੀਤਿਆ ਕੱਲ੍ਹ",
+ "current" : "ਅੱਜ",
+ "next" : "ਭਲਕੇ"
+ },
+ "minute" : {
+ "current" : "ਇਸ ਮਿੰਟ",
+ "past" : "{0} ਮਿੰਟ ਪਹਿਲਾਂ",
+ "future" : {
+ "one" : "{0} ਮਿੰਟ ਵਿੱਚ",
+ "other" : "{0} ਮਿੰਟਾਂ ਵਿੱਚ"
+ }
+ },
+ "month" : {
+ "current" : "ਇਹ ਮਹੀਨਾ",
+ "future" : {
+ "one" : "{0} ਮਹੀਨੇ ਵਿੱਚ",
+ "other" : "{0} ਮਹੀਨਿਆਂ ਵਿੱਚ"
+ },
+ "past" : {
+ "other" : "{0} ਮਹੀਨੇ ਪਹਿਲਾਂ",
+ "one" : "{0} ਮਹੀਨਾ ਪਹਿਲਾਂ"
+ },
+ "next" : "ਅਗਲਾ ਮਹੀਨਾ",
+ "previous" : "ਪਿਛਲਾ ਮਹੀਨਾ"
+ },
+ "year" : {
+ "past" : "{0} ਸਾਲ ਪਹਿਲਾਂ",
+ "future" : {
+ "one" : "{0} ਸਾਲ ਵਿੱਚ",
+ "other" : "{0} ਸਾਲਾਂ ਵਿੱਚ"
+ },
+ "next" : "ਅਗਲਾ ਸਾਲ",
+ "current" : "ਇਹ ਸਾਲ",
+ "previous" : "ਪਿਛਲਾ ਸਾਲ"
+ },
+ "second" : {
+ "future" : {
+ "other" : "{0} ਸਕਿੰਟਾਂ ਵਿੱਚ",
+ "one" : "{0} ਸਕਿੰਟ ਵਿੱਚ"
+ },
+ "current" : "ਹੁਣ",
+ "past" : "{0} ਸਕਿੰਟ ਪਹਿਲਾਂ"
+ }
+ },
+ "long" : {
+ "hour" : {
+ "current" : "ਇਸ ਘੰਟੇ",
+ "past" : {
+ "one" : "{0} ਘੰਟਾ ਪਹਿਲਾਂ",
+ "other" : "{0} ਘੰਟੇ ਪਹਿਲਾਂ"
+ },
+ "future" : {
+ "other" : "{0} ਘੰਟਿਆਂ ਵਿੱਚ",
+ "one" : "{0} ਘੰਟੇ ਵਿੱਚ"
+ }
+ },
+ "now" : "ਹੁਣ",
+ "quarter" : {
+ "previous" : "ਪਿਛਲੀ ਤਿਮਾਹੀ",
+ "future" : {
+ "other" : "{0} ਤਿਮਾਹੀਆਂ ਵਿੱਚ",
+ "one" : "{0} ਤਿਮਾਹੀ ਵਿੱਚ"
+ },
+ "next" : "ਅਗਲੀ ਤਿਮਾਹੀ",
+ "past" : {
+ "one" : "{0} ਤਿਮਾਹੀ ਪਹਿਲਾਂ",
+ "other" : "{0} ਤਿਮਾਹੀਆਂ ਪਹਿਲਾਂ"
+ },
+ "current" : "ਇਸ ਤਿਮਾਹੀ"
+ },
+ "day" : {
+ "future" : {
+ "other" : "{0} ਦਿਨਾਂ ਵਿੱਚ",
+ "one" : "{0} ਦਿਨ ਵਿੱਚ"
+ },
+ "current" : "ਅੱਜ",
+ "past" : "{0} ਦਿਨ ਪਹਿਲਾਂ",
+ "previous" : "ਬੀਤਿਆ ਕੱਲ੍ਹ",
+ "next" : "ਭਲਕੇ"
+ },
+ "week" : {
+ "previous" : "ਪਿਛਲਾ ਹਫ਼ਤਾ",
+ "past" : {
+ "one" : "{0} ਹਫ਼ਤਾ ਪਹਿਲਾਂ",
+ "other" : "{0} ਹਫ਼ਤੇ ਪਹਿਲਾਂ"
+ },
+ "current" : "ਇਹ ਹਫ਼ਤਾ",
+ "next" : "ਅਗਲਾ ਹਫ਼ਤਾ",
+ "future" : {
+ "one" : "{0} ਹਫ਼ਤੇ ਵਿੱਚ",
+ "other" : "{0} ਹਫ਼ਤਿਆਂ ਵਿੱਚ"
+ }
+ },
+ "minute" : {
+ "past" : "{0} ਮਿੰਟ ਪਹਿਲਾਂ",
+ "current" : "ਇਸ ਮਿੰਟ",
+ "future" : {
+ "other" : "{0} ਮਿੰਟਾਂ ਵਿੱਚ",
+ "one" : "{0} ਮਿੰਟ ਵਿੱਚ"
+ }
+ },
+ "second" : {
+ "past" : "{0} ਸਕਿੰਟ ਪਹਿਲਾਂ",
+ "future" : {
+ "other" : "{0} ਸਕਿੰਟਾਂ ਵਿੱਚ",
+ "one" : "{0} ਸਕਿੰਟ ਵਿੱਚ"
+ },
+ "current" : "ਹੁਣ"
+ },
+ "month" : {
+ "past" : {
+ "other" : "{0} ਮਹੀਨੇ ਪਹਿਲਾਂ",
+ "one" : "{0} ਮਹੀਨਾ ਪਹਿਲਾਂ"
+ },
+ "next" : "ਅਗਲਾ ਮਹੀਨਾ",
+ "future" : {
+ "one" : "{0} ਮਹੀਨੇ ਵਿੱਚ",
+ "other" : "{0} ਮਹੀਨਿਆਂ ਵਿੱਚ"
+ },
+ "previous" : "ਪਿਛਲਾ ਮਹੀਨਾ",
+ "current" : "ਇਹ ਮਹੀਨਾ"
+ },
+ "year" : {
+ "current" : "ਇਹ ਸਾਲ",
+ "future" : {
+ "other" : "{0} ਸਾਲਾਂ ਵਿੱਚ",
+ "one" : "{0} ਸਾਲ ਵਿੱਚ"
+ },
+ "previous" : "ਪਿਛਲਾ ਸਾਲ",
+ "next" : "ਅਗਲਾ ਸਾਲ",
+ "past" : "{0} ਸਾਲ ਪਹਿਲਾਂ"
+ }
+ },
+ "short" : {
+ "month" : {
+ "next" : "ਅਗਲਾ ਮਹੀਨਾ",
+ "current" : "ਇਹ ਮਹੀਨਾ",
+ "previous" : "ਪਿਛਲਾ ਮਹੀਨਾ",
+ "past" : {
+ "one" : "{0} ਮਹੀਨਾ ਪਹਿਲਾਂ",
+ "other" : "{0} ਮਹੀਨੇ ਪਹਿਲਾਂ"
+ },
+ "future" : {
+ "other" : "{0} ਮਹੀਨਿਆਂ ਵਿੱਚ",
+ "one" : "{0} ਮਹੀਨੇ ਵਿੱਚ"
+ }
+ },
+ "now" : "ਹੁਣ",
+ "week" : {
+ "previous" : "ਪਿਛਲਾ ਹਫ਼ਤਾ",
+ "current" : "ਇਹ ਹਫ਼ਤਾ",
+ "past" : {
+ "one" : "{0} ਹਫ਼ਤਾ ਪਹਿਲਾਂ",
+ "other" : "{0} ਹਫ਼ਤੇ ਪਹਿਲਾਂ"
+ },
+ "future" : {
+ "one" : "{0} ਹਫ਼ਤੇ ਵਿੱਚ",
+ "other" : "{0} ਹਫ਼ਤਿਆਂ ਵਿੱਚ"
+ },
+ "next" : "ਅਗਲਾ ਹਫ਼ਤਾ"
+ },
+ "day" : {
+ "future" : {
+ "other" : "{0} ਦਿਨਾਂ ਵਿੱਚ",
+ "one" : "{0} ਦਿਨ ਵਿੱਚ"
+ },
+ "previous" : "ਬੀਤਿਆ ਕੱਲ੍ਹ",
+ "current" : "ਅੱਜ",
+ "next" : "ਭਲਕੇ",
+ "past" : "{0} ਦਿਨ ਪਹਿਲਾਂ"
+ },
+ "year" : {
+ "previous" : "ਪਿਛਲਾ ਸਾਲ",
+ "current" : "ਇਹ ਸਾਲ",
+ "next" : "ਅਗਲਾ ਸਾਲ",
+ "past" : "{0} ਸਾਲ ਪਹਿਲਾਂ",
+ "future" : {
+ "other" : "{0} ਸਾਲਾਂ ਵਿੱਚ",
+ "one" : "{0} ਸਾਲ ਵਿੱਚ"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} ਘੰਟੇ ਪਹਿਲਾਂ",
+ "one" : "{0} ਘੰਟਾ ਪਹਿਲਾਂ"
+ },
+ "future" : {
+ "one" : "{0} ਘੰਟੇ ਵਿੱਚ",
+ "other" : "{0} ਘੰਟਿਆਂ ਵਿੱਚ"
+ },
+ "current" : "ਇਸ ਘੰਟੇ"
+ },
+ "minute" : {
+ "current" : "ਇਸ ਮਿੰਟ",
+ "past" : "{0} ਮਿੰਟ ਪਹਿਲਾਂ",
+ "future" : {
+ "one" : "{0} ਮਿੰਟ ਵਿੱਚ",
+ "other" : "{0} ਮਿੰਟਾਂ ਵਿੱਚ"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "{0} ਸਕਿੰਟ ਵਿੱਚ",
+ "other" : "{0} ਸਕਿੰਟਾਂ ਵਿੱਚ"
+ },
+ "past" : "{0} ਸਕਿੰਟ ਪਹਿਲਾਂ",
+ "current" : "ਹੁਣ"
+ },
+ "quarter" : {
+ "next" : "ਅਗਲੀ ਤਿਮਾਹੀ",
+ "past" : {
+ "one" : "{0} ਤਿਮਾਹੀ ਪਹਿਲਾਂ",
+ "other" : "{0} ਤਿਮਾਹੀਆਂ ਪਹਿਲਾਂ"
+ },
+ "current" : "ਇਹ ਤਿਮਾਹੀ",
+ "previous" : "ਪਿਛਲੀ ਤਿਮਾਹੀ",
+ "future" : {
+ "one" : "{0} ਤਿਮਾਹੀ ਵਿੱਚ",
+ "other" : "{0} ਤਿਮਾਹੀਆਂ ਵਿੱਚ"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pl.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pl.json
new file mode 100644
index 00000000..d7652c0b
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pl.json
@@ -0,0 +1,287 @@
+{
+ "narrow" : {
+ "day" : {
+ "previous" : "wczoraj",
+ "current" : "dzisiaj",
+ "next" : "jutro",
+ "past" : {
+ "many" : "{0} dni temu",
+ "few" : "{0} dni temu",
+ "one" : "{0} dzień temu",
+ "other" : "{0} dnia temu"
+ },
+ "future" : {
+ "few" : "za {0} dni",
+ "many" : "za {0} dni",
+ "other" : "za {0} dnia",
+ "one" : "za {0} dzień"
+ }
+ },
+ "hour" : {
+ "future" : "za {0} g.",
+ "past" : "{0} g. temu",
+ "current" : "ta godzina"
+ },
+ "now" : "teraz",
+ "week" : {
+ "current" : "w tym tygodniu",
+ "previous" : "w zeszłym tygodniu",
+ "past" : {
+ "one" : "{0} tydz. temu",
+ "other" : "{0} tyg. temu"
+ },
+ "future" : {
+ "other" : "za {0} tyg.",
+ "one" : "za {0} tydz."
+ },
+ "next" : "w przyszłym tygodniu"
+ },
+ "month" : {
+ "next" : "w przyszłym miesiącu",
+ "previous" : "w zeszłym miesiącu",
+ "current" : "w tym miesiącu",
+ "future" : "za {0} mies.",
+ "past" : "{0} mies. temu"
+ },
+ "year" : {
+ "previous" : "w zeszłym roku",
+ "future" : {
+ "few" : "za {0} lata",
+ "one" : "za {0} rok",
+ "many" : "za {0} lat",
+ "other" : "za {0} roku"
+ },
+ "next" : "w przyszłym roku",
+ "current" : "w tym roku",
+ "past" : {
+ "one" : "{0} rok temu",
+ "other" : "{0} roku temu",
+ "few" : "{0} lata temu",
+ "many" : "{0} lat temu"
+ }
+ },
+ "quarter" : {
+ "current" : "w tym kwartale",
+ "future" : "za {0} kw.",
+ "previous" : "w zeszłym kwartale",
+ "next" : "w przyszłym kwartale",
+ "past" : "{0} kw. temu"
+ },
+ "minute" : {
+ "past" : "{0} min temu",
+ "current" : "ta minuta",
+ "future" : "za {0} min"
+ },
+ "second" : {
+ "future" : "za {0} s",
+ "past" : "{0} s temu",
+ "current" : "teraz"
+ }
+ },
+ "long" : {
+ "week" : {
+ "future" : {
+ "other" : "za {0} tygodnia",
+ "one" : "za {0} tydzień",
+ "few" : "za {0} tygodnie",
+ "many" : "za {0} tygodni"
+ },
+ "current" : "w tym tygodniu",
+ "past" : {
+ "few" : "{0} tygodnie temu",
+ "one" : "{0} tydzień temu",
+ "other" : "{0} tygodnia temu",
+ "many" : "{0} tygodni temu"
+ },
+ "previous" : "w zeszłym tygodniu",
+ "next" : "w przyszłym tygodniu"
+ },
+ "quarter" : {
+ "current" : "w tym kwartale",
+ "next" : "w przyszłym kwartale",
+ "future" : {
+ "other" : "za {0} kwartału",
+ "many" : "za {0} kwartałów",
+ "few" : "za {0} kwartały",
+ "one" : "za {0} kwartał"
+ },
+ "previous" : "w zeszłym kwartale",
+ "past" : {
+ "one" : "{0} kwartał temu",
+ "many" : "{0} kwartałów temu",
+ "few" : "{0} kwartały temu",
+ "other" : "{0} kwartału temu"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "za {0} sekundę",
+ "many" : "za {0} sekund",
+ "other" : "za {0} sekundy"
+ },
+ "current" : "teraz",
+ "past" : {
+ "one" : "{0} sekundę temu",
+ "many" : "{0} sekund temu",
+ "other" : "{0} sekundy temu"
+ }
+ },
+ "year" : {
+ "past" : {
+ "many" : "{0} lat temu",
+ "few" : "{0} lata temu",
+ "one" : "{0} rok temu",
+ "other" : "{0} roku temu"
+ },
+ "previous" : "w zeszłym roku",
+ "future" : {
+ "one" : "za {0} rok",
+ "other" : "za {0} roku",
+ "few" : "za {0} lata",
+ "many" : "za {0} lat"
+ },
+ "current" : "w tym roku",
+ "next" : "w przyszłym roku"
+ },
+ "now" : "teraz",
+ "hour" : {
+ "past" : {
+ "other" : "{0} godziny temu",
+ "many" : "{0} godzin temu",
+ "one" : "{0} godzinę temu"
+ },
+ "future" : {
+ "many" : "za {0} godzin",
+ "other" : "za {0} godziny",
+ "one" : "za {0} godzinę"
+ },
+ "current" : "ta godzina"
+ },
+ "day" : {
+ "previous" : "wczoraj",
+ "next" : "jutro",
+ "past" : {
+ "one" : "{0} dzień temu",
+ "many" : "{0} dni temu",
+ "other" : "{0} dnia temu",
+ "few" : "{0} dni temu"
+ },
+ "current" : "dzisiaj",
+ "future" : {
+ "many" : "za {0} dni",
+ "one" : "za {0} dzień",
+ "few" : "za {0} dni",
+ "other" : "za {0} dnia"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "one" : "za {0} minutę",
+ "many" : "za {0} minut",
+ "other" : "za {0} minuty"
+ },
+ "past" : {
+ "one" : "{0} minutę temu",
+ "other" : "{0} minuty temu",
+ "many" : "{0} minut temu"
+ },
+ "current" : "ta minuta"
+ },
+ "month" : {
+ "past" : {
+ "few" : "{0} miesiące temu",
+ "one" : "{0} miesiąc temu",
+ "many" : "{0} miesięcy temu",
+ "other" : "{0} miesiąca temu"
+ },
+ "previous" : "w zeszłym miesiącu",
+ "next" : "w przyszłym miesiącu",
+ "future" : {
+ "few" : "za {0} miesiące",
+ "many" : "za {0} miesięcy",
+ "other" : "za {0} miesiąca",
+ "one" : "za {0} miesiąc"
+ },
+ "current" : "w tym miesiącu"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "ta minuta",
+ "past" : "{0} min temu",
+ "future" : "za {0} min"
+ },
+ "year" : {
+ "current" : "w tym roku",
+ "past" : {
+ "one" : "{0} rok temu",
+ "other" : "{0} roku temu",
+ "many" : "{0} lat temu",
+ "few" : "{0} lata temu"
+ },
+ "future" : {
+ "few" : "za {0} lata",
+ "one" : "za {0} rok",
+ "many" : "za {0} lat",
+ "other" : "za {0} roku"
+ },
+ "next" : "w przyszłym roku",
+ "previous" : "w zeszłym roku"
+ },
+ "day" : {
+ "past" : {
+ "other" : "{0} dnia temu",
+ "one" : "{0} dzień temu",
+ "many" : "{0} dni temu",
+ "few" : "{0} dni temu"
+ },
+ "current" : "dzisiaj",
+ "future" : {
+ "few" : "za {0} dni",
+ "other" : "za {0} dnia",
+ "one" : "za {0} dzień",
+ "many" : "za {0} dni"
+ },
+ "next" : "jutro",
+ "previous" : "wczoraj"
+ },
+ "hour" : {
+ "past" : "{0} godz. temu",
+ "current" : "ta godzina",
+ "future" : "za {0} godz."
+ },
+ "quarter" : {
+ "future" : "za {0} kw.",
+ "previous" : "w zeszłym kwartale",
+ "current" : "w tym kwartale",
+ "next" : "w przyszłym kwartale",
+ "past" : "{0} kw. temu"
+ },
+ "second" : {
+ "future" : "za {0} sek.",
+ "current" : "teraz",
+ "past" : "{0} sek. temu"
+ },
+ "now" : "teraz",
+ "month" : {
+ "next" : "w przyszłym miesiącu",
+ "current" : "w tym miesiącu",
+ "previous" : "w zeszłym miesiącu",
+ "past" : "{0} mies. temu",
+ "future" : "za {0} mies."
+ },
+ "week" : {
+ "next" : "w przyszłym tygodniu",
+ "past" : {
+ "other" : "{0} tyg. temu",
+ "one" : "{0} tydz. temu"
+ },
+ "previous" : "w zeszłym tygodniu",
+ "current" : "w tym tygodniu",
+ "future" : {
+ "one" : "za {0} tydz.",
+ "other" : "za {0} tyg."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ps.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ps.json
new file mode 100644
index 00000000..8aaf08ce
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ps.json
@@ -0,0 +1,179 @@
+{
+ "short" : {
+ "month" : {
+ "future" : "+{0} m",
+ "previous" : "last month",
+ "current" : "this month",
+ "next" : "next month",
+ "past" : "-{0} m"
+ },
+ "week" : {
+ "previous" : "last week",
+ "current" : "this week",
+ "future" : "+{0} w",
+ "past" : "-{0} w",
+ "next" : "next week"
+ },
+ "hour" : {
+ "past" : "-{0} h",
+ "current" : "this hour",
+ "future" : "+{0} h"
+ },
+ "quarter" : {
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q"
+ },
+ "minute" : {
+ "future" : "+{0} min",
+ "current" : "this minute",
+ "past" : "-{0} min"
+ },
+ "now" : "now",
+ "day" : {
+ "past" : "-{0} d",
+ "previous" : "yesterday",
+ "current" : "today",
+ "next" : "tomorrow",
+ "future" : "+{0} d"
+ },
+ "year" : {
+ "previous" : "پروسږکال",
+ "next" : "بل کال",
+ "current" : "سږکال",
+ "future" : {
+ "other" : "په {0} کالونو کې",
+ "one" : "په {0} کال کې"
+ },
+ "past" : {
+ "one" : "{0} کال مخکې",
+ "other" : "{0} کاله مخکې"
+ }
+ },
+ "second" : {
+ "past" : "-{0} s",
+ "future" : "+{0} s",
+ "current" : "now"
+ }
+ },
+ "narrow" : {
+ "day" : {
+ "future" : "+{0} d",
+ "previous" : "yesterday",
+ "current" : "today",
+ "next" : "tomorrow",
+ "past" : "-{0} d"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "-{0} s",
+ "future" : "+{0} s"
+ },
+ "hour" : {
+ "future" : "+{0} h",
+ "current" : "this hour",
+ "past" : "-{0} h"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "current" : "this quarter"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "future" : "+{0} min",
+ "current" : "this minute"
+ },
+ "year" : {
+ "current" : "سږکال",
+ "past" : {
+ "one" : "{0} کال مخکې",
+ "other" : "{0} کاله مخکې"
+ },
+ "future" : {
+ "one" : "په {0} کال کې",
+ "other" : "په {0} کالونو کې"
+ },
+ "next" : "بل کال",
+ "previous" : "پروسږکال"
+ },
+ "now" : "now",
+ "week" : {
+ "current" : "this week",
+ "past" : "-{0} w",
+ "future" : "+{0} w",
+ "next" : "next week",
+ "previous" : "last week"
+ },
+ "month" : {
+ "previous" : "last month",
+ "current" : "this month",
+ "next" : "next month",
+ "future" : "+{0} m",
+ "past" : "-{0} m"
+ }
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "next quarter",
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "past" : "-{0} Q",
+ "previous" : "last quarter"
+ },
+ "week" : {
+ "next" : "next week",
+ "current" : "this week",
+ "past" : "-{0} w",
+ "previous" : "last week",
+ "future" : "+{0} w"
+ },
+ "year" : {
+ "next" : "بل کال",
+ "past" : {
+ "other" : "{0} کاله مخکې",
+ "one" : "{0} کال مخکې"
+ },
+ "future" : {
+ "other" : "په {0} کالونو کې",
+ "one" : "په {0} کال کې"
+ },
+ "current" : "سږکال",
+ "previous" : "پروسږکال"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "future" : "+{0} h",
+ "past" : "-{0} h"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "future" : "+{0} min",
+ "current" : "this minute"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : "-{0} s",
+ "future" : "+{0} s"
+ },
+ "day" : {
+ "previous" : "yesterday",
+ "current" : "today",
+ "next" : "tomorrow",
+ "past" : "-{0} d",
+ "future" : "+{0} d"
+ },
+ "now" : "now",
+ "month" : {
+ "current" : "this month",
+ "future" : "+{0} m",
+ "next" : "next month",
+ "previous" : "last month",
+ "past" : "-{0} m"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pt.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pt.json
new file mode 100644
index 00000000..c33f159e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/pt.json
@@ -0,0 +1,242 @@
+{
+ "narrow" : {
+ "minute" : {
+ "future" : "+{0} min",
+ "past" : "-{0} min",
+ "current" : "este minuto"
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "agora",
+ "past" : "-{0} s"
+ },
+ "now" : "agora",
+ "day" : {
+ "next" : "amanhã",
+ "previous" : "ontem",
+ "past" : "há {0} dias",
+ "current" : "hoje",
+ "future" : {
+ "other" : "+{0} dias",
+ "one" : "+{0} dia"
+ }
+ },
+ "month" : {
+ "previous" : "mês passado",
+ "next" : "próximo mês",
+ "current" : "este mês",
+ "future" : {
+ "one" : "+{0} mês",
+ "other" : "+{0} meses"
+ },
+ "past" : {
+ "one" : "-{0} mês",
+ "other" : "-{0} meses"
+ }
+ },
+ "quarter" : {
+ "next" : "próximo trim.",
+ "past" : "-{0} trim.",
+ "future" : "+{0} trim.",
+ "previous" : "trim. passado",
+ "current" : "este trim."
+ },
+ "week" : {
+ "previous" : "semana passada",
+ "next" : "próxima semana",
+ "future" : "+{0} sem.",
+ "current" : "esta semana",
+ "past" : "-{0} sem."
+ },
+ "hour" : {
+ "current" : "esta hora",
+ "past" : "-{0} h",
+ "future" : "+{0} h"
+ },
+ "year" : {
+ "past" : {
+ "one" : "-{0} ano",
+ "other" : "-{0} anos"
+ },
+ "next" : "próximo ano",
+ "previous" : "ano passado",
+ "current" : "este ano",
+ "future" : {
+ "other" : "+{0} anos",
+ "one" : "+{0} ano"
+ }
+ }
+ },
+ "long" : {
+ "year" : {
+ "previous" : "ano passado",
+ "current" : "este ano",
+ "next" : "próximo ano",
+ "past" : {
+ "one" : "há {0} ano",
+ "other" : "há {0} anos"
+ },
+ "future" : {
+ "one" : "dentro de {0} ano",
+ "other" : "dentro de {0} anos"
+ }
+ },
+ "month" : {
+ "previous" : "mês passado",
+ "current" : "este mês",
+ "next" : "próximo mês",
+ "past" : {
+ "other" : "há {0} meses",
+ "one" : "há {0} mês"
+ },
+ "future" : {
+ "other" : "dentro de {0} meses",
+ "one" : "dentro de {0} mês"
+ }
+ },
+ "day" : {
+ "previous" : "ontem",
+ "current" : "hoje",
+ "future" : {
+ "one" : "dentro de {0} dia",
+ "other" : "dentro de {0} dias"
+ },
+ "next" : "amanhã",
+ "past" : {
+ "one" : "há {0} dia",
+ "other" : "há {0} dias"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "other" : "há {0} horas",
+ "one" : "há {0} hora"
+ },
+ "current" : "esta hora",
+ "future" : {
+ "other" : "dentro de {0} horas",
+ "one" : "dentro de {0} hora"
+ }
+ },
+ "now" : "agora",
+ "minute" : {
+ "current" : "este minuto",
+ "past" : {
+ "one" : "há {0} minuto",
+ "other" : "há {0} minutos"
+ },
+ "future" : {
+ "one" : "dentro de {0} minuto",
+ "other" : "dentro de {0} minutos"
+ }
+ },
+ "second" : {
+ "past" : {
+ "one" : "há {0} segundo",
+ "other" : "há {0} segundos"
+ },
+ "current" : "agora",
+ "future" : {
+ "one" : "dentro de {0} segundo",
+ "other" : "dentro de {0} segundos"
+ }
+ },
+ "quarter" : {
+ "next" : "próximo trimestre",
+ "future" : {
+ "other" : "dentro de {0} trimestres",
+ "one" : "dentro de {0} trimestre"
+ },
+ "past" : {
+ "one" : "há {0} trimestre",
+ "other" : "há {0} trimestres"
+ },
+ "current" : "este trimestre",
+ "previous" : "trimestre passado"
+ },
+ "week" : {
+ "past" : {
+ "other" : "há {0} semanas",
+ "one" : "há {0} semana"
+ },
+ "current" : "esta semana",
+ "previous" : "semana passada",
+ "next" : "próxima semana",
+ "future" : {
+ "one" : "dentro de {0} semana",
+ "other" : "dentro de {0} semanas"
+ }
+ }
+ },
+ "short" : {
+ "year" : {
+ "past" : {
+ "one" : "há {0} ano",
+ "other" : "há {0} anos"
+ },
+ "future" : {
+ "one" : "dentro de {0} ano",
+ "other" : "dentro de {0} anos"
+ },
+ "previous" : "ano passado",
+ "current" : "este ano",
+ "next" : "próximo ano"
+ },
+ "day" : {
+ "next" : "amanhã",
+ "current" : "hoje",
+ "previous" : "ontem",
+ "future" : {
+ "other" : "dentro de {0} dias",
+ "one" : "dentro de {0} dia"
+ },
+ "past" : {
+ "other" : "há {0} dias",
+ "one" : "há {0} dia"
+ }
+ },
+ "minute" : {
+ "current" : "este minuto",
+ "past" : "há {0} min",
+ "future" : "dentro de {0} min"
+ },
+ "hour" : {
+ "past" : "há {0} h",
+ "future" : "dentro de {0} h",
+ "current" : "esta hora"
+ },
+ "quarter" : {
+ "previous" : "trim. passado",
+ "future" : "dentro de {0} trim.",
+ "next" : "próximo trim.",
+ "past" : "há {0} trim.",
+ "current" : "este trim."
+ },
+ "second" : {
+ "future" : "dentro de {0} s",
+ "current" : "agora",
+ "past" : "há {0} s"
+ },
+ "now" : "agora",
+ "week" : {
+ "past" : "há {0} sem.",
+ "future" : "dentro de {0} sem.",
+ "next" : "próxima semana",
+ "current" : "esta semana",
+ "previous" : "semana passada"
+ },
+ "month" : {
+ "past" : {
+ "one" : "há {0} mês",
+ "other" : "há {0} meses"
+ },
+ "future" : {
+ "other" : "dentro de {0} meses",
+ "one" : "dentro de {0} mês"
+ },
+ "next" : "próximo mês",
+ "previous" : "mês passado",
+ "current" : "este mês"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ro.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ro.json
new file mode 100644
index 00000000..829f4b90
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ro.json
@@ -0,0 +1,265 @@
+{
+ "short" : {
+ "year" : {
+ "previous" : "anul trecut",
+ "next" : "anul viitor",
+ "current" : "anul acesta",
+ "future" : {
+ "other" : "peste {0} de ani",
+ "one" : "peste {0} an",
+ "few" : "peste {0} ani"
+ },
+ "past" : {
+ "few" : "acum {0} ani",
+ "one" : "acum {0} an",
+ "other" : "acum {0} de ani"
+ }
+ },
+ "quarter" : {
+ "future" : "peste {0} trim.",
+ "previous" : "trim. trecut",
+ "current" : "trim. acesta",
+ "next" : "trim. viitor",
+ "past" : "acum {0} trim."
+ },
+ "hour" : {
+ "past" : "acum {0} h",
+ "future" : "peste {0} h",
+ "current" : "ora aceasta"
+ },
+ "day" : {
+ "past" : {
+ "one" : "acum {0} zi",
+ "few" : "acum {0} zile",
+ "other" : "acum {0} de zile"
+ },
+ "future" : {
+ "other" : "peste {0} de zile",
+ "few" : "peste {0} zile",
+ "one" : "peste {0} zi"
+ },
+ "previous" : "ieri",
+ "next" : "mâine",
+ "current" : "azi"
+ },
+ "minute" : {
+ "current" : "minutul acesta",
+ "past" : "acum {0} min.",
+ "future" : "peste {0} min."
+ },
+ "month" : {
+ "future" : {
+ "other" : "peste {0} luni",
+ "one" : "peste {0} lună"
+ },
+ "previous" : "luna trecută",
+ "current" : "luna aceasta",
+ "next" : "luna viitoare",
+ "past" : {
+ "one" : "acum {0} lună",
+ "other" : "acum {0} luni"
+ }
+ },
+ "week" : {
+ "past" : "acum {0} săpt.",
+ "future" : "peste {0} săpt.",
+ "next" : "săptămâna viitoare",
+ "current" : "săptămâna aceasta",
+ "previous" : "săptămâna trecută"
+ },
+ "second" : {
+ "future" : "peste {0} sec.",
+ "current" : "acum",
+ "past" : "acum {0} sec."
+ },
+ "now" : "acum"
+ },
+ "narrow" : {
+ "month" : {
+ "future" : {
+ "one" : "+{0} lună",
+ "other" : "+{0} luni"
+ },
+ "next" : "luna viitoare",
+ "current" : "luna aceasta",
+ "previous" : "luna trecută",
+ "past" : {
+ "one" : "-{0} lună",
+ "other" : "-{0} luni"
+ }
+ },
+ "minute" : {
+ "future" : "+{0} m",
+ "current" : "minutul acesta",
+ "past" : "-{0} m"
+ },
+ "second" : {
+ "current" : "acum",
+ "future" : "+{0} s",
+ "past" : "-{0} s"
+ },
+ "now" : "acum",
+ "day" : {
+ "future" : {
+ "other" : "+{0} zile",
+ "one" : "+{0} zi"
+ },
+ "previous" : "ieri",
+ "current" : "azi",
+ "next" : "mâine",
+ "past" : {
+ "one" : "-{0} zi",
+ "other" : "-{0} zile"
+ }
+ },
+ "year" : {
+ "previous" : "anul trecut",
+ "past" : {
+ "one" : "-{0} an",
+ "other" : "-{0} ani"
+ },
+ "future" : {
+ "other" : "+{0} ani",
+ "one" : "+{0} an"
+ },
+ "current" : "anul acesta",
+ "next" : "anul viitor"
+ },
+ "quarter" : {
+ "past" : "-{0} trim.",
+ "previous" : "trim. trecut",
+ "current" : "trim. acesta",
+ "next" : "trim. viitor",
+ "future" : "+{0} trim."
+ },
+ "week" : {
+ "previous" : "săptămâna trecută",
+ "past" : "-{0} săpt.",
+ "future" : "+{0} săpt.",
+ "current" : "săptămâna aceasta",
+ "next" : "săptămâna viitoare"
+ },
+ "hour" : {
+ "future" : "+{0} h",
+ "past" : "-{0} h",
+ "current" : "ora aceasta"
+ }
+ },
+ "long" : {
+ "minute" : {
+ "past" : {
+ "one" : "acum {0} minut",
+ "few" : "acum {0} minute",
+ "other" : "acum {0} de minute"
+ },
+ "current" : "minutul acesta",
+ "future" : {
+ "one" : "peste {0} minut",
+ "other" : "peste {0} de minute",
+ "few" : "peste {0} minute"
+ }
+ },
+ "second" : {
+ "current" : "acum",
+ "future" : {
+ "few" : "peste {0} secunde",
+ "one" : "peste {0} secundă",
+ "other" : "peste {0} de secunde"
+ },
+ "past" : {
+ "few" : "acum {0} secunde",
+ "other" : "acum {0} de secunde",
+ "one" : "acum {0} secundă"
+ }
+ },
+ "month" : {
+ "next" : "luna viitoare",
+ "current" : "luna aceasta",
+ "previous" : "luna trecută",
+ "past" : {
+ "other" : "acum {0} de luni",
+ "one" : "acum {0} lună",
+ "few" : "acum {0} luni"
+ },
+ "future" : {
+ "one" : "peste {0} lună",
+ "other" : "peste {0} de luni",
+ "few" : "peste {0} luni"
+ }
+ },
+ "day" : {
+ "current" : "azi",
+ "future" : {
+ "other" : "peste {0} de zile",
+ "few" : "peste {0} zile",
+ "one" : "peste {0} zi"
+ },
+ "next" : "mâine",
+ "previous" : "ieri",
+ "past" : {
+ "one" : "acum {0} zi",
+ "few" : "acum {0} zile",
+ "other" : "acum {0} de zile"
+ }
+ },
+ "now" : "acum",
+ "hour" : {
+ "current" : "ora aceasta",
+ "past" : {
+ "few" : "acum {0} ore",
+ "one" : "acum {0} oră",
+ "other" : "acum {0} de ore"
+ },
+ "future" : {
+ "few" : "peste {0} ore",
+ "other" : "peste {0} de ore",
+ "one" : "peste {0} oră"
+ }
+ },
+ "quarter" : {
+ "previous" : "trimestrul trecut",
+ "current" : "trimestrul acesta",
+ "past" : {
+ "one" : "acum {0} trimestru",
+ "few" : "acum {0} trimestre",
+ "other" : "acum {0} de trimestre"
+ },
+ "future" : {
+ "other" : "peste {0} de trimestre",
+ "one" : "peste {0} trimestru",
+ "few" : "peste {0} trimestre"
+ },
+ "next" : "trimestrul viitor"
+ },
+ "year" : {
+ "next" : "anul viitor",
+ "past" : {
+ "few" : "acum {0} ani",
+ "other" : "acum {0} de ani",
+ "one" : "acum {0} an"
+ },
+ "previous" : "anul trecut",
+ "future" : {
+ "few" : "peste {0} ani",
+ "other" : "peste {0} de ani",
+ "one" : "peste {0} an"
+ },
+ "current" : "anul acesta"
+ },
+ "week" : {
+ "next" : "săptămâna viitoare",
+ "future" : {
+ "few" : "peste {0} săptămâni",
+ "other" : "peste {0} de săptămâni",
+ "one" : "peste {0} săptămână"
+ },
+ "previous" : "săptămâna trecută",
+ "current" : "săptămâna aceasta",
+ "past" : {
+ "one" : "acum {0} săptămână",
+ "few" : "acum {0} săptămâni",
+ "other" : "acum {0} de săptămâni"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ru.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ru.json
new file mode 100644
index 00000000..4750d82e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ru.json
@@ -0,0 +1,243 @@
+{
+ "narrow" : {
+ "second" : {
+ "past" : "-{0} с",
+ "current" : "сейчас",
+ "future" : "+{0} с"
+ },
+ "year" : {
+ "previous" : "в пр. г.",
+ "next" : "в сл. г.",
+ "future" : {
+ "many" : "+{0} л.",
+ "other" : "+{0} г."
+ },
+ "current" : "в эт. г.",
+ "past" : {
+ "other" : "-{0} г.",
+ "many" : "-{0} л."
+ }
+ },
+ "month" : {
+ "past" : "-{0} мес.",
+ "next" : "в след. мес.",
+ "future" : "+{0} мес.",
+ "previous" : "в пр. мес.",
+ "current" : "в эт. мес."
+ },
+ "minute" : {
+ "future" : "+{0} мин.",
+ "past" : "-{0} мин.",
+ "current" : "в эту минуту"
+ },
+ "quarter" : {
+ "previous" : "посл. кв.",
+ "current" : "тек. кв.",
+ "next" : "след. кв.",
+ "past" : "-{0} кв.",
+ "future" : "+{0} кв."
+ },
+ "hour" : {
+ "past" : "-{0} ч.",
+ "current" : "в этот час",
+ "future" : "+{0} ч."
+ },
+ "now" : "сейчас",
+ "week" : {
+ "next" : "на след. неделе",
+ "previous" : "на пр. нед.",
+ "past" : "-{0} нед.",
+ "future" : "+{0} нед.",
+ "current" : "на эт. нед."
+ },
+ "day" : {
+ "previous" : "вчера",
+ "future" : "+{0} дн.",
+ "past" : "-{0} дн.",
+ "current" : "сегодня",
+ "next" : "завтра"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "future" : "через {0} мин.",
+ "current" : "в эту минуту",
+ "past" : "{0} мин. назад"
+ },
+ "week" : {
+ "current" : "на этой нед.",
+ "past" : "{0} нед. назад",
+ "future" : "через {0} нед.",
+ "next" : "на следующей нед.",
+ "previous" : "на прошлой нед."
+ },
+ "year" : {
+ "current" : "в этом г.",
+ "future" : {
+ "many" : "через {0} л.",
+ "other" : "через {0} г."
+ },
+ "past" : {
+ "many" : "{0} л. назад",
+ "other" : "{0} г. назад"
+ },
+ "next" : "в след. г.",
+ "previous" : "в прошлом г."
+ },
+ "day" : {
+ "next" : "завтра",
+ "current" : "сегодня",
+ "previous" : "вчера",
+ "past" : "{0} дн. назад",
+ "future" : "через {0} дн."
+ },
+ "hour" : {
+ "past" : {
+ "one" : "{0} ч. назад",
+ "other" : "{0} ч. назад"
+ },
+ "future" : {
+ "one" : "через {0} ч.",
+ "other" : "через {0} ч."
+ },
+ "current" : "в этот час"
+ },
+ "quarter" : {
+ "current" : "текущий кв.",
+ "future" : "через {0} кв.",
+ "previous" : "последний кв.",
+ "next" : "следующий кв.",
+ "past" : "{0} кв. назад"
+ },
+ "second" : {
+ "future" : "через {0} сек.",
+ "current" : "сейчас",
+ "past" : "{0} сек. назад"
+ },
+ "month" : {
+ "current" : "в этом мес.",
+ "past" : "{0} мес. назад",
+ "future" : "через {0} мес.",
+ "next" : "в следующем мес.",
+ "previous" : "в прошлом мес."
+ },
+ "now" : "сейчас"
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "в следующем квартале",
+ "past" : {
+ "one" : "{0} квартал назад",
+ "many" : "{0} кварталов назад",
+ "other" : "{0} квартала назад"
+ },
+ "previous" : "в прошлом квартале",
+ "current" : "в текущем квартале",
+ "future" : {
+ "one" : "через {0} квартал",
+ "many" : "через {0} кварталов",
+ "other" : "через {0} квартала"
+ }
+ },
+ "month" : {
+ "next" : "в следующем месяце",
+ "current" : "в этом месяце",
+ "past" : {
+ "one" : "{0} месяц назад",
+ "many" : "{0} месяцев назад",
+ "other" : "{0} месяца назад"
+ },
+ "previous" : "в прошлом месяце",
+ "future" : {
+ "other" : "через {0} месяца",
+ "many" : "через {0} месяцев",
+ "one" : "через {0} месяц"
+ }
+ },
+ "now" : "сейчас",
+ "week" : {
+ "future" : {
+ "other" : "через {0} недели",
+ "one" : "через {0} неделю",
+ "many" : "через {0} недель"
+ },
+ "previous" : "на прошлой неделе",
+ "current" : "на этой неделе",
+ "next" : "на следующей неделе",
+ "past" : {
+ "many" : "{0} недель назад",
+ "one" : "{0} неделю назад",
+ "other" : "{0} недели назад"
+ }
+ },
+ "hour" : {
+ "current" : "в этот час",
+ "future" : {
+ "one" : "через {0} час",
+ "many" : "через {0} часов",
+ "other" : "через {0} часа"
+ },
+ "past" : {
+ "other" : "{0} часа назад",
+ "many" : "{0} часов назад",
+ "one" : "{0} час назад"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "many" : "через {0} минут",
+ "one" : "через {0} минуту",
+ "other" : "через {0} минуты"
+ },
+ "current" : "в эту минуту",
+ "past" : {
+ "one" : "{0} минуту назад",
+ "many" : "{0} минут назад",
+ "other" : "{0} минуты назад"
+ }
+ },
+ "second" : {
+ "past" : {
+ "other" : "{0} секунды назад",
+ "many" : "{0} секунд назад",
+ "one" : "{0} секунду назад"
+ },
+ "current" : "сейчас",
+ "future" : {
+ "other" : "через {0} секунды",
+ "one" : "через {0} секунду",
+ "many" : "через {0} секунд"
+ }
+ },
+ "day" : {
+ "previous" : "вчера",
+ "past" : {
+ "many" : "{0} дней назад",
+ "other" : "{0} дня назад",
+ "one" : "{0} день назад"
+ },
+ "future" : {
+ "other" : "через {0} дня",
+ "one" : "через {0} день",
+ "many" : "через {0} дней"
+ },
+ "next" : "завтра",
+ "current" : "сегодня"
+ },
+ "year" : {
+ "next" : "в следующем году",
+ "current" : "в этом году",
+ "future" : {
+ "one" : "через {0} год",
+ "other" : "через {0} года",
+ "many" : "через {0} лет"
+ },
+ "previous" : "в прошлом году",
+ "past" : {
+ "many" : "{0} лет назад",
+ "other" : "{0} года назад",
+ "one" : "{0} год назад"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sah.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sah.json
new file mode 100644
index 00000000..286b997e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sah.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "Сарсын",
+ "future" : "{0} күнүнэн",
+ "previous" : "Бэҕэһээ",
+ "current" : "Бүгүн",
+ "past" : "{0} күн ынараа өттүгэр"
+ },
+ "quarter" : {
+ "next" : "кэлэр кыбаартал",
+ "past" : "{0} кыб. анараа өттүгэр",
+ "future" : "{0} кыбаарталынан",
+ "previous" : "ааспыт кыбаартал",
+ "current" : "бу кыбаартал"
+ },
+ "hour" : {
+ "past" : "{0} чаас ынараа өттүгэр",
+ "future" : "{0} чааһынан",
+ "current" : "this hour"
+ },
+ "year" : {
+ "next" : "эһиил",
+ "past" : "{0} сыл ынараа өттүгэр",
+ "current" : "быйыл",
+ "previous" : "Былырыын",
+ "future" : "{0} сылынан"
+ },
+ "now" : "билигин",
+ "month" : {
+ "current" : "бу ый",
+ "future" : "{0} ыйынан",
+ "past" : "{0} ый ынараа өттүгэр",
+ "next" : "аныгыскы ый",
+ "previous" : "ааспыт ый"
+ },
+ "week" : {
+ "previous" : "ааспыт нэдиэлэ",
+ "current" : "бу нэдиэлэ",
+ "past" : "{0} нэдиэлэ анараа өттүгэр",
+ "future" : "{0} нэдиэлэннэн",
+ "next" : "кэлэр нэдиэлэ"
+ },
+ "minute" : {
+ "past" : "{0} мүнүүтэ ынараа өттүгэр",
+ "current" : "this minute",
+ "future" : "{0} мүнүүтэннэн"
+ },
+ "second" : {
+ "future" : "{0} сөкүүндэннэн",
+ "current" : "билигин",
+ "past" : "{0} сөк. анараа өттүгэр"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "Бэҕэһээ",
+ "current" : "Бүгүн",
+ "next" : "Сарсын",
+ "past" : "{0} күн ынараа өттүгэр",
+ "future" : "{0} күнүнэн"
+ },
+ "week" : {
+ "current" : "бу нэдиэлэ",
+ "future" : "{0} нэдиэлэннэн",
+ "past" : "{0} нэдиэлэ анараа өттүгэр",
+ "previous" : "ааспыт нэдиэлэ",
+ "next" : "кэлэр нэдиэлэ"
+ },
+ "minute" : {
+ "future" : "{0} мүнүүтэннэн",
+ "current" : "this minute",
+ "past" : "{0} мүнүүтэ ынараа өттүгэр"
+ },
+ "month" : {
+ "future" : "{0} ыйынан",
+ "next" : "аныгыскы ый",
+ "previous" : "ааспыт ый",
+ "current" : "бу ый",
+ "past" : "{0} ый ынараа өттүгэр"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "{0} чаас ынараа өттүгэр",
+ "future" : "{0} чааһынан"
+ },
+ "year" : {
+ "past" : "{0} сыл ынараа өттүгэр",
+ "future" : "{0} сылынан",
+ "previous" : "Былырыын",
+ "next" : "эһиил",
+ "current" : "быйыл"
+ },
+ "second" : {
+ "past" : "{0} сөкүүндэ ынараа өттүгэр",
+ "current" : "билигин",
+ "future" : "{0} сөкүүндэннэн"
+ },
+ "now" : "билигин",
+ "quarter" : {
+ "past" : "{0} кыбаартал анараа өттүгэр",
+ "current" : "бу кыбаартал",
+ "previous" : "ааспыт кыбаартал",
+ "future" : "{0} кыбаарталынан",
+ "next" : "кэлэр кыбаартал"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} кыбаарталынан",
+ "next" : "кэлэр кыбаартал",
+ "previous" : "ааспыт кыбаартал",
+ "current" : "бу кыбаартал",
+ "past" : "{0} кыб. анараа өттүгэр"
+ },
+ "minute" : {
+ "past" : "{0} мүнүүтэ ынараа өттүгэр",
+ "future" : "{0} мүнүүтэннэн",
+ "current" : "this minute"
+ },
+ "year" : {
+ "next" : "эһиил",
+ "future" : "{0} сылынан",
+ "current" : "быйыл",
+ "past" : "{0} сыл ынараа өттүгэр",
+ "previous" : "Былырыын"
+ },
+ "second" : {
+ "current" : "билигин",
+ "past" : "{0} сөк. анараа өттүгэр",
+ "future" : "{0} сөкүүндэннэн"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "{0} чаас ынараа өттүгэр",
+ "future" : "{0} чааһынан"
+ },
+ "now" : "билигин",
+ "month" : {
+ "previous" : "ааспыт ый",
+ "next" : "аныгыскы ый",
+ "past" : "{0} ый ынараа өттүгэр",
+ "current" : "бу ый",
+ "future" : "{0} ыйынан"
+ },
+ "week" : {
+ "previous" : "ааспыт нэдиэлэ",
+ "current" : "бу нэдиэлэ",
+ "next" : "кэлэр нэдиэлэ",
+ "past" : "{0} нэдиэлэ анараа өттүгэр",
+ "future" : "{0} нэдиэлэннэн"
+ },
+ "day" : {
+ "next" : "Сарсын",
+ "past" : "{0} күн ынараа өттүгэр",
+ "future" : "{0} күнүнэн",
+ "previous" : "Бэҕэһээ",
+ "current" : "Бүгүн"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sd.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sd.json
new file mode 100644
index 00000000..4e7a293a
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sd.json
@@ -0,0 +1,164 @@
+{
+ "narrow" : {
+ "year" : {
+ "future" : "{0} سالن ۾",
+ "previous" : "پويون سال",
+ "next" : "پويون سال",
+ "current" : "پويون سال",
+ "past" : "{0} سال پهرين"
+ },
+ "week" : {
+ "past" : "{0} هفتا پهرين",
+ "previous" : "پوئين هفتي",
+ "future" : "{0} هفتن ۾",
+ "current" : "هن هفتي",
+ "next" : "اڳين هفتي"
+ },
+ "hour" : {
+ "future" : "{0} ڪلاڪ ۾",
+ "current" : "هن ڪلڪ",
+ "past" : "{0} ڪلاڪ پهرين"
+ },
+ "quarter" : {
+ "current" : "هن ٽي ماهي",
+ "previous" : "پوئين ٽي ماهي",
+ "future" : "{0} ٽي ماهي ۾",
+ "past" : "{0} ٽي ماهي پهرين",
+ "next" : "اڳين ٽي ماهي"
+ },
+ "second" : {
+ "current" : "هاڻي",
+ "future" : "{0} سيڪنڊن ۾",
+ "past" : "{0} سيڪنڊ پهرين"
+ },
+ "month" : {
+ "current" : "هن مهيني",
+ "future" : "{0} مهينن ۾",
+ "past" : "{0} مهينا پهرين",
+ "next" : "اڳين مهيني",
+ "previous" : "پوئين مهيني"
+ },
+ "day" : {
+ "previous" : "ڪل",
+ "future" : "{0} ڏينهن ۾",
+ "next" : "سڀاڻي",
+ "current" : "اڄ",
+ "past" : "{0} ڏينهن پهرين"
+ },
+ "minute" : {
+ "past" : "{0} منٽ پهرين",
+ "future" : "{0} منٽن ۾",
+ "current" : "هن منٽ"
+ },
+ "now" : "هاڻي"
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "اڳين ٽي ماهي",
+ "current" : "هن ٽي ماهي",
+ "previous" : "پوئين ٽي ماهي",
+ "past" : "{0} ٽي ماهي پهرين",
+ "future" : "{0} ٽي ماهي ۾"
+ },
+ "year" : {
+ "previous" : "پويون سال",
+ "past" : "{0} سال پهرين",
+ "future" : "{0} سالن ۾",
+ "next" : "پويون سال",
+ "current" : "پويون سال"
+ },
+ "minute" : {
+ "past" : "{0} منٽ پهرين",
+ "future" : {
+ "one" : "{0} منٽن ۾",
+ "other" : "+{0} min"
+ },
+ "current" : "هن منٽ"
+ },
+ "month" : {
+ "previous" : "پوئين مهيني",
+ "current" : "هن مهيني",
+ "future" : "{0} مهينن ۾",
+ "past" : "{0} مهينا پهرين",
+ "next" : "اڳين مهيني"
+ },
+ "now" : "هاڻي",
+ "hour" : {
+ "past" : "{0} ڪلاڪ پهرين",
+ "future" : "{0} ڪلاڪ ۾",
+ "current" : "هن ڪلڪ"
+ },
+ "second" : {
+ "future" : "{0} سيڪنڊن ۾",
+ "current" : "هاڻي",
+ "past" : "{0} سيڪنڊ پهرين"
+ },
+ "week" : {
+ "past" : "{0} هفتا پهرين",
+ "current" : "هن هفتي",
+ "next" : "اڳين هفتي",
+ "previous" : "پوئين هفتي",
+ "future" : "{0} هفتن ۾"
+ },
+ "day" : {
+ "previous" : "ڪل",
+ "future" : "{0} ڏينهن ۾",
+ "next" : "سڀاڻي",
+ "past" : "{0} ڏينهن پهرين",
+ "current" : "اڄ"
+ }
+ },
+ "short" : {
+ "second" : {
+ "current" : "هاڻي",
+ "past" : "{0} سيڪنڊ پهرين",
+ "future" : "{0} سيڪنڊن ۾"
+ },
+ "now" : "هاڻي",
+ "month" : {
+ "future" : "{0} مهينن ۾",
+ "current" : "هن مهيني",
+ "past" : "{0} مهينا پهرين",
+ "previous" : "پوئين مهيني",
+ "next" : "اڳين مهيني"
+ },
+ "day" : {
+ "previous" : "ڪل",
+ "current" : "اڄ",
+ "next" : "سڀاڻي",
+ "future" : "{0} ڏينهن ۾",
+ "past" : "{0} ڏينهن پهرين"
+ },
+ "minute" : {
+ "current" : "هن منٽ",
+ "future" : "{0} منٽن ۾",
+ "past" : "{0} منٽ پهرين"
+ },
+ "quarter" : {
+ "past" : "{0} ٽي ماهي پهرين",
+ "previous" : "پوئين ٽي ماهي",
+ "current" : "هن ٽي ماهي",
+ "future" : "{0} ٽي ماهي ۾",
+ "next" : "اڳين ٽي ماهي"
+ },
+ "hour" : {
+ "current" : "هن ڪلڪ",
+ "future" : "{0} ڪلاڪ ۾",
+ "past" : "{0} ڪلاڪ پهرين"
+ },
+ "week" : {
+ "future" : "{0} هفتن ۾",
+ "previous" : "پوئين هفتي",
+ "next" : "اڳين هفتي",
+ "past" : "{0} هفتا پهرين",
+ "current" : "هن هفتي"
+ },
+ "year" : {
+ "next" : "پويون سال",
+ "current" : "پويون سال",
+ "past" : "{0} سال پهرين",
+ "future" : "{0} سالن ۾",
+ "previous" : "پويون سال"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/se.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/se.json
new file mode 100644
index 00000000..dd6e15a0
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/se.json
@@ -0,0 +1,272 @@
+{
+ "narrow" : {
+ "second" : {
+ "future" : {
+ "one" : "{0} sekunda maŋŋilit",
+ "other" : "{0} sekundda maŋŋilit"
+ },
+ "past" : {
+ "one" : "{0} sekunda árat",
+ "other" : "{0} sekundda árat"
+ },
+ "current" : "now"
+ },
+ "week" : {
+ "past" : {
+ "one" : "{0} vahku árat",
+ "other" : "{0} vahkku árat"
+ },
+ "next" : "next week",
+ "previous" : "last week",
+ "current" : "this week",
+ "future" : {
+ "one" : "{0} vahku maŋŋilit",
+ "other" : "{0} vahkku maŋŋilit"
+ }
+ },
+ "month" : {
+ "current" : "this month",
+ "next" : "next month",
+ "future" : "{0} mánotbadji maŋŋilit",
+ "previous" : "last month",
+ "past" : "{0} mánotbadji árat"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "next" : "next quarter"
+ },
+ "year" : {
+ "current" : "this year",
+ "previous" : "last year",
+ "future" : {
+ "other" : "{0} jahkki maŋŋilit",
+ "one" : "{0} jahki maŋŋilit"
+ },
+ "next" : "next year",
+ "past" : {
+ "other" : "{0} jahkki árat",
+ "one" : "{0} jahki árat"
+ }
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : {
+ "one" : "{0} diibmu árat",
+ "other" : "{0} diibmur árat"
+ },
+ "future" : {
+ "one" : "{0} diibmu maŋŋilit",
+ "other" : "{0} diibmur maŋŋilit"
+ }
+ },
+ "day" : {
+ "current" : "odne",
+ "next" : "ihttin",
+ "previous" : "ikte",
+ "past" : {
+ "other" : "{0} jándora árat",
+ "one" : "{0} jándor árat"
+ },
+ "future" : {
+ "other" : "{0} jándora maŋŋilit",
+ "one" : "{0} jándor maŋŋilit",
+ "two" : "{0} jándor amaŋŋilit"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "{0} minuhta árat",
+ "other" : "{0} minuhtta árat"
+ },
+ "current" : "this minute",
+ "future" : {
+ "one" : "{0} minuhta maŋŋilit",
+ "other" : "{0} minuhtta maŋŋilit"
+ }
+ },
+ "now" : "now"
+ },
+ "long" : {
+ "minute" : {
+ "past" : {
+ "one" : "{0} minuhta árat",
+ "other" : "{0} minuhtta árat"
+ },
+ "current" : "this minute",
+ "future" : {
+ "one" : "{0} minuhta maŋŋilit",
+ "other" : "{0} minuhtta maŋŋilit"
+ }
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : {
+ "other" : "{0} diibmur árat",
+ "one" : "{0} diibmu árat"
+ },
+ "future" : {
+ "one" : "{0} diibmu maŋŋilit",
+ "other" : "{0} diibmur maŋŋilit"
+ }
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "next" : "next quarter",
+ "future" : "+{0} Q",
+ "past" : "-{0} Q"
+ },
+ "year" : {
+ "previous" : "last year",
+ "next" : "next year",
+ "past" : {
+ "one" : "{0} jahki árat",
+ "other" : "{0} jahkki árat"
+ },
+ "current" : "this year",
+ "future" : {
+ "one" : "{0} jahki maŋŋilit",
+ "other" : "{0} jahkki maŋŋilit"
+ }
+ },
+ "week" : {
+ "next" : "next week",
+ "previous" : "last week",
+ "current" : "this week",
+ "past" : {
+ "one" : "{0} vahku árat",
+ "other" : "{0} vahkku árat"
+ },
+ "future" : {
+ "other" : "{0} vahkku maŋŋilit",
+ "one" : "{0} vahku maŋŋilit"
+ }
+ },
+ "day" : {
+ "current" : "odne",
+ "future" : {
+ "one" : "{0} jándor maŋŋilit",
+ "other" : "{0} jándora maŋŋilit",
+ "two" : "{0} jándor amaŋŋilit"
+ },
+ "past" : {
+ "other" : "{0} jándora árat",
+ "one" : "{0} jándor árat"
+ },
+ "next" : "ihttin",
+ "previous" : "ikte"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : {
+ "one" : "{0} sekunda árat",
+ "other" : "{0} sekundda árat"
+ },
+ "future" : {
+ "other" : "{0} sekundda maŋŋilit",
+ "one" : "{0} sekunda maŋŋilit"
+ }
+ },
+ "now" : "now",
+ "month" : {
+ "previous" : "last month",
+ "future" : "{0} mánotbadji maŋŋilit",
+ "past" : "{0} mánotbadji árat",
+ "current" : "this month",
+ "next" : "next month"
+ }
+ },
+ "short" : {
+ "now" : "now",
+ "minute" : {
+ "current" : "this minute",
+ "future" : {
+ "one" : "{0} minuhta maŋŋilit",
+ "other" : "{0} minuhtta maŋŋilit"
+ },
+ "past" : {
+ "other" : "{0} minuhtta árat",
+ "one" : "{0} minuhta árat"
+ }
+ },
+ "year" : {
+ "previous" : "last year",
+ "current" : "this year",
+ "next" : "next year",
+ "past" : {
+ "other" : "{0} jahkki árat",
+ "one" : "{0} jahki árat"
+ },
+ "future" : {
+ "one" : "{0} jahki maŋŋilit",
+ "other" : "{0} jahkki maŋŋilit"
+ }
+ },
+ "second" : {
+ "current" : "now",
+ "future" : {
+ "one" : "{0} sekunda maŋŋilit",
+ "other" : "{0} sekundda maŋŋilit"
+ },
+ "past" : {
+ "one" : "{0} sekunda árat",
+ "other" : "{0} sekundda árat"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} diibmur árat",
+ "one" : "{0} diibmu árat"
+ },
+ "future" : {
+ "other" : "{0} diibmur maŋŋilit",
+ "one" : "{0} diibmu maŋŋilit"
+ },
+ "current" : "this hour"
+ },
+ "month" : {
+ "future" : "{0} mánotbadji maŋŋilit",
+ "previous" : "last month",
+ "next" : "next month",
+ "past" : "{0} mánotbadji árat",
+ "current" : "this month"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q"
+ },
+ "week" : {
+ "next" : "next week",
+ "past" : {
+ "other" : "{0} vahkku árat",
+ "one" : "{0} vahku árat"
+ },
+ "current" : "this week",
+ "previous" : "last week",
+ "future" : {
+ "other" : "{0} vahkku maŋŋilit",
+ "one" : "{0} vahku maŋŋilit"
+ }
+ },
+ "day" : {
+ "next" : "ihttin",
+ "current" : "odne",
+ "previous" : "ikte",
+ "past" : {
+ "other" : "{0} jándora árat",
+ "one" : "{0} jándor árat"
+ },
+ "future" : {
+ "two" : "{0} jándor amaŋŋilit",
+ "other" : "{0} jándora maŋŋilit",
+ "one" : "{0} jándor maŋŋilit"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/se_FI.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/se_FI.json
new file mode 100644
index 00000000..d62c7890
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/se_FI.json
@@ -0,0 +1,266 @@
+{
+ "narrow" : {
+ "year" : {
+ "next" : "boahtte jagi",
+ "past" : {
+ "other" : "{0} j. dás ovdal",
+ "two" : "{0} jagi dás ovdal"
+ },
+ "future" : "{0} jagi siste",
+ "previous" : "diibmá",
+ "current" : "dán jagi"
+ },
+ "quarter" : {
+ "past" : {
+ "two" : "-{0} njealjádasjagi dás ovdal",
+ "other" : "{0} njealj.j. dás ovdal"
+ },
+ "previous" : "mannan njealjádasjagi",
+ "current" : "dán njealjádasjagi",
+ "next" : "boahtte njealjádasjagi",
+ "future" : {
+ "other" : "boahtte {0} njealj.j.",
+ "two" : "boahtte {0} njealjádasjagi"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "two" : "{0} diimmu áigi",
+ "other" : "{0} dmu áigi"
+ },
+ "future" : {
+ "other" : "{0} dmu siste",
+ "two" : "{0} diimmu siste"
+ },
+ "current" : "dán diimmu"
+ },
+ "second" : {
+ "past" : {
+ "two" : "{0} sekundda áigi",
+ "other" : "{0} sek. áigi"
+ },
+ "current" : "dál",
+ "future" : {
+ "two" : "{0} sekundda siste",
+ "other" : "{0} sek. siste"
+ }
+ },
+ "week" : {
+ "previous" : "mannan vahku",
+ "past" : {
+ "two" : "{0} vahku dás ovdal",
+ "one" : "{0} vahkku dás ovdal",
+ "other" : "{0} v(k) dás ovdal"
+ },
+ "next" : "boahtte vahku",
+ "future" : "{0} v(k) geahčen",
+ "current" : "dán vahku"
+ },
+ "month" : {
+ "past" : {
+ "other" : "{0} mánu dás ovdal",
+ "one" : "{0} mánnu dás ovdal"
+ },
+ "current" : "dán mánu",
+ "future" : "{0} mánu geahčen",
+ "next" : "boahtte mánu",
+ "previous" : "mannan mánu"
+ },
+ "day" : {
+ "future" : "{0} beaivve siste",
+ "current" : "odne",
+ "past" : {
+ "two" : "ovddet beaivve",
+ "one" : "ikte",
+ "other" : "{0} beaivve dás ovdal"
+ },
+ "previous" : "ikte",
+ "next" : "ihttin"
+ },
+ "minute" : {
+ "current" : "dán minuhta",
+ "past" : {
+ "other" : "{0} min. áigi",
+ "two" : "{0} minuhta áigi"
+ },
+ "future" : {
+ "other" : "{0} min. siste",
+ "two" : "{0} minuhta siste"
+ }
+ },
+ "now" : "dál"
+ },
+ "long" : {
+ "month" : {
+ "past" : {
+ "one" : "{0} mánnu dás ovdal",
+ "other" : "{0} mánu dás ovdal"
+ },
+ "previous" : "mannan mánu",
+ "future" : "{0} mánu siste",
+ "next" : "boahtte mánu",
+ "current" : "dán mánu"
+ },
+ "now" : "dál",
+ "year" : {
+ "current" : "dán jagi",
+ "past" : {
+ "other" : "{0} jagi dás ovdal",
+ "one" : "diibmá",
+ "two" : "ovddet jagi"
+ },
+ "future" : "{0} jagi siste",
+ "next" : "boahtte jagi",
+ "previous" : "diibmá"
+ },
+ "quarter" : {
+ "past" : "-{0} njealjádasjagi dás ovdal",
+ "future" : "čuovvovaš {0} njealjádasjagi",
+ "current" : "dán njealjádasjagi",
+ "next" : "boahtte njealjádasjagi",
+ "previous" : "mannan njealjádasjagi"
+ },
+ "minute" : {
+ "current" : "dán minuhta",
+ "past" : {
+ "other" : "{0} minuhta áigi",
+ "one" : "{0} minuhtta áigi"
+ },
+ "future" : "{0} minuhta siste"
+ },
+ "week" : {
+ "future" : "{0} vahku geahčen",
+ "previous" : "mannan vahku",
+ "current" : "dán vahku",
+ "next" : "boahtte vahku",
+ "past" : {
+ "one" : "{0} vahkku dás ovdal",
+ "other" : "{0} vahku dás ovdal"
+ }
+ },
+ "second" : {
+ "future" : "{0} sekundda siste",
+ "current" : "dál",
+ "past" : {
+ "one" : "{0} sekunda áigi",
+ "other" : "{0} sekundda áigi"
+ }
+ },
+ "hour" : {
+ "future" : "{0} diimmu siste",
+ "current" : "dán diimmu",
+ "past" : {
+ "other" : "{0} diimmu áigi",
+ "one" : "{0} diibmu áigi"
+ }
+ },
+ "day" : {
+ "next" : "ihttin",
+ "past" : {
+ "other" : "{0} beaivve dás ovdal",
+ "two" : "ovddet beaivve",
+ "one" : "ikte"
+ },
+ "future" : "{0} beaivve siste",
+ "previous" : "ikte",
+ "current" : "odne"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "current" : "dán diimmu",
+ "past" : {
+ "other" : "{0} dmu áigi",
+ "two" : "{0} diimmu áigi"
+ },
+ "future" : {
+ "two" : "{0} diimmu siste",
+ "other" : "{0} dmu siste"
+ }
+ },
+ "second" : {
+ "future" : {
+ "two" : "{0} sekundda siste",
+ "other" : "{0} sek. siste"
+ },
+ "past" : {
+ "other" : "{0} sek. áigi",
+ "two" : "{0} sekundda áigi"
+ },
+ "current" : "dál"
+ },
+ "now" : "dál",
+ "year" : {
+ "past" : {
+ "one" : "diibmá",
+ "two" : "ovddet jagi",
+ "other" : "{0} j. dás ovdal"
+ },
+ "future" : {
+ "two" : "{0} jagi siste",
+ "other" : "{0} j. siste"
+ },
+ "previous" : "diibmá",
+ "current" : "dán jagi",
+ "next" : "boahtte jagi"
+ },
+ "quarter" : {
+ "previous" : "mannan njealjádasjagi",
+ "future" : {
+ "other" : "boahtte {0} njealj.j.",
+ "two" : "boahtte {0} njealjádasjagi"
+ },
+ "next" : "boahtte njealjádasjagi",
+ "past" : {
+ "two" : "{0} njealjádasjagi dás ovdal",
+ "other" : "{0} njealj.j. dás ovdal"
+ },
+ "current" : "dán njealjádasjagi"
+ },
+ "week" : {
+ "previous" : "mannan vahku",
+ "current" : "dán vahku",
+ "next" : "boahtte vahku",
+ "past" : {
+ "two" : "{0} vahku dás ovdal",
+ "other" : "{0} v(k) dás ovdal"
+ },
+ "future" : {
+ "other" : "{0} v(k) siste",
+ "two" : "{0} vahku siste"
+ }
+ },
+ "day" : {
+ "next" : "ihttin",
+ "past" : {
+ "one" : "ikte",
+ "other" : "{0} beaivve dás ovdal",
+ "two" : "ovddet beaivve"
+ },
+ "previous" : "ikte",
+ "future" : "{0} beaivve siste",
+ "current" : "odne"
+ },
+ "minute" : {
+ "past" : {
+ "two" : "{0} minuhta áigi",
+ "other" : "{0} min. áigi"
+ },
+ "future" : {
+ "two" : "{0} minuhta siste",
+ "other" : "{0} min. siste"
+ },
+ "current" : "dán minuhta"
+ },
+ "month" : {
+ "next" : "boahtte mánu",
+ "past" : {
+ "other" : "{0} mánu dás ovdal",
+ "one" : "{0} mánnu dás ovdal"
+ },
+ "future" : "{0} mánu siste",
+ "previous" : "mannan mánu",
+ "current" : "dán mánu"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/si.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/si.json
new file mode 100644
index 00000000..5d098e3a
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/si.json
@@ -0,0 +1,161 @@
+{
+ "long" : {
+ "hour" : {
+ "future" : "පැය {0}කින්",
+ "past" : "පැය {0}කට පෙර",
+ "current" : "මෙම පැය"
+ },
+ "second" : {
+ "past" : "තත්පර {0}කට පෙර",
+ "future" : "තත්පර {0}කින්",
+ "current" : "දැන්"
+ },
+ "week" : {
+ "next" : "ඊළඟ සතිය",
+ "current" : "මෙම සතිය",
+ "previous" : "පසුගිය සතිය",
+ "future" : "සති {0}කින්",
+ "past" : "සති {0}කට පෙර"
+ },
+ "minute" : {
+ "current" : "මෙම මිනිත්තුව",
+ "past" : "මිනිත්තු {0}කට පෙර",
+ "future" : "මිනිත්තු {0}කින්"
+ },
+ "year" : {
+ "current" : "මෙම වසර",
+ "past" : "වසර {0}කට පෙර",
+ "future" : "වසර {0}කින්",
+ "previous" : "පසුගිය වසර",
+ "next" : "ඊළඟ වසර"
+ },
+ "quarter" : {
+ "next" : "ඊළඟ කාර්තුව",
+ "current" : "මෙම කාර්තුව",
+ "future" : "කාර්තු {0}කින්",
+ "previous" : "පසුගිය කාර්තුව",
+ "past" : "කාර්තු {0}කට පෙර"
+ },
+ "month" : {
+ "previous" : "පසුගිය මාසය",
+ "future" : "මාස {0}කින්",
+ "current" : "මෙම මාසය",
+ "next" : "ඊළඟ මාසය",
+ "past" : "මාස {0}කට පෙර"
+ },
+ "day" : {
+ "next" : "හෙට",
+ "past" : "දින {0}කට පෙර",
+ "current" : "අද",
+ "future" : "දින {0}න්",
+ "previous" : "ඊයේ"
+ },
+ "now" : "දැන්"
+ },
+ "narrow" : {
+ "week" : {
+ "current" : "මෙම සති.",
+ "next" : "ඊළඟ සති.",
+ "past" : "සති {0}කට පෙර",
+ "previous" : "පසුගිය සති.",
+ "future" : "සති {0}කින්"
+ },
+ "minute" : {
+ "current" : "මෙම මිනිත්තුව",
+ "future" : "මිනිත්තු {0}කින්",
+ "past" : "මිනිත්තු {0}කට පෙර"
+ },
+ "month" : {
+ "current" : "මෙම මාස.",
+ "previous" : "පසුගිය මාස.",
+ "past" : "මාස {0}කට පෙර",
+ "next" : "ඊළඟ මාස.",
+ "future" : "මාස {0}කින්"
+ },
+ "now" : "දැන්",
+ "year" : {
+ "current" : "මෙම වසර",
+ "next" : "ඊළඟ වසර",
+ "past" : "වසර {0}කට පෙර",
+ "future" : "වසර {0}කින්",
+ "previous" : "පසුගිය වසර"
+ },
+ "hour" : {
+ "future" : "පැය {0}කින්",
+ "past" : "පැය {0}කට පෙර",
+ "current" : "මෙම පැය"
+ },
+ "quarter" : {
+ "previous" : "පසුගිය කාර්.",
+ "current" : "මෙම කාර්.",
+ "past" : "කාර්. {0}කට පෙර",
+ "future" : "කාර්. {0}කින්",
+ "next" : "ඊළඟ කාර්."
+ },
+ "second" : {
+ "current" : "දැන්",
+ "past" : "තත්පර {0}කට පෙර",
+ "future" : "තත්පර {0}කින්"
+ },
+ "day" : {
+ "past" : "දින {0}කට පෙර",
+ "current" : "අද",
+ "future" : "දින {0}න්",
+ "previous" : "ඊයේ",
+ "next" : "හෙට"
+ }
+ },
+ "short" : {
+ "month" : {
+ "previous" : "පසුගිය මාස.",
+ "current" : "මෙම මාස.",
+ "next" : "ඊළඟ මාස.",
+ "past" : "මාස {0}කට පෙර",
+ "future" : "මාස {0}කින්"
+ },
+ "now" : "දැන්",
+ "day" : {
+ "next" : "හෙට",
+ "current" : "අද",
+ "previous" : "ඊයේ",
+ "past" : "දින {0}කට පෙර",
+ "future" : "දින {0}න්"
+ },
+ "year" : {
+ "current" : "මෙම වසර",
+ "future" : "වසර {0}කින්",
+ "previous" : "පසුගිය වසර",
+ "next" : "ඊළඟ වසර",
+ "past" : "වසර {0}කට පෙර"
+ },
+ "hour" : {
+ "past" : "පැය {0}කට පෙර",
+ "current" : "මෙම පැය",
+ "future" : "පැය {0}කින්"
+ },
+ "minute" : {
+ "past" : "මිනිත්තු {0}කට පෙර",
+ "future" : "මිනිත්තු {0}කින්",
+ "current" : "මෙම මිනිත්තුව"
+ },
+ "second" : {
+ "future" : "තත්පර {0}කින්",
+ "current" : "දැන්",
+ "past" : "තත්පර {0}කට පෙර"
+ },
+ "quarter" : {
+ "future" : "කාර්. {0}කින්",
+ "previous" : "පසුගිය කාර්.",
+ "next" : "ඊළඟ කාර්.",
+ "past" : "කාර්. {0}කට පෙර",
+ "current" : "මෙම කාර්."
+ },
+ "week" : {
+ "next" : "ඊළඟ සති.",
+ "past" : "සති {0}කට පෙර",
+ "current" : "මෙම සති.",
+ "previous" : "පසුගිය සති.",
+ "future" : "සති {0}කින්"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sk.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sk.json
new file mode 100644
index 00000000..9a6b2f29
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sk.json
@@ -0,0 +1,233 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "current" : "tento štvrťr.",
+ "past" : "pred {0} štvrťr.",
+ "next" : "budúci štvrťr.",
+ "future" : "o {0} štvrťr.",
+ "previous" : "minulý štvrťr."
+ },
+ "day" : {
+ "next" : "zajtra",
+ "previous" : "včera",
+ "future" : "o {0} d.",
+ "past" : "pred {0} d.",
+ "current" : "dnes"
+ },
+ "year" : {
+ "past" : "pred {0} r.",
+ "previous" : "minulý rok",
+ "future" : "o {0} r.",
+ "next" : "budúci rok",
+ "current" : "tento rok"
+ },
+ "minute" : {
+ "past" : "pred {0} min",
+ "current" : "v tejto minúte",
+ "future" : "o {0} min"
+ },
+ "now" : "teraz",
+ "week" : {
+ "current" : "tento týž.",
+ "previous" : "minulý týž.",
+ "past" : "pred {0} týž.",
+ "next" : "budúci týž.",
+ "future" : "o {0} týž."
+ },
+ "second" : {
+ "future" : "o {0} s",
+ "current" : "teraz",
+ "past" : "pred {0} s"
+ },
+ "month" : {
+ "future" : "o {0} mes.",
+ "current" : "tento mes.",
+ "past" : "pred {0} mes.",
+ "previous" : "minulý mes.",
+ "next" : "budúci mes."
+ },
+ "hour" : {
+ "future" : "o {0} h",
+ "past" : "pred {0} h",
+ "current" : "v tejto hodine"
+ }
+ },
+ "long" : {
+ "now" : "teraz",
+ "week" : {
+ "current" : "tento týždeň",
+ "past" : {
+ "other" : "pred {0} týždňami",
+ "many" : "pred {0} týždňa",
+ "one" : "pred {0} týždňom"
+ },
+ "previous" : "minulý týždeň",
+ "future" : {
+ "many" : "o {0} týždňa",
+ "one" : "o {0} týždeň",
+ "few" : "o {0} týždne",
+ "other" : "o {0} týždňov"
+ },
+ "next" : "budúci týždeň"
+ },
+ "hour" : {
+ "past" : {
+ "many" : "pred {0} hodinou",
+ "one" : "pred {0} hodinou",
+ "other" : "pred {0} hodinami"
+ },
+ "future" : {
+ "many" : "o {0} hodiny",
+ "one" : "o {0} hodinu",
+ "few" : "o {0} hodiny",
+ "other" : "o {0} hodín"
+ },
+ "current" : "v tejto hodine"
+ },
+ "quarter" : {
+ "previous" : "minulý štvrťrok",
+ "future" : {
+ "many" : "o {0} štvrťroka",
+ "other" : "o {0} štvrťrokov",
+ "few" : "o {0} štvrťroky",
+ "one" : "o {0} štvrťrok"
+ },
+ "past" : {
+ "many" : "pred {0} štvrťroka",
+ "one" : "pred {0} štvrťrokom",
+ "other" : "pred {0} štvrťrokmi"
+ },
+ "current" : "tento štvrťrok",
+ "next" : "budúci štvrťrok"
+ },
+ "minute" : {
+ "current" : "v tejto minúte",
+ "future" : {
+ "many" : "o {0} minúty",
+ "one" : "o {0} minútu",
+ "other" : "o {0} minút",
+ "few" : "o {0} minúty"
+ },
+ "past" : {
+ "other" : "pred {0} minútami",
+ "one" : "pred {0} minútou",
+ "many" : "pred {0} minúty"
+ }
+ },
+ "year" : {
+ "past" : {
+ "many" : "pred {0} roka",
+ "other" : "pred {0} rokmi",
+ "one" : "pred {0} rokom"
+ },
+ "future" : {
+ "few" : "o {0} roky",
+ "one" : "o {0} rok",
+ "many" : "o {0} roka",
+ "other" : "o {0} rokov"
+ },
+ "current" : "tento rok",
+ "next" : "budúci rok",
+ "previous" : "minulý rok"
+ },
+ "month" : {
+ "future" : {
+ "many" : "o {0} mesiaca",
+ "one" : "o {0} mesiac",
+ "few" : "o {0} mesiace",
+ "other" : "o {0} mesiacov"
+ },
+ "current" : "tento mesiac",
+ "previous" : "minulý mesiac",
+ "next" : "budúci mesiac",
+ "past" : {
+ "many" : "pred {0} mesiaca",
+ "other" : "pred {0} mesiacmi",
+ "one" : "pred {0} mesiacom"
+ }
+ },
+ "second" : {
+ "current" : "teraz",
+ "past" : {
+ "one" : "pred {0} sekundou",
+ "many" : "pred {0} sekundy",
+ "other" : "pred {0} sekundami"
+ },
+ "future" : {
+ "many" : "o {0} sekundy",
+ "few" : "o {0} sekundy",
+ "one" : "o {0} sekundu",
+ "other" : "o {0} sekúnd"
+ }
+ },
+ "day" : {
+ "previous" : "včera",
+ "next" : "zajtra",
+ "past" : {
+ "many" : "pred {0} dňa",
+ "one" : "pred {0} dňom",
+ "other" : "pred {0} dňami"
+ },
+ "current" : "dnes",
+ "future" : {
+ "many" : "o {0} dňa",
+ "one" : "o {0} deň",
+ "other" : "o {0} dní",
+ "few" : "o {0} dni"
+ }
+ }
+ },
+ "short" : {
+ "minute" : {
+ "future" : "o {0} min",
+ "current" : "v tejto minúte",
+ "past" : "pred {0} min"
+ },
+ "week" : {
+ "future" : "o {0} týž.",
+ "previous" : "minulý týž.",
+ "next" : "budúci týž.",
+ "current" : "tento týž.",
+ "past" : "pred {0} týž."
+ },
+ "year" : {
+ "current" : "tento rok",
+ "previous" : "minulý rok",
+ "future" : "o {0} r.",
+ "past" : "pred {0} r.",
+ "next" : "budúci rok"
+ },
+ "month" : {
+ "next" : "budúci mes.",
+ "past" : "pred {0} mes.",
+ "future" : "o {0} mes.",
+ "previous" : "minulý mes.",
+ "current" : "tento mes."
+ },
+ "quarter" : {
+ "next" : "budúci štvrťr.",
+ "past" : "pred {0} štvrťr.",
+ "previous" : "minulý štvrťr.",
+ "current" : "tento štvrťr.",
+ "future" : "o {0} štvrťr."
+ },
+ "day" : {
+ "current" : "dnes",
+ "previous" : "včera",
+ "past" : "pred {0} d.",
+ "next" : "zajtra",
+ "future" : "o {0} d."
+ },
+ "hour" : {
+ "past" : "pred {0} h",
+ "current" : "v tejto hodine",
+ "future" : "o {0} h"
+ },
+ "second" : {
+ "past" : "pred {0} s",
+ "current" : "teraz",
+ "future" : "o {0} s"
+ },
+ "now" : "teraz"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sl.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sl.json
new file mode 100644
index 00000000..e124feae
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sl.json
@@ -0,0 +1,275 @@
+{
+ "long" : {
+ "day" : {
+ "next" : "jutri",
+ "past" : {
+ "other" : "pred {0} dnevi",
+ "one" : "pred {0} dnevom",
+ "two" : "pred {0} dnevoma"
+ },
+ "future" : {
+ "two" : "čez {0} dneva",
+ "one" : "čez {0} dan",
+ "other" : "čez {0} dni"
+ },
+ "previous" : "včeraj",
+ "current" : "danes"
+ },
+ "month" : {
+ "future" : {
+ "few" : "čez {0} mesece",
+ "other" : "čez {0} mesecev",
+ "two" : "čez {0} meseca",
+ "one" : "čez {0} mesec"
+ },
+ "next" : "naslednji mesec",
+ "current" : "ta mesec",
+ "past" : {
+ "other" : "pred {0} meseci",
+ "two" : "pred {0} mesecema",
+ "one" : "pred {0} mesecem"
+ },
+ "previous" : "prejšnji mesec"
+ },
+ "second" : {
+ "past" : {
+ "two" : "pred {0} sekundama",
+ "other" : "pred {0} sekundami",
+ "one" : "pred {0} sekundo"
+ },
+ "current" : "zdaj",
+ "future" : {
+ "other" : "čez {0} sekund",
+ "one" : "čez {0} sekundo",
+ "few" : "čez {0} sekunde",
+ "two" : "čez {0} sekundi"
+ }
+ },
+ "now" : "zdaj",
+ "hour" : {
+ "past" : {
+ "two" : "pred {0} urama",
+ "other" : "pred {0} urami",
+ "one" : "pred {0} uro"
+ },
+ "current" : "v tej uri",
+ "future" : {
+ "few" : "čez {0} ure",
+ "one" : "čez {0} uro",
+ "other" : "čez {0} ur",
+ "two" : "čez {0} uri"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "two" : "pred {0} minutama",
+ "one" : "pred {0} minuto",
+ "other" : "pred {0} minutami"
+ },
+ "current" : "to minuto",
+ "future" : {
+ "two" : "čez {0} minuti",
+ "one" : "čez {0} minuto",
+ "few" : "čez {0} minute",
+ "other" : "čez {0} minut"
+ }
+ },
+ "week" : {
+ "past" : {
+ "other" : "pred {0} tedni",
+ "one" : "pred {0} tednom",
+ "two" : "pred {0} tednoma"
+ },
+ "next" : "naslednji teden",
+ "previous" : "prejšnji teden",
+ "current" : "ta teden",
+ "future" : {
+ "one" : "čez {0} teden",
+ "two" : "čez {0} tedna",
+ "few" : "čez {0} tedne",
+ "other" : "čez {0} tednov"
+ }
+ },
+ "year" : {
+ "previous" : "lani",
+ "future" : {
+ "two" : "čez {0} leti",
+ "other" : "čez {0} let",
+ "one" : "čez {0} leto",
+ "few" : "čez {0} leta"
+ },
+ "past" : {
+ "one" : "pred {0} letom",
+ "other" : "pred {0} leti",
+ "two" : "pred {0} letoma"
+ },
+ "current" : "letos",
+ "next" : "naslednje leto"
+ },
+ "quarter" : {
+ "current" : "to četrtletje",
+ "previous" : "zadnje četrtletje",
+ "future" : {
+ "few" : "čez {0} četrtletja",
+ "one" : "čez {0} četrtletje",
+ "other" : "čez {0} četrtletij",
+ "two" : "čez {0} četrtletji"
+ },
+ "next" : "naslednje četrtletje",
+ "past" : {
+ "one" : "pred {0} četrtletjem",
+ "two" : "pred {0} četrtletjema",
+ "other" : "pred {0} četrtletji"
+ }
+ }
+ },
+ "narrow" : {
+ "quarter" : {
+ "next" : "naslednje četrtletje",
+ "past" : "pred {0} četr.",
+ "future" : "čez {0} četr.",
+ "previous" : "zadnje četrtletje",
+ "current" : "to četrtletje"
+ },
+ "hour" : {
+ "past" : "pred {0} h",
+ "future" : "čez {0} h",
+ "current" : "v tej uri"
+ },
+ "day" : {
+ "previous" : "včeraj",
+ "past" : {
+ "two" : "pred {0} dnevoma",
+ "other" : "pred {0} dnevi",
+ "one" : "pred {0} dnevom"
+ },
+ "future" : {
+ "one" : "čez {0} dan",
+ "two" : "čez {0} dneva",
+ "other" : "čez {0} dni"
+ },
+ "next" : "jutri",
+ "current" : "danes"
+ },
+ "year" : {
+ "current" : "letos",
+ "future" : {
+ "few" : "čez {0} leta",
+ "one" : "čez {0} leto",
+ "two" : "čez {0} leti",
+ "other" : "čez {0} let"
+ },
+ "next" : "naslednje leto",
+ "previous" : "lani",
+ "past" : {
+ "other" : "pred {0} leti",
+ "one" : "pred {0} letom",
+ "two" : "pred {0} letoma"
+ }
+ },
+ "week" : {
+ "next" : "naslednji teden",
+ "future" : "čez {0} ted.",
+ "past" : "pred {0} ted.",
+ "previous" : "prejšnji teden",
+ "current" : "ta teden"
+ },
+ "minute" : {
+ "current" : "to minuto",
+ "past" : "pred {0} min",
+ "future" : "čez {0} min"
+ },
+ "month" : {
+ "next" : "naslednji mesec",
+ "current" : "ta mesec",
+ "previous" : "prejšnji mesec",
+ "past" : "pred {0} mes.",
+ "future" : "čez {0} mes."
+ },
+ "second" : {
+ "current" : "zdaj",
+ "future" : "čez {0} s",
+ "past" : "pred {0} s"
+ },
+ "now" : "zdaj"
+ },
+ "short" : {
+ "week" : {
+ "previous" : "prejšnji teden",
+ "current" : "ta teden",
+ "next" : "naslednji teden",
+ "past" : "pred {0} ted.",
+ "future" : "čez {0} ted."
+ },
+ "minute" : {
+ "past" : "pred {0} min.",
+ "current" : "to minuto",
+ "future" : "čez {0} min."
+ },
+ "day" : {
+ "past" : {
+ "one" : "pred {0} dnevom",
+ "two" : "pred {0} dnevoma",
+ "other" : "pred {0} dnevi"
+ },
+ "next" : "jutri",
+ "previous" : "včeraj",
+ "current" : "danes",
+ "future" : {
+ "other" : "čez {0} dni",
+ "one" : "čez {0} dan",
+ "two" : "čez {0} dneva"
+ }
+ },
+ "now" : "zdaj",
+ "second" : {
+ "past" : "pred {0} s",
+ "current" : "zdaj",
+ "future" : "čez {0} s"
+ },
+ "hour" : {
+ "current" : "v tej uri",
+ "past" : {
+ "other" : "pred {0} urami",
+ "two" : "pred {0} urama",
+ "one" : "pred {0} uro"
+ },
+ "future" : {
+ "two" : "čez {0} uri",
+ "other" : "čez {0} ur",
+ "few" : "čez {0} ure",
+ "one" : "čez {0} uro"
+ }
+ },
+ "month" : {
+ "future" : "čez {0} mes.",
+ "next" : "naslednji mesec",
+ "current" : "ta mesec",
+ "past" : "pred {0} mes.",
+ "previous" : "prejšnji mesec"
+ },
+ "year" : {
+ "previous" : "lani",
+ "current" : "letos",
+ "past" : {
+ "one" : "pred {0} letom",
+ "two" : "pred {0} letoma",
+ "other" : "pred {0} leti"
+ },
+ "next" : "naslednje leto",
+ "future" : {
+ "few" : "čez {0} leta",
+ "two" : "čez {0} leti",
+ "other" : "čez {0} let",
+ "one" : "čez {0} leto"
+ }
+ },
+ "quarter" : {
+ "past" : "pred {0} četrtl.",
+ "future" : "čez {0} četrtl.",
+ "next" : "naslednje četrtletje",
+ "previous" : "zadnje četrtletje",
+ "current" : "to četrtletje"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sq.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sq.json
new file mode 100644
index 00000000..10274dab
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sq.json
@@ -0,0 +1,245 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "current" : "këtë tremujor",
+ "previous" : "tremujorin e kaluar",
+ "past" : {
+ "other" : "{0} tremujorë më parë",
+ "one" : "{0} tremujor më parë"
+ },
+ "future" : {
+ "one" : "pas {0} tremujori",
+ "other" : "pas {0} tremujorësh"
+ },
+ "next" : "tremujorin e ardhshëm"
+ },
+ "now" : "tani",
+ "minute" : {
+ "past" : "{0} min. më parë",
+ "future" : "pas {0} min.",
+ "current" : "këtë minutë"
+ },
+ "month" : {
+ "future" : {
+ "other" : "pas {0} muajsh",
+ "one" : "pas {0} muaji"
+ },
+ "previous" : "muajin e kaluar",
+ "next" : "muajin e ardhshëm",
+ "current" : "këtë muaj",
+ "past" : "{0} muaj më parë"
+ },
+ "second" : {
+ "future" : "pas {0} sek.",
+ "current" : "tani",
+ "past" : "{0} sek. më parë"
+ },
+ "week" : {
+ "past" : "{0} javë më parë",
+ "future" : {
+ "one" : "pas {0} jave",
+ "other" : "pas {0} javësh"
+ },
+ "previous" : "javën e kaluar",
+ "current" : "këtë javë",
+ "next" : "javën e ardhshme"
+ },
+ "hour" : {
+ "past" : "{0} orë më parë",
+ "future" : {
+ "one" : "pas {0} ore",
+ "other" : "pas {0} orësh"
+ },
+ "current" : "këtë orë"
+ },
+ "day" : {
+ "previous" : "dje",
+ "past" : "{0} ditë më parë",
+ "current" : "sot",
+ "future" : {
+ "other" : "pas {0} ditësh",
+ "one" : "pas {0} dite"
+ },
+ "next" : "nesër"
+ },
+ "year" : {
+ "next" : "vitin e ardhshëm",
+ "past" : {
+ "other" : "{0} vjet më parë",
+ "one" : "{0} vit më parë"
+ },
+ "previous" : "vitin e kaluar",
+ "current" : "këtë vit",
+ "future" : {
+ "one" : "pas {0} viti",
+ "other" : "pas {0} vjetësh"
+ }
+ }
+ },
+ "long" : {
+ "day" : {
+ "current" : "sot",
+ "past" : "{0} ditë më parë",
+ "previous" : "dje",
+ "next" : "nesër",
+ "future" : {
+ "one" : "pas {0} dite",
+ "other" : "pas {0} ditësh"
+ }
+ },
+ "now" : "tani",
+ "quarter" : {
+ "current" : "këtë tremujor",
+ "past" : {
+ "one" : "{0} tremujor më parë",
+ "other" : "{0} tremujorë më parë"
+ },
+ "future" : {
+ "one" : "pas {0} tremujori",
+ "other" : "pas {0} tremujorësh"
+ },
+ "next" : "tremujorin e ardhshëm",
+ "previous" : "tremujorin e kaluar"
+ },
+ "year" : {
+ "current" : "këtë vit",
+ "past" : {
+ "other" : "{0} vjet më parë",
+ "one" : "{0} vit më parë"
+ },
+ "previous" : "vitin e kaluar",
+ "future" : {
+ "other" : "pas {0} vjetësh",
+ "one" : "pas {0} viti"
+ },
+ "next" : "vitin e ardhshëm"
+ },
+ "week" : {
+ "current" : "këtë javë",
+ "next" : "javën e ardhshme",
+ "past" : "{0} javë më parë",
+ "future" : {
+ "other" : "pas {0} javësh",
+ "one" : "pas {0} jave"
+ },
+ "previous" : "javën e kaluar"
+ },
+ "hour" : {
+ "past" : "{0} orë më parë",
+ "future" : {
+ "one" : "pas {0} ore",
+ "other" : "pas {0} orësh"
+ },
+ "current" : "këtë orë"
+ },
+ "second" : {
+ "future" : {
+ "one" : "pas {0} sekonde",
+ "other" : "pas {0} sekondash"
+ },
+ "current" : "tani",
+ "past" : {
+ "one" : "{0} sekondë më parë",
+ "other" : "{0} sekonda më parë"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "other" : "{0} minuta më parë",
+ "one" : "{0} minutë më parë"
+ },
+ "current" : "këtë minutë",
+ "future" : {
+ "one" : "pas {0} minute",
+ "other" : "pas {0} minutash"
+ }
+ },
+ "month" : {
+ "past" : "{0} muaj më parë",
+ "next" : "muajin e ardhshëm",
+ "future" : {
+ "one" : "pas {0} muaji",
+ "other" : "pas {0} muajsh"
+ },
+ "current" : "këtë muaj",
+ "previous" : "muajin e kaluar"
+ }
+ },
+ "short" : {
+ "week" : {
+ "previous" : "javën e kaluar",
+ "next" : "javën e ardhshme",
+ "future" : {
+ "other" : "pas {0} javësh",
+ "one" : "pas {0} jave"
+ },
+ "current" : "këtë javë",
+ "past" : "{0} javë më parë"
+ },
+ "day" : {
+ "current" : "sot",
+ "previous" : "dje",
+ "next" : "nesër",
+ "past" : "{0} ditë më parë",
+ "future" : {
+ "other" : "pas {0} ditësh",
+ "one" : "pas {0} dite"
+ }
+ },
+ "second" : {
+ "future" : "pas {0} sek.",
+ "past" : "{0} sek. më parë",
+ "current" : "tani"
+ },
+ "year" : {
+ "previous" : "vitin e kaluar",
+ "next" : "vitin e ardhshëm",
+ "current" : "këtë vit",
+ "future" : {
+ "one" : "pas {0} viti",
+ "other" : "pas {0} vjetësh"
+ },
+ "past" : {
+ "other" : "{0} vjet më parë",
+ "one" : "{0} vit më parë"
+ }
+ },
+ "hour" : {
+ "current" : "këtë orë",
+ "past" : "{0} orë më parë",
+ "future" : {
+ "one" : "pas {0} ore",
+ "other" : "pas {0} orësh"
+ }
+ },
+ "now" : "tani",
+ "quarter" : {
+ "future" : {
+ "other" : "pas {0} tremujorësh",
+ "one" : "pas {0} tremujori"
+ },
+ "previous" : "tremujorin e kaluar",
+ "current" : "këtë tremujor",
+ "next" : "tremujorin e ardhshëm",
+ "past" : {
+ "one" : "{0} tremujor më parë",
+ "other" : "{0} tremujorë më parë"
+ }
+ },
+ "minute" : {
+ "current" : "këtë minutë",
+ "past" : "{0} min. më parë",
+ "future" : "pas {0} min."
+ },
+ "month" : {
+ "previous" : "muajin e kaluar",
+ "current" : "këtë muaj",
+ "next" : "muajin e ardhshëm",
+ "past" : "{0} muaj më parë",
+ "future" : {
+ "one" : "pas {0} muaji",
+ "other" : "pas {0} muajsh"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sr_Latn.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sr_Latn.json
new file mode 100644
index 00000000..6ea807c8
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sr_Latn.json
@@ -0,0 +1,210 @@
+{
+ "narrow" : {
+ "year" : {
+ "future" : "za {0} g.",
+ "previous" : "prošle g.",
+ "next" : "sledeće g.",
+ "current" : "ove g.",
+ "past" : "pre {0} g."
+ },
+ "week" : {
+ "past" : "pre {0} n.",
+ "previous" : "prošle n.",
+ "future" : "za {0} n.",
+ "current" : "ove n.",
+ "next" : "sledeće n."
+ },
+ "hour" : {
+ "future" : "za {0} č.",
+ "current" : "ovog sata",
+ "past" : "pre {0} č."
+ },
+ "quarter" : {
+ "current" : "ovog kvartala",
+ "previous" : "prošlog kvartala",
+ "future" : "za {0} kv.",
+ "past" : "pre {0} kv.",
+ "next" : "sledećeg kvartala"
+ },
+ "second" : {
+ "past" : "pre {0} s.",
+ "future" : "za {0} s.",
+ "current" : "sada"
+ },
+ "month" : {
+ "current" : "ovog m.",
+ "future" : "za {0} m.",
+ "past" : "pre {0} m.",
+ "next" : "sledećeg m.",
+ "previous" : "prošlog m."
+ },
+ "day" : {
+ "previous" : "juče",
+ "future" : "za {0} d.",
+ "next" : "sutra",
+ "current" : "danas",
+ "past" : "pre {0} d."
+ },
+ "minute" : {
+ "future" : "za {0} min.",
+ "current" : "ovog minuta",
+ "past" : "pre {0} min."
+ },
+ "now" : "sada"
+ },
+ "long" : {
+ "now" : "sada",
+ "week" : {
+ "previous" : "prošle nedelje",
+ "current" : "ove nedelje",
+ "future" : {
+ "one" : "za {0} nedelju",
+ "few" : "za {0} nedelje",
+ "other" : "za {0} nedelja"
+ },
+ "next" : "sledeće nedelje",
+ "past" : {
+ "other" : "pre {0} nedelja",
+ "few" : "pre {0} nedelje",
+ "one" : "pre {0} nedelje"
+ }
+ },
+ "quarter" : {
+ "current" : "ovog kvartala",
+ "previous" : "prošlog kvartala",
+ "past" : "pre {0} kvartala",
+ "next" : "sledećeg kvartala",
+ "future" : {
+ "other" : "za {0} kvartala",
+ "one" : "za {0} kvartal"
+ }
+ },
+ "month" : {
+ "current" : "ovog meseca",
+ "future" : {
+ "one" : "za {0} mesec",
+ "few" : "za {0} meseca",
+ "other" : "za {0} meseci"
+ },
+ "past" : {
+ "one" : "pre {0} meseca",
+ "other" : "pre {0} meseci",
+ "few" : "pre {0} meseca"
+ },
+ "previous" : "prošlog meseca",
+ "next" : "sledećeg meseca"
+ },
+ "day" : {
+ "future" : {
+ "other" : "za {0} dana",
+ "one" : "za {0} dan"
+ },
+ "previous" : "juče",
+ "current" : "danas",
+ "next" : "sutra",
+ "past" : "pre {0} dana"
+ },
+ "hour" : {
+ "future" : {
+ "one" : "za {0} sat",
+ "few" : "za {0} sata",
+ "other" : "za {0} sati"
+ },
+ "current" : "ovog sata",
+ "past" : {
+ "one" : "pre {0} sata",
+ "few" : "pre {0} sata",
+ "other" : "pre {0} sati"
+ }
+ },
+ "minute" : {
+ "past" : "pre {0} minuta",
+ "current" : "ovog minuta",
+ "future" : {
+ "one" : "za {0} minut",
+ "other" : "za {0} minuta"
+ }
+ },
+ "second" : {
+ "current" : "sada",
+ "past" : {
+ "few" : "pre {0} sekunde",
+ "other" : "pre {0} sekundi",
+ "one" : "pre {0} sekunde"
+ },
+ "future" : {
+ "other" : "za {0} sekundi",
+ "one" : "za {0} sekundu",
+ "few" : "za {0} sekunde"
+ }
+ },
+ "year" : {
+ "future" : {
+ "few" : "za {0} godine",
+ "one" : "za {0} godinu",
+ "other" : "za {0} godina"
+ },
+ "previous" : "prošle godine",
+ "next" : "sledeće godine",
+ "past" : {
+ "one" : "pre {0} godine",
+ "few" : "pre {0} godine",
+ "other" : "pre {0} godina"
+ },
+ "current" : "ove godine"
+ }
+ },
+ "short" : {
+ "second" : {
+ "current" : "sada",
+ "past" : "pre {0} sek.",
+ "future" : "za {0} sek."
+ },
+ "now" : "sada",
+ "month" : {
+ "future" : "za {0} mes.",
+ "current" : "ovog mes.",
+ "past" : "pre {0} mes.",
+ "previous" : "prošlog mes.",
+ "next" : "sledećeg mes."
+ },
+ "day" : {
+ "previous" : "juče",
+ "current" : "danas",
+ "next" : "sutra",
+ "future" : "za {0} d.",
+ "past" : "pre {0} d."
+ },
+ "minute" : {
+ "current" : "ovog minuta",
+ "future" : "za {0} min.",
+ "past" : "pre {0} min."
+ },
+ "quarter" : {
+ "past" : "pre {0} kv.",
+ "previous" : "prošlog kvartala",
+ "current" : "ovog kvartala",
+ "future" : "za {0} kv.",
+ "next" : "sledećeg kvartala"
+ },
+ "hour" : {
+ "current" : "ovog sata",
+ "future" : "za {0} č.",
+ "past" : "pre {0} č."
+ },
+ "week" : {
+ "future" : "za {0} ned.",
+ "previous" : "prošle ned.",
+ "next" : "sledeće ned.",
+ "past" : "pre {0} ned.",
+ "current" : "ove ned."
+ },
+ "year" : {
+ "next" : "sledeće god.",
+ "current" : "ove god.",
+ "past" : "pre {0} god.",
+ "future" : "za {0} god.",
+ "previous" : "prošle god."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sv.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sv.json
new file mode 100644
index 00000000..df70bb34
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sv.json
@@ -0,0 +1,203 @@
+{
+ "short" : {
+ "now" : "nu",
+ "minute" : {
+ "past" : "för {0} min sen",
+ "current" : "denna minut",
+ "future" : "om {0} min"
+ },
+ "year" : {
+ "current" : "i år",
+ "future" : "om {0} år",
+ "previous" : "i fjol",
+ "next" : "nästa år",
+ "past" : "för {0} år sen"
+ },
+ "second" : {
+ "past" : "för {0} s sen",
+ "future" : {
+ "one" : "om {0} sek",
+ "other" : "om {0} sek"
+ },
+ "current" : "nu"
+ },
+ "hour" : {
+ "past" : "för {0} tim sedan",
+ "future" : "om {0} tim",
+ "current" : "denna timme"
+ },
+ "month" : {
+ "current" : "denna mån.",
+ "next" : "nästa mån.",
+ "past" : "för {0} mån. sen",
+ "future" : "om {0} mån.",
+ "previous" : "förra mån."
+ },
+ "quarter" : {
+ "future" : "om {0} kv.",
+ "previous" : "förra kv.",
+ "next" : "nästa kv.",
+ "past" : "för {0} kv. sen",
+ "current" : "detta kv."
+ },
+ "week" : {
+ "next" : "nästa v.",
+ "past" : "för {0} v. sedan",
+ "current" : "denna v.",
+ "previous" : "förra v.",
+ "future" : "om {0} v."
+ },
+ "day" : {
+ "next" : "i morgon",
+ "current" : "i dag",
+ "previous" : "i går",
+ "past" : {
+ "one" : "för {0} d sedan",
+ "other" : "för {0} d sedan"
+ },
+ "future" : "om {0} d"
+ }
+ },
+ "long" : {
+ "minute" : {
+ "current" : "denna minut",
+ "past" : {
+ "one" : "för {0} minut sedan",
+ "other" : "för {0} minuter sedan"
+ },
+ "future" : {
+ "other" : "om {0} minuter",
+ "one" : "om {0} minut"
+ }
+ },
+ "quarter" : {
+ "current" : "detta kvartal",
+ "past" : "för {0} kvartal sedan",
+ "next" : "nästa kvartal",
+ "future" : "om {0} kvartal",
+ "previous" : "förra kvartalet"
+ },
+ "week" : {
+ "future" : {
+ "other" : "om {0} veckor",
+ "one" : "om {0} vecka"
+ },
+ "previous" : "förra veckan",
+ "current" : "denna vecka",
+ "next" : "nästa vecka",
+ "past" : {
+ "one" : "för {0} vecka sedan",
+ "other" : "för {0} veckor sedan"
+ }
+ },
+ "second" : {
+ "current" : "nu",
+ "future" : {
+ "one" : "om {0} sekund",
+ "other" : "om {0} sekunder"
+ },
+ "past" : {
+ "one" : "för {0} sekund sedan",
+ "other" : "för {0} sekunder sedan"
+ }
+ },
+ "hour" : {
+ "current" : "denna timme",
+ "past" : {
+ "other" : "för {0} timmar sedan",
+ "one" : "för {0} timme sedan"
+ },
+ "future" : {
+ "other" : "om {0} timmar",
+ "one" : "om {0} timme"
+ }
+ },
+ "now" : "nu",
+ "year" : {
+ "past" : "för {0} år sedan",
+ "previous" : "i fjol",
+ "current" : "i år",
+ "next" : "nästa år",
+ "future" : "om {0} år"
+ },
+ "day" : {
+ "current" : "i dag",
+ "previous" : "i går",
+ "next" : "i morgon",
+ "past" : {
+ "other" : "för {0} dagar sedan",
+ "one" : "för {0} dag sedan"
+ },
+ "future" : {
+ "other" : "om {0} dagar",
+ "one" : "om {0} dag"
+ }
+ },
+ "month" : {
+ "next" : "nästa månad",
+ "past" : {
+ "other" : "för {0} månader sedan",
+ "one" : "för {0} månad sedan"
+ },
+ "future" : {
+ "other" : "om {0} månader",
+ "one" : "om {0} månad"
+ },
+ "current" : "denna månad",
+ "previous" : "förra månaden"
+ }
+ },
+ "narrow" : {
+ "month" : {
+ "next" : "nästa mån.",
+ "past" : "−{0} mån",
+ "current" : "denna mån.",
+ "future" : "+{0} mån.",
+ "previous" : "förra mån."
+ },
+ "day" : {
+ "current" : "idag",
+ "past" : "−{0} d",
+ "future" : "+{0} d",
+ "previous" : "igår",
+ "next" : "imorgon"
+ },
+ "second" : {
+ "past" : "−{0} s",
+ "future" : "+{0} s",
+ "current" : "nu"
+ },
+ "quarter" : {
+ "current" : "detta kv.",
+ "previous" : "förra kv.",
+ "past" : "−{0} kv",
+ "next" : "nästa kv.",
+ "future" : "+{0} kv."
+ },
+ "year" : {
+ "previous" : "i fjol",
+ "current" : "i år",
+ "past" : "−{0} år",
+ "future" : "+{0} år",
+ "next" : "nästa år"
+ },
+ "now" : "nu",
+ "minute" : {
+ "current" : "denna minut",
+ "past" : "−{0} min",
+ "future" : "+{0} min"
+ },
+ "week" : {
+ "past" : "−{0} v",
+ "future" : "+{0} v.",
+ "next" : "nästa v.",
+ "current" : "denna v.",
+ "previous" : "förra v."
+ },
+ "hour" : {
+ "past" : "−{0} h",
+ "future" : "+{0} h",
+ "current" : "denna timme"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sw.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sw.json
new file mode 100644
index 00000000..9049f863
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/sw.json
@@ -0,0 +1,251 @@
+{
+ "narrow" : {
+ "year" : {
+ "next" : "mwaka ujao",
+ "past" : {
+ "one" : "mwaka {0} uliopita",
+ "other" : "miaka {0} iliyopita"
+ },
+ "future" : {
+ "one" : "baada ya mwaka {0}",
+ "other" : "baada ya miaka {0}"
+ },
+ "previous" : "mwaka uliopita",
+ "current" : "mwaka huu"
+ },
+ "quarter" : {
+ "past" : {
+ "one" : "robo {0} iliyopita",
+ "other" : "robo {0} zilizopita"
+ },
+ "previous" : "robo ya mwaka iliyopita",
+ "current" : "robo hii ya mwaka",
+ "next" : "robo ya mwaka inayofuata",
+ "future" : "baada ya robo {0}"
+ },
+ "hour" : {
+ "past" : {
+ "other" : "Saa {0} zilizopita",
+ "one" : "Saa {0} iliyopita"
+ },
+ "future" : "baada ya saa {0}",
+ "current" : "saa hii"
+ },
+ "second" : {
+ "past" : {
+ "one" : "sekunde {0} iliyopita",
+ "other" : "sekunde {0} zilizopita"
+ },
+ "current" : "sasa hivi",
+ "future" : "baada ya sekunde {0}"
+ },
+ "week" : {
+ "previous" : "wiki iliyopita",
+ "past" : {
+ "other" : "wiki {0} zilizopita",
+ "one" : "wiki {0} iliyopita"
+ },
+ "next" : "wiki ijayo",
+ "future" : "baada ya wiki {0}",
+ "current" : "wiki hii"
+ },
+ "month" : {
+ "past" : {
+ "one" : "mwezi {0} uliopita",
+ "other" : "miezi {0} iliyopita"
+ },
+ "current" : "mwezi huu",
+ "future" : {
+ "one" : "baada ya mwezi {0}",
+ "other" : "baada ya miezi {0}"
+ },
+ "next" : "mwezi ujao",
+ "previous" : "mwezi uliopita"
+ },
+ "day" : {
+ "future" : "baada ya siku {0}",
+ "current" : "leo",
+ "past" : {
+ "one" : "siku {0} iliyopita",
+ "other" : "siku {0} zilizopita"
+ },
+ "previous" : "jana",
+ "next" : "kesho"
+ },
+ "minute" : {
+ "current" : "dakika hii",
+ "past" : {
+ "other" : "dakika {0} zilizopita",
+ "one" : "dakika {0} iliyopita"
+ },
+ "future" : "baada ya dakika {0}"
+ },
+ "now" : "sasa hivi"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "baada ya saa {0}",
+ "current" : "saa hii",
+ "past" : {
+ "one" : "saa {0} iliyopita",
+ "other" : "saa {0} zilizopita"
+ }
+ },
+ "week" : {
+ "previous" : "wiki iliyopita",
+ "past" : {
+ "other" : "wiki {0} zilizopita",
+ "one" : "wiki {0} iliyopita"
+ },
+ "current" : "wiki hii",
+ "next" : "wiki ijayo",
+ "future" : "baada ya wiki {0}"
+ },
+ "month" : {
+ "previous" : "mwezi uliopita",
+ "future" : {
+ "one" : "baada ya mwezi {0}",
+ "other" : "baada ya miezi {0}"
+ },
+ "next" : "mwezi ujao",
+ "current" : "mwezi huu",
+ "past" : {
+ "one" : "mwezi {0} uliopita",
+ "other" : "miezi {0} iliyopita"
+ }
+ },
+ "day" : {
+ "previous" : "jana",
+ "current" : "leo",
+ "next" : "kesho",
+ "past" : {
+ "one" : "siku {0} iliyopita",
+ "other" : "siku {0} zilizopita"
+ },
+ "future" : "baada ya siku {0}"
+ },
+ "second" : {
+ "future" : "baada ya sekunde {0}",
+ "current" : "sasa hivi",
+ "past" : {
+ "one" : "Sekunde {0} iliyopita",
+ "other" : "Sekunde {0} zilizopita"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "dakika {0} iliyopita",
+ "other" : "dakika {0} zilizopita"
+ },
+ "future" : "baada ya dakika {0}",
+ "current" : "dakika hii"
+ },
+ "year" : {
+ "current" : "mwaka huu",
+ "past" : {
+ "one" : "mwaka {0} uliopita",
+ "other" : "miaka {0} iliyopita"
+ },
+ "future" : {
+ "other" : "baada ya miaka {0}",
+ "one" : "baada ya mwaka {0}"
+ },
+ "next" : "mwaka ujao",
+ "previous" : "mwaka uliopita"
+ },
+ "now" : "sasa hivi",
+ "quarter" : {
+ "past" : {
+ "other" : "robo {0} zilizopita",
+ "one" : "robo {0} iliyopita"
+ },
+ "future" : "baada ya robo {0}",
+ "current" : "robo hii ya mwaka",
+ "next" : "robo ya mwaka inayofuata",
+ "previous" : "robo ya mwaka iliyopita"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "current" : "saa hii",
+ "past" : {
+ "other" : "saa {0} zilizopita",
+ "one" : "saa {0} iliyopita"
+ },
+ "future" : "baada ya saa {0}"
+ },
+ "second" : {
+ "future" : "baada ya sekunde {0}",
+ "past" : {
+ "other" : "sekunde {0} zilizopita",
+ "one" : "sekunde {0} iliyopita"
+ },
+ "current" : "sasa hivi"
+ },
+ "now" : "sasa hivi",
+ "year" : {
+ "past" : {
+ "one" : "mwaka {0} uliopita",
+ "other" : "miaka {0} iliyopita"
+ },
+ "future" : {
+ "other" : "baada ya miaka {0}",
+ "one" : "baada ya mwaka {0}"
+ },
+ "previous" : "mwaka uliopita",
+ "current" : "mwaka huu",
+ "next" : "mwaka ujao"
+ },
+ "quarter" : {
+ "previous" : "robo ya mwaka iliyopita",
+ "future" : "baada ya robo {0}",
+ "next" : "robo ya mwaka inayofuata",
+ "past" : {
+ "one" : "robo {0} iliyopita",
+ "other" : "robo {0} zilizopita"
+ },
+ "current" : "robo hii ya mwaka"
+ },
+ "week" : {
+ "previous" : "wiki iliyopita",
+ "current" : "wiki hii",
+ "next" : "wiki ijayo",
+ "past" : {
+ "one" : "wiki {0} iliyopita",
+ "other" : "wiki {0} zilizopita"
+ },
+ "future" : "baada ya wiki {0}"
+ },
+ "day" : {
+ "next" : "kesho",
+ "past" : {
+ "other" : "siku {0} zilizopita",
+ "one" : "siku {0} iliyopita"
+ },
+ "previous" : "jana",
+ "future" : "baada ya siku {0}",
+ "current" : "leo"
+ },
+ "minute" : {
+ "past" : {
+ "one" : "dakika {0} iliyopita",
+ "other" : "dakika {0} zilizopita"
+ },
+ "future" : "baada ya dakika {0}",
+ "current" : "dakika hii"
+ },
+ "month" : {
+ "next" : "mwezi ujao",
+ "past" : {
+ "one" : "mwezi {0} uliopita",
+ "other" : "miezi {0} iliyopita"
+ },
+ "future" : {
+ "one" : "baada ya mwezi {0}",
+ "other" : "baada ya miezi {0}"
+ },
+ "previous" : "mwezi uliopita",
+ "current" : "mwezi huu"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ta.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ta.json
new file mode 100644
index 00000000..9122e7da
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ta.json
@@ -0,0 +1,215 @@
+{
+ "narrow" : {
+ "second" : {
+ "future" : "{0} வி.",
+ "past" : "{0} வி. முன்",
+ "current" : "இப்போது"
+ },
+ "year" : {
+ "next" : "அடுத்த ஆண்டு",
+ "past" : "{0} ஆ. முன்",
+ "future" : "{0} ஆ.",
+ "previous" : "கடந்த ஆண்டு",
+ "current" : "இந்த ஆண்டு"
+ },
+ "month" : {
+ "past" : "{0} மா. முன்",
+ "next" : "அடுத்த மாதம்",
+ "future" : "{0} மா.",
+ "previous" : "கடந்த மாதம்",
+ "current" : "இந்த மாதம்"
+ },
+ "minute" : {
+ "past" : "{0} நி. முன்",
+ "current" : "இந்த ஒரு நிமிடத்தில்",
+ "future" : "{0} நி."
+ },
+ "quarter" : {
+ "previous" : "இறுதி காலாண்டு",
+ "current" : "இந்த காலாண்டு",
+ "next" : "அடுத்த காலாண்டு",
+ "past" : "{0} கா. முன்",
+ "future" : "{0} கா."
+ },
+ "hour" : {
+ "future" : "{0} ம.",
+ "past" : "{0} ம. முன்",
+ "current" : "இந்த ஒரு மணிநேரத்தில்"
+ },
+ "now" : "இப்போது",
+ "week" : {
+ "next" : "அடுத்த வாரம்",
+ "previous" : "கடந்த வாரம்",
+ "past" : "{0} வா. முன்",
+ "future" : "{0} வா.",
+ "current" : "இந்த வாரம்"
+ },
+ "day" : {
+ "previous" : "நேற்று",
+ "future" : "{0} நா.",
+ "past" : "{0} நா. முன்",
+ "current" : "இன்று",
+ "next" : "நாளை"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "நேற்று",
+ "past" : {
+ "other" : "{0} நாட்களுக்கு முன்",
+ "one" : "{0} நாளுக்கு முன்"
+ },
+ "future" : {
+ "other" : "{0} நாட்களில்",
+ "one" : "{0} நாளில்"
+ },
+ "next" : "நாளை",
+ "current" : "இன்று"
+ },
+ "hour" : {
+ "future" : "{0} மணிநேரத்தில்",
+ "current" : "இந்த ஒரு மணிநேரத்தில்",
+ "past" : "{0} மணிநேரம் முன்"
+ },
+ "month" : {
+ "next" : "அடுத்த மாதம்",
+ "current" : "இந்த மாதம்",
+ "past" : {
+ "one" : "{0} மாதத்துக்கு முன்",
+ "other" : "{0} மாதங்களுக்கு முன்"
+ },
+ "previous" : "கடந்த மாதம்",
+ "future" : {
+ "one" : "{0} மாதத்தில்",
+ "other" : "{0} மாதங்களில்"
+ }
+ },
+ "quarter" : {
+ "next" : "அடுத்த காலாண்டு",
+ "past" : {
+ "one" : "{0} காலாண்டுக்கு முன்",
+ "other" : "{0} காலாண்டுகளுக்கு முன்"
+ },
+ "previous" : "கடந்த காலாண்டு",
+ "current" : "இந்த காலாண்டு",
+ "future" : {
+ "one" : "+{0} காலாண்டில்",
+ "other" : "{0} காலாண்டுகளில்"
+ }
+ },
+ "year" : {
+ "next" : "அடுத்த ஆண்டு",
+ "current" : "இந்த ஆண்டு",
+ "future" : {
+ "other" : "{0} ஆண்டுகளில்",
+ "one" : "{0} ஆண்டில்"
+ },
+ "previous" : "கடந்த ஆண்டு",
+ "past" : {
+ "other" : "{0} ஆண்டுகளுக்கு முன்",
+ "one" : "{0} ஆண்டிற்கு முன்"
+ }
+ },
+ "minute" : {
+ "current" : "இந்த ஒரு நிமிடத்தில்",
+ "future" : {
+ "one" : "{0} நிமிடத்தில்",
+ "other" : "{0} நிமிடங்களில்"
+ },
+ "past" : {
+ "other" : "{0} நிமிடங்களுக்கு முன்",
+ "one" : "{0} நிமிடத்திற்கு முன்"
+ }
+ },
+ "second" : {
+ "future" : {
+ "one" : "{0} விநாடியில்",
+ "other" : "{0} விநாடிகளில்"
+ },
+ "past" : {
+ "one" : "{0} விநாடிக்கு முன்",
+ "other" : "{0} விநாடிகளுக்கு முன்"
+ },
+ "current" : "இப்போது"
+ },
+ "week" : {
+ "future" : {
+ "one" : "{0} வாரத்தில்",
+ "other" : "{0} வாரங்களில்"
+ },
+ "previous" : "கடந்த வாரம்",
+ "current" : "இந்த வாரம்",
+ "next" : "அடுத்த வாரம்",
+ "past" : {
+ "other" : "{0} வாரங்களுக்கு முன்",
+ "one" : "{0} வாரத்திற்கு முன்"
+ }
+ },
+ "now" : "இப்போது"
+ },
+ "short" : {
+ "minute" : {
+ "future" : "{0} நிமி.",
+ "current" : "இந்த ஒரு நிமிடத்தில்",
+ "past" : "{0} நிமி. முன்"
+ },
+ "month" : {
+ "current" : "இந்த மாதம்",
+ "past" : "{0} மாத. முன்",
+ "future" : "{0} மாத.",
+ "next" : "அடுத்த மாதம்",
+ "previous" : "கடந்த மாதம்"
+ },
+ "week" : {
+ "current" : "இந்த வாரம்",
+ "past" : "{0} வார. முன்",
+ "future" : "{0} வார.",
+ "next" : "அடுத்த வாரம்",
+ "previous" : "கடந்த வாரம்"
+ },
+ "hour" : {
+ "future" : "{0} மணி.",
+ "current" : "இந்த ஒரு மணிநேரத்தில்",
+ "past" : "{0} மணி. முன்"
+ },
+ "day" : {
+ "next" : "நாளை",
+ "current" : "இன்று",
+ "previous" : "நேற்று",
+ "past" : {
+ "one" : "{0} நாளுக்கு முன்",
+ "other" : "{0} நாட்களுக்கு முன்"
+ },
+ "future" : {
+ "one" : "{0} நாளில்",
+ "other" : "{0} நாட்களில்"
+ }
+ },
+ "second" : {
+ "future" : "{0} விநா.",
+ "current" : "இப்போது",
+ "past" : "{0} விநா. முன்"
+ },
+ "now" : "இப்போது",
+ "year" : {
+ "future" : {
+ "one" : "{0} ஆண்டில்",
+ "other" : "{0} ஆண்டுகளில்"
+ },
+ "previous" : "கடந்த ஆண்டு",
+ "next" : "அடுத்த ஆண்டு",
+ "current" : "இந்த ஆண்டு",
+ "past" : {
+ "other" : "{0} ஆண்டுகளுக்கு முன்",
+ "one" : "{0} ஆண்டிற்கு முன்"
+ }
+ },
+ "quarter" : {
+ "current" : "இந்த காலாண்டு",
+ "future" : "{0} காலா.",
+ "previous" : "இறுதி காலாண்டு",
+ "next" : "அடுத்த காலாண்டு",
+ "past" : "{0} காலா. முன்"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/te.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/te.json
new file mode 100644
index 00000000..159c1908
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/te.json
@@ -0,0 +1,263 @@
+{
+ "narrow" : {
+ "now" : "ప్రస్తుతం",
+ "hour" : {
+ "past" : "{0} గం. క్రితం",
+ "future" : "{0} గం.లో",
+ "current" : "ఈ గంట"
+ },
+ "year" : {
+ "future" : {
+ "one" : "{0} సం.లో",
+ "other" : "{0} సం.ల్లో"
+ },
+ "current" : "ఈ సంవత్సరం",
+ "past" : "{0} సం. క్రితం",
+ "previous" : "గత సంవత్సరం",
+ "next" : "తదుపరి సంవత్సరం"
+ },
+ "month" : {
+ "past" : {
+ "other" : "{0} నెలల క్రితం",
+ "one" : "{0} నెల క్రితం"
+ },
+ "future" : {
+ "other" : "{0} నెలల్లో",
+ "one" : "{0} నెలలో"
+ },
+ "previous" : "గత నెల",
+ "current" : "ఈ నెల",
+ "next" : "తదుపరి నెల"
+ },
+ "day" : {
+ "current" : "ఈ రోజు",
+ "future" : {
+ "other" : "{0} రోజుల్లో",
+ "one" : "{0} రోజులో"
+ },
+ "previous" : "నిన్న",
+ "next" : "రేపు",
+ "past" : {
+ "other" : "{0} రోజుల క్రితం",
+ "one" : "{0} రోజు క్రితం"
+ }
+ },
+ "second" : {
+ "past" : "{0} సెక. క్రితం",
+ "future" : {
+ "other" : "{0} సెక. లో",
+ "one" : "{0} సెక.లో"
+ },
+ "current" : "ప్రస్తుతం"
+ },
+ "minute" : {
+ "current" : "ఈ నిమిషం",
+ "past" : "{0} నిమి. క్రితం",
+ "future" : "{0} నిమి.లో"
+ },
+ "quarter" : {
+ "previous" : "గత త్రైమాసికం",
+ "past" : "{0} త్రైమా. క్రితం",
+ "current" : "ఈ త్రైమాసికం",
+ "next" : "తదుపరి త్రైమాసికం",
+ "future" : {
+ "one" : "{0} త్రైమాసికంలో",
+ "other" : "{0} త్రైమాసికాల్లో"
+ }
+ },
+ "week" : {
+ "next" : "తదుపరి వారం",
+ "current" : "ఈ వారం",
+ "past" : {
+ "one" : "{0} వారం క్రితం",
+ "other" : "{0} వారాల క్రితం"
+ },
+ "future" : {
+ "one" : "{0} వారంలో",
+ "other" : "{0} వారాల్లో"
+ },
+ "previous" : "గత వారం"
+ }
+ },
+ "long" : {
+ "month" : {
+ "future" : {
+ "one" : "{0} నెలలో",
+ "other" : "{0} నెలల్లో"
+ },
+ "previous" : "గత నెల",
+ "current" : "ఈ నెల",
+ "next" : "తదుపరి నెల",
+ "past" : {
+ "other" : "{0} నెలల క్రితం",
+ "one" : "{0} నెల క్రితం"
+ }
+ },
+ "quarter" : {
+ "previous" : "గత త్రైమాసికం",
+ "next" : "తదుపరి త్రైమాసికం",
+ "current" : "ఈ త్రైమాసికం",
+ "past" : {
+ "other" : "{0} త్రైమాసికాల క్రితం",
+ "one" : "{0} త్రైమాసికం క్రితం"
+ },
+ "future" : {
+ "other" : "{0} త్రైమాసికాల్లో",
+ "one" : "{0} త్రైమాసికంలో"
+ }
+ },
+ "hour" : {
+ "current" : "ఈ గంట",
+ "past" : {
+ "other" : "{0} గంటల క్రితం",
+ "one" : "{0} గంట క్రితం"
+ },
+ "future" : {
+ "one" : "{0} గంటలో",
+ "other" : "{0} గంటల్లో"
+ }
+ },
+ "second" : {
+ "current" : "ప్రస్తుతం",
+ "past" : {
+ "other" : "{0} సెకన్ల క్రితం",
+ "one" : "{0} సెకను క్రితం"
+ },
+ "future" : {
+ "one" : "{0} సెకనులో",
+ "other" : "{0} సెకన్లలో"
+ }
+ },
+ "year" : {
+ "past" : {
+ "one" : "{0} సంవత్సరం క్రితం",
+ "other" : "{0} సంవత్సరాల క్రితం"
+ },
+ "future" : {
+ "one" : "{0} సంవత్సరంలో",
+ "other" : "{0} సంవత్సరాల్లో"
+ },
+ "previous" : "గత సంవత్సరం",
+ "current" : "ఈ సంవత్సరం",
+ "next" : "తదుపరి సంవత్సరం"
+ },
+ "day" : {
+ "future" : {
+ "one" : "{0} రోజులో",
+ "other" : "{0} రోజుల్లో"
+ },
+ "current" : "ఈ రోజు",
+ "previous" : "నిన్న",
+ "next" : "రేపు",
+ "past" : {
+ "one" : "{0} రోజు క్రితం",
+ "other" : "{0} రోజుల క్రితం"
+ }
+ },
+ "minute" : {
+ "current" : "ఈ నిమిషం",
+ "past" : {
+ "other" : "{0} నిమిషాల క్రితం",
+ "one" : "{0} నిమిషం క్రితం"
+ },
+ "future" : {
+ "one" : "{0} నిమిషంలో",
+ "other" : "{0} నిమిషాల్లో"
+ }
+ },
+ "week" : {
+ "past" : {
+ "one" : "{0} వారం క్రితం",
+ "other" : "{0} వారాల క్రితం"
+ },
+ "next" : "తదుపరి వారం",
+ "current" : "ఈ వారం",
+ "future" : {
+ "one" : "{0} వారంలో",
+ "other" : "{0} వారాల్లో"
+ },
+ "previous" : "గత వారం"
+ },
+ "now" : "ప్రస్తుతం"
+ },
+ "short" : {
+ "month" : {
+ "past" : {
+ "one" : "{0} నెల క్రితం",
+ "other" : "{0} నెలల క్రితం"
+ },
+ "next" : "తదుపరి నెల",
+ "future" : {
+ "one" : "{0} నెలలో",
+ "other" : "{0} నెలల్లో"
+ },
+ "previous" : "గత నెల",
+ "current" : "ఈ నెల"
+ },
+ "week" : {
+ "next" : "తదుపరి వారం",
+ "previous" : "గత వారం",
+ "past" : {
+ "one" : "{0} వారం క్రితం",
+ "other" : "{0} వారాల క్రితం"
+ },
+ "current" : "ఈ వారం",
+ "future" : {
+ "one" : "{0} వారంలో",
+ "other" : "{0} వారాల్లో"
+ }
+ },
+ "hour" : {
+ "future" : "{0} గం.లో",
+ "current" : "ఈ గంట",
+ "past" : "{0} గం. క్రితం"
+ },
+ "quarter" : {
+ "next" : "తదుపరి త్రైమాసికం",
+ "previous" : "గత త్రైమాసికం",
+ "past" : "{0} త్రైమా. క్రితం",
+ "future" : {
+ "one" : "{0} త్రైమా.లో",
+ "other" : "{0} త్రైమా.ల్లో"
+ },
+ "current" : "ఈ త్రైమాసికం"
+ },
+ "minute" : {
+ "current" : "ఈ నిమిషం",
+ "past" : "{0} నిమి. క్రితం",
+ "future" : "{0} నిమి.లో"
+ },
+ "now" : "ప్రస్తుతం",
+ "day" : {
+ "previous" : "నిన్న",
+ "past" : {
+ "other" : "{0} రోజుల క్రితం",
+ "one" : "{0} రోజు క్రితం"
+ },
+ "current" : "ఈ రోజు",
+ "next" : "రేపు",
+ "future" : {
+ "one" : "{0} రోజులో",
+ "other" : "{0} రోజుల్లో"
+ }
+ },
+ "year" : {
+ "next" : "తదుపరి సంవత్సరం",
+ "current" : "ఈ సంవత్సరం",
+ "past" : "{0} సం. క్రితం",
+ "previous" : "గత సంవత్సరం",
+ "future" : {
+ "one" : "{0} సం.లో",
+ "other" : "{0} సం.ల్లో"
+ }
+ },
+ "second" : {
+ "current" : "ప్రస్తుతం",
+ "future" : {
+ "other" : "{0} సెకన్లలో",
+ "one" : "{0} సెకనులో"
+ },
+ "past" : "{0} సెక. క్రితం"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/th.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/th.json
new file mode 100644
index 00000000..7078e215
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/th.json
@@ -0,0 +1,161 @@
+{
+ "long" : {
+ "week" : {
+ "past" : "{0} สัปดาห์ที่ผ่านมา",
+ "next" : "สัปดาห์หน้า",
+ "current" : "สัปดาห์นี้",
+ "future" : "ในอีก {0} สัปดาห์",
+ "previous" : "สัปดาห์ที่แล้ว"
+ },
+ "hour" : {
+ "future" : "ในอีก {0} ชั่วโมง",
+ "past" : "{0} ชั่วโมงที่ผ่านมา",
+ "current" : "ชั่วโมงนี้"
+ },
+ "second" : {
+ "future" : "ในอีก {0} วินาที",
+ "current" : "ขณะนี้",
+ "past" : "{0} วินาทีที่ผ่านมา"
+ },
+ "day" : {
+ "future" : "ในอีก {0} วัน",
+ "previous" : "เมื่อวาน",
+ "current" : "วันนี้",
+ "next" : "พรุ่งนี้",
+ "past" : "{0} วันที่ผ่านมา"
+ },
+ "month" : {
+ "previous" : "เดือนที่แล้ว",
+ "current" : "เดือนนี้",
+ "future" : "ในอีก {0} เดือน",
+ "past" : "{0} เดือนที่ผ่านมา",
+ "next" : "เดือนหน้า"
+ },
+ "year" : {
+ "current" : "ปีนี้",
+ "next" : "ปีหน้า",
+ "previous" : "ปีที่แล้ว",
+ "past" : "{0} ปีที่แล้ว",
+ "future" : "ในอีก {0} ปี"
+ },
+ "now" : "ขณะนี้",
+ "minute" : {
+ "past" : "{0} นาทีที่ผ่านมา",
+ "future" : "ในอีก {0} นาที",
+ "current" : "นาทีนี้"
+ },
+ "quarter" : {
+ "previous" : "ไตรมาสที่แล้ว",
+ "future" : "ในอีก {0} ไตรมาส",
+ "next" : "ไตรมาสหน้า",
+ "past" : "{0} ไตรมาสที่แล้ว",
+ "current" : "ไตรมาสนี้"
+ }
+ },
+ "narrow" : {
+ "month" : {
+ "next" : "เดือนหน้า",
+ "past" : "{0} เดือนที่แล้ว",
+ "current" : "เดือนนี้",
+ "future" : "ใน {0} เดือน",
+ "previous" : "เดือนที่แล้ว"
+ },
+ "day" : {
+ "current" : "วันนี้",
+ "past" : "{0} วันที่แล้ว",
+ "future" : "ใน {0} วัน",
+ "previous" : "เมื่อวาน",
+ "next" : "พรุ่งนี้"
+ },
+ "second" : {
+ "future" : "ใน {0} วินาที",
+ "past" : "{0} วินาทีที่แล้ว",
+ "current" : "ขณะนี้"
+ },
+ "quarter" : {
+ "current" : "ไตรมาสนี้",
+ "previous" : "ไตรมาสที่แล้ว",
+ "past" : "{0} ไตรมาสที่แล้ว",
+ "next" : "ไตรมาสหน้า",
+ "future" : "ใน {0} ไตรมาส"
+ },
+ "year" : {
+ "previous" : "ปีที่แล้ว",
+ "current" : "ปีนี้",
+ "past" : "{0} ปีที่แล้ว",
+ "future" : "ใน {0} ปี",
+ "next" : "ปีหน้า"
+ },
+ "now" : "ขณะนี้",
+ "minute" : {
+ "future" : "ใน {0} นาที",
+ "past" : "{0} นาทีที่แล้ว",
+ "current" : "นาทีนี้"
+ },
+ "week" : {
+ "past" : "{0} สัปดาห์ที่แล้ว",
+ "future" : "ใน {0} สัปดาห์",
+ "next" : "สัปดาห์หน้า",
+ "current" : "สัปดาห์นี้",
+ "previous" : "สัปดาห์ที่แล้ว"
+ },
+ "hour" : {
+ "current" : "ชั่วโมงนี้",
+ "future" : "ใน {0} ชม.",
+ "past" : "{0} ชม. ที่แล้ว"
+ }
+ },
+ "short" : {
+ "now" : "ขณะนี้",
+ "minute" : {
+ "current" : "นาทีนี้",
+ "past" : "{0} นาทีที่แล้ว",
+ "future" : "ใน {0} นาที"
+ },
+ "year" : {
+ "current" : "ปีนี้",
+ "future" : "ใน {0} ปี",
+ "previous" : "ปีที่แล้ว",
+ "next" : "ปีหน้า",
+ "past" : "{0} ปีที่แล้ว"
+ },
+ "second" : {
+ "past" : "{0} วินาทีที่แล้ว",
+ "future" : "ใน {0} วินาที",
+ "current" : "ขณะนี้"
+ },
+ "hour" : {
+ "past" : "{0} ชม. ที่แล้ว",
+ "future" : "ใน {0} ชม.",
+ "current" : "ชั่วโมงนี้"
+ },
+ "month" : {
+ "current" : "เดือนนี้",
+ "next" : "เดือนหน้า",
+ "past" : "{0} เดือนที่แล้ว",
+ "future" : "ใน {0} เดือน",
+ "previous" : "เดือนที่แล้ว"
+ },
+ "quarter" : {
+ "future" : "ใน {0} ไตรมาส",
+ "previous" : "ไตรมาสที่แล้ว",
+ "next" : "ไตรมาสหน้า",
+ "past" : "{0} ไตรมาสที่แล้ว",
+ "current" : "ไตรมาสนี้"
+ },
+ "week" : {
+ "next" : "สัปดาห์หน้า",
+ "past" : "{0} สัปดาห์ที่แล้ว",
+ "current" : "สัปดาห์นี้",
+ "previous" : "สัปดาห์ที่แล้ว",
+ "future" : "ใน {0} สัปดาห์"
+ },
+ "day" : {
+ "next" : "พรุ่งนี้",
+ "current" : "วันนี้",
+ "previous" : "เมื่อวาน",
+ "past" : "{0} วันที่แล้ว",
+ "future" : "ใน {0} วัน"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ti.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ti.json
new file mode 100644
index 00000000..48f8cecb
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ti.json
@@ -0,0 +1,167 @@
+{
+ "short" : {
+ "month" : {
+ "future" : "ኣብ {0} ወርሒ",
+ "previous" : "last month",
+ "current" : "ህሉው ወርሒ",
+ "next" : "ዝመጽእ ወርሒ",
+ "past" : "ቅድሚ {0} ወርሒ"
+ },
+ "week" : {
+ "previous" : "ዝሓለፈ ሰሙን",
+ "current" : "ህሉው ሰሙን",
+ "future" : "ኣብ {0} ሰሙን",
+ "past" : "ቅድሚ {0} ሰሙን",
+ "next" : "ዝመጽእ ሰሙን"
+ },
+ "hour" : {
+ "past" : "ቅድሚ {0} ሰዓት",
+ "current" : "ኣብዚ ሰዓት",
+ "future" : "ኣብ {0} ሰዓት"
+ },
+ "quarter" : {
+ "future" : "ኣብ {0} ርብዒ",
+ "previous" : "ዝሓለፈ ርብዒ",
+ "current" : "ህሉው ርብዒ",
+ "next" : "ዝመጽእ ርብዒ",
+ "past" : "ቅድሚ {0} ርብዒ"
+ },
+ "minute" : {
+ "current" : "ኣብዚ ደቒቕ",
+ "past" : "ቅድሚ {0} ደቒቕ",
+ "future" : "ኣብ {0} ደቒቕ"
+ },
+ "now" : "ሕጂ",
+ "day" : {
+ "past" : "ቅድሚ {0} መዓልቲ",
+ "previous" : "ትማሊ",
+ "current" : "ሎሚ",
+ "next" : "ጽባሕ",
+ "future" : "ኣብ {0} መዓልቲ"
+ },
+ "year" : {
+ "previous" : "ዓሚ",
+ "next" : "ንዓመታ",
+ "current" : "ሎሚ ዓመት",
+ "future" : "ኣብ {0} ዓ",
+ "past" : {
+ "other" : "ቅድሚ {0} ዓ",
+ "one" : "ቅድሚ -{0} ዓ"
+ }
+ },
+ "second" : {
+ "current" : "ሕጂ",
+ "past" : "ቅድሚ {0} ካልኢት",
+ "future" : "ኣብ {0} ካልኢት"
+ }
+ },
+ "narrow" : {
+ "day" : {
+ "next" : "ጽባሕ",
+ "current" : "ሎሚ",
+ "future" : "ኣብ {0} መዓልቲ",
+ "past" : "ቅድሚ {0} መዓልቲ",
+ "previous" : "ትማሊ"
+ },
+ "week" : {
+ "current" : "ህሉው ሰሙን",
+ "next" : "ዝመጽእ ሰሙን",
+ "previous" : "ዝሓለፈ ሰሙን",
+ "past" : "ቅድሚ {0} ሰሙን",
+ "future" : "ኣብ {0} ሰሙን"
+ },
+ "quarter" : {
+ "past" : "ቅድሚ {0} ርብዒ",
+ "future" : "ኣብ {0} ርብዒ",
+ "previous" : "ዝሓለፈ ርብዒ",
+ "current" : "ህሉው ርብዒ",
+ "next" : "ዝመጽእ ርብዒ"
+ },
+ "month" : {
+ "previous" : "last month",
+ "current" : "ህሉው ወርሒ",
+ "next" : "ዝመጽእ ወርሒ",
+ "past" : "ቅድሚ {0} ወርሒ",
+ "future" : "ኣብ {0} ወርሒ"
+ },
+ "hour" : {
+ "past" : "ቅድሚ {0} ሰዓት",
+ "future" : "ኣብ {0} ሰዓት",
+ "current" : "ኣብዚ ሰዓት"
+ },
+ "year" : {
+ "current" : "ሎሚ ዓመት",
+ "past" : "ቅድሚ {0} ዓ",
+ "future" : "ኣብ {0} ዓ",
+ "next" : "ንዓመታ",
+ "previous" : "ዓሚ"
+ },
+ "now" : "ሕጂ",
+ "minute" : {
+ "future" : "ኣብ {0} ደቒቕ",
+ "current" : "ኣብዚ ደቒቕ",
+ "past" : "ቅድሚ {0} ደቒቕ"
+ },
+ "second" : {
+ "current" : "ሕጂ",
+ "past" : "ቅድሚ {0} ካልኢት",
+ "future" : "ኣብ {0} ካልኢት"
+ }
+ },
+ "long" : {
+ "minute" : {
+ "past" : "ቅድሚ {0} ደቒቕ",
+ "future" : "ኣብ {0} ደቒቕ",
+ "current" : "ኣብዚ ደቒቕ"
+ },
+ "quarter" : {
+ "next" : "ዝመጽእ ርብዒ",
+ "past" : "ቅድሚ {0} ርብዒ",
+ "future" : "ኣብ {0} ርብዒ",
+ "previous" : "ዝሓለፈ ርብዒ",
+ "current" : "ህሉው ርብዒ"
+ },
+ "year" : {
+ "past" : "ቅድሚ {0} ዓ",
+ "current" : "ሎሚ ዓመት",
+ "previous" : "ዓሚ",
+ "next" : "ንዓመታ",
+ "future" : "ኣብ {0} ዓ"
+ },
+ "month" : {
+ "past" : "ቅድሚ {0} ወርሒ",
+ "future" : "ኣብ {0} ወርሒ",
+ "current" : "ህሉው ወርሒ",
+ "next" : "ዝመጽእ ወርሒ",
+ "previous" : "last month"
+ },
+ "hour" : {
+ "future" : "ኣብ {0} ሰዓት",
+ "past" : "ቅድሚ {0} ሰዓት",
+ "current" : "ኣብዚ ሰዓት"
+ },
+ "now" : "ሕጂ",
+ "week" : {
+ "future" : "ኣብ {0} ሰሙን",
+ "past" : "ቅድሚ {0} ሰሙን",
+ "previous" : "ዝሓለፈ ሰሙን",
+ "current" : "ህሉው ሰሙን",
+ "next" : "ዝመጽእ ሰሙን"
+ },
+ "day" : {
+ "current" : "ሎሚ",
+ "previous" : "ትማሊ",
+ "next" : "ጽባሕ",
+ "past" : {
+ "other" : "ኣብ {0} መዓልቲ",
+ "one" : "ቅድሚ {0} መዓልቲ"
+ },
+ "future" : "ኣብ {0} መዓልቲ"
+ },
+ "second" : {
+ "future" : "ኣብ {0} ካልኢት",
+ "current" : "ሕጂ",
+ "past" : "ቅድሚ {0} ካልኢት"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/tk.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/tk.json
new file mode 100644
index 00000000..43fbafa4
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/tk.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "{0} ç. öň",
+ "future" : "{0} ç.-den",
+ "current" : "şu çärýek",
+ "previous" : "geçen çärýek",
+ "next" : "indiki çärýek"
+ },
+ "year" : {
+ "previous" : "geçen ýyl",
+ "next" : "indiki ýyl",
+ "future" : "{0}ý.-dan",
+ "current" : "şu ýyl",
+ "past" : "{0}ý. öň"
+ },
+ "week" : {
+ "future" : "{0} h-den",
+ "previous" : "geçen hepde",
+ "next" : "indiki hepde",
+ "past" : "{0} h. öň",
+ "current" : "şu hepde"
+ },
+ "day" : {
+ "current" : "şu gün",
+ "past" : "{0} g. öň",
+ "next" : "ertir",
+ "future" : "{0} g-den",
+ "previous" : "düýn"
+ },
+ "hour" : {
+ "current" : "şu sagat",
+ "past" : "{0} sag. öň",
+ "future" : "{0} sag-dan"
+ },
+ "minute" : {
+ "future" : "{0} min-dan",
+ "current" : "şu minut",
+ "past" : "{0} min. öň"
+ },
+ "month" : {
+ "next" : "indiki aý",
+ "current" : "şu aý",
+ "past" : "{0} aý öň",
+ "future" : "{0} aýdan",
+ "previous" : "geçen aý"
+ },
+ "now" : "häzir",
+ "second" : {
+ "future" : "{0} sek-dan",
+ "current" : "häzir",
+ "past" : "{0} sek. öň"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} min. öň",
+ "future" : "{0} min-dan",
+ "current" : "şu minut"
+ },
+ "week" : {
+ "current" : "şu hepde",
+ "past" : "{0} hep. öň",
+ "future" : "{0} hep-den",
+ "next" : "indiki hepde",
+ "previous" : "geçen hepde"
+ },
+ "year" : {
+ "future" : "{0}ý.-dan",
+ "previous" : "geçen ýyl",
+ "next" : "indiki ýyl",
+ "current" : "şu ýyl",
+ "past" : "{0}ý. öň"
+ },
+ "day" : {
+ "next" : "ertir",
+ "current" : "şu gün",
+ "previous" : "düýn",
+ "past" : "{0} g. öň",
+ "future" : "{0} g-den"
+ },
+ "hour" : {
+ "future" : "{0} sag-dan",
+ "current" : "şu sagat",
+ "past" : "{0} sag. öň"
+ },
+ "quarter" : {
+ "current" : "şu çärýek",
+ "future" : "{0} çär.-den",
+ "previous" : "geçen çärýek",
+ "next" : "indiki çärýek",
+ "past" : "{0} çär. öň"
+ },
+ "second" : {
+ "past" : "{0} sek. öň",
+ "current" : "häzir",
+ "future" : "{0} sek-dan"
+ },
+ "month" : {
+ "current" : "şu aý",
+ "past" : "{0} aý öň",
+ "future" : "{0} aýdan",
+ "next" : "indiki aý",
+ "previous" : "geçen aý"
+ },
+ "now" : "häzir"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "{0} sagatdan",
+ "current" : "şu sagat",
+ "past" : "{0} sagat öň"
+ },
+ "day" : {
+ "next" : "ertir",
+ "past" : "{0} gün öň",
+ "previous" : "düýn",
+ "future" : "{0} günden",
+ "current" : "şu gün"
+ },
+ "second" : {
+ "past" : "{0} sekunt öň",
+ "current" : "häzir",
+ "future" : "{0} sekuntdan"
+ },
+ "week" : {
+ "future" : "{0} hepdeden",
+ "past" : "{0} hepde öň",
+ "current" : "şu hepde",
+ "next" : "indiki hepde",
+ "previous" : "geçen hepde"
+ },
+ "minute" : {
+ "future" : "{0} minutdan",
+ "past" : "{0} minut öň",
+ "current" : "şu minut"
+ },
+ "month" : {
+ "future" : "{0} aýdan",
+ "past" : "{0} aý öň",
+ "current" : "şu aý",
+ "previous" : "geçen aý",
+ "next" : "indiki aý"
+ },
+ "now" : "häzir",
+ "year" : {
+ "current" : "şu ýyl",
+ "next" : "indiki ýyl",
+ "previous" : "geçen ýyl",
+ "future" : "{0} ýyldan",
+ "past" : "{0} ýyl öň"
+ },
+ "quarter" : {
+ "future" : "{0} çärýekden",
+ "previous" : "geçen çärýek",
+ "past" : "{0} çärýek öň",
+ "next" : "indiki çärýek",
+ "current" : "şu çärýek"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/to.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/to.json
new file mode 100644
index 00000000..0a79ba46
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/to.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "year" : {
+ "future" : "ʻi he taʻu ʻe {0}",
+ "previous" : "taʻu kuoʻosi",
+ "next" : "taʻu kahaʻu",
+ "current" : "taʻú ni",
+ "past" : "taʻu ʻe {0} kuoʻosi"
+ },
+ "week" : {
+ "past" : "uike ʻe {0} kuoʻosi",
+ "previous" : "uike kuoʻosi",
+ "future" : "ʻi he uike ʻe {0}",
+ "current" : "uiké ni",
+ "next" : "uike kahaʻu"
+ },
+ "hour" : {
+ "future" : "ʻi he houa ʻe {0}",
+ "current" : "this hour",
+ "past" : "houa ʻe {0} kuoʻosi"
+ },
+ "quarter" : {
+ "current" : "kuata koʻeni",
+ "previous" : "kuata kuoʻosi",
+ "future" : "ʻi he kuata ʻe {0}",
+ "past" : "kuata ʻe {0} kuoʻosi",
+ "next" : "kuata hoko"
+ },
+ "second" : {
+ "past" : "sekoni ʻe {0} kuoʻosi",
+ "future" : "ʻi he sekoni ʻe {0}",
+ "current" : "taimí ni"
+ },
+ "month" : {
+ "current" : "māhiná ni",
+ "future" : "ʻi he māhina ʻe {0}",
+ "past" : "māhina ʻe {0} kuoʻosi",
+ "next" : "māhina kahaʻu",
+ "previous" : "māhina kuoʻosi"
+ },
+ "day" : {
+ "previous" : "ʻaneafi",
+ "future" : "ʻi he ʻaho ʻe {0}",
+ "next" : "ʻapongipongi",
+ "current" : "ʻahó ni",
+ "past" : "ʻaho ʻe {0} kuoʻosi"
+ },
+ "minute" : {
+ "past" : "miniti ʻe {0} kuoʻosi",
+ "future" : "ʻi he miniti ʻe {0}",
+ "current" : "this minute"
+ },
+ "now" : "taimí ni"
+ },
+ "long" : {
+ "quarter" : {
+ "next" : "kuata hoko",
+ "current" : "kuata koʻeni",
+ "previous" : "kuata kuoʻosi",
+ "past" : "kuata ʻe {0} kuoʻosi",
+ "future" : "ʻi he kuata ʻe {0}"
+ },
+ "now" : "taimí ni",
+ "year" : {
+ "previous" : "taʻu kuoʻosi",
+ "past" : "taʻu ʻe {0} kuoʻosi",
+ "future" : "ʻi he taʻu ʻe {0}",
+ "next" : "taʻu kahaʻu",
+ "current" : "taʻú ni"
+ },
+ "month" : {
+ "previous" : "māhina kuoʻosi",
+ "current" : "māhiná ni",
+ "future" : "ʻi he māhina ʻe {0}",
+ "past" : "māhina ʻe {0} kuoʻosi",
+ "next" : "māhina kahaʻu"
+ },
+ "day" : {
+ "previous" : "ʻaneafi",
+ "future" : "ʻi he ʻaho ʻe {0}",
+ "next" : "ʻapongipongi",
+ "past" : "ʻaho ʻe {0} kuoʻosi",
+ "current" : "ʻahó ni"
+ },
+ "second" : {
+ "future" : "ʻi he sekoni ʻe {0}",
+ "current" : "taimí ni",
+ "past" : "sekoni ʻe {0} kuoʻosi"
+ },
+ "week" : {
+ "past" : "uike ʻe {0} kuoʻosi",
+ "current" : "uiké ni",
+ "next" : "uike kahaʻu",
+ "previous" : "uike kuoʻosi",
+ "future" : "ʻi he uike ʻe {0}"
+ },
+ "hour" : {
+ "past" : "houa ʻe {0} kuoʻosi",
+ "future" : "ʻi he houa ʻe {0}",
+ "current" : "this hour"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : "ʻi he miniti ʻe {0}",
+ "past" : "miniti ʻe {0} kuoʻosi"
+ }
+ },
+ "short" : {
+ "second" : {
+ "current" : "taimí ni",
+ "past" : "sekoni ʻe {0} kuoʻosi",
+ "future" : "ʻi he sekoni ʻe {0}"
+ },
+ "now" : "taimí ni",
+ "month" : {
+ "future" : "ʻi he māhina ʻe {0}",
+ "current" : "māhiná ni",
+ "past" : "māhina ʻe {0} kuoʻosi",
+ "previous" : "māhina kuoʻosi",
+ "next" : "māhina kahaʻu"
+ },
+ "day" : {
+ "previous" : "ʻaneafi",
+ "current" : "ʻahó ni",
+ "next" : "ʻapongipongi",
+ "future" : "ʻi he ʻaho ʻe {0}",
+ "past" : "ʻaho ʻe {0} kuoʻosi"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : "ʻi he miniti ʻe {0}",
+ "past" : "miniti ʻe {0} kuoʻosi"
+ },
+ "quarter" : {
+ "past" : "kuata ʻe {0} kuoʻosi",
+ "previous" : "kuata kuoʻosi",
+ "current" : "kuata koʻeni",
+ "future" : "ʻi he kuata ʻe {0}",
+ "next" : "kuata hoko"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "future" : "ʻi he houa ʻe {0}",
+ "past" : "houa ʻe {0} kuoʻosi"
+ },
+ "week" : {
+ "future" : "ʻi he uike ʻe {0}",
+ "previous" : "uike kuoʻosi",
+ "next" : "uike kahaʻu",
+ "past" : "uike ʻe {0} kuoʻosi",
+ "current" : "uiké ni"
+ },
+ "year" : {
+ "next" : "taʻu kahaʻu",
+ "current" : "taʻú ni",
+ "past" : "taʻu ʻe {0} kuoʻosi",
+ "future" : "ʻi he taʻu ʻe {0}",
+ "previous" : "taʻu kuoʻosi"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/tr.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/tr.json
new file mode 100644
index 00000000..c6ca9b84
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/tr.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "yarın",
+ "future" : "{0} gün sonra",
+ "previous" : "dün",
+ "current" : "bugün",
+ "past" : "{0} gün önce"
+ },
+ "quarter" : {
+ "next" : "gelecek çeyrek",
+ "past" : "{0} çyr. önce",
+ "future" : "{0} çyr. sonra",
+ "previous" : "geçen çeyrek",
+ "current" : "bu çeyrek"
+ },
+ "hour" : {
+ "past" : "{0} sa. önce",
+ "future" : "{0} sa. sonra",
+ "current" : "bu saat"
+ },
+ "year" : {
+ "next" : "gelecek yıl",
+ "past" : "{0} yıl önce",
+ "current" : "bu yıl",
+ "previous" : "geçen yıl",
+ "future" : "{0} yıl sonra"
+ },
+ "now" : "şimdi",
+ "month" : {
+ "current" : "bu ay",
+ "future" : "{0} ay sonra",
+ "past" : "{0} ay önce",
+ "next" : "gelecek ay",
+ "previous" : "geçen ay"
+ },
+ "week" : {
+ "previous" : "geçen hafta",
+ "current" : "bu hafta",
+ "past" : "{0} hf. önce",
+ "future" : "{0} hf. sonra",
+ "next" : "gelecek hafta"
+ },
+ "minute" : {
+ "current" : "bu dakika",
+ "past" : "{0} dk. önce",
+ "future" : "{0} dk. sonra"
+ },
+ "second" : {
+ "current" : "şimdi",
+ "past" : "{0} sn. önce",
+ "future" : "{0} sn. sonra"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "dün",
+ "current" : "bugün",
+ "next" : "yarın",
+ "past" : "{0} gün önce",
+ "future" : "{0} gün sonra"
+ },
+ "week" : {
+ "current" : "bu hafta",
+ "future" : "{0} hafta sonra",
+ "past" : "{0} hafta önce",
+ "previous" : "geçen hafta",
+ "next" : "gelecek hafta"
+ },
+ "minute" : {
+ "current" : "bu dakika",
+ "past" : "{0} dakika önce",
+ "future" : "{0} dakika sonra"
+ },
+ "month" : {
+ "future" : "{0} ay sonra",
+ "next" : "gelecek ay",
+ "previous" : "geçen ay",
+ "current" : "bu ay",
+ "past" : "{0} ay önce"
+ },
+ "hour" : {
+ "current" : "bu saat",
+ "past" : "{0} saat önce",
+ "future" : "{0} saat sonra"
+ },
+ "year" : {
+ "past" : "{0} yıl önce",
+ "future" : "{0} yıl sonra",
+ "previous" : "geçen yıl",
+ "next" : "gelecek yıl",
+ "current" : "bu yıl"
+ },
+ "second" : {
+ "current" : "şimdi",
+ "past" : "{0} saniye önce",
+ "future" : "{0} saniye sonra"
+ },
+ "now" : "şimdi",
+ "quarter" : {
+ "past" : "{0} çeyrek önce",
+ "current" : "bu çeyrek",
+ "previous" : "geçen çeyrek",
+ "future" : "{0} çeyrek sonra",
+ "next" : "gelecek çeyrek"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} çyr. sonra",
+ "next" : "gelecek çeyrek",
+ "previous" : "geçen çeyrek",
+ "current" : "bu çeyrek",
+ "past" : "{0} çyr. önce"
+ },
+ "minute" : {
+ "past" : "{0} dk. önce",
+ "current" : "bu dakika",
+ "future" : "{0} dk. sonra"
+ },
+ "year" : {
+ "next" : "gelecek yıl",
+ "future" : "{0} yıl sonra",
+ "current" : "bu yıl",
+ "past" : "{0} yıl önce",
+ "previous" : "geçen yıl"
+ },
+ "second" : {
+ "past" : "{0} sn. önce",
+ "future" : "{0} sn. sonra",
+ "current" : "şimdi"
+ },
+ "hour" : {
+ "past" : "{0} sa. önce",
+ "current" : "bu saat",
+ "future" : "{0} sa. sonra"
+ },
+ "now" : "şimdi",
+ "month" : {
+ "previous" : "geçen ay",
+ "next" : "gelecek ay",
+ "past" : "{0} ay önce",
+ "current" : "bu ay",
+ "future" : "{0} ay sonra"
+ },
+ "week" : {
+ "previous" : "geçen hafta",
+ "current" : "bu hafta",
+ "next" : "gelecek hafta",
+ "past" : "{0} hf. önce",
+ "future" : "{0} hf. sonra"
+ },
+ "day" : {
+ "next" : "yarın",
+ "past" : "{0} gün önce",
+ "future" : "{0} gün sonra",
+ "previous" : "dün",
+ "current" : "bugün"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ug.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ug.json
new file mode 100644
index 00000000..19fca90f
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ug.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter"
+ },
+ "day" : {
+ "next" : "ئەتە",
+ "previous" : "تۈنۈگۈن",
+ "future" : "{0} كۈندىن كېيىن",
+ "past" : "{0} كۈن ئىلگىرى",
+ "current" : "بۈگۈن"
+ },
+ "year" : {
+ "past" : "{0} يىل ئىلگىرى",
+ "previous" : "ئۆتكەن يىل",
+ "future" : "{0} يىلدىن كېيىن",
+ "next" : "كېلەر يىل",
+ "current" : "بۇ يىل"
+ },
+ "minute" : {
+ "past" : "{0} مىنۇت ئىلگىرى",
+ "future" : "{0} مىنۇتتىن كېيىن",
+ "current" : "this minute"
+ },
+ "now" : "now",
+ "week" : {
+ "current" : "بۇ ھەپتە",
+ "previous" : "ئۆتكەن ھەپتە",
+ "past" : "{0} ھەپتە ئىلگىرى",
+ "next" : "كېلەر ھەپتە",
+ "future" : "{0} ھەپتىدىن كېيىن"
+ },
+ "second" : {
+ "past" : "{0} سېكۇنت ئىلگىرى",
+ "future" : "{0} سېكۇنتتىن كېيىن",
+ "current" : "now"
+ },
+ "month" : {
+ "future" : "{0} ئايدىن كېيىن",
+ "current" : "بۇ ئاي",
+ "past" : "{0} ئاي ئىلگىرى",
+ "previous" : "ئۆتكەن ئاي",
+ "next" : "كېلەر ئاي"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "{0} سائەت ئىلگىرى",
+ "future" : "{0} سائەتتىن كېيىن"
+ }
+ },
+ "long" : {
+ "year" : {
+ "next" : "كېلەر يىل",
+ "previous" : "ئۆتكەن يىل",
+ "past" : "{0} يىل ئىلگىرى",
+ "future" : "{0} يىلدىن كېيىن",
+ "current" : "بۇ يىل"
+ },
+ "now" : "now",
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "current" : "this quarter",
+ "previous" : "last quarter"
+ },
+ "month" : {
+ "past" : "{0} ئاي ئىلگىرى",
+ "next" : "كېلەر ئاي",
+ "previous" : "ئۆتكەن ئاي",
+ "future" : "{0} ئايدىن كېيىن",
+ "current" : "بۇ ئاي"
+ },
+ "second" : {
+ "current" : "now",
+ "future" : "{0} سېكۇنتتىن كېيىن",
+ "past" : "{0} سېكۇنت ئىلگىرى"
+ },
+ "week" : {
+ "past" : "{0} ھەپتە ئىلگىرى",
+ "previous" : "ئۆتكەن ھەپتە",
+ "future" : "{0} ھەپتىدىن كېيىن",
+ "next" : "كېلەر ھەپتە",
+ "current" : "بۇ ھەپتە"
+ },
+ "day" : {
+ "next" : "ئەتە",
+ "future" : "{0} كۈندىن كېيىن",
+ "previous" : "تۈنۈگۈن",
+ "current" : "بۈگۈن",
+ "past" : "{0} كۈن ئىلگىرى"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : "{0} مىنۇت ئىلگىرى",
+ "future" : "{0} مىنۇتتىن كېيىن"
+ },
+ "hour" : {
+ "past" : "{0} سائەت ئىلگىرى",
+ "future" : "{0} سائەتتىن كېيىن",
+ "current" : "this hour"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "this minute",
+ "past" : "{0} مىنۇت ئىلگىرى",
+ "future" : "{0} مىنۇتتىن كېيىن"
+ },
+ "week" : {
+ "future" : "{0} ھەپتىدىن كېيىن",
+ "previous" : "ئۆتكەن ھەپتە",
+ "next" : "كېلەر ھەپتە",
+ "current" : "بۇ ھەپتە",
+ "past" : "{0} ھەپتە ئىلگىرى"
+ },
+ "year" : {
+ "current" : "بۇ يىل",
+ "previous" : "ئۆتكەن يىل",
+ "future" : "{0} يىلدىن كېيىن",
+ "past" : "{0} يىل ئىلگىرى",
+ "next" : "كېلەر يىل"
+ },
+ "month" : {
+ "next" : "كېلەر ئاي",
+ "past" : "{0} ئاي ئىلگىرى",
+ "future" : "{0} ئايدىن كېيىن",
+ "previous" : "ئۆتكەن ئاي",
+ "current" : "بۇ ئاي"
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "future" : "+{0} Q"
+ },
+ "day" : {
+ "current" : "بۈگۈن",
+ "previous" : "تۈنۈگۈن",
+ "past" : "{0} كۈن ئىلگىرى",
+ "next" : "ئەتە",
+ "future" : "{0} كۈندىن كېيىن"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "{0} سائەت ئىلگىرى",
+ "future" : "{0} سائەتتىن كېيىن"
+ },
+ "second" : {
+ "future" : "{0} سېكۇنتتىن كېيىن",
+ "current" : "now",
+ "past" : "{0} سېكۇنت ئىلگىرى"
+ },
+ "now" : "now"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uk.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uk.json
new file mode 100644
index 00000000..c313de06
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uk.json
@@ -0,0 +1,238 @@
+{
+ "long" : {
+ "day" : {
+ "future" : {
+ "many" : "через {0} днів",
+ "one" : "через {0} день",
+ "few" : "через {0} дні",
+ "other" : "через {0} дня"
+ },
+ "previous" : "учора",
+ "current" : "сьогодні",
+ "past" : {
+ "many" : "{0} днів тому",
+ "other" : "{0} дня тому",
+ "few" : "{0} дні тому",
+ "one" : "{0} день тому"
+ },
+ "next" : "завтра"
+ },
+ "minute" : {
+ "current" : "цієї хвилини",
+ "past" : {
+ "one" : "{0} хвилину тому",
+ "many" : "{0} хвилин тому",
+ "other" : "{0} хвилини тому"
+ },
+ "future" : {
+ "many" : "через {0} хвилин",
+ "one" : "через {0} хвилину",
+ "other" : "через {0} хвилини"
+ }
+ },
+ "now" : "зараз",
+ "second" : {
+ "past" : {
+ "one" : "{0} секунду тому",
+ "other" : "{0} секунди тому",
+ "many" : "{0} секунд тому"
+ },
+ "future" : {
+ "one" : "через {0} секунду",
+ "other" : "через {0} секунди",
+ "many" : "через {0} секунд"
+ },
+ "current" : "зараз"
+ },
+ "week" : {
+ "current" : "цього тижня",
+ "next" : "наступного тижня",
+ "previous" : "минулого тижня",
+ "future" : {
+ "many" : "через {0} тижнів",
+ "few" : "через {0} тижні",
+ "other" : "через {0} тижня",
+ "one" : "через {0} тиждень"
+ },
+ "past" : {
+ "many" : "{0} тижнів тому",
+ "other" : "{0} тижня тому",
+ "few" : "{0} тижні тому",
+ "one" : "{0} тиждень тому"
+ }
+ },
+ "quarter" : {
+ "previous" : "минулого кварталу",
+ "past" : {
+ "few" : "{0} квартали тому",
+ "one" : "{0} квартал тому",
+ "other" : "{0} кварталу тому",
+ "many" : "{0} кварталів тому"
+ },
+ "future" : {
+ "one" : "через {0} квартал",
+ "many" : "через {0} кварталів",
+ "other" : "через {0} кварталу",
+ "few" : "через {0} квартали"
+ },
+ "current" : "цього кварталу",
+ "next" : "наступного кварталу"
+ },
+ "month" : {
+ "current" : "цього місяця",
+ "next" : "наступного місяця",
+ "previous" : "минулого місяця",
+ "past" : {
+ "many" : "{0} місяців тому",
+ "one" : "{0} місяць тому",
+ "few" : "{0} місяці тому",
+ "other" : "{0} місяця тому"
+ },
+ "future" : {
+ "many" : "через {0} місяців",
+ "one" : "через {0} місяць",
+ "few" : "через {0} місяці",
+ "other" : "через {0} місяця"
+ }
+ },
+ "hour" : {
+ "future" : {
+ "many" : "через {0} годин",
+ "one" : "через {0} годину",
+ "other" : "через {0} години"
+ },
+ "current" : "цієї години",
+ "past" : {
+ "one" : "{0} годину тому",
+ "many" : "{0} годин тому",
+ "other" : "{0} години тому"
+ }
+ },
+ "year" : {
+ "past" : {
+ "other" : "{0} року тому",
+ "many" : "{0} років тому",
+ "few" : "{0} роки тому",
+ "one" : "{0} рік тому"
+ },
+ "future" : {
+ "one" : "через {0} рік",
+ "other" : "через {0} року",
+ "many" : "через {0} років",
+ "few" : "через {0} роки"
+ },
+ "previous" : "торік",
+ "current" : "цього року",
+ "next" : "наступного року"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "через {0} кв.",
+ "next" : "наступного кв.",
+ "previous" : "минулого кв.",
+ "current" : "цього кв.",
+ "past" : "{0} кв. тому"
+ },
+ "minute" : {
+ "current" : "цієї хвилини",
+ "past" : "{0} хв тому",
+ "future" : "через {0} хв"
+ },
+ "year" : {
+ "next" : "наступного року",
+ "future" : "через {0} р.",
+ "current" : "цього року",
+ "past" : "{0} р. тому",
+ "previous" : "торік"
+ },
+ "second" : {
+ "current" : "зараз",
+ "past" : "{0} с тому",
+ "future" : "через {0} с"
+ },
+ "hour" : {
+ "future" : "через {0} год",
+ "current" : "цієї години",
+ "past" : "{0} год тому"
+ },
+ "now" : "зараз",
+ "month" : {
+ "previous" : "минулого місяця",
+ "next" : "наступного місяця",
+ "past" : "{0} міс. тому",
+ "current" : "цього місяця",
+ "future" : "через {0} міс."
+ },
+ "week" : {
+ "previous" : "минулого тижня",
+ "current" : "цього тижня",
+ "next" : "наступного тижня",
+ "past" : "{0} тиж. тому",
+ "future" : "через {0} тиж."
+ },
+ "day" : {
+ "next" : "завтра",
+ "past" : "{0} дн. тому",
+ "future" : "через {0} дн.",
+ "previous" : "учора",
+ "current" : "сьогодні"
+ }
+ },
+ "narrow" : {
+ "week" : {
+ "previous" : "минулого тижня",
+ "current" : "цього тижня",
+ "past" : "{0} тиж. тому",
+ "future" : "за {0} тиж.",
+ "next" : "наступного тижня"
+ },
+ "quarter" : {
+ "next" : "наступного кв.",
+ "past" : "{0} кв. тому",
+ "future" : "за {0} кв.",
+ "previous" : "минулого кв.",
+ "current" : "цього кв."
+ },
+ "minute" : {
+ "future" : "за {0} хв",
+ "current" : "цієї хвилини",
+ "past" : "{0} хв тому"
+ },
+ "day" : {
+ "previous" : "учора",
+ "current" : "сьогодні",
+ "next" : "завтра",
+ "past" : {
+ "other" : "-{0} дн.",
+ "one" : "{0} д. тому"
+ },
+ "future" : "за {0} д."
+ },
+ "year" : {
+ "next" : "наступного року",
+ "past" : "{0} р. тому",
+ "current" : "цього року",
+ "previous" : "торік",
+ "future" : "за {0} р."
+ },
+ "second" : {
+ "future" : "за {0} с",
+ "current" : "зараз",
+ "past" : "{0} с тому"
+ },
+ "month" : {
+ "current" : "цього місяця",
+ "future" : "за {0} міс.",
+ "past" : "{0} міс. тому",
+ "next" : "наступного місяця",
+ "previous" : "минулого місяця"
+ },
+ "now" : "зараз",
+ "hour" : {
+ "past" : "{0} год тому",
+ "current" : "цієї години",
+ "future" : "за {0} год"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ur.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ur.json
new file mode 100644
index 00000000..f53486a3
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ur.json
@@ -0,0 +1,203 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "previous" : "گزشتہ سہ ماہی",
+ "current" : "اس سہ ماہی",
+ "next" : "اگلے سہ ماہی",
+ "past" : "{0} سہ ماہی پہلے",
+ "future" : "{0} سہ ماہی میں"
+ },
+ "month" : {
+ "past" : "{0} ماہ پہلے",
+ "next" : "اگلے مہینہ",
+ "future" : "{0} ماہ میں",
+ "previous" : "پچھلے مہینہ",
+ "current" : "اس مہینہ"
+ },
+ "week" : {
+ "next" : "اگلے ہفتہ",
+ "previous" : "پچھلے ہفتہ",
+ "past" : {
+ "one" : "{0} ہفتہ پہلے",
+ "other" : "{0} ہفتے پہلے"
+ },
+ "future" : {
+ "other" : "{0} ہفتے میں",
+ "one" : "{0} ہفتہ میں"
+ },
+ "current" : "اس ہفتہ"
+ },
+ "second" : {
+ "future" : "{0} سیکنڈ میں",
+ "current" : "اب",
+ "past" : "{0} سیکنڈ پہلے"
+ },
+ "day" : {
+ "current" : "آج",
+ "future" : {
+ "one" : "{0} دن میں",
+ "other" : "{0} دنوں میں"
+ },
+ "next" : "آئندہ کل",
+ "previous" : "گزشتہ کل",
+ "past" : "{0} دن پہلے"
+ },
+ "now" : "اب",
+ "hour" : {
+ "current" : "اس گھنٹے",
+ "future" : {
+ "one" : "{0} گھنٹہ میں",
+ "other" : "{0} گھنٹوں میں"
+ },
+ "past" : {
+ "one" : "{0} گھنٹہ پہلے",
+ "other" : "{0} گھنٹے پہلے"
+ }
+ },
+ "minute" : {
+ "past" : "{0} منٹ پہلے",
+ "current" : "اس منٹ",
+ "future" : "{0} منٹ میں"
+ },
+ "year" : {
+ "next" : "اگلے سال",
+ "past" : "{0} سال پہلے",
+ "future" : "{0} سال میں",
+ "previous" : "گزشتہ سال",
+ "current" : "اس سال"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "current" : "اس منٹ",
+ "past" : "{0} منٹ پہلے",
+ "future" : "{0} منٹ میں"
+ },
+ "month" : {
+ "current" : "اس مہینہ",
+ "past" : "{0} ماہ قبل",
+ "future" : "{0} ماہ میں",
+ "next" : "اگلے مہینہ",
+ "previous" : "پچھلے مہینہ"
+ },
+ "week" : {
+ "current" : "اس ہفتہ",
+ "past" : "{0} ہفتے پہلے",
+ "future" : "{0} ہفتے میں",
+ "next" : "اگلے ہفتہ",
+ "previous" : "پچھلے ہفتہ"
+ },
+ "hour" : {
+ "past" : "{0} گھنٹے پہلے",
+ "current" : "اس گھنٹے",
+ "future" : "{0} گھنٹے میں"
+ },
+ "day" : {
+ "next" : "آئندہ کل",
+ "current" : "آج",
+ "previous" : "گزشتہ کل",
+ "past" : {
+ "other" : "{0} دنوں پہلے",
+ "one" : "{0} دن پہلے"
+ },
+ "future" : {
+ "one" : "{0} دن میں",
+ "other" : "{0} دنوں میں"
+ }
+ },
+ "second" : {
+ "future" : "{0} سیکنڈ میں",
+ "current" : "اب",
+ "past" : "{0} سیکنڈ پہلے"
+ },
+ "now" : "اب",
+ "year" : {
+ "current" : "اس سال",
+ "future" : "{0} سال میں",
+ "past" : "{0} سال پہلے",
+ "next" : "اگلے سال",
+ "previous" : "گزشتہ سال"
+ },
+ "quarter" : {
+ "current" : "اس سہ ماہی",
+ "future" : "{0} سہ ماہی میں",
+ "previous" : "گزشتہ سہ ماہی",
+ "next" : "اگلے سہ ماہی",
+ "past" : "{0} سہ ماہی قبل"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "گزشتہ کل",
+ "past" : {
+ "other" : "{0} دنوں پہلے",
+ "one" : "{0} دن پہلے"
+ },
+ "future" : {
+ "one" : "{0} دن میں",
+ "other" : "{0} دنوں میں"
+ },
+ "next" : "آئندہ کل",
+ "current" : "آج"
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} گھنٹے پہلے",
+ "one" : "{0} گھنٹہ پہلے"
+ },
+ "future" : "{0} گھنٹے میں",
+ "current" : "اس گھنٹے"
+ },
+ "month" : {
+ "next" : "اگلا مہینہ",
+ "current" : "اس مہینہ",
+ "past" : {
+ "one" : "{0} مہینہ پہلے",
+ "other" : "{0} مہینے پہلے"
+ },
+ "previous" : "پچھلا مہینہ",
+ "future" : {
+ "one" : "{0} مہینہ میں",
+ "other" : "{0} مہینے میں"
+ }
+ },
+ "quarter" : {
+ "current" : "اس سہ ماہی",
+ "past" : "{0} سہ ماہی پہلے",
+ "previous" : "گزشتہ سہ ماہی",
+ "future" : "{0} سہ ماہی میں",
+ "next" : "اگلے سہ ماہی"
+ },
+ "year" : {
+ "past" : "{0} سال پہلے",
+ "previous" : "گزشتہ سال",
+ "next" : "اگلے سال",
+ "future" : "{0} سال میں",
+ "current" : "اس سال"
+ },
+ "minute" : {
+ "current" : "اس منٹ",
+ "future" : "{0} منٹ میں",
+ "past" : "{0} منٹ پہلے"
+ },
+ "second" : {
+ "future" : "{0} سیکنڈ میں",
+ "current" : "اب",
+ "past" : "{0} سیکنڈ پہلے"
+ },
+ "week" : {
+ "future" : {
+ "one" : "{0} ہفتہ میں",
+ "other" : "{0} ہفتے میں"
+ },
+ "previous" : "پچھلے ہفتہ",
+ "current" : "اس ہفتہ",
+ "next" : "اگلے ہفتہ",
+ "past" : {
+ "one" : "{0} ہفتہ پہلے",
+ "other" : "{0} ہفتے پہلے"
+ }
+ },
+ "now" : "اب"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ur_IN.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ur_IN.json
new file mode 100644
index 00000000..6206490e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/ur_IN.json
@@ -0,0 +1,203 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "previous" : "گزشتہ سہ ماہی",
+ "current" : "اس سہ ماہی",
+ "next" : "اگلے سہ ماہی",
+ "past" : "{0} سہ ماہی پہلے",
+ "future" : "{0} سہ ماہی میں"
+ },
+ "month" : {
+ "past" : "{0} ماہ قبل",
+ "next" : "اگلے مہینہ",
+ "future" : "{0} ماہ میں",
+ "previous" : "پچھلے مہینہ",
+ "current" : "اس مہینہ"
+ },
+ "week" : {
+ "next" : "اگلے ہفتہ",
+ "previous" : "پچھلے ہفتہ",
+ "past" : {
+ "other" : "{0} ہفتے قبل",
+ "one" : "{0} ہفتہ قبل"
+ },
+ "future" : {
+ "one" : "{0} ہفتہ میں",
+ "other" : "{0} ہفتے میں"
+ },
+ "current" : "اس ہفتہ"
+ },
+ "second" : {
+ "future" : "{0} سیکنڈ میں",
+ "current" : "اب",
+ "past" : "{0} سیکنڈ قبل"
+ },
+ "day" : {
+ "current" : "آج",
+ "future" : {
+ "one" : "{0} دن میں",
+ "other" : "{0} دنوں میں"
+ },
+ "next" : "آئندہ کل",
+ "previous" : "گزشتہ کل",
+ "past" : "{0} دن قبل"
+ },
+ "now" : "اب",
+ "hour" : {
+ "future" : {
+ "other" : "{0} گھنٹوں میں",
+ "one" : "{0} گھنٹہ میں"
+ },
+ "past" : {
+ "one" : "{0} گھنٹہ قبل",
+ "other" : "{0} گھنٹے قبل"
+ },
+ "current" : "اس گھنٹے"
+ },
+ "minute" : {
+ "future" : "{0} منٹ میں",
+ "current" : "اس منٹ",
+ "past" : "{0} منٹ قبل"
+ },
+ "year" : {
+ "next" : "اگلے سال",
+ "past" : "{0} سال پہلے",
+ "future" : "{0} سال میں",
+ "previous" : "گزشتہ سال",
+ "current" : "اس سال"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "گزشتہ کل",
+ "past" : {
+ "other" : "{0} دنوں پہلے",
+ "one" : "{0} دن پہلے"
+ },
+ "future" : {
+ "one" : "{0} دن میں",
+ "other" : "{0} دنوں میں"
+ },
+ "next" : "آئندہ کل",
+ "current" : "آج"
+ },
+ "hour" : {
+ "past" : {
+ "other" : "{0} گھنٹے پہلے",
+ "one" : "{0} گھنٹہ پہلے"
+ },
+ "future" : "{0} گھنٹے میں",
+ "current" : "اس گھنٹے"
+ },
+ "month" : {
+ "future" : "{0} ماہ میں",
+ "past" : "{0} ماہ قبل",
+ "next" : "اگلے ماہ",
+ "current" : "اس ماہ",
+ "previous" : "گزشتہ ماہ"
+ },
+ "quarter" : {
+ "previous" : "گزشتہ سہ ماہی",
+ "next" : "اگلے سہ ماہی",
+ "past" : "{0} سہ ماہی پہلے",
+ "future" : "{0} سہ ماہی میں",
+ "current" : "اس سہ ماہی"
+ },
+ "year" : {
+ "past" : "{0} سال پہلے",
+ "previous" : "گزشتہ سال",
+ "next" : "اگلے سال",
+ "future" : {
+ "one" : "{0} سال میں",
+ "other" : "{0} سالوں میں"
+ },
+ "current" : "اس سال"
+ },
+ "minute" : {
+ "current" : "اس منٹ",
+ "future" : "{0} منٹ میں",
+ "past" : "{0} منٹ قبل"
+ },
+ "second" : {
+ "future" : "{0} سیکنڈ میں",
+ "current" : "اب",
+ "past" : "{0} سیکنڈ قبل"
+ },
+ "week" : {
+ "future" : {
+ "one" : "{0} ہفتہ میں",
+ "other" : "{0} ہفتوں میں"
+ },
+ "previous" : "گزشتہ ہفتہ",
+ "current" : "اس ہفتہ",
+ "next" : "اگلے ہفتہ",
+ "past" : {
+ "one" : "{0} ہفتہ قبل",
+ "other" : "{0} ہفتے قبل"
+ }
+ },
+ "now" : "اب"
+ },
+ "short" : {
+ "minute" : {
+ "future" : "{0} منٹ میں",
+ "current" : "اس منٹ",
+ "past" : "{0} منٹ قبل"
+ },
+ "month" : {
+ "current" : "اس مہینہ",
+ "past" : "{0} ماہ قبل",
+ "future" : "{0} ماہ میں",
+ "next" : "اگلے مہینہ",
+ "previous" : "پچھلے مہینہ"
+ },
+ "week" : {
+ "current" : "اس ہفتہ",
+ "past" : "{0} ہفتے قبل",
+ "future" : "{0} ہفتے میں",
+ "next" : "اگلے ہفتہ",
+ "previous" : "پچھلے ہفتہ"
+ },
+ "hour" : {
+ "current" : "اس گھنٹے",
+ "past" : "{0} گھنٹے قبل",
+ "future" : "{0} گھنٹے میں"
+ },
+ "day" : {
+ "next" : "آئندہ کل",
+ "current" : "آج",
+ "previous" : "گزشتہ کل",
+ "past" : {
+ "one" : "{0} دن پہلے",
+ "other" : "{0} دنوں پہلے"
+ },
+ "future" : "{0} دنوں میں"
+ },
+ "second" : {
+ "future" : "{0} سیکنڈ میں",
+ "current" : "اب",
+ "past" : "{0} سیکنڈ قبل"
+ },
+ "now" : "اب",
+ "year" : {
+ "future" : {
+ "one" : "{0} سال میں",
+ "other" : "{0} سالوں میں"
+ },
+ "previous" : "گزشتہ سال",
+ "next" : "اگلے سال",
+ "current" : "اس سال",
+ "past" : {
+ "other" : "{0} سالوں پہلے",
+ "one" : "{0} سال پہلے"
+ }
+ },
+ "quarter" : {
+ "current" : "اس سہ ماہی",
+ "future" : "{0} سہ ماہی میں",
+ "previous" : "گزشتہ سہ ماہی",
+ "next" : "اگلے سہ ماہی",
+ "past" : "{0} سہ ماہی قبل"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uz.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uz.json
new file mode 100644
index 00000000..bee6c394
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uz.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "{0} chorak oldin",
+ "future" : "{0} chorakdan keyin",
+ "current" : "shu chorak",
+ "previous" : "o‘tgan chorak",
+ "next" : "keyingi chorak"
+ },
+ "year" : {
+ "previous" : "oʻtgan yil",
+ "next" : "keyingi yil",
+ "future" : "{0} yildan keyin",
+ "current" : "bu yil",
+ "past" : "{0} yil oldin"
+ },
+ "week" : {
+ "future" : "{0} haftadan keyin",
+ "previous" : "o‘tgan hafta",
+ "next" : "keyingi hafta",
+ "past" : "{0} hafta oldin",
+ "current" : "shu hafta"
+ },
+ "day" : {
+ "current" : "bugun",
+ "past" : "{0} kun oldin",
+ "next" : "ertaga",
+ "future" : "{0} kundan keyin",
+ "previous" : "kecha"
+ },
+ "hour" : {
+ "current" : "shu soatda",
+ "past" : "{0} soat oldin",
+ "future" : "{0} soatdan keyin"
+ },
+ "minute" : {
+ "future" : "{0} daqiqadan keyin",
+ "current" : "shu daqiqada",
+ "past" : "{0} daqiqa oldin"
+ },
+ "month" : {
+ "next" : "keyingi oy",
+ "current" : "shu oy",
+ "past" : "{0} oy oldin",
+ "future" : "{0} oydan keyin",
+ "previous" : "o‘tgan oy"
+ },
+ "now" : "hozir",
+ "second" : {
+ "future" : "{0} soniyadan keyin",
+ "current" : "hozir",
+ "past" : "{0} soniya oldin"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} daqiqa oldin",
+ "future" : "{0} daqiqadan keyin",
+ "current" : "shu daqiqada"
+ },
+ "week" : {
+ "current" : "shu hafta",
+ "past" : "{0} hafta oldin",
+ "future" : "{0} haftadan keyin",
+ "next" : "keyingi hafta",
+ "previous" : "o‘tgan hafta"
+ },
+ "year" : {
+ "future" : "{0} yildan keyin",
+ "previous" : "oʻtgan yil",
+ "next" : "keyingi yil",
+ "current" : "bu yil",
+ "past" : "{0} yil oldin"
+ },
+ "day" : {
+ "next" : "ertaga",
+ "current" : "bugun",
+ "previous" : "kecha",
+ "past" : "{0} kun oldin",
+ "future" : "{0} kundan keyin"
+ },
+ "hour" : {
+ "future" : "{0} soatdan keyin",
+ "current" : "shu soatda",
+ "past" : "{0} soat oldin"
+ },
+ "quarter" : {
+ "current" : "shu chorak",
+ "future" : "{0} chorakdan keyin",
+ "previous" : "o‘tgan chorak",
+ "next" : "keyingi chorak",
+ "past" : "{0} chorak oldin"
+ },
+ "second" : {
+ "past" : "{0} soniya oldin",
+ "current" : "hozir",
+ "future" : "{0} soniyadan keyin"
+ },
+ "month" : {
+ "current" : "shu oy",
+ "past" : "{0} oy oldin",
+ "future" : "{0} oydan keyin",
+ "next" : "keyingi oy",
+ "previous" : "o‘tgan oy"
+ },
+ "now" : "hozir"
+ },
+ "long" : {
+ "hour" : {
+ "future" : "{0} soatdan keyin",
+ "current" : "shu soatda",
+ "past" : "{0} soat oldin"
+ },
+ "day" : {
+ "next" : "ertaga",
+ "past" : "{0} kun oldin",
+ "previous" : "kecha",
+ "future" : "{0} kundan keyin",
+ "current" : "bugun"
+ },
+ "second" : {
+ "past" : "{0} soniya oldin",
+ "current" : "hozir",
+ "future" : "{0} soniyadan keyin"
+ },
+ "week" : {
+ "future" : "{0} haftadan keyin",
+ "past" : "{0} hafta oldin",
+ "current" : "shu hafta",
+ "next" : "keyingi hafta",
+ "previous" : "o‘tgan hafta"
+ },
+ "minute" : {
+ "future" : "{0} daqiqadan keyin",
+ "past" : "{0} daqiqa oldin",
+ "current" : "shu daqiqada"
+ },
+ "month" : {
+ "future" : "{0} oydan keyin",
+ "past" : "{0} oy oldin",
+ "current" : "shu oy",
+ "previous" : "o‘tgan oy",
+ "next" : "keyingi oy"
+ },
+ "now" : "hozir",
+ "year" : {
+ "current" : "shu yil",
+ "next" : "keyingi yil",
+ "previous" : "o‘tgan yil",
+ "future" : "{0} yildan keyin",
+ "past" : "{0} yil oldin"
+ },
+ "quarter" : {
+ "future" : "{0} chorakdan keyin",
+ "previous" : "o‘tgan chorak",
+ "past" : "{0} chorak oldin",
+ "next" : "keyingi chorak",
+ "current" : "shu chorak"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uz_Cyrl.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uz_Cyrl.json
new file mode 100644
index 00000000..8c6a32c3
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/uz_Cyrl.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "current" : "this quarter",
+ "previous" : "last quarter",
+ "next" : "next quarter"
+ },
+ "year" : {
+ "previous" : "ўтган йил",
+ "next" : "кейинги йил",
+ "future" : "{0} йилдан сўнг",
+ "current" : "бу йил",
+ "past" : "{0} йил аввал"
+ },
+ "week" : {
+ "future" : "{0} ҳафтадан сўнг",
+ "previous" : "ўтган ҳафта",
+ "next" : "кейинги ҳафта",
+ "past" : "{0} ҳафта олдин",
+ "current" : "бу ҳафта"
+ },
+ "day" : {
+ "current" : "бугун",
+ "past" : "{0} кун олдин",
+ "next" : "эртага",
+ "future" : "{0} кундан сўнг",
+ "previous" : "кеча"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : "{0} соат олдин",
+ "future" : "{0} соатдан сўнг"
+ },
+ "minute" : {
+ "future" : "{0} дақиқадан сўнг",
+ "current" : "this minute",
+ "past" : "{0} дақиқа олдин"
+ },
+ "month" : {
+ "next" : "кейинги ой",
+ "current" : "бу ой",
+ "past" : "{0} ой аввал",
+ "future" : "{0} ойдан сўнг",
+ "previous" : "ўтган ой"
+ },
+ "now" : "ҳозир",
+ "second" : {
+ "future" : "{0} сониядан сўнг",
+ "current" : "ҳозир",
+ "past" : "{0} сония олдин"
+ }
+ },
+ "long" : {
+ "hour" : {
+ "future" : "{0} соатдан сўнг",
+ "current" : "this hour",
+ "past" : "{0} соат олдин"
+ },
+ "day" : {
+ "next" : "эртага",
+ "past" : "{0} кун олдин",
+ "previous" : "кеча",
+ "future" : "{0} кундан сўнг",
+ "current" : "бугун"
+ },
+ "second" : {
+ "past" : "{0} сония олдин",
+ "current" : "ҳозир",
+ "future" : "{0} сониядан сўнг"
+ },
+ "week" : {
+ "future" : "{0} ҳафтадан сўнг",
+ "past" : "{0} ҳафта олдин",
+ "current" : "бу ҳафта",
+ "next" : "кейинги ҳафта",
+ "previous" : "ўтган ҳафта"
+ },
+ "minute" : {
+ "future" : "{0} дақиқадан сўнг",
+ "past" : "{0} дақиқа олдин",
+ "current" : "this minute"
+ },
+ "month" : {
+ "future" : "{0} ойдан сўнг",
+ "past" : "{0} ой аввал",
+ "current" : "бу ой",
+ "previous" : "ўтган ой",
+ "next" : "кейинги ой"
+ },
+ "now" : "ҳозир",
+ "year" : {
+ "current" : "бу йил",
+ "next" : "кейинги йил",
+ "previous" : "ўтган йил",
+ "future" : "{0} йилдан сўнг",
+ "past" : "{0} йил аввал"
+ },
+ "quarter" : {
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "past" : "-{0} Q",
+ "next" : "next quarter",
+ "current" : "this quarter"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0} дақиқа олдин",
+ "future" : "{0} дақиқадан сўнг",
+ "current" : "this minute"
+ },
+ "week" : {
+ "current" : "бу ҳафта",
+ "past" : "{0} ҳафта олдин",
+ "future" : "{0} ҳафтадан сўнг",
+ "next" : "кейинги ҳафта",
+ "previous" : "ўтган ҳафта"
+ },
+ "year" : {
+ "future" : "{0} йилдан сўнг",
+ "previous" : "ўтган йил",
+ "next" : "кейинги йил",
+ "current" : "бу йил",
+ "past" : "{0} йил аввал"
+ },
+ "day" : {
+ "next" : "эртага",
+ "current" : "бугун",
+ "previous" : "кеча",
+ "past" : "{0} кун олдин",
+ "future" : "{0} кундан сўнг"
+ },
+ "hour" : {
+ "future" : "{0} соатдан сўнг",
+ "current" : "this hour",
+ "past" : "{0} соат олдин"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q"
+ },
+ "second" : {
+ "past" : "{0} сония олдин",
+ "current" : "ҳозир",
+ "future" : "{0} сониядан сўнг"
+ },
+ "month" : {
+ "current" : "бу ой",
+ "past" : "{0} ой аввал",
+ "future" : "{0} ойдан сўнг",
+ "next" : "кейинги ой",
+ "previous" : "ўтган ой"
+ },
+ "now" : "ҳозир"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/vi.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/vi.json
new file mode 100644
index 00000000..89251db9
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/vi.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "week" : {
+ "past" : "{0} tuần trước",
+ "future" : "sau {0} tuần nữa",
+ "current" : "tuần này",
+ "previous" : "tuần trước",
+ "next" : "tuần sau"
+ },
+ "hour" : {
+ "current" : "giờ này",
+ "past" : "{0} giờ trước",
+ "future" : "sau {0} giờ nữa"
+ },
+ "now" : "bây giờ",
+ "day" : {
+ "next" : "Ngày mai",
+ "current" : "Hôm nay",
+ "past" : "{0} ngày trước",
+ "future" : "sau {0} ngày nữa",
+ "previous" : "Hôm qua"
+ },
+ "minute" : {
+ "future" : "sau {0} phút nữa",
+ "current" : "phút này",
+ "past" : "{0} phút trước"
+ },
+ "quarter" : {
+ "next" : "quý sau",
+ "future" : "sau {0} quý nữa",
+ "previous" : "quý trước",
+ "current" : "quý này",
+ "past" : "{0} quý trước"
+ },
+ "second" : {
+ "future" : "sau {0} giây nữa",
+ "current" : "bây giờ",
+ "past" : "{0} giây trước"
+ },
+ "year" : {
+ "next" : "năm sau",
+ "previous" : "năm ngoái",
+ "current" : "năm nay",
+ "future" : "sau {0} năm nữa",
+ "past" : "{0} năm trước"
+ },
+ "month" : {
+ "previous" : "tháng trước",
+ "next" : "tháng sau",
+ "future" : "sau {0} tháng nữa",
+ "current" : "tháng này",
+ "past" : "{0} tháng trước"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "future" : "sau {0} giờ nữa",
+ "current" : "giờ này",
+ "past" : "{0} giờ trước"
+ },
+ "now" : "bây giờ",
+ "quarter" : {
+ "future" : "sau {0} quý nữa",
+ "previous" : "quý trước",
+ "next" : "quý sau",
+ "current" : "quý này",
+ "past" : "{0} quý trước"
+ },
+ "day" : {
+ "current" : "Hôm nay",
+ "past" : "{0} ngày trước",
+ "future" : "sau {0} ngày nữa",
+ "next" : "Ngày mai",
+ "previous" : "Hôm qua"
+ },
+ "week" : {
+ "current" : "tuần này",
+ "future" : "sau {0} tuần nữa",
+ "previous" : "tuần trước",
+ "next" : "tuần sau",
+ "past" : "{0} tuần trước"
+ },
+ "minute" : {
+ "past" : "{0} phút trước",
+ "future" : "sau {0} phút nữa",
+ "current" : "phút này"
+ },
+ "second" : {
+ "past" : "{0} giây trước",
+ "current" : "bây giờ",
+ "future" : "sau {0} giây nữa"
+ },
+ "month" : {
+ "current" : "tháng này",
+ "future" : "sau {0} tháng nữa",
+ "past" : "{0} tháng trước",
+ "next" : "tháng sau",
+ "previous" : "tháng trước"
+ },
+ "year" : {
+ "past" : "{0} năm trước",
+ "future" : "sau {0} năm nữa",
+ "previous" : "năm ngoái",
+ "current" : "năm nay",
+ "next" : "năm sau"
+ }
+ },
+ "long" : {
+ "month" : {
+ "current" : "tháng này",
+ "next" : "tháng sau",
+ "previous" : "tháng trước",
+ "future" : "sau {0} tháng nữa",
+ "past" : "{0} tháng trước"
+ },
+ "quarter" : {
+ "future" : "sau {0} quý nữa",
+ "next" : "quý sau",
+ "past" : "{0} quý trước",
+ "previous" : "quý trước",
+ "current" : "quý này"
+ },
+ "minute" : {
+ "future" : "sau {0} phút nữa",
+ "past" : "{0} phút trước",
+ "current" : "phút này"
+ },
+ "day" : {
+ "future" : "sau {0} ngày nữa",
+ "past" : "{0} ngày trước",
+ "current" : "Hôm nay",
+ "previous" : "Hôm qua",
+ "next" : "Ngày mai"
+ },
+ "year" : {
+ "previous" : "năm ngoái",
+ "current" : "năm nay",
+ "future" : "sau {0} năm nữa",
+ "next" : "năm sau",
+ "past" : "{0} năm trước"
+ },
+ "week" : {
+ "future" : "sau {0} tuần nữa",
+ "previous" : "tuần trước",
+ "past" : "{0} tuần trước",
+ "next" : "tuần sau",
+ "current" : "tuần này"
+ },
+ "second" : {
+ "past" : "{0} giây trước",
+ "current" : "bây giờ",
+ "future" : "sau {0} giây nữa"
+ },
+ "hour" : {
+ "future" : "sau {0} giờ nữa",
+ "current" : "giờ này",
+ "past" : "{0} giờ trước"
+ },
+ "now" : "bây giờ"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/wae.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/wae.json
new file mode 100644
index 00000000..a063f425
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/wae.json
@@ -0,0 +1,260 @@
+{
+ "narrow" : {
+ "week" : {
+ "next" : "next week",
+ "current" : "this week",
+ "previous" : "last week",
+ "past" : {
+ "one" : "vor {0} wuča",
+ "other" : "cor {0} wučä"
+ },
+ "future" : {
+ "other" : "i {0} wučä",
+ "one" : "i {0} wuča"
+ }
+ },
+ "hour" : {
+ "past" : {
+ "other" : "vor {0} stunde",
+ "one" : "vor {0} stund"
+ },
+ "future" : {
+ "other" : "i {0} stunde",
+ "one" : "i {0} stund"
+ },
+ "current" : "this hour"
+ },
+ "second" : {
+ "current" : "now",
+ "past" : {
+ "one" : "vor {0} sekund",
+ "other" : "vor {0} sekunde"
+ },
+ "future" : {
+ "one" : "i {0} sekund",
+ "other" : "i {0} sekunde"
+ }
+ },
+ "quarter" : {
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "current" : "this quarter",
+ "previous" : "last quarter",
+ "future" : "+{0} Q"
+ },
+ "now" : "now",
+ "day" : {
+ "future" : {
+ "other" : "i {0} täg",
+ "one" : "i {0} tag"
+ },
+ "current" : "Hitte",
+ "next" : "Móre",
+ "past" : {
+ "one" : "vor {0} tag",
+ "other" : "vor {0} täg"
+ },
+ "previous" : "Gešter"
+ },
+ "month" : {
+ "next" : "next month",
+ "past" : "vor {0} mánet",
+ "future" : "I {0} mánet",
+ "previous" : "last month",
+ "current" : "this month"
+ },
+ "year" : {
+ "previous" : "last year",
+ "past" : {
+ "one" : "vor {0} jár",
+ "other" : "cor {0} jár"
+ },
+ "current" : "this year",
+ "next" : "next year",
+ "future" : "I {0} jár"
+ },
+ "minute" : {
+ "past" : {
+ "other" : "vor {0} minüte",
+ "one" : "vor {0} minüta"
+ },
+ "current" : "this minute",
+ "future" : {
+ "one" : "i {0} minüta",
+ "other" : "i {0} minüte"
+ }
+ }
+ },
+ "long" : {
+ "day" : {
+ "next" : "Móre",
+ "future" : {
+ "one" : "i {0} tag",
+ "other" : "i {0} täg"
+ },
+ "current" : "Hitte",
+ "previous" : "Gešter",
+ "past" : {
+ "one" : "vor {0} tag",
+ "other" : "vor {0} täg"
+ }
+ },
+ "minute" : {
+ "current" : "this minute",
+ "past" : {
+ "other" : "vor {0} minüte",
+ "one" : "vor {0} minüta"
+ },
+ "future" : {
+ "other" : "i {0} minüte",
+ "one" : "i {0} minüta"
+ }
+ },
+ "second" : {
+ "current" : "now",
+ "future" : {
+ "other" : "i {0} sekunde",
+ "one" : "i {0} sekund"
+ },
+ "past" : {
+ "one" : "vor {0} sekund",
+ "other" : "vor {0} sekunde"
+ }
+ },
+ "month" : {
+ "past" : "vor {0} mánet",
+ "previous" : "last month",
+ "current" : "this month",
+ "next" : "next month",
+ "future" : "I {0} mánet"
+ },
+ "week" : {
+ "future" : {
+ "other" : "i {0} wučä",
+ "one" : "i {0} wuča"
+ },
+ "next" : "next week",
+ "current" : "this week",
+ "past" : {
+ "one" : "vor {0} wuča",
+ "other" : "cor {0} wučä"
+ },
+ "previous" : "last week"
+ },
+ "now" : "now",
+ "hour" : {
+ "past" : {
+ "one" : "vor {0} stund",
+ "other" : "vor {0} stunde"
+ },
+ "current" : "this hour",
+ "future" : {
+ "one" : "i {0} stund",
+ "other" : "i {0} stunde"
+ }
+ },
+ "year" : {
+ "previous" : "last year",
+ "current" : "this year",
+ "next" : "next year",
+ "past" : {
+ "one" : "vor {0} jár",
+ "other" : "cor {0} jár"
+ },
+ "future" : "I {0} jár"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "past" : "-{0} Q",
+ "previous" : "last quarter",
+ "next" : "next quarter"
+ }
+ },
+ "short" : {
+ "week" : {
+ "future" : {
+ "other" : "i {0} wučä",
+ "one" : "i {0} wuča"
+ },
+ "next" : "next week",
+ "current" : "this week",
+ "past" : {
+ "one" : "vor {0} wuča",
+ "other" : "cor {0} wučä"
+ },
+ "previous" : "last week"
+ },
+ "minute" : {
+ "current" : "this minute",
+ "future" : {
+ "one" : "i {0} minüta",
+ "other" : "i {0} minüte"
+ },
+ "past" : {
+ "other" : "vor {0} minüte",
+ "one" : "vor {0} minüta"
+ }
+ },
+ "day" : {
+ "next" : "Móre",
+ "current" : "Hitte",
+ "previous" : "Gešter",
+ "future" : {
+ "one" : "i {0} tag",
+ "other" : "i {0} täg"
+ },
+ "past" : {
+ "other" : "vor {0} täg",
+ "one" : "vor {0} tag"
+ }
+ },
+ "now" : "now",
+ "second" : {
+ "past" : {
+ "one" : "vor {0} sekund",
+ "other" : "vor {0} sekunde"
+ },
+ "future" : {
+ "one" : "i {0} sekund",
+ "other" : "i {0} sekunde"
+ },
+ "current" : "now"
+ },
+ "hour" : {
+ "current" : "this hour",
+ "past" : {
+ "other" : "vor {0} stunde",
+ "one" : "vor {0} stund"
+ },
+ "future" : {
+ "one" : "i {0} stund",
+ "other" : "i {0} stunde"
+ }
+ },
+ "month" : {
+ "past" : "vor {0} mánet",
+ "future" : "I {0} mánet",
+ "next" : "next month",
+ "previous" : "last month",
+ "current" : "this month"
+ },
+ "year" : {
+ "past" : {
+ "one" : "vor {0} jár",
+ "other" : "cor {0} jár"
+ },
+ "future" : "I {0} jár",
+ "previous" : "last year",
+ "current" : "this year",
+ "next" : "next year"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "future" : "+{0} Q",
+ "next" : "next quarter",
+ "past" : "-{0} Q",
+ "current" : "this quarter"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yi.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yi.json
new file mode 100644
index 00000000..95d65826
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yi.json
@@ -0,0 +1,191 @@
+{
+ "long" : {
+ "quarter" : {
+ "next" : "next quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "past" : "-{0} Q",
+ "current" : "this quarter"
+ },
+ "month" : {
+ "current" : "דעם חודש",
+ "next" : "קומענדיקן חודש",
+ "previous" : "פֿאַרגאנגענעם חודש",
+ "past" : {
+ "one" : "פֿאַר {0} חודש",
+ "other" : "פֿאַר {0} חדשים"
+ },
+ "future" : {
+ "one" : "איבער {0} חודש",
+ "other" : "איבער {0} חדשים"
+ }
+ },
+ "second" : {
+ "future" : "+{0} s",
+ "current" : "now",
+ "past" : "-{0} s"
+ },
+ "hour" : {
+ "past" : "-{0} h",
+ "current" : "this hour",
+ "future" : "+{0} h"
+ },
+ "day" : {
+ "future" : {
+ "one" : "אין {0} טאָג אַרום",
+ "other" : "אין {0} טעג אַרום"
+ },
+ "previous" : "נעכטן",
+ "past" : "-{0} d",
+ "next" : "מארגן",
+ "current" : "היינט"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "future" : "+{0} min",
+ "current" : "this minute"
+ },
+ "week" : {
+ "past" : "-{0} w",
+ "previous" : "last week",
+ "future" : "+{0} w",
+ "current" : "this week",
+ "next" : "איבער אַכט טאָג"
+ },
+ "year" : {
+ "next" : "איבער א יאָר",
+ "current" : "הײַ יאָר",
+ "previous" : "פֿאַראַיאָר",
+ "future" : "איבער {0} יאָר",
+ "past" : "פֿאַר {0} יאָר"
+ },
+ "now" : "now"
+ },
+ "narrow" : {
+ "year" : {
+ "current" : "הײַ יאָר",
+ "next" : "איבער א יאָר",
+ "past" : "פֿאַר {0} יאָר",
+ "future" : "איבער {0} יאָר",
+ "previous" : "פֿאַראַיאָר"
+ },
+ "second" : {
+ "past" : "-{0} s",
+ "future" : "+{0} s",
+ "current" : "now"
+ },
+ "hour" : {
+ "future" : "+{0} h",
+ "current" : "this hour",
+ "past" : "-{0} h"
+ },
+ "week" : {
+ "current" : "this week",
+ "previous" : "last week",
+ "past" : "-{0} w",
+ "next" : "איבער אַכט טאָג",
+ "future" : "+{0} w"
+ },
+ "day" : {
+ "current" : "היינט",
+ "next" : "מארגן",
+ "past" : "-{0} d",
+ "previous" : "נעכטן",
+ "future" : {
+ "one" : "אין {0} טאָג אַרום",
+ "other" : "אין {0} טעג אַרום"
+ }
+ },
+ "month" : {
+ "current" : "דעם חודש",
+ "next" : "קומענדיקן חודש",
+ "past" : {
+ "one" : "פֿאַר {0} חודש",
+ "other" : "פֿאַר {0} חדשים"
+ },
+ "previous" : "פֿאַרגאנגענעם חודש",
+ "future" : {
+ "one" : "איבער {0} חודש",
+ "other" : "איבער {0} חדשים"
+ }
+ },
+ "now" : "now",
+ "minute" : {
+ "future" : "+{0} min",
+ "current" : "this minute",
+ "past" : "-{0} min"
+ },
+ "quarter" : {
+ "previous" : "last quarter",
+ "current" : "this quarter",
+ "past" : "-{0} Q",
+ "future" : "+{0} Q",
+ "next" : "next quarter"
+ }
+ },
+ "short" : {
+ "month" : {
+ "next" : "קומענדיקן חודש",
+ "past" : {
+ "one" : "פֿאַר {0} חודש",
+ "other" : "פֿאַר {0} חדשים"
+ },
+ "current" : "דעם חודש",
+ "previous" : "פֿאַרגאנגענעם חודש",
+ "future" : {
+ "one" : "איבער {0} חודש",
+ "other" : "איבער {0} חדשים"
+ }
+ },
+ "now" : "now",
+ "day" : {
+ "next" : "מארגן",
+ "current" : "היינט",
+ "previous" : "נעכטן",
+ "past" : "-{0} d",
+ "future" : {
+ "other" : "אין {0} טעג אַרום",
+ "one" : "אין {0} טאָג אַרום"
+ }
+ },
+ "year" : {
+ "previous" : "פֿאַראַיאָר",
+ "current" : "הײַ יאָר",
+ "next" : "איבער א יאָר",
+ "past" : "פֿאַר {0} יאָר",
+ "future" : {
+ "other" : "איבער {0} יאָר",
+ "one" : "איבער א יאָר"
+ }
+ },
+ "hour" : {
+ "past" : "-{0} h",
+ "future" : "+{0} h",
+ "current" : "this hour"
+ },
+ "minute" : {
+ "past" : "-{0} min",
+ "future" : "+{0} min",
+ "current" : "this minute"
+ },
+ "second" : {
+ "current" : "now",
+ "future" : "+{0} s",
+ "past" : "-{0} s"
+ },
+ "quarter" : {
+ "current" : "this quarter",
+ "future" : "+{0} Q",
+ "previous" : "last quarter",
+ "next" : "next quarter",
+ "past" : "-{0} Q"
+ },
+ "week" : {
+ "future" : "+{0} w",
+ "previous" : "last week",
+ "next" : "איבער אַכט טאָג",
+ "past" : "-{0} w",
+ "current" : "this week"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yue_Hans.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yue_Hans.json
new file mode 100644
index 00000000..06c1a41d
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yue_Hans.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "day" : {
+ "next" : "听日",
+ "future" : "{0} 日后",
+ "previous" : "寻日",
+ "current" : "今日",
+ "past" : "{0} 日前"
+ },
+ "quarter" : {
+ "next" : "下季",
+ "past" : "{0} 季前",
+ "future" : "{0} 季后",
+ "previous" : "上季",
+ "current" : "今季"
+ },
+ "hour" : {
+ "future" : "{0} 小时后",
+ "current" : "呢个小时",
+ "past" : "{0} 小时前"
+ },
+ "year" : {
+ "next" : "下年",
+ "past" : "{0} 年前",
+ "current" : "今年",
+ "previous" : "旧年",
+ "future" : "{0} 年后"
+ },
+ "now" : "宜家",
+ "month" : {
+ "current" : "今个月",
+ "future" : "{0} 个月后",
+ "past" : "{0} 个月前",
+ "next" : "下个月",
+ "previous" : "上个月"
+ },
+ "week" : {
+ "previous" : "上星期",
+ "current" : "今个星期",
+ "past" : "{0} 个星期前",
+ "future" : "{0} 个星期后",
+ "next" : "下星期"
+ },
+ "minute" : {
+ "past" : "{0} 分钟前",
+ "future" : "{0} 分钟后",
+ "current" : "呢分钟"
+ },
+ "second" : {
+ "past" : "{0} 秒前",
+ "current" : "宜家",
+ "future" : "{0} 秒后"
+ }
+ },
+ "long" : {
+ "day" : {
+ "previous" : "寻日",
+ "current" : "今日",
+ "next" : "听日",
+ "past" : "{0} 日前",
+ "future" : "{0} 日后"
+ },
+ "week" : {
+ "current" : "今个星期",
+ "future" : "{0} 个星期后",
+ "past" : "{0} 个星期前",
+ "previous" : "上星期",
+ "next" : "下星期"
+ },
+ "minute" : {
+ "current" : "呢分钟",
+ "past" : "{0} 分钟前",
+ "future" : "{0} 分钟后"
+ },
+ "month" : {
+ "future" : "{0} 个月后",
+ "next" : "下个月",
+ "previous" : "上个月",
+ "current" : "今个月",
+ "past" : "{0} 个月前"
+ },
+ "hour" : {
+ "past" : "{0} 小时前",
+ "current" : "呢个小时",
+ "future" : "{0} 小时后"
+ },
+ "year" : {
+ "past" : "{0} 年前",
+ "future" : "{0} 年后",
+ "previous" : "旧年",
+ "next" : "下年",
+ "current" : "今年"
+ },
+ "second" : {
+ "current" : "宜家",
+ "past" : "{0} 秒前",
+ "future" : "{0} 秒后"
+ },
+ "now" : "宜家",
+ "quarter" : {
+ "past" : "{0} 季前",
+ "current" : "今季",
+ "previous" : "上一季",
+ "future" : "{0} 季后",
+ "next" : "下一季"
+ }
+ },
+ "short" : {
+ "quarter" : {
+ "future" : "{0} 季后",
+ "next" : "下季",
+ "previous" : "上季",
+ "current" : "今季",
+ "past" : "{0} 季前"
+ },
+ "minute" : {
+ "current" : "呢分钟",
+ "past" : "{0} 分钟前",
+ "future" : "{0} 分钟后"
+ },
+ "year" : {
+ "next" : "下年",
+ "future" : "{0} 年后",
+ "current" : "今年",
+ "past" : "{0} 年前",
+ "previous" : "旧年"
+ },
+ "second" : {
+ "future" : "{0} 秒后",
+ "current" : "宜家",
+ "past" : "{0} 秒前"
+ },
+ "hour" : {
+ "past" : "{0} 小时前",
+ "current" : "呢个小时",
+ "future" : "{0} 小时后"
+ },
+ "now" : "宜家",
+ "month" : {
+ "previous" : "上个月",
+ "next" : "下个月",
+ "past" : "{0} 个月前",
+ "current" : "今个月",
+ "future" : "{0} 个月后"
+ },
+ "week" : {
+ "previous" : "上星期",
+ "current" : "今个星期",
+ "next" : "下星期",
+ "past" : "{0} 个星期前",
+ "future" : "{0} 个星期后"
+ },
+ "day" : {
+ "next" : "听日",
+ "past" : "{0} 日前",
+ "future" : "{0} 日后",
+ "previous" : "寻日",
+ "current" : "今日"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yue_Hant.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yue_Hant.json
new file mode 100644
index 00000000..33072748
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/yue_Hant.json
@@ -0,0 +1,161 @@
+{
+ "long" : {
+ "hour" : {
+ "current" : "呢個小時",
+ "past" : "{0} 小時前",
+ "future" : "{0} 小時後"
+ },
+ "second" : {
+ "future" : "{0} 秒後",
+ "past" : "{0} 秒前",
+ "current" : "宜家"
+ },
+ "week" : {
+ "next" : "下星期",
+ "current" : "今個星期",
+ "previous" : "上星期",
+ "future" : "{0} 個星期後",
+ "past" : "{0} 個星期前"
+ },
+ "minute" : {
+ "current" : "呢分鐘",
+ "future" : "{0} 分鐘後",
+ "past" : "{0} 分鐘前"
+ },
+ "year" : {
+ "current" : "今年",
+ "past" : "{0} 年前",
+ "future" : "{0} 年後",
+ "previous" : "舊年",
+ "next" : "下年"
+ },
+ "quarter" : {
+ "next" : "下一季",
+ "current" : "今季",
+ "future" : "{0} 季後",
+ "previous" : "上一季",
+ "past" : "{0} 季前"
+ },
+ "month" : {
+ "previous" : "上個月",
+ "future" : "{0} 個月後",
+ "current" : "今個月",
+ "next" : "下個月",
+ "past" : "{0} 個月前"
+ },
+ "day" : {
+ "next" : "聽日",
+ "past" : "{0} 日前",
+ "current" : "今日",
+ "future" : "{0} 日後",
+ "previous" : "尋日"
+ },
+ "now" : "宜家"
+ },
+ "narrow" : {
+ "week" : {
+ "current" : "今個星期",
+ "next" : "下星期",
+ "past" : "{0} 個星期前",
+ "previous" : "上星期",
+ "future" : "{0} 個星期後"
+ },
+ "minute" : {
+ "past" : "{0} 分鐘前",
+ "future" : "{0} 分鐘後",
+ "current" : "呢分鐘"
+ },
+ "month" : {
+ "current" : "今個月",
+ "previous" : "上個月",
+ "past" : "{0} 個月前",
+ "next" : "下個月",
+ "future" : "{0} 個月後"
+ },
+ "now" : "宜家",
+ "year" : {
+ "previous" : "舊年",
+ "current" : "今年",
+ "next" : "下年",
+ "past" : "{0} 年前",
+ "future" : "{0} 年後"
+ },
+ "hour" : {
+ "past" : "{0} 小時前",
+ "future" : "{0} 小時後",
+ "current" : "呢個小時"
+ },
+ "quarter" : {
+ "previous" : "上季",
+ "current" : "今季",
+ "past" : "{0} 季前",
+ "future" : "{0} 季後",
+ "next" : "下季"
+ },
+ "second" : {
+ "future" : "{0} 秒後",
+ "current" : "宜家",
+ "past" : "{0} 秒前"
+ },
+ "day" : {
+ "past" : "{0} 日前",
+ "current" : "今日",
+ "future" : "{0} 日後",
+ "previous" : "尋日",
+ "next" : "聽日"
+ }
+ },
+ "short" : {
+ "month" : {
+ "current" : "今個月",
+ "next" : "下個月",
+ "past" : "{0} 個月前",
+ "future" : "{0} 個月後",
+ "previous" : "上個月"
+ },
+ "now" : "宜家",
+ "day" : {
+ "next" : "聽日",
+ "current" : "今日",
+ "previous" : "尋日",
+ "past" : "{0} 日前",
+ "future" : "{0} 日後"
+ },
+ "year" : {
+ "current" : "今年",
+ "future" : "{0} 年後",
+ "previous" : "舊年",
+ "next" : "下年",
+ "past" : "{0} 年前"
+ },
+ "hour" : {
+ "future" : "{0} 小時後",
+ "current" : "呢個小時",
+ "past" : "{0} 小時前"
+ },
+ "minute" : {
+ "current" : "呢分鐘",
+ "future" : "{0} 分鐘後",
+ "past" : "{0} 分鐘前"
+ },
+ "second" : {
+ "future" : "{0} 秒後",
+ "current" : "宜家",
+ "past" : "{0} 秒前"
+ },
+ "quarter" : {
+ "future" : "{0} 季後",
+ "previous" : "上季",
+ "next" : "下季",
+ "past" : "{0} 季前",
+ "current" : "今季"
+ },
+ "week" : {
+ "next" : "下星期",
+ "past" : "{0} 個星期前",
+ "current" : "今個星期",
+ "previous" : "上星期",
+ "future" : "{0} 個星期後"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh.json
new file mode 100644
index 00000000..fa1d3ecf
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "current" : "本季度",
+ "past" : "{0}个季度前",
+ "next" : "下季度",
+ "future" : "{0}个季度后",
+ "previous" : "上季度"
+ },
+ "day" : {
+ "next" : "明天",
+ "previous" : "昨天",
+ "future" : "{0}天后",
+ "past" : "{0}天前",
+ "current" : "今天"
+ },
+ "year" : {
+ "past" : "{0}年前",
+ "previous" : "去年",
+ "future" : "{0}年后",
+ "next" : "明年",
+ "current" : "今年"
+ },
+ "minute" : {
+ "past" : "{0}分钟前",
+ "future" : "{0}分钟后",
+ "current" : "此刻"
+ },
+ "now" : "现在",
+ "week" : {
+ "current" : "本周",
+ "previous" : "上周",
+ "past" : "{0}周前",
+ "next" : "下周",
+ "future" : "{0}周后"
+ },
+ "second" : {
+ "future" : "{0}秒后",
+ "current" : "现在",
+ "past" : "{0}秒前"
+ },
+ "month" : {
+ "future" : "{0}个月后",
+ "current" : "本月",
+ "past" : "{0}个月前",
+ "previous" : "上个月",
+ "next" : "下个月"
+ },
+ "hour" : {
+ "current" : "这一时间 \/ 此时",
+ "past" : "{0}小时前",
+ "future" : "{0}小时后"
+ }
+ },
+ "long" : {
+ "year" : {
+ "next" : "明年",
+ "previous" : "去年",
+ "past" : "{0}年前",
+ "future" : "{0}年后",
+ "current" : "今年"
+ },
+ "now" : "现在",
+ "quarter" : {
+ "next" : "下季度",
+ "past" : "{0}个季度前",
+ "future" : "{0}个季度后",
+ "current" : "本季度",
+ "previous" : "上季度"
+ },
+ "month" : {
+ "past" : "{0}个月前",
+ "next" : "下个月",
+ "previous" : "上个月",
+ "future" : "{0}个月后",
+ "current" : "本月"
+ },
+ "second" : {
+ "current" : "现在",
+ "past" : "{0}秒钟前",
+ "future" : "{0}秒钟后"
+ },
+ "week" : {
+ "past" : "{0}周前",
+ "previous" : "上周",
+ "future" : "{0}周后",
+ "next" : "下周",
+ "current" : "本周"
+ },
+ "day" : {
+ "next" : "明天",
+ "future" : "{0}天后",
+ "previous" : "昨天",
+ "current" : "今天",
+ "past" : "{0}天前"
+ },
+ "minute" : {
+ "past" : "{0}分钟前",
+ "future" : "{0}分钟后",
+ "current" : "此刻"
+ },
+ "hour" : {
+ "future" : "{0}小时后",
+ "current" : "这一时间 \/ 此时",
+ "past" : "{0}小时前"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "past" : "{0}分钟前",
+ "current" : "此刻",
+ "future" : "{0}分钟后"
+ },
+ "week" : {
+ "future" : "{0}周后",
+ "previous" : "上周",
+ "next" : "下周",
+ "current" : "本周",
+ "past" : "{0}周前"
+ },
+ "year" : {
+ "current" : "今年",
+ "previous" : "去年",
+ "future" : "{0}年后",
+ "past" : "{0}年前",
+ "next" : "明年"
+ },
+ "month" : {
+ "next" : "下个月",
+ "past" : "{0}个月前",
+ "future" : "{0}个月后",
+ "previous" : "上个月",
+ "current" : "本月"
+ },
+ "quarter" : {
+ "next" : "下季度",
+ "past" : "{0}个季度前",
+ "previous" : "上季度",
+ "current" : "本季度",
+ "future" : "{0}个季度后"
+ },
+ "day" : {
+ "current" : "今天",
+ "previous" : "昨天",
+ "past" : "{0}天前",
+ "next" : "明天",
+ "future" : "{0}天后"
+ },
+ "hour" : {
+ "past" : "{0}小时前",
+ "future" : "{0}小时后",
+ "current" : "这一时间 \/ 此时"
+ },
+ "second" : {
+ "future" : "{0}秒后",
+ "past" : "{0}秒前",
+ "current" : "现在"
+ },
+ "now" : "现在"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_HK.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_HK.json
new file mode 100644
index 00000000..2d6bd91e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_HK.json
@@ -0,0 +1,61 @@
+{
+ "narrow" : {
+
+ },
+ "short" : {
+
+ },
+ "long" : {
+ "minute" : {
+ "past" : "{0}分钟前",
+ "future" : "{0}分钟后",
+ "current" : "此刻"
+ },
+ "week" : {
+ "current" : "本周",
+ "past" : "{0}周前",
+ "future" : "{0}周后",
+ "next" : "下周",
+ "previous" : "上周"
+ },
+ "year" : {
+ "current" : "今年",
+ "future" : "{0}年后",
+ "past" : "{0}年前",
+ "next" : "明年",
+ "previous" : "去年"
+ },
+ "day" : {
+ "next" : "明天",
+ "current" : "今天",
+ "previous" : "昨天",
+ "past" : "{0}天前",
+ "future" : "{0}天后"
+ },
+ "hour" : {
+ "future" : "{0}小时后",
+ "current" : "这一时间 \/ 此时",
+ "past" : "{0}小时前"
+ },
+ "quarter" : {
+ "current" : "本季度",
+ "future" : "{0}个季度后",
+ "previous" : "上季度",
+ "next" : "下季度",
+ "past" : "{0}个季度前"
+ },
+ "second" : {
+ "past" : "{0}秒前",
+ "current" : "现在",
+ "future" : "{0}秒后"
+ },
+ "month" : {
+ "current" : "本月",
+ "past" : "{0}个月前",
+ "future" : "{0}个月后",
+ "next" : "下个月",
+ "previous" : "上个月"
+ },
+ "now" : "现在"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_MO.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_MO.json
new file mode 100644
index 00000000..f2bfbec9
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_MO.json
@@ -0,0 +1,61 @@
+{
+ "narrow" : {
+
+ },
+ "long" : {
+ "second" : {
+ "future" : "{0}秒后",
+ "current" : "现在",
+ "past" : "{0}秒前"
+ },
+ "hour" : {
+ "future" : "{0}小时后",
+ "past" : "{0}小时前",
+ "current" : "这一时间 \/ 此时"
+ },
+ "day" : {
+ "previous" : "昨天",
+ "past" : "{0}天前",
+ "future" : "{0}天后",
+ "current" : "今天",
+ "next" : "明天"
+ },
+ "minute" : {
+ "past" : "{0}分钟前",
+ "current" : "此刻",
+ "future" : "{0}分钟后"
+ },
+ "now" : "现在",
+ "year" : {
+ "future" : "{0}年后",
+ "past" : "{0}年前",
+ "previous" : "去年",
+ "next" : "明年",
+ "current" : "今年"
+ },
+ "quarter" : {
+ "current" : "本季度",
+ "next" : "下季度",
+ "previous" : "上季度",
+ "future" : "{0}个季度后",
+ "past" : "{0}个季度前"
+ },
+ "week" : {
+ "past" : "{0}周前",
+ "next" : "下周",
+ "future" : "{0}周后",
+ "current" : "本周",
+ "previous" : "上周"
+ },
+ "month" : {
+ "next" : "下个月",
+ "future" : "{0}个月后",
+ "previous" : "上个月",
+ "past" : "{0}个月前",
+ "current" : "本月"
+ }
+ },
+ "short" : {
+
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_SG.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_SG.json
new file mode 100644
index 00000000..2d6bd91e
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hans_SG.json
@@ -0,0 +1,61 @@
+{
+ "narrow" : {
+
+ },
+ "short" : {
+
+ },
+ "long" : {
+ "minute" : {
+ "past" : "{0}分钟前",
+ "future" : "{0}分钟后",
+ "current" : "此刻"
+ },
+ "week" : {
+ "current" : "本周",
+ "past" : "{0}周前",
+ "future" : "{0}周后",
+ "next" : "下周",
+ "previous" : "上周"
+ },
+ "year" : {
+ "current" : "今年",
+ "future" : "{0}年后",
+ "past" : "{0}年前",
+ "next" : "明年",
+ "previous" : "去年"
+ },
+ "day" : {
+ "next" : "明天",
+ "current" : "今天",
+ "previous" : "昨天",
+ "past" : "{0}天前",
+ "future" : "{0}天后"
+ },
+ "hour" : {
+ "future" : "{0}小时后",
+ "current" : "这一时间 \/ 此时",
+ "past" : "{0}小时前"
+ },
+ "quarter" : {
+ "current" : "本季度",
+ "future" : "{0}个季度后",
+ "previous" : "上季度",
+ "next" : "下季度",
+ "past" : "{0}个季度前"
+ },
+ "second" : {
+ "past" : "{0}秒前",
+ "current" : "现在",
+ "future" : "{0}秒后"
+ },
+ "month" : {
+ "current" : "本月",
+ "past" : "{0}个月前",
+ "future" : "{0}个月后",
+ "next" : "下个月",
+ "previous" : "上个月"
+ },
+ "now" : "现在"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hant.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hant.json
new file mode 100644
index 00000000..ff9e1d91
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hant.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "now" : "現在",
+ "week" : {
+ "next" : "下週",
+ "current" : "本週",
+ "past" : "{0} 週前",
+ "future" : "{0} 週後",
+ "previous" : "上週"
+ },
+ "quarter" : {
+ "previous" : "上一季",
+ "next" : "下一季",
+ "future" : "{0} 季後",
+ "current" : "這一季",
+ "past" : "{0} 季前"
+ },
+ "day" : {
+ "future" : "{0} 天後",
+ "previous" : "昨天",
+ "next" : "明天",
+ "past" : "{0} 天前",
+ "current" : "今天"
+ },
+ "hour" : {
+ "current" : "這一小時",
+ "past" : "{0} 小時前",
+ "future" : "{0} 小時後"
+ },
+ "second" : {
+ "future" : "{0} 秒後",
+ "current" : "現在",
+ "past" : "{0} 秒前"
+ },
+ "month" : {
+ "past" : "{0} 個月前",
+ "future" : "{0} 個月後",
+ "current" : "本月",
+ "previous" : "上個月",
+ "next" : "下個月"
+ },
+ "minute" : {
+ "future" : "{0} 分鐘後",
+ "current" : "這一分鐘",
+ "past" : "{0} 分鐘前"
+ },
+ "year" : {
+ "next" : "明年",
+ "future" : "{0} 年後",
+ "previous" : "去年",
+ "current" : "今年",
+ "past" : "{0} 年前"
+ }
+ },
+ "long" : {
+ "day" : {
+ "future" : "{0} 天後",
+ "past" : "{0} 天前",
+ "current" : "今天",
+ "next" : "明天",
+ "previous" : "昨天"
+ },
+ "second" : {
+ "past" : "{0} 秒前",
+ "current" : "現在",
+ "future" : "{0} 秒後"
+ },
+ "quarter" : {
+ "current" : "這一季",
+ "next" : "下一季",
+ "previous" : "上一季",
+ "future" : "{0} 季後",
+ "past" : "{0} 季前"
+ },
+ "month" : {
+ "future" : "{0} 個月後",
+ "previous" : "上個月",
+ "past" : "{0} 個月前",
+ "next" : "下個月",
+ "current" : "本月"
+ },
+ "week" : {
+ "future" : "{0} 週後",
+ "past" : "{0} 週前",
+ "current" : "本週",
+ "previous" : "上週",
+ "next" : "下週"
+ },
+ "hour" : {
+ "future" : "{0} 小時後",
+ "current" : "這一小時",
+ "past" : "{0} 小時前"
+ },
+ "minute" : {
+ "future" : "{0} 分鐘後",
+ "past" : "{0} 分鐘前",
+ "current" : "這一分鐘"
+ },
+ "now" : "現在",
+ "year" : {
+ "future" : "{0} 年後",
+ "next" : "明年",
+ "past" : "{0} 年前",
+ "previous" : "去年",
+ "current" : "今年"
+ }
+ },
+ "short" : {
+ "hour" : {
+ "future" : "{0} 小時後",
+ "current" : "這一小時",
+ "past" : "{0} 小時前"
+ },
+ "now" : "現在",
+ "quarter" : {
+ "current" : "這一季",
+ "future" : "{0} 季後",
+ "past" : "{0} 季前",
+ "next" : "下一季",
+ "previous" : "上一季"
+ },
+ "day" : {
+ "current" : "今天",
+ "past" : "{0} 天前",
+ "future" : "{0} 天後",
+ "next" : "明天",
+ "previous" : "昨天"
+ },
+ "week" : {
+ "current" : "本週",
+ "past" : "{0} 週前",
+ "future" : "{0} 週後",
+ "next" : "下週",
+ "previous" : "上週"
+ },
+ "minute" : {
+ "past" : "{0} 分鐘前",
+ "future" : "{0} 分鐘後",
+ "current" : "這一分鐘"
+ },
+ "second" : {
+ "past" : "{0} 秒前",
+ "current" : "現在",
+ "future" : "{0} 秒後"
+ },
+ "month" : {
+ "current" : "本月",
+ "future" : "{0} 個月後",
+ "previous" : "上個月",
+ "next" : "下個月",
+ "past" : "{0} 個月前"
+ },
+ "year" : {
+ "future" : "{0} 年後",
+ "previous" : "去年",
+ "next" : "明年",
+ "current" : "今年",
+ "past" : "{0} 年前"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hant_HK.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hant_HK.json
new file mode 100644
index 00000000..a73e0ab3
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zh_Hant_HK.json
@@ -0,0 +1,161 @@
+{
+ "narrow" : {
+ "quarter" : {
+ "current" : "今季",
+ "past" : "-{0}Q",
+ "next" : "下季",
+ "future" : "+{0}Q",
+ "previous" : "上季"
+ },
+ "day" : {
+ "next" : "明日",
+ "previous" : "昨日",
+ "future" : "{0}日後",
+ "past" : "{0}日前",
+ "current" : "今日"
+ },
+ "year" : {
+ "past" : "{0}年前",
+ "previous" : "上年",
+ "future" : "{0}年後",
+ "next" : "下年",
+ "current" : "今年"
+ },
+ "minute" : {
+ "current" : "這分鐘",
+ "future" : "{0}分後",
+ "past" : "{0}分前"
+ },
+ "now" : "現在",
+ "week" : {
+ "current" : "本星期",
+ "previous" : "上星期",
+ "past" : "{0}星期前",
+ "next" : "下星期",
+ "future" : "{0}星期後"
+ },
+ "second" : {
+ "current" : "現在",
+ "past" : "{0}秒前",
+ "future" : "{0}秒後"
+ },
+ "month" : {
+ "future" : "{0}個月後",
+ "current" : "本月",
+ "past" : "{0}個月前",
+ "previous" : "上個月",
+ "next" : "下個月"
+ },
+ "hour" : {
+ "past" : "{0}小時前",
+ "future" : "{0}小時後",
+ "current" : "這個小時"
+ }
+ },
+ "long" : {
+ "year" : {
+ "next" : "下年",
+ "previous" : "上年",
+ "past" : "{0} 年前",
+ "future" : "{0} 年後",
+ "current" : "今年"
+ },
+ "now" : "現在",
+ "quarter" : {
+ "next" : "下一季",
+ "past" : "{0} 季前",
+ "future" : "{0} 季後",
+ "current" : "今季",
+ "previous" : "上一季"
+ },
+ "month" : {
+ "past" : "{0} 個月前",
+ "next" : "下個月",
+ "previous" : "上個月",
+ "future" : "{0} 個月後",
+ "current" : "本月"
+ },
+ "second" : {
+ "past" : "{0} 秒前",
+ "future" : "{0} 秒後",
+ "current" : "現在"
+ },
+ "week" : {
+ "past" : "{0} 星期前",
+ "previous" : "上星期",
+ "future" : "{0} 星期後",
+ "next" : "下星期",
+ "current" : "本星期"
+ },
+ "day" : {
+ "next" : "明日",
+ "future" : "{0} 日後",
+ "previous" : "昨日",
+ "current" : "今日",
+ "past" : "{0} 日前"
+ },
+ "minute" : {
+ "past" : "{0} 分鐘前",
+ "future" : "{0} 分鐘後",
+ "current" : "這分鐘"
+ },
+ "hour" : {
+ "current" : "這個小時",
+ "past" : "{0} 小時前",
+ "future" : "{0} 小時後"
+ }
+ },
+ "short" : {
+ "minute" : {
+ "future" : "{0} 分鐘後",
+ "current" : "這分鐘",
+ "past" : "{0} 分鐘前"
+ },
+ "week" : {
+ "future" : "{0} 星期後",
+ "previous" : "上星期",
+ "next" : "下星期",
+ "current" : "本星期",
+ "past" : "{0} 星期前"
+ },
+ "year" : {
+ "current" : "今年",
+ "previous" : "上年",
+ "future" : "{0} 年後",
+ "past" : "{0} 年前",
+ "next" : "下年"
+ },
+ "month" : {
+ "next" : "下個月",
+ "past" : "{0} 個月前",
+ "future" : "{0} 個月後",
+ "previous" : "上個月",
+ "current" : "本月"
+ },
+ "quarter" : {
+ "next" : "下季",
+ "past" : "{0} 季前",
+ "previous" : "上季",
+ "current" : "今季",
+ "future" : "{0} 季後"
+ },
+ "day" : {
+ "current" : "今日",
+ "previous" : "昨日",
+ "past" : "{0} 日前",
+ "next" : "明日",
+ "future" : "{0} 日後"
+ },
+ "hour" : {
+ "current" : "這個小時",
+ "past" : "{0} 小時前",
+ "future" : "{0} 小時後"
+ },
+ "second" : {
+ "current" : "現在",
+ "past" : "{0} 秒前",
+ "future" : "{0} 秒後"
+ },
+ "now" : "現在"
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zu.json b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zu.json
new file mode 100644
index 00000000..99d4cbb6
--- /dev/null
+++ b/Sources/SwiftDate/Formatters/RelativeFormatter/langs/zu.json
@@ -0,0 +1,275 @@
+{
+ "short" : {
+ "day" : {
+ "previous" : "izolo",
+ "current" : "namhlanje",
+ "past" : {
+ "other" : "{0} izinsuku ezedlule",
+ "one" : "{0} usuku olwedlule"
+ },
+ "future" : {
+ "one" : "osukwini olungu-{0} oluzayo",
+ "other" : "ezinsukwini ezingu-{0} ezizayo"
+ },
+ "next" : "kusasa"
+ },
+ "week" : {
+ "next" : "iviki elizayo",
+ "current" : "leli viki",
+ "previous" : "iviki eledlule",
+ "past" : "amaviki angu-{0} edlule",
+ "future" : {
+ "other" : "emavikini angu-{0} ezayo",
+ "one" : "evikini elingu-{0} elizayo"
+ }
+ },
+ "quarter" : {
+ "next" : "ikota ezayo",
+ "past" : {
+ "one" : "{0} amakota adlule",
+ "other" : "{0} amakota edlule"
+ },
+ "current" : "le kota",
+ "previous" : "ikota edlule",
+ "future" : {
+ "one" : "kwikota engu-{0} ezayo",
+ "other" : "kumakota angu-{0} ezayo"
+ }
+ },
+ "minute" : {
+ "future" : {
+ "one" : "kuminithi elingu-{0} elizayo",
+ "other" : "kumaminithi angu-{0} ezayo"
+ },
+ "past" : {
+ "one" : "{0} iminithi eledlule",
+ "other" : "{0} amaminithi edlule"
+ },
+ "current" : "leli minithi"
+ },
+ "year" : {
+ "current" : "kulo nyaka",
+ "next" : "unyaka ozayo",
+ "past" : "{0} unyaka odlule",
+ "future" : {
+ "other" : "eminyakeni engu-{0} ezayo",
+ "one" : "onyakeni ongu-{0} ozayo"
+ },
+ "previous" : "onyakeni odlule"
+ },
+ "hour" : {
+ "past" : {
+ "one" : "{0} ihora eledlule",
+ "other" : "emahoreni angu-{0} edlule"
+ },
+ "future" : {
+ "other" : "emahoreni angu-{0} ezayo",
+ "one" : "ehoreni elingu-{0} elizayo"
+ },
+ "current" : "leli hora"
+ },
+ "month" : {
+ "current" : "le nyanga",
+ "future" : "ezinyangeni ezingu-{0} ezizayo",
+ "previous" : "inyanga edlule",
+ "next" : "inyanga ezayo",
+ "past" : "{0} izinyanga ezedlule"
+ },
+ "second" : {
+ "future" : {
+ "other" : "kumasekhondi angu-{0} ezayo",
+ "one" : "kusekhondi elingu-{0} elizayo"
+ },
+ "current" : "manje",
+ "past" : {
+ "one" : "{0} isekhondi eledlule",
+ "other" : "{0} amasekhondi edlule"
+ }
+ },
+ "now" : "manje"
+ },
+ "long" : {
+ "month" : {
+ "previous" : "inyanga edlule",
+ "next" : "inyanga ezayo",
+ "future" : {
+ "one" : "enyangeni engu-{0}",
+ "other" : "ezinyangeni ezingu-{0} ezizayo"
+ },
+ "current" : "le nyanga",
+ "past" : {
+ "other" : "{0} izinyanga ezedlule",
+ "one" : "{0} inyanga edlule"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "{0} iminithi eledlule",
+ "other" : "{0} amaminithi edlule"
+ },
+ "future" : {
+ "one" : "kuminithi elingu-{0} elizayo",
+ "other" : "kumaminithi angu-{0} ezayo"
+ },
+ "current" : "leli minithi"
+ },
+ "quarter" : {
+ "previous" : "ikota edlule",
+ "past" : {
+ "other" : "{0} amakota adlule",
+ "one" : "{0} ikota edlule"
+ },
+ "current" : "le kota",
+ "next" : "ikota ezayo",
+ "future" : {
+ "other" : "kumakota angu-{0} ezayo",
+ "one" : "kwikota engu-{0} ezayo"
+ }
+ },
+ "week" : {
+ "current" : "leli viki",
+ "past" : {
+ "other" : "amaviki angu-{0} edlule",
+ "one" : "evikini elingu-{0} eledlule"
+ },
+ "previous" : "iviki eledlule",
+ "future" : {
+ "one" : "evikini elingu-{0}",
+ "other" : "emavikini angu-{0}"
+ },
+ "next" : "iviki elizayo"
+ },
+ "now" : "manje",
+ "second" : {
+ "future" : {
+ "other" : "kumasekhondi angu-{0} ezayo",
+ "one" : "kusekhondi elingu-{0} elizayo"
+ },
+ "current" : "manje",
+ "past" : {
+ "other" : "{0} amasekhondi edlule",
+ "one" : "{0} isekhondi eledlule"
+ }
+ },
+ "year" : {
+ "past" : {
+ "other" : "{0} iminyaka edlule",
+ "one" : "{0} unyaka odlule"
+ },
+ "next" : "unyaka ozayo",
+ "current" : "kulo nyaka",
+ "future" : {
+ "other" : "eminyakeni engu-{0} ezayo",
+ "one" : "onyakeni ongu-{0} ozayo"
+ },
+ "previous" : "onyakeni odlule"
+ },
+ "hour" : {
+ "current" : "leli hora",
+ "past" : {
+ "one" : "{0} ihora eledlule",
+ "other" : "emahoreni angu-{0} edlule"
+ },
+ "future" : {
+ "one" : "ehoreni elingu-{0} elizayo",
+ "other" : "emahoreni angu-{0} ezayo"
+ }
+ },
+ "day" : {
+ "past" : {
+ "one" : "osukwini olungu-{0} olwedlule",
+ "other" : "ezinsukwini ezingu-{0} ezedlule."
+ },
+ "future" : {
+ "other" : "ezinsukwini ezingu-{0} ezizayo",
+ "one" : "osukwini olungu-{0} oluzayo"
+ },
+ "current" : "namhlanje",
+ "previous" : "izolo",
+ "next" : "kusasa"
+ }
+ },
+ "narrow" : {
+ "year" : {
+ "past" : "{0} unyaka odlule",
+ "future" : {
+ "other" : "eminyakeni engu-{0} ezayo",
+ "one" : "onyakeni ongu-{0} ozayo"
+ },
+ "next" : "unyaka ozayo",
+ "current" : "kulo nyaka",
+ "previous" : "onyakeni odlule"
+ },
+ "quarter" : {
+ "past" : {
+ "other" : "{0} amakota edlule",
+ "one" : "{0} amakota adlule"
+ },
+ "current" : "le kota",
+ "next" : "ikota ezayo",
+ "future" : "kumakota angu-{0}",
+ "previous" : "ikota edlule"
+ },
+ "day" : {
+ "current" : "namhlanje",
+ "next" : "kusasa",
+ "past" : {
+ "one" : "{0} usuku olwedlule",
+ "other" : "{0} izinsuku ezedlule"
+ },
+ "future" : {
+ "one" : "osukwini olungu-{0} oluzayo",
+ "other" : "ezinsukwini ezingu-{0} ezizayo"
+ },
+ "previous" : "izolo"
+ },
+ "month" : {
+ "previous" : "inyanga edlule",
+ "next" : "inyanga ezayo",
+ "future" : "enyangeni engu-{0} ezayo",
+ "current" : "le nyanga",
+ "past" : "{0} izinyanga ezedlule"
+ },
+ "hour" : {
+ "current" : "leli hora",
+ "past" : {
+ "one" : "{0} ihora eledlule",
+ "other" : "{0} amahora edlule"
+ },
+ "future" : {
+ "one" : "ehoreni elingu-{0} elizayo",
+ "other" : "emahoreni angu-{0} ezayo"
+ }
+ },
+ "second" : {
+ "past" : {
+ "one" : "{0} isekhondi eledlule",
+ "other" : "{0} amasekhondi edlule"
+ },
+ "current" : "manje",
+ "future" : {
+ "one" : "kusekhondi elingu-{0} elizayo",
+ "other" : "kumasekhondi angu-{0} ezayo"
+ }
+ },
+ "minute" : {
+ "past" : {
+ "one" : "{0} iminithi eledlule",
+ "other" : "{0} amaminithi edlule"
+ },
+ "future" : {
+ "one" : "kuminithi elingu-{0} elizayo",
+ "other" : "kumaminithi angu-{0} ezayo"
+ },
+ "current" : "leli minithi"
+ },
+ "now" : "manje",
+ "week" : {
+ "next" : "iviki elizayo",
+ "future" : "emavikini angu-{0} ezayo",
+ "previous" : "iviki eledlule",
+ "current" : "leli viki",
+ "past" : "amaviki angu-{0} edlule"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_af.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_af.swift
deleted file mode 100644
index e84ee7ff..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_af.swift
+++ /dev/null
@@ -1,246 +0,0 @@
-//
-// lang_af.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name// swiftlint:disable type_name
-public class lang_af: RelativeFormatterLang {
-
- /// Locales.afrikaans
- public static let identifier: String = "af"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "verlede jaar",
- "current": "hierdie jaar",
- "next": "volgende jaar",
- "past": "{0} jaar gelede",
- "future": "oor {0} jaar"
- ],
- "quarter": [
- "previous": "vorige kwartaal",
- "current": "hierdie kwartaal",
- "next": "volgende kwartaal",
- "past": [
- "one": "{0} kwartaal gelede",
- "other": "{0} kwartale gelede"
- ],
- "future": [
- "one": "oor {0} kwartaal",
- "other": "oor {0} kwartale"
- ]
- ],
- "month": [
- "previous": "verlede maand",
- "current": "vandeesmaand",
- "next": "volgende maand",
- "past": "{0} md. gelede",
- "future": "oor {0} md."
- ],
- "week": [
- "previous": "verlede week",
- "current": "vandeesweek",
- "next": "volgende week",
- "past": "{0} w. gelede",
- "future": "oor {0} w."
- ],
- "day": [
- "previous": "gister",
- "current": "vandag",
- "next": "môre",
- "past": [
- "one": "{0} dag gelede",
- "other": "{0} dae gelede"
- ],
- "future": [
- "one": "oor {0} dag",
- "other": "oor {0} dae"
- ]
- ],
- "hour": [
- "current": "hierdie uur",
- "past": "{0} uur gelede",
- "future": "oor {0} uur"
- ],
- "minute": [
- "current": "hierdie minuut",
- "past": "{0} min. gelede",
- "future": "oor {0} min."
- ],
- "second": [
- "current": "nou",
- "past": "{0} sek. gelede",
- "future": "oor {0} sek."
- ],
- "now": "nou"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "verlede jaar",
- "current": "hierdie jaar",
- "next": "volgende jaar",
- "past": "{0} jaar gelede",
- "future": "oor {0} jaar"
- ],
- "quarter": [
- "previous": "vorige kwartaal",
- "current": "hierdie kwartaal",
- "next": "volgende kwartaal",
- "past": "{0} kwartale gelede",
- "future": "oor {0} kwartale"
- ],
- "month": [
- "previous": "verlede maand",
- "current": "vandeesmaand",
- "next": "volgende maand",
- "past": "{0} md. gelede",
- "future": "oor {0} md."
- ],
- "week": [
- "previous": "verlede week",
- "current": "vandeesweek",
- "next": "volgende week",
- "past": "{0} w. gelede",
- "future": "oor {0} w."
- ],
- "day": [
- "previous": "gister",
- "current": "vandag",
- "next": "môre",
- "past": [
- "one": "{0} dag gelede",
- "other": "{0} dae gelede"
- ],
- "future": [
- "one": "oor {0} dag",
- "other": "oor {0} dae"
- ]
- ],
- "hour": [
- "current": "hierdie uur",
- "past": "{0} uur gelede",
- "future": "oor {0} uur"
- ],
- "minute": [
- "current": "hierdie minuut",
- "past": "{0} min. gelede",
- "future": "oor {0} min."
- ],
- "second": [
- "current": "nou",
- "past": "{0} sek. gelede",
- "future": "oor {0} sek."
- ],
- "now": "nou"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "verlede jaar",
- "current": "hierdie jaar",
- "next": "volgende jaar",
- "past": "{0} jaar gelede",
- "future": "oor {0} jaar"
- ],
- "quarter": [
- "previous": "vorige kwartaal",
- "current": "hierdie kwartaal",
- "next": "volgende kwartaal",
- "past": [
- "one": "{0} kwartaal gelede",
- "other": "{0} kwartale gelede"
- ],
- "future": [
- "one": "oor {0} kwartaal",
- "other": "oor {0} kwartale"
- ]
- ],
- "month": [
- "previous": "verlede maand",
- "current": "vandeesmaand",
- "next": "volgende maand",
- "past": [
- "one": "{0} maand gelede",
- "other": "{0} maande gelede"
- ],
- "future": "oor {0} minuut"
- ],
- "week": [
- "previous": "verlede week",
- "current": "vandeesweek",
- "next": "volgende week",
- "past": [
- "one": "{0} week gelede",
- "other": "{0} weke gelede"
- ],
- "future": [
- "one": "oor {0} week",
- "other": "oor {0} weke"
- ]
- ],
- "day": [
- "previous": "gister",
- "current": "vandag",
- "next": "môre",
- "past": [
- "one": "{0} dag gelede",
- "other": "{0} dae gelede"
- ],
- "future": [
- "one": "oor {0} dag",
- "other": "oor {0} dae"
- ]
- ],
- "hour": [
- "current": "hierdie uur",
- "past": "{0} uur gelede",
- "future": "oor {0} uur"
- ],
- "minute": [
- "current": "hierdie minuut",
- "past": [
- "one": "{0} minuut gelede",
- "other": "{0} minute gelede"
- ],
- "future": "oor {0} minuut"
- ],
- "second": [
- "current": "nou",
- "past": [
- "one": "{0} sekonde gelede",
- "other": "{0} sekondes gelede"
- ],
- "future": [
- "one": "oor {0} sekonde",
- "other": "oor {0} sekondes"
- ]
- ],
- "now": "nou"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_am.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_am.swift
deleted file mode 100644
index a561970a..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_am.swift
+++ /dev/null
@@ -1,285 +0,0 @@
-//
-// lang_am.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name// swiftlint:disable type_name
-public class lang_am: RelativeFormatterLang {
-
- /// Locales.amharic
- public static let identifier: String = "am"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ያለፈው ዓመት",
- "current": "በዚህ ዓመት",
- "next": "የሚቀጥለው ዓመት",
- "past": "ከ{0} ዓመታት በፊት",
- "future": "በ{0} ዓመታት ውስጥ"
- ],
- "quarter": [
- "previous": "የመጨረሻው ሩብ",
- "current": "ይህ ሩብ",
- "next": "የሚቀጥለው ሩብ",
- "past": "{0} ሩብ በፊት",
- "future": "+{0} ሩብ"
- ],
- "month": [
- "previous": "ያለፈው ወር",
- "current": "በዚህ ወር",
- "next": "የሚቀጥለው ወር",
- "past": "ከ{0} ወራት በፊት",
- "future": "በ{0} ወራት ውስጥ"
- ],
- "week": [
- "previous": "ባለፈው ሳምንት",
- "current": "በዚህ ሣምንት",
- "next": "የሚቀጥለው ሳምንት",
- "past": "ከ{0} ሳምንታት በፊት",
- "future": "በ{0} ሳምንታት ውስጥ"
- ],
- "day": [
- "previous": "ትላንትና",
- "current": "ዛሬ",
- "next": "ነገ",
- "past": [
- "one": "ከ {0} ቀን በፊት",
- "other": "ከ{0} ቀኖች በፊት"
- ],
- "future": [
- "one": "በ{0} ቀን ውስጥ",
- "other": "በ{0} ቀኖች ውስጥ"
- ]
- ],
- "hour": [
- "current": "ይህ ሰዓት",
- "past": [
- "one": "ከ{0} ሰዓት በፊት",
- "other": "ከ{0} ሰዓቶች በፊት"
- ],
- "future": [
- "one": "በ{0} ሰዓት ውስጥ",
- "other": "በ{0} ሰዓቶች ውስጥ"
- ]
- ],
- "minute": [
- "current": "ይህ ደቂቃ",
- "past": [
- "one": "ከ{0} ደቂቃ በፊት",
- "other": "ከ{0} ደቂቃዎች በፊት"
- ],
- "future": [
- "one": "በ{0} ደቂቃ ውስጥ",
- "other": "በ{0} ደቂቃዎች ውስጥ"
- ]
- ],
- "second": [
- "current": "አሁን",
- "past": [
- "one": "ከ{0} ሰከንድ በፊት",
- "other": "ከ{0} ሰከንዶች በፊት"
- ],
- "future": [
- "one": "በ{0} ሰከንድ ውስጥ",
- "other": "በ{0} ሰከንዶች ውስጥ"
- ]
- ],
- "now": "አሁን"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ያለፈው ዓመት",
- "current": "በዚህ ዓመት",
- "next": "የሚቀጥለው ዓመት",
- "past": "ከ{0} ዓመታት በፊት",
- "future": "በ{0} ዓመታት ውስጥ"
- ],
- "quarter": [
- "previous": "የመጨረሻው ሩብ",
- "current": "ይህ ሩብ",
- "next": "የሚቀጥለው ሩብ",
- "past": "{0} ሩብ በፊት",
- "future": "+{0} ሩብ"
- ],
- "month": [
- "previous": "ያለፈው ወር",
- "current": "በዚህ ወር",
- "next": "የሚቀጥለው ወር",
- "past": "ከ{0} ወራት በፊት",
- "future": "በ{0} ወራት ውስጥ"
- ],
- "week": [
- "previous": "ባለፈው ሳምንት",
- "current": "በዚህ ሣምንት",
- "next": "የሚቀጥለው ሳምንት",
- "past": "ከ{0} ሳምንታት በፊት",
- "future": "በ{0} ሳምንታት ውስጥ"
- ],
- "day": [
- "previous": "ትላንትና",
- "current": "ዛሬ",
- "next": "ነገ",
- "past": [
- "one": "ከ {0} ቀን በፊት",
- "other": "ከ{0} ቀኖች በፊት"
- ],
- "future": [
- "one": "በ{0} ቀን ውስጥ",
- "other": "በ{0} ቀኖች ውስጥ"
- ]
- ],
- "hour": [
- "current": "ይህ ሰዓት",
- "past": [
- "one": "ከ{0} ሰዓት በፊት",
- "other": "ከ{0} ሰዓቶች በፊት"
- ],
- "future": [
- "one": "በ{0} ሰዓት ውስጥ",
- "other": "በ{0} ሰዓቶች ውስጥ"
- ]
- ],
- "minute": [
- "current": "ይህ ደቂቃ",
- "past": [
- "one": "ከ{0} ደቂቃ በፊት",
- "other": "ከ{0} ደቂቃዎች በፊት"
- ],
- "future": [
- "one": "በ{0} ደቂቃ ውስጥ",
- "other": "በ{0} ደቂቃዎች ውስጥ"
- ]
- ],
- "second": [
- "current": "አሁን",
- "past": [
- "one": "ከ{0} ሰከንድ በፊት",
- "other": "ከ{0} ሰከንዶች በፊት"
- ],
- "future": [
- "one": "በ{0} ሰከንድ ውስጥ",
- "other": "በ{0} ሰከንዶች ውስጥ"
- ]
- ],
- "now": "አሁን"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ያለፈው ዓመት",
- "current": "በዚህ ዓመት",
- "next": "የሚቀጥለው ዓመት",
- "past": [
- "one": "ከ{0} ዓመት በፊት",
- "other": "ከ{0} ዓመታት በፊት"
- ],
- "future": "በ{0} ዓመታት ውስጥ"
- ],
- "quarter": [
- "previous": "የመጨረሻው ሩብ",
- "current": "ይህ ሩብ",
- "next": "የሚቀጥለው ሩብ",
- "past": "{0} ሩብ በፊት",
- "future": "+{0} ሩብ"
- ],
- "month": [
- "previous": "ያለፈው ወር",
- "current": "በዚህ ወር",
- "next": "የሚቀጥለው ወር",
- "past": [
- "one": "ከ{0} ወር በፊት",
- "other": "ከ{0} ወራት በፊት"
- ],
- "future": [
- "one": "በ{0} ወር ውስጥ",
- "other": "በ{0} ወራት ውስጥ"
- ]
- ],
- "week": [
- "previous": "ያለፈው ሳምንት",
- "current": "በዚህ ሳምንት",
- "next": "የሚቀጥለው ሳምንት",
- "past": [
- "one": "ከ{0} ሳምንት በፊት",
- "other": "ከ{0} ሳምንታት በፊት"
- ],
- "future": [
- "one": "በ{0} ሳምንት ውስጥ",
- "other": "በ{0} ሳምንታት ውስጥ"
- ]
- ],
- "day": [
- "previous": "ትናንት",
- "current": "ዛሬ",
- "next": "ነገ",
- "past": [
- "one": "ከ{0} ቀን በፊት",
- "other": "ከ{0} ቀናት በፊት"
- ],
- "future": [
- "one": "በ{0} ቀን ውስጥ",
- "other": "በ{0} ቀናት ውስጥ"
- ]
- ],
- "hour": [
- "current": "ይህ ሰዓት",
- "past": [
- "one": "ከ{0} ሰዓት በፊት",
- "other": "ከ{0} ሰዓቶች በፊት"
- ],
- "future": [
- "one": "በ{0} ሰዓት ውስጥ",
- "other": "በ{0} ሰዓቶች ውስጥ"
- ]
- ],
- "minute": [
- "current": "ይህ ደቂቃ",
- "past": [
- "one": "ከ{0} ደቂቃ በፊት",
- "other": "ከ{0} ደቂቃዎች በፊት"
- ],
- "future": [
- "one": "በ{0} ደቂቃ ውስጥ",
- "other": "በ{0} ደቂቃዎች ውስጥ"
- ]
- ],
- "second": [
- "current": "አሁን",
- "past": [
- "one": "ከ{0} ሰከንድ በፊት",
- "other": "ከ{0} ሰከንዶች በፊት"
- ],
- "future": [
- "one": "በ{0} ሰከንድ ውስጥ",
- "other": "በ{0} ሰከንዶች ውስጥ"
- ]
- ],
- "now": "አሁን"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ar.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ar.swift
deleted file mode 100644
index b03c5579..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ar.swift
+++ /dev/null
@@ -1,469 +0,0 @@
-//
-// lang_ar.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ar: RelativeFormatterLang {
-
- /// Locales.arabic
- public static let identifier: String = "ar"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 0: return .zero
- case 1: return .one
- case 2: return .two
- default:
- let mod100 = Int(value) % 100
- if mod100 >= 3 && mod100 <= 10 {
- return .few
- } else if mod100 >= 11 {
- return .many
- } else {
- return .other
- }
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "السنة الماضية",
- "current": "السنة الحالية",
- "next": "السنة القادمة",
- "past": [
- "one": "قبل سنة واحدة",
- "two": "قبل سنتين",
- "few": "قبل {0} سنوات",
- "other": "قبل {0} سنة"
- ],
- "future": [
- "one": "خلال سنة واحدة",
- "two": "خلال سنتين",
- "few": "خلال {0} سنوات",
- "other": "خلال {0} سنة"
- ]
- ],
- "quarter": [
- "previous": "الربع الأخير",
- "current": "هذا الربع",
- "next": "الربع القادم",
- "past": [
- "one": "قبل ربع سنة واحد",
- "two": "قبل ربعي سنة",
- "few": "قبل {0} أرباع سنة",
- "other": "قبل {0} ربع سنة"
- ],
- "future": [
- "one": "خلال ربع سنة واحد",
- "two": "خلال ربعي سنة",
- "few": "خلال {0} أرباع سنة",
- "other": "خلال {0} ربع سنة"
- ]
- ],
- "month": [
- "previous": "الشهر الماضي",
- "current": "هذا الشهر",
- "next": "الشهر القادم",
- "past": [
- "one": "قبل شهر واحد",
- "two": "قبل شهرين",
- "few": "خلال {0} أشهر",
- "many": "قبل {0} شهرًا",
- "other": "قبل {0} شهر"
- ],
- "future": [
- "one": "خلال شهر واحد",
- "two": "خلال شهرين",
- "few": "خلال {0} أشهر",
- "many": "خلال {0} شهرًا",
- "other": "خلال {0} شهر"
- ]
- ],
- "week": [
- "previous": "الأسبوع الماضي",
- "current": "هذا الأسبوع",
- "next": "الأسبوع القادم",
- "past": [
- "one": "قبل أسبوع واحد",
- "two": "قبل أسبوعين",
- "few": "قبل {0} أسابيع",
- "many": "قبل {0} أسبوعًا",
- "other": "قبل {0} أسبوع"
- ],
- "future": [
- "one": "خلال أسبوع واحد",
- "two": "خلال {0} أسبوعين",
- "few": "خلال {0} أسابيع",
- "many": "خلال {0} أسبوعًا",
- "other": "خلال {0} أسبوع"
- ]
- ],
- "day": [
- "previous": "أمس",
- "current": "اليوم",
- "next": "غدًا",
- "past": [
- "one": "قبل يوم واحد",
- "two": "قبل يومين",
- "few": "قبل {0} أيام",
- "many": "قبل {0} يومًا",
- "other": "قبل {0} يوم"
- ],
- "future": [
- "one": "خلال يوم واحد",
- "two": "خلال يومين",
- "few": "خلال {0} أيام",
- "many": "خلال {0} يومًا",
- "other": "خلال {0} يوم"
- ]
- ],
- "hour": [
- "current": "الساعة الحالية",
- "past": [
- "one": "قبل ساعة واحدة",
- "two": "قبل ساعتين",
- "few": "قبل {0} ساعات",
- "other": "قبل {0} ساعة"
- ],
- "future": [
- "one": "خلال ساعة واحدة",
- "two": "خلال ساعتين",
- "few": "خلال {0} ساعات",
- "other": "خلال {0} ساعة"
- ]
- ],
- "minute": [
- "current": "هذه الدقيقة",
- "past": [
- "one": "قبل دقيقة واحدة",
- "two": "قبل دقيقتين",
- "few": "قبل {0} دقائق",
- "other": "قبل {0} دقيقة"
- ],
- "future": [
- "one": "خلال دقيقة واحدة",
- "two": "خلال دقيقتين",
- "few": "خلال {0} دقائق",
- "other": "خلال {0} دقيقة"
- ]
- ],
- "second": [
- "current": "الآن",
- "past": [
- "one": "قبل ثانية واحدة",
- "two": "قبل ثانيتين",
- "few": "قبل {0} ثوانٍ",
- "other": "قبل {0} ثانية"
- ],
- "future": [
- "one": "خلال ثانية واحدة",
- "two": "خلال ثانيتين",
- "few": "خلال {0} ثوانٍ",
- "other": "خلال {0} ثانية"
- ]
- ],
- "now": "الآن"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "السنة الماضية",
- "current": "السنة الحالية",
- "next": "السنة القادمة",
- "past": [
- "one": "قبل سنة واحدة",
- "two": "قبل سنتين",
- "few": "قبل {0} سنوات",
- "other": "قبل {0} سنة"
- ],
- "future": [
- "one": "خلال سنة واحدة",
- "two": "خلال سنتين",
- "few": "خلال {0} سنوات",
- "other": "خلال {0} سنة"
- ]
- ],
- "quarter": [
- "previous": "الربع الأخير",
- "current": "هذا الربع",
- "next": "الربع القادم",
- "past": [
- "one": "قبل ربع سنة واحد",
- "two": "قبل ربعي سنة",
- "few": "قبل {0} أرباع سنة",
- "other": "قبل {0} ربع سنة"
- ],
- "future": [
- "one": "خلال ربع سنة واحد",
- "two": "خلال ربعي سنة",
- "few": "خلال {0} أرباع سنة",
- "other": "خلال {0} ربع سنة"
- ]
- ],
- "month": [
- "previous": "الشهر الماضي",
- "current": "هذا الشهر",
- "next": "الشهر القادم",
- "past": [
- "one": "قبل شهر واحد",
- "two": "قبل شهرين",
- "few": "قبل {0} أشهر",
- "many": "قبل {0} شهرًا",
- "other": "قبل {0} شهر"
- ],
- "future": [
- "one": "خلال شهر واحد",
- "two": "خلال شهرين",
- "few": "خلال {0} أشهر",
- "many": "خلال {0} شهرًا",
- "other": "خلال {0} شهر"
- ]
- ],
- "week": [
- "previous": "الأسبوع الماضي",
- "current": "هذا الأسبوع",
- "next": "الأسبوع القادم",
- "past": [
- "one": "قبل أسبوع واحد",
- "two": "قبل أسبوعين",
- "few": "قبل {0} أسابيع",
- "many": "قبل {0} أسبوعًا",
- "other": "قبل {0} أسبوع"
- ],
- "future": [
- "one": "خلال أسبوع واحد",
- "two": "خلال أسبوعين",
- "few": "خلال {0} أسابيع",
- "many": "خلال {0} أسبوعًا",
- "other": "خلال {0} أسبوع"
- ]
- ],
- "day": [
- "previous": "أمس",
- "current": "اليوم",
- "next": "غدًا",
- "past": [
- "one": "قبل يوم واحد",
- "two": "قبل يومين",
- "few": "قبل {0} أيام",
- "many": "قبل {0} يومًا",
- "other": "قبل {0} يوم"
- ],
- "future": [
- "one": "خلال يوم واحد",
- "two": "خلال يومين",
- "few": "خلال {0} أيام",
- "many": "خلال {0} يومًا",
- "other": "خلال {0} يوم"
- ]
- ],
- "hour": [
- "current": "الساعة الحالية",
- "past": [
- "one": "قبل ساعة واحدة",
- "two": "قبل ساعتين",
- "few": "قبل {0} ساعات",
- "other": "قبل {0} ساعة"
- ],
- "future": [
- "one": "خلال ساعة واحدة",
- "two": "خلال ساعتين",
- "few": "خلال {0} ساعات",
- "other": "خلال {0} ساعة"
- ]
- ],
- "minute": [
- "current": "هذه الدقيقة",
- "past": [
- "one": "قبل دقيقة واحدة",
- "two": "قبل دقيقتين",
- "few": "قبل {0} دقائق",
- "other": "قبل {0} دقيقة"
- ],
- "future": [
- "one": "خلال دقيقة واحدة",
- "two": "خلال دقيقتين",
- "few": "خلال {0} دقائق",
- "other": "خلال {0} دقيقة"
- ]
- ],
- "second": [
- "current": "الآن",
- "past": [
- "one": "قبل ثانية واحدة",
- "two": "قبل ثانيتين",
- "few": "قبل {0} ثوانٍ",
- "other": "قبل {0} ثانية"
- ],
- "future": [
- "one": "خلال ثانية واحدة",
- "two": "خلال ثانيتين",
- "few": "خلال {0} ثوانٍ",
- "other": "خلال {0} ثانية"
- ]
- ],
- "now": "الآن"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "السنة الماضية",
- "current": "السنة الحالية",
- "next": "السنة القادمة",
- "past": [
- "one": "قبل سنة واحدة",
- "two": "قبل سنتين",
- "few": "قبل {0} سنوات",
- "other": "قبل {0} سنة"
- ],
- "future": [
- "one": "خلال سنة واحدة",
- "two": "خلال سنتين",
- "few": "خلال {0} سنوات",
- "other": "خلال {0} سنة"
- ]
- ],
- "quarter": [
- "previous": "الربع الأخير",
- "current": "هذا الربع",
- "next": "الربع القادم",
- "past": [
- "one": "قبل ربع سنة واحد",
- "two": "قبل ربعي سنة",
- "few": "قبل {0} أرباع سنة",
- "other": "قبل {0} ربع سنة"
- ],
- "future": [
- "one": "خلال ربع سنة واحد",
- "two": "خلال ربعي سنة",
- "few": "خلال {0} أرباع سنة",
- "other": "خلال {0} ربع سنة"
- ]
- ],
- "month": [
- "previous": "الشهر الماضي",
- "current": "هذا الشهر",
- "next": "الشهر القادم",
- "past": [
- "one": "قبل شهر واحد",
- "two": "قبل شهرين",
- "few": "قبل {0} أشهر",
- "many": "قبل {0} شهرًا",
- "other": "قبل {0} شهر"
- ],
- "future": [
- "one": "خلال شهر واحد",
- "two": "خلال شهرين",
- "few": "خلال {0} أشهر",
- "many": "خلال {0} شهرًا",
- "other": "خلال {0} شهر"
- ]
- ],
- "week": [
- "previous": "الأسبوع الماضي",
- "current": "هذا الأسبوع",
- "next": "الأسبوع القادم",
- "past": [
- "one": "قبل أسبوع واحد",
- "two": "قبل أسبوعين",
- "few": "قبل {0} أسابيع",
- "many": "قبل {0} أسبوعًا",
- "other": "قبل {0} أسبوع"
- ],
- "future": [
- "one": "خلال أسبوع واحد",
- "two": "خلال أسبوعين",
- "few": "خلال {0} أسابيع",
- "many": "خلال {0} أسبوعًا",
- "other": "خلال {0} أسبوع"
- ]
- ],
- "day": [
- "previous": "أمس",
- "current": "اليوم",
- "next": "غدًا",
- "past": [
- "one": "قبل يوم واحد",
- "two": "قبل يومين",
- "few": "قبل {0} أيام",
- "many": "قبل {0} يومًا",
- "other": "قبل {0} يوم"
- ],
- "future": [
- "one": "خلال يوم واحد",
- "two": "خلال يومين",
- "few": "خلال {0} أيام",
- "many": "خلال {0} يومًا",
- "other": "خلال {0} يوم"
- ]
- ],
- "hour": [
- "current": "الساعة الحالية",
- "past": [
- "one": "قبل ساعة واحدة",
- "two": "قبل ساعتين",
- "few": "قبل {0} ساعات",
- "other": "قبل {0} ساعة"
- ],
- "future": [
- "one": "خلال ساعة واحدة",
- "two": "خلال ساعتين",
- "few": "خلال {0} ساعات",
- "other": "خلال {0} ساعة"
- ]
- ],
- "minute": [
- "current": "هذه الدقيقة",
- "past": [
- "one": "قبل دقيقة واحدة",
- "two": "قبل دقيقتين",
- "few": "قبل {0} دقائق",
- "other": "قبل {0} دقيقة"
- ],
- "future": [
- "one": "خلال دقيقة واحدة",
- "two": "خلال دقيقتين",
- "few": "خلال {0} دقائق",
- "other": "خلال {0} دقيقة"
- ]
- ],
- "second": [
- "current": "الآن",
- "past": [
- "one": "قبل ثانية واحدة",
- "two": "قبل ثانيتين",
- "few": "قبل {0} ثوانِ",
- "other": "قبل {0} ثانية"
- ],
- "future": [
- "one": "خلال ثانية واحدة",
- "two": "خلال ثانيتين",
- "few": "خلال {0} ثوانٍ",
- "other": "خلال {0} ثانية"
- ]
- ],
- "now": "الآن"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ar_AE.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ar_AE.swift
deleted file mode 100644
index e5b4b509..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ar_AE.swift
+++ /dev/null
@@ -1,469 +0,0 @@
-//
-// lang_arAE.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name// swiftlint:disable type_name
-public class lang_arAE: RelativeFormatterLang {
-
- /// Locales.arabicUnitedArabEmirates
- public static let identifier: String = "ar_AE"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 0: return .zero
- case 1: return .one
- case 2: return .two
- default:
- let mod100 = Int(value) % 100
- if mod100 >= 3 && mod100 <= 10 {
- return .few
- } else if mod100 >= 11 {
- return .many
- } else {
- return .other
- }
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "السنة الماضية",
- "current": "هذه السنة",
- "next": "السنة التالية",
- "past": [
- "one": "قبل سنة واحدة",
- "two": "قبل سنتين",
- "few": "قبل {0} سنوات",
- "other": "قبل {0} سنة"
- ],
- "future": [
- "one": "خلال سنة واحدة",
- "two": "خلال سنتين",
- "few": "خلال {0} سنوات",
- "other": "خلال {0} سنة"
- ]
- ],
- "quarter": [
- "previous": "الربع الأخير",
- "current": "هذا الربع",
- "next": "الربع القادم",
- "past": [
- "one": "قبل ربع سنة واحد",
- "two": "قبل ربعي سنة",
- "few": "قبل {0} أرباع سنة",
- "other": "قبل {0} ربع سنة"
- ],
- "future": [
- "one": "خلال ربع سنة واحد",
- "two": "خلال ربعي سنة",
- "few": "خلال {0} أرباع سنة",
- "other": "خلال {0} ربع سنة"
- ]
- ],
- "month": [
- "previous": "الشهر الماضي",
- "current": "هذا الشهر",
- "next": "الشهر القادم",
- "past": [
- "one": "قبل شهر واحد",
- "two": "قبل شهرين",
- "few": "خلال {0} أشهر",
- "many": "قبل {0} شهرًا",
- "other": "قبل {0} شهر"
- ],
- "future": [
- "one": "خلال شهر واحد",
- "two": "خلال شهرين",
- "few": "خلال {0} أشهر",
- "many": "خلال {0} شهرًا",
- "other": "خلال {0} شهر"
- ]
- ],
- "week": [
- "previous": "الأسبوع الماضي",
- "current": "هذا الأسبوع",
- "next": "الأسبوع القادم",
- "past": [
- "one": "قبل أسبوع واحد",
- "two": "قبل أسبوعين",
- "few": "قبل {0} أسابيع",
- "many": "قبل {0} أسبوعًا",
- "other": "قبل {0} أسبوع"
- ],
- "future": [
- "one": "خلال أسبوع واحد",
- "two": "خلال {0} أسبوعين",
- "few": "خلال {0} أسابيع",
- "many": "خلال {0} أسبوعًا",
- "other": "خلال {0} أسبوع"
- ]
- ],
- "day": [
- "previous": "أمس",
- "current": "اليوم",
- "next": "غدًا",
- "past": [
- "one": "قبل يوم واحد",
- "two": "قبل يومين",
- "few": "قبل {0} أيام",
- "many": "قبل {0} يومًا",
- "other": "قبل {0} يوم"
- ],
- "future": [
- "one": "خلال يوم واحد",
- "two": "خلال يومين",
- "few": "خلال {0} أيام",
- "many": "خلال {0} يومًا",
- "other": "خلال {0} يوم"
- ]
- ],
- "hour": [
- "current": "الساعة الحالية",
- "past": [
- "one": "قبل ساعة واحدة",
- "two": "قبل ساعتين",
- "few": "قبل {0} ساعات",
- "other": "قبل {0} ساعة"
- ],
- "future": [
- "one": "خلال ساعة واحدة",
- "two": "خلال ساعتين",
- "few": "خلال {0} ساعات",
- "other": "خلال {0} ساعة"
- ]
- ],
- "minute": [
- "current": "هذه الدقيقة",
- "past": [
- "one": "قبل دقيقة واحدة",
- "two": "قبل دقيقتين",
- "few": "قبل {0} دقائق",
- "other": "قبل {0} دقيقة"
- ],
- "future": [
- "one": "خلال دقيقة واحدة",
- "two": "خلال دقيقتين",
- "few": "خلال {0} دقائق",
- "other": "خلال {0} دقيقة"
- ]
- ],
- "second": [
- "current": "الآن",
- "past": [
- "one": "قبل ثانية واحدة",
- "two": "قبل ثانيتين",
- "few": "قبل {0} ثوانٍ",
- "other": "قبل {0} ثانية"
- ],
- "future": [
- "one": "خلال ثانية واحدة",
- "two": "خلال ثانيتين",
- "few": "خلال {0} ثوانٍ",
- "other": "خلال {0} ثانية"
- ]
- ],
- "now": "الآن"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "السنة الماضية",
- "current": "هذه السنة",
- "next": "السنة التالية",
- "past": [
- "one": "قبل سنة واحدة",
- "two": "قبل سنتين",
- "few": "قبل {0} سنوات",
- "other": "قبل {0} سنة"
- ],
- "future": [
- "one": "خلال سنة واحدة",
- "two": "خلال سنتين",
- "few": "خلال {0} سنوات",
- "other": "خلال {0} سنة"
- ]
- ],
- "quarter": [
- "previous": "الربع الأخير",
- "current": "هذا الربع",
- "next": "الربع القادم",
- "past": [
- "one": "قبل ربع سنة واحد",
- "two": "قبل ربعي سنة",
- "few": "قبل {0} أرباع سنة",
- "other": "قبل {0} ربع سنة"
- ],
- "future": [
- "one": "خلال ربع سنة واحد",
- "two": "خلال ربعي سنة",
- "few": "خلال {0} أرباع سنة",
- "other": "خلال {0} ربع سنة"
- ]
- ],
- "month": [
- "previous": "الشهر الماضي",
- "current": "هذا الشهر",
- "next": "الشهر القادم",
- "past": [
- "one": "قبل شهر واحد",
- "two": "قبل شهرين",
- "few": "قبل {0} أشهر",
- "many": "قبل {0} شهرًا",
- "other": "قبل {0} شهر"
- ],
- "future": [
- "one": "خلال شهر واحد",
- "two": "خلال شهرين",
- "few": "خلال {0} أشهر",
- "many": "خلال {0} شهرًا",
- "other": "خلال {0} شهر"
- ]
- ],
- "week": [
- "previous": "الأسبوع الماضي",
- "current": "هذا الأسبوع",
- "next": "الأسبوع القادم",
- "past": [
- "one": "قبل أسبوع واحد",
- "two": "قبل أسبوعين",
- "few": "قبل {0} أسابيع",
- "many": "قبل {0} أسبوعًا",
- "other": "قبل {0} أسبوع"
- ],
- "future": [
- "one": "خلال أسبوع واحد",
- "two": "خلال أسبوعين",
- "few": "خلال {0} أسابيع",
- "many": "خلال {0} أسبوعًا",
- "other": "خلال {0} أسبوع"
- ]
- ],
- "day": [
- "previous": "أمس",
- "current": "اليوم",
- "next": "غدًا",
- "past": [
- "one": "قبل يوم واحد",
- "two": "قبل يومين",
- "few": "قبل {0} أيام",
- "many": "قبل {0} يومًا",
- "other": "قبل {0} يوم"
- ],
- "future": [
- "one": "خلال يوم واحد",
- "two": "خلال يومين",
- "few": "خلال {0} أيام",
- "many": "خلال {0} يومًا",
- "other": "خلال {0} يوم"
- ]
- ],
- "hour": [
- "current": "الساعة الحالية",
- "past": [
- "one": "قبل ساعة واحدة",
- "two": "قبل ساعتين",
- "few": "قبل {0} ساعات",
- "other": "قبل {0} ساعة"
- ],
- "future": [
- "one": "خلال ساعة واحدة",
- "two": "خلال ساعتين",
- "few": "خلال {0} ساعات",
- "other": "خلال {0} ساعة"
- ]
- ],
- "minute": [
- "current": "هذه الدقيقة",
- "past": [
- "one": "قبل دقيقة واحدة",
- "two": "قبل دقيقتين",
- "few": "قبل {0} دقائق",
- "other": "قبل {0} دقيقة"
- ],
- "future": [
- "one": "خلال دقيقة واحدة",
- "two": "خلال دقيقتين",
- "few": "خلال {0} دقائق",
- "other": "خلال {0} دقيقة"
- ]
- ],
- "second": [
- "current": "الآن",
- "past": [
- "one": "قبل ثانية واحدة",
- "two": "قبل ثانيتين",
- "few": "قبل {0} ثوانٍ",
- "other": "قبل {0} ثانية"
- ],
- "future": [
- "one": "خلال ثانية واحدة",
- "two": "خلال ثانيتين",
- "few": "خلال {0} ثوانٍ",
- "other": "خلال {0} ثانية"
- ]
- ],
- "now": "الآن"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "السنة الماضية",
- "current": "هذه السنة",
- "next": "السنة التالية",
- "past": [
- "one": "قبل سنة واحدة",
- "two": "قبل سنتين",
- "few": "قبل {0} سنوات",
- "other": "قبل {0} سنة"
- ],
- "future": [
- "one": "خلال سنة واحدة",
- "two": "خلال سنتين",
- "few": "خلال {0} سنوات",
- "other": "خلال {0} سنة"
- ]
- ],
- "quarter": [
- "previous": "الربع الأخير",
- "current": "هذا الربع",
- "next": "الربع القادم",
- "past": [
- "one": "قبل ربع سنة واحد",
- "two": "قبل ربعي سنة",
- "few": "قبل {0} أرباع سنة",
- "other": "قبل {0} ربع سنة"
- ],
- "future": [
- "one": "خلال ربع سنة واحد",
- "two": "خلال ربعي سنة",
- "few": "خلال {0} أرباع سنة",
- "other": "خلال {0} ربع سنة"
- ]
- ],
- "month": [
- "previous": "الشهر الماضي",
- "current": "هذا الشهر",
- "next": "الشهر القادم",
- "past": [
- "one": "قبل شهر واحد",
- "two": "قبل شهرين",
- "few": "قبل {0} أشهر",
- "many": "قبل {0} شهرًا",
- "other": "قبل {0} شهر"
- ],
- "future": [
- "one": "خلال شهر واحد",
- "two": "خلال شهرين",
- "few": "خلال {0} أشهر",
- "many": "خلال {0} شهرًا",
- "other": "خلال {0} شهر"
- ]
- ],
- "week": [
- "previous": "الأسبوع الماضي",
- "current": "هذا الأسبوع",
- "next": "الأسبوع القادم",
- "past": [
- "one": "قبل أسبوع واحد",
- "two": "قبل أسبوعين",
- "few": "قبل {0} أسابيع",
- "many": "قبل {0} أسبوعًا",
- "other": "قبل {0} أسبوع"
- ],
- "future": [
- "one": "خلال أسبوع واحد",
- "two": "خلال أسبوعين",
- "few": "خلال {0} أسابيع",
- "many": "خلال {0} أسبوعًا",
- "other": "خلال {0} أسبوع"
- ]
- ],
- "day": [
- "previous": "أمس",
- "current": "اليوم",
- "next": "غدًا",
- "past": [
- "one": "قبل يوم واحد",
- "two": "قبل يومين",
- "few": "قبل {0} أيام",
- "many": "قبل {0} يومًا",
- "other": "قبل {0} يوم"
- ],
- "future": [
- "one": "خلال يوم واحد",
- "two": "خلال يومين",
- "few": "خلال {0} أيام",
- "many": "خلال {0} يومًا",
- "other": "خلال {0} يوم"
- ]
- ],
- "hour": [
- "current": "الساعة الحالية",
- "past": [
- "one": "قبل ساعة واحدة",
- "two": "قبل ساعتين",
- "few": "قبل {0} ساعات",
- "other": "قبل {0} ساعة"
- ],
- "future": [
- "one": "خلال ساعة واحدة",
- "two": "خلال ساعتين",
- "few": "خلال {0} ساعات",
- "other": "خلال {0} ساعة"
- ]
- ],
- "minute": [
- "current": "هذه الدقيقة",
- "past": [
- "one": "قبل دقيقة واحدة",
- "two": "قبل دقيقتين",
- "few": "قبل {0} دقائق",
- "other": "قبل {0} دقيقة"
- ],
- "future": [
- "one": "خلال دقيقة واحدة",
- "two": "خلال دقيقتين",
- "few": "خلال {0} دقائق",
- "other": "خلال {0} دقيقة"
- ]
- ],
- "second": [
- "current": "الآن",
- "past": [
- "one": "قبل ثانية واحدة",
- "two": "قبل ثانيتين",
- "few": "قبل {0} ثوانِ",
- "other": "قبل {0} ثانية"
- ],
- "future": [
- "one": "خلال ثانية واحدة",
- "two": "خلال ثانيتين",
- "few": "خلال {0} ثوانٍ",
- "other": "خلال {0} ثانية"
- ]
- ],
- "now": "الآن"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_as.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_as.swift
deleted file mode 100644
index e5e4d2e8..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_as.swift
+++ /dev/null
@@ -1,198 +0,0 @@
-//
-// lang_as.swift
-// SwiftDate-iOS
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_as: RelativeFormatterLang {
-
- /// Locales.assamese
- public static let identifier: String = "as"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "যোৱা বছৰ",
- "current": "এই বছৰ",
- "next": "অহা বছৰ",
- "past": "{0} বছৰৰ পূৰ্বে",
- "future": "{0} বছৰত"
- ],
- "quarter": [
- "previous": "যোৱা তিনি মাহ",
- "current": "এই তিনি মাহ",
- "next": "অহা তিনি মাহ",
- "past": "{0} তিনি মাহ পূৰ্বে",
- "future": "{0} তিনি মাহত"
- ],
- "month": [
- "previous": "যোৱা মাহ",
- "current": "এই মাহ",
- "next": "অহা মাহ",
- "past": "{0} মাহ পূৰ্বে",
- "future": "{0} মাহত"
- ],
- "week": [
- "previous": "যোৱা সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "অহা সপ্তাহ",
- "past": "{0} সপ্তাহ পূৰ্বে",
- "future": "{0} সপ্তাহত"
- ],
- "day": [
- "previous": "কালি",
- "current": "আজি",
- "next": "কাইলৈ",
- "past": "{0} দিন পূৰ্বে",
- "future": "{0} দিনত"
- ],
- "hour": [
- "current": "এইটো ঘণ্টাত",
- "past": "{0} ঘণ্টা পূৰ্বে",
- "future": "{0} ঘণ্টাত"
- ],
- "minute": [
- "current": "এইটো মিনিটত",
- "past": "{0} মিনিট পূৰ্বে",
- "future": "{0} মিনিটত"
- ],
- "second": [
- "current": "এতিয়া",
- "past": "{0} ছেকেণ্ড পূৰ্বে",
- "future": "{0} ছেকেণ্ডত"
- ],
- "now": "এতিয়া"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "যোৱা বছৰ",
- "current": "এই বছৰ",
- "next": "অহা বছৰ",
- "past": "{0} বছৰৰ পূৰ্বে",
- "future": "{0} বছৰত"
- ],
- "quarter": [
- "previous": "যোৱা তিনি মাহ",
- "current": "এই তিনি মাহ",
- "next": "অহা তিনি মাহ",
- "past": "{0} তিনি মাহ পূৰ্বে",
- "future": "{0} তিনি মাহত"
- ],
- "month": [
- "previous": "যোৱা মাহ",
- "current": "এই মাহ",
- "next": "অহা মাহ",
- "past": "{0} মাহ পূৰ্বে",
- "future": "{0} মাহত"
- ],
- "week": [
- "previous": "যোৱা সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "অহা সপ্তাহ",
- "past": "{0} সপ্তাহ পূৰ্বে",
- "future": "{0} সপ্তাহত"
- ],
- "day": [
- "previous": "কালি",
- "current": "আজি",
- "next": "কাইলৈ",
- "past": "{0} দিন পূৰ্বে",
- "future": "{0} দিনত"
- ],
- "hour": [
- "current": "এইটো ঘণ্টাত",
- "past": "{0} ঘণ্টা পূৰ্বে",
- "future": "{0} ঘণ্টাত"
- ],
- "minute": [
- "current": "এইটো মিনিটত",
- "past": "{0} মিনিট পূৰ্বে",
- "future": "{0} মিনিটত"
- ],
- "second": [
- "current": "এতিয়া",
- "past": "{0} ছেকেণ্ড পূৰ্বে",
- "future": "{0} ছেকেণ্ডত"
- ],
- "now": "এতিয়া"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "যোৱা বছৰ",
- "current": "এই বছৰ",
- "next": "অহা বছৰ",
- "past": "{0} বছৰৰ পূৰ্বে",
- "future": "{0} বছৰত"
- ],
- "quarter": [
- "previous": "যোৱা তিনি মাহ",
- "current": "এই তিনি মাহ",
- "next": "অহা তিনি মাহ",
- "past": "{0} তিনি মাহ পূৰ্বে",
- "future": "{0} তিনি মাহত"
- ],
- "month": [
- "previous": "যোৱা মাহ",
- "current": "এই মাহ",
- "next": "অহা মাহ",
- "past": "{0} মাহ পূৰ্বে",
- "future": "{0} মাহত"
- ],
- "week": [
- "previous": "যোৱা সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "অহা সপ্তাহ",
- "past": "{0} সপ্তাহ পূৰ্বে",
- "future": "{0} সপ্তাহত"
- ],
- "day": [
- "previous": "কালি",
- "current": "আজি",
- "next": "কাইলৈ",
- "past": "{0} দিন পূৰ্বে",
- "future": "{0} দিনত"
- ],
- "hour": [
- "current": "এইটো ঘণ্টাত",
- "past": "{0} ঘণ্টা পূৰ্বে",
- "future": "{0} ঘণ্টাত"
- ],
- "minute": [
- "current": "এইটো মিনিটত",
- "past": "{0} মিনিট পূৰ্বে",
- "future": "{0} মিনিটত"
- ],
- "second": [
- "current": "এতিয়া",
- "past": "{0} ছেকেণ্ড পূৰ্বে",
- "future": "{0} ছেকেণ্ডত"
- ],
- "now": "এতিয়া"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_az.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_az.swift
deleted file mode 100644
index eaed1065..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_az.swift
+++ /dev/null
@@ -1,198 +0,0 @@
-//
-// lang_az.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_az: RelativeFormatterLang {
-
- /// Locales.assamese
- public static let identifier: String = "as"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "যোৱা বছৰ",
- "current": "এই বছৰ",
- "next": "অহা বছৰ",
- "past": "{0} বছৰৰ পূৰ্বে",
- "future": "{0} বছৰত"
- ],
- "quarter": [
- "previous": "যোৱা তিনি মাহ",
- "current": "এই তিনি মাহ",
- "next": "অহা তিনি মাহ",
- "past": "{0} তিনি মাহ পূৰ্বে",
- "future": "{0} তিনি মাহত"
- ],
- "month": [
- "previous": "যোৱা মাহ",
- "current": "এই মাহ",
- "next": "অহা মাহ",
- "past": "{0} মাহ পূৰ্বে",
- "future": "{0} মাহত"
- ],
- "week": [
- "previous": "যোৱা সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "অহা সপ্তাহ",
- "past": "{0} সপ্তাহ পূৰ্বে",
- "future": "{0} সপ্তাহত"
- ],
- "day": [
- "previous": "কালি",
- "current": "আজি",
- "next": "কাইলৈ",
- "past": "{0} দিন পূৰ্বে",
- "future": "{0} দিনত"
- ],
- "hour": [
- "current": "এইটো ঘণ্টাত",
- "past": "{0} ঘণ্টা পূৰ্বে",
- "future": "{0} ঘণ্টাত"
- ],
- "minute": [
- "current": "এইটো মিনিটত",
- "past": "{0} মিনিট পূৰ্বে",
- "future": "{0} মিনিটত"
- ],
- "second": [
- "current": "এতিয়া",
- "past": "{0} ছেকেণ্ড পূৰ্বে",
- "future": "{0} ছেকেণ্ডত"
- ],
- "now": "এতিয়া"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "যোৱা বছৰ",
- "current": "এই বছৰ",
- "next": "অহা বছৰ",
- "past": "{0} বছৰৰ পূৰ্বে",
- "future": "{0} বছৰত"
- ],
- "quarter": [
- "previous": "যোৱা তিনি মাহ",
- "current": "এই তিনি মাহ",
- "next": "অহা তিনি মাহ",
- "past": "{0} তিনি মাহ পূৰ্বে",
- "future": "{0} তিনি মাহত"
- ],
- "month": [
- "previous": "যোৱা মাহ",
- "current": "এই মাহ",
- "next": "অহা মাহ",
- "past": "{0} মাহ পূৰ্বে",
- "future": "{0} মাহত"
- ],
- "week": [
- "previous": "যোৱা সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "অহা সপ্তাহ",
- "past": "{0} সপ্তাহ পূৰ্বে",
- "future": "{0} সপ্তাহত"
- ],
- "day": [
- "previous": "কালি",
- "current": "আজি",
- "next": "কাইলৈ",
- "past": "{0} দিন পূৰ্বে",
- "future": "{0} দিনত"
- ],
- "hour": [
- "current": "এইটো ঘণ্টাত",
- "past": "{0} ঘণ্টা পূৰ্বে",
- "future": "{0} ঘণ্টাত"
- ],
- "minute": [
- "current": "এইটো মিনিটত",
- "past": "{0} মিনিট পূৰ্বে",
- "future": "{0} মিনিটত"
- ],
- "second": [
- "current": "এতিয়া",
- "past": "{0} ছেকেণ্ড পূৰ্বে",
- "future": "{0} ছেকেণ্ডত"
- ],
- "now": "এতিয়া"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "যোৱা বছৰ",
- "current": "এই বছৰ",
- "next": "অহা বছৰ",
- "past": "{0} বছৰৰ পূৰ্বে",
- "future": "{0} বছৰত"
- ],
- "quarter": [
- "previous": "যোৱা তিনি মাহ",
- "current": "এই তিনি মাহ",
- "next": "অহা তিনি মাহ",
- "past": "{0} তিনি মাহ পূৰ্বে",
- "future": "{0} তিনি মাহত"
- ],
- "month": [
- "previous": "যোৱা মাহ",
- "current": "এই মাহ",
- "next": "অহা মাহ",
- "past": "{0} মাহ পূৰ্বে",
- "future": "{0} মাহত"
- ],
- "week": [
- "previous": "যোৱা সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "অহা সপ্তাহ",
- "past": "{0} সপ্তাহ পূৰ্বে",
- "future": "{0} সপ্তাহত"
- ],
- "day": [
- "previous": "কালি",
- "current": "আজি",
- "next": "কাইলৈ",
- "past": "{0} দিন পূৰ্বে",
- "future": "{0} দিনত"
- ],
- "hour": [
- "current": "এইটো ঘণ্টাত",
- "past": "{0} ঘণ্টা পূৰ্বে",
- "future": "{0} ঘণ্টাত"
- ],
- "minute": [
- "current": "এইটো মিনিটত",
- "past": "{0} মিনিট পূৰ্বে",
- "future": "{0} মিনিটত"
- ],
- "second": [
- "current": "এতিয়া",
- "past": "{0} ছেকেণ্ড পূৰ্বে",
- "future": "{0} ছেকেণ্ডত"
- ],
- "now": "এতিয়া"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_be.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_be.swift
deleted file mode 100644
index 64ae230e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_be.swift
+++ /dev/null
@@ -1,313 +0,0 @@
-//
-// lang_be.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_be: RelativeFormatterLang {
-
- /// Locales.belarusian
- public static let identifier: String = "be"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod10 {
- case 1:
- switch mod100 {
- case 11:
- break
- default:
- return .one
- }
- case 2, 3, 4:
- switch mod100 {
- case 12, 13, 14:
- break
- default:
- return .few
- }
- default:
- break
- }
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "у мінулым годзе",
- "current": "у гэтым годзе",
- "next": "у наступным годзе",
- "past": "{0} г. таму",
- "future": "праз {0} г."
- ],
- "quarter": [
- "previous": "у мінулым квартале",
- "current": "у гэтым квартале",
- "next": "у наступным квартале",
- "past": "{0} кв. таму",
- "future": "праз {0} кв."
- ],
- "month": [
- "previous": "у мінулым месяцы",
- "current": "у гэтым месяцы",
- "next": "у наступным месяцы",
- "past": "{0} мес. таму",
- "future": "праз {0} мес."
- ],
- "week": [
- "previous": "на мінулым тыдні",
- "current": "на гэтым тыдні",
- "next": "на наступным тыдні",
- "past": "{0} тыд таму",
- "future": "праз {0} тыд"
- ],
- "day": [
- "previous": "учора",
- "current": "сёння",
- "next": "заўтра",
- "past": [
- "one": "{0} дзень таму",
- "few": "{0} дні таму",
- "many": "{0} дзён таму",
- "other": "{0} дня таму"
- ],
- "future": [
- "one": "праз {0} дзень",
- "few": "праз {0} дні",
- "many": "праз {0} дзён",
- "other": "праз {0} дня"
- ]
- ],
- "hour": [
- "current": "у гэту гадзіну",
- "past": "{0} гадз таму",
- "future": "праз {0} гадз"
- ],
- "minute": [
- "current": "у гэту хвіліну",
- "past": "{0} хв таму",
- "future": "праз {0} хв"
- ],
- "second": [
- "current": "цяпер",
- "past": "{0} с таму",
- "future": "праз {0} с"
- ],
- "now": "цяпер"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "у мінулым годзе",
- "current": "у гэтым годзе",
- "next": "у наступным годзе",
- "past": "{0} г. таму",
- "future": "праз {0} г."
- ],
- "quarter": [
- "previous": "у мінулым квартале",
- "current": "у гэтым квартале",
- "next": "у наступным квартале",
- "past": "{0} кв. таму",
- "future": "праз {0} кв."
- ],
- "month": [
- "previous": "у мінулым месяцы",
- "current": "у гэтым месяцы",
- "next": "у наступным месяцы",
- "past": "{0} мес. таму",
- "future": "праз {0} мес."
- ],
- "week": [
- "previous": "на мінулым тыдні",
- "current": "на гэтым тыдні",
- "next": "на наступным тыдні",
- "past": "{0} тыд таму",
- "future": "праз {0} тыд"
- ],
- "day": [
- "previous": "учора",
- "current": "сёння",
- "next": "заўтра",
- "past": [
- "one": "{0} дзень таму",
- "few": "{0} дні таму",
- "many": "{0} дзён таму",
- "other": "{0} дня таму"
- ],
- "future": [
- "one": "праз {0} дзень",
- "few": "праз {0} дні",
- "many": "праз {0} дзён",
- "other": "праз {0} дня"
- ]
- ],
- "hour": [
- "current": "у гэту гадзіну",
- "past": "{0} гадз таму",
- "future": "праз {0} гадз"
- ],
- "minute": [
- "current": "у гэту хвіліну",
- "past": "{0} хв таму",
- "future": "праз {0} хв"
- ],
- "second": [
- "current": "цяпер",
- "past": "{0} с таму",
- "future": "праз {0} с"
- ],
- "now": "цяпер"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "у мінулым годзе",
- "current": "у гэтым годзе",
- "next": "у наступным годзе",
- "past": [
- "one": "{0} год таму",
- "few": "{0} гады таму",
- "many": "{0} гадоў таму",
- "other": "{0} года таму"
- ],
- "future": [
- "one": "праз {0} год",
- "few": "праз {0} гады",
- "many": "праз {0} гадоў",
- "other": "праз {0} года"
- ]
- ],
- "quarter": [
- "previous": "у мінулым квартале",
- "current": "у гэтым квартале",
- "next": "у наступным квартале",
- "past": [
- "one": "{0} квартал таму",
- "few": "{0} кварталы таму",
- "many": "{0} кварталаў таму",
- "other": "{0} квартала таму"
- ],
- "future": [
- "one": "праз {0} квартал",
- "few": "праз {0} кварталы",
- "many": "праз {0} кварталаў",
- "other": "праз {0} квартала"
- ]
- ],
- "month": [
- "previous": "у мінулым месяцы",
- "current": "у гэтым месяцы",
- "next": "у наступным месяцы",
- "past": [
- "one": "{0} месяц таму",
- "few": "{0} месяцы таму",
- "many": "{0} месяцаў таму",
- "other": "{0} месяца таму"
- ],
- "future": [
- "one": "праз {0} месяц",
- "few": "праз {0} месяцы",
- "many": "праз {0} месяцаў",
- "other": "праз {0} месяца"
- ]
- ],
- "week": [
- "previous": "на мінулым тыдні",
- "current": "на гэтым тыдні",
- "next": "на наступным тыдні",
- "past": [
- "one": "{0} тыдзень таму",
- "few": "{0} тыдні таму",
- "many": "{0} тыдняў таму",
- "other": "{0} тыдня таму"
- ],
- "future": [
- "one": "праз {0} тыдзень",
- "few": "праз {0} тыдні",
- "many": "праз {0} тыдняў",
- "other": "праз {0} тыдня"
- ]
- ],
- "day": [
- "previous": "учора",
- "current": "сёння",
- "next": "заўтра",
- "past": [
- "one": "{0} дзень таму",
- "few": "{0} дні таму",
- "many": "{0} дзён таму",
- "other": "{0} дня таму"
- ],
- "future": [
- "one": "праз {0} дзень",
- "few": "праз {0} дні",
- "many": "праз {0} дзён",
- "other": "праз {0} дня"
- ]
- ],
- "hour": [
- "current": "у гэту гадзіну",
- "past": [
- "one": "{0} гадзіну таму",
- "many": "{0} гадзін таму",
- "other": "{0} гадзіны таму"
- ],
- "future": [
- "one": "праз {0} гадзіну",
- "many": "праз {0} гадзін",
- "other": "праз {0} гадзіны"
- ]
- ],
- "minute": [
- "current": "у гэту хвіліну",
- "past": [
- "one": "{0} хвіліну таму",
- "many": "{0} хвілін таму",
- "other": "{0} хвіліны таму"
- ],
- "future": [
- "one": "праз {0} хвіліну",
- "many": "праз {0} хвілін",
- "other": "праз {0} хвіліны"
- ]
- ],
- "second": [
- "current": "цяпер",
- "past": [
- "one": "{0} секунду таму",
- "many": "{0} секунд таму",
- "other": "{0} секунды таму"
- ],
- "future": [
- "one": "праз {0} секунду",
- "many": "праз {0} секунд",
- "other": "праз {0} секунды"
- ]
- ],
- "now": "цяпер"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bg.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bg.swift
deleted file mode 100644
index 0e743e44..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bg.swift
+++ /dev/null
@@ -1,252 +0,0 @@
-//
-// lang_bg.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_bg: RelativeFormatterLang {
-
- /// Locales.bulgarian
- public static let identifier: String = "bg"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (Int(value) == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "мин. г.",
- "current": "т. г.",
- "next": "следв. г.",
- "past": "преди {0} г.",
- "future": "след {0} г."
- ],
- "quarter": [
- "previous": "мин. трим.",
- "current": "това трим.",
- "next": "следв. трим.",
- "past": "преди {0} трим.",
- "future": "след {0} трим."
- ],
- "month": [
- "previous": "мин. мес.",
- "current": "този мес.",
- "next": "следв. мес.",
- "past": "преди {0} м.",
- "future": "след {0} м."
- ],
- "week": [
- "previous": "миналата седмица",
- "current": "тази седм.",
- "next": "следв. седм.",
- "past": "преди {0} седм.",
- "future": "след {0} седм."
- ],
- "day": [
- "previous": "вчера",
- "current": "днес",
- "next": "утре",
- "past": [
- "one": "преди {0} ден",
- "other": "преди {0} дни"
- ],
- "future": [
- "one": "след {0} ден",
- "other": "след {0} дни"
- ]
- ],
- "hour": [
- "current": "в този час",
- "past": "преди {0} ч",
- "future": "след {0} ч"
- ],
- "minute": [
- "current": "в тази минута",
- "past": "преди {0} мин",
- "future": "след {0} мин"
- ],
- "second": [
- "current": "сега",
- "past": "преди {0} сек",
- "future": "след {0} сек"
- ],
- "now": "сега"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "мин. г.",
- "current": "т. г.",
- "next": "сл. г.",
- "past": "пр. {0} г.",
- "future": "сл. {0} г."
- ],
- "quarter": [
- "previous": "мин. трим.",
- "current": "това трим.",
- "next": "следв. трим.",
- "past": "пр. {0} трим.",
- "future": "сл. {0} трим."
- ],
- "month": [
- "previous": "мин. м.",
- "current": "т. м.",
- "next": "сл. м.",
- "past": "пр. {0} м.",
- "future": "сл. {0} м."
- ],
- "week": [
- "previous": "мин. седм.",
- "current": "тази седм.",
- "next": "сл. седм.",
- "past": "пр. {0} седм.",
- "future": "сл. {0} седм."
- ],
- "day": [
- "previous": "вчера",
- "current": "днес",
- "next": "утре",
- "past": "пр. {0} д",
- "future": "сл. {0} д"
- ],
- "hour": [
- "current": "в този час",
- "past": "пр. {0} ч",
- "future": "сл. {0} ч"
- ],
- "minute": [
- "current": "в тази минута",
- "past": "пр. {0} мин",
- "future": "сл. {0} мин"
- ],
- "second": [
- "current": "сега",
- "past": "пр. {0} сек",
- "future": "сл. {0} сек"
- ],
- "now": "сега"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "миналата година",
- "current": "тази година",
- "next": "следващата година",
- "past": [
- "one": "преди {0} година",
- "other": "преди {0} години"
- ],
- "future": [
- "one": "след {0} година",
- "other": "след {0} години"
- ]
- ],
- "quarter": [
- "previous": "предходно тримесечие",
- "current": "това тримесечие",
- "next": "следващо тримесечие",
- "past": [
- "one": "преди {0} тримесечие",
- "other": "преди {0} тримесечия"
- ],
- "future": [
- "one": "след {0} тримесечие",
- "other": "след {0} тримесечия"
- ]
- ],
- "month": [
- "previous": "предходен месец",
- "current": "този месец",
- "next": "следващ месец",
- "past": [
- "one": "преди {0} месец",
- "other": "преди {0} месеца"
- ],
- "future": [
- "one": "след {0} месец",
- "other": "след {0} месеца"
- ]
- ],
- "week": [
- "previous": "предходната седмица",
- "current": "тази седмица",
- "next": "следващата седмица",
- "past": [
- "one": "преди {0} седмица",
- "other": "преди {0} седмици"
- ],
- "future": [
- "one": "след {0} седмица",
- "other": "след {0} седмици"
- ]
- ],
- "day": [
- "previous": "вчера",
- "current": "днес",
- "next": "утре",
- "past": [
- "one": "преди {0} ден",
- "other": "преди {0} дни"
- ],
- "future": [
- "one": "след {0} ден",
- "other": "след {0} дни"
- ]
- ],
- "hour": [
- "current": "в този час",
- "past": [
- "one": "преди {0} час",
- "other": "преди {0} часа"
- ],
- "future": [
- "one": "след {0} час",
- "other": "след {0} часа"
- ]
- ],
- "minute": [
- "current": "в тази минута",
- "past": [
- "one": "преди {0} минута",
- "other": "преди {0} минути"
- ],
- "future": [
- "one": "след {0} минута",
- "other": "след {0} минути"
- ]
- ],
- "second": [
- "current": "сега",
- "past": [
- "one": "преди {0} секунда",
- "other": "преди {0} секунди"
- ],
- "future": [
- "one": "след {0} секунда",
- "other": "след {0} секунди"
- ]
- ],
- "now": "сега"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bn.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bn.swift
deleted file mode 100644
index c8b7c90d..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bn.swift
+++ /dev/null
@@ -1,198 +0,0 @@
-//
-// lang_bn.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_bn: RelativeFormatterLang {
-
- /// Locales.bengali
- public static let identifier: String = "bn"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (Int(value) >= 0 && Int(value) <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "গত বছর",
- "current": "এই বছর",
- "next": "পরের বছর",
- "past": "[0] বছর পূর্বে",
- "future": "[0] বছরে"
- ],
- "quarter": [
- "previous": "গত ত্রৈমাসিক",
- "current": "এই ত্রৈমাসিক",
- "next": "পরের ত্রৈমাসিক",
- "past": "[0] ত্রৈমাসিক আগে",
- "future": "[0] ত্রৈমাসিকে"
- ],
- "month": [
- "previous": "গত মাস",
- "current": "এই মাস",
- "next": "পরের মাস",
- "past": "[0] মাস আগে",
- "future": "[0] মাসে"
- ],
- "week": [
- "previous": "গত সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "পরের সপ্তাহ",
- "past": "[0] সপ্তাহ আগে",
- "future": "[0] সপ্তাহে"
- ],
- "day": [
- "previous": "গতকাল",
- "current": "আজ",
- "next": "আগামীকাল",
- "past": "[0] দিন আগে",
- "future": "[0] দিনের মধ্যে"
- ],
- "hour": [
- "current": "এই ঘণ্টায়",
- "past": "[0] ঘন্টা আগে",
- "future": "[0] ঘন্টায়"
- ],
- "minute": [
- "current": "এই মিনিট",
- "past": "[0] মিনিট আগে",
- "future": "[0] মিনিটে"
- ],
- "second": [
- "current": "এখন",
- "past": "[0] সেকেন্ড পূর্বে",
- "future": "[0] সেকেন্ডে"
- ],
- "now": "এখন"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "গত বছর",
- "current": "এই বছর",
- "next": "পরের বছর",
- "past": "[0] বছর পূর্বে",
- "future": "[0] বছরে"
- ],
- "quarter": [
- "previous": "গত ত্রৈমাসিক",
- "current": "এই ত্রৈমাসিক",
- "next": "পরের ত্রৈমাসিক",
- "past": "[0] ত্রৈমাসিক আগে",
- "future": "[0] ত্রৈমাসিকে"
- ],
- "month": [
- "previous": "গত মাস",
- "current": "এই মাস",
- "next": "পরের মাস",
- "past": "[0] মাস আগে",
- "future": "[0] মাসে"
- ],
- "week": [
- "previous": "গত সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "পরের সপ্তাহ",
- "past": "[0] সপ্তাহ আগে",
- "future": "[0] সপ্তাহে"
- ],
- "day": [
- "previous": "গতকাল",
- "current": "আজ",
- "next": "আগামীকাল",
- "past": "[0] দিন আগে",
- "future": "[0] দিনের মধ্যে"
- ],
- "hour": [
- "current": "এই ঘণ্টায়",
- "past": "[0] ঘন্টা আগে",
- "future": "[0] ঘন্টায়"
- ],
- "minute": [
- "current": "এই মিনিট",
- "past": "[0] মিনিট আগে",
- "future": "[0] মিনিটে"
- ],
- "second": [
- "current": "এখন",
- "past": "[0] সেকেন্ড আগে",
- "future": "[0] সেকেন্ডে"
- ],
- "now": "এখন"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "গত বছর",
- "current": "এই বছর",
- "next": "পরের বছর",
- "past": "[0] বছর পূর্বে",
- "future": "[0] বছরে"
- ],
- "quarter": [
- "previous": "গত ত্রৈমাসিক",
- "current": "এই ত্রৈমাসিক",
- "next": "পরের ত্রৈমাসিক",
- "past": "[0] ত্রৈমাসিক আগে",
- "future": "[0] ত্রৈমাসিকে"
- ],
- "month": [
- "previous": "গত মাস",
- "current": "এই মাস",
- "next": "পরের মাস",
- "past": "[0] মাস আগে",
- "future": "[0] মাসে"
- ],
- "week": [
- "previous": "গত সপ্তাহ",
- "current": "এই সপ্তাহ",
- "next": "পরের সপ্তাহ",
- "past": "[0] সপ্তাহ আগে",
- "future": "[0] সপ্তাহে"
- ],
- "day": [
- "previous": "গতকাল",
- "current": "আজ",
- "next": "আগামীকাল",
- "past": "[0] দিন আগে",
- "future": "[0] দিনের মধ্যে"
- ],
- "hour": [
- "current": "এই ঘণ্টায়",
- "past": "[0] ঘন্টা আগে",
- "future": "[0] ঘন্টায়"
- ],
- "minute": [
- "current": "এই মিনিট",
- "past": "[0] মিনিট আগে",
- "future": "[0] মিনিটে"
- ],
- "second": [
- "current": "এখন",
- "past": "[0] সেকেন্ড পূর্বে",
- "future": "[0] সেকেন্ডে"
- ],
- "now": "এখন"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_br.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_br.swift
deleted file mode 100644
index daac040e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_br.swift
+++ /dev/null
@@ -1,278 +0,0 @@
-//
-// lang_br.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_br: RelativeFormatterLang {
-
- /// Locales.breton
- public static let identifier: String = "br"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let n = Int(value)
- return n % 10 == 1 && n % 100 != 11 && n % 100 != 71 && n % 100 != 91 ? .zero : n % 10 == 2 && n % 100 != 12 && n % 100 != 72 && n % 100 != 92 ? .one : (n % 10 == 3 || n % 10 == 4 || n % 10 == 9) && n % 100 != 13 && n % 100 != 14 && n % 100 != 19 && n % 100 != 73 && n % 100 != 74 && n % 100 != 79 && n % 100 != 93 && n % 100 != 94 && n % 100 != 99 ? .two : n % 1_000_000 == 0 && n != 0 ? .many : .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "warlene",
- "current": "hevlene",
- "next": "ar bl. a zeu",
- "past": "{0} bl. zo",
- "future": "a-benn {0} bl."
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "{0} trim. zo",
- "future": "a-benn {0} trim."
- ],
- "month": [
- "previous": "ar miz diaraok",
- "current": "ar miz-mañ",
- "next": "ar miz a zeu",
- "past": [
- "two": "{0} viz zo",
- "many": "{0} a vizioù zo",
- "other": "{0} miz zo"
- ],
- "future": [
- "two": "a-benn {0} viz",
- "many": "a-benn {0} a vizioù",
- "other": "a-benn {0} miz"
- ]
- ],
- "week": [
- "previous": "ar sizhun diaraok",
- "current": "ar sizhun-mañ",
- "next": "ar sizhun a zeu",
- "past": [
- "many": "{0} a sizhunioù zo",
- "other": "{0} sizhun zo"
- ],
- "future": [
- "many": "a-benn {0} a sizhunioù",
- "other": "a-benn {0} sizhun"
- ]
- ],
- "day": [
- "previous": "decʼh",
- "current": "hiziv",
- "next": "warcʼhoazh",
- "past": "{0} d zo",
- "future": "a-benn {0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} e zo",
- "future": "a-benn {0} e"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} min zo",
- "future": "a-benn {0} min"
- ],
- "second": [
- "current": "brem.",
- "past": "{0} s zo",
- "future": "a-benn {0} s"
- ],
- "now": "brem."
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "warlene",
- "current": "hevlene",
- "next": "ar bl. a zeu",
- "past": "-{0} bl.",
- "future": "+{0} bl."
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} trim.",
- "future": "+{0} trim."
- ],
- "month": [
- "previous": "ar miz diaraok",
- "current": "ar miz-mañ",
- "next": "ar miz a zeu",
- "past": "-{0} miz",
- "future": "+{0} miz"
- ],
- "week": [
- "previous": "ar sizhun diaraok",
- "current": "ar sizhun-mañ",
- "next": "ar sizhun a zeu",
- "past": [
- "many": "{0} a sizhunioù zo",
- "other": "{0} sizhun zo"
- ],
- "future": [
- "many": "a-benn {0} a sizhunioù",
- "other": "a-benn {0} sizhun"
- ]
- ],
- "day": [
- "previous": "decʼh",
- "current": "hiziv",
- "next": "warcʼhoazh",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "brem.",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "brem."
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "warlene",
- "current": "hevlene",
- "next": "ar bloaz a zeu",
- "past": [
- "one": "{0} bloaz zo",
- "few": "{0} bloaz zo",
- "many": "{0} a vloazioù zo",
- "other": "{0} vloaz zo"
- ],
- "future": [
- "one": "a-benn {0} bloaz",
- "few": "a-benn {0} bloaz",
- "many": "a-benn {0} a vloazioù",
- "other": "a-benn {0} vloaz"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": [
- "two": "{0} drimiziad zo",
- "few": "{0} zrimiziad zo",
- "many": "{0} a zrimiziadoù zo",
- "other": "{0} trimiziad zo"
- ],
- "future": [
- "two": "a-benn {0} drimiziad",
- "few": "a-benn {0} zrimiziad",
- "many": "a-benn {0} a drimiziadoù",
- "other": "a-benn {0} trimiziad"
- ]
- ],
- "month": [
- "previous": "ar miz diaraok",
- "current": "ar miz-mañ",
- "next": "ar miz a zeu",
- "past": [
- "two": "{0} viz zo",
- "many": "{0} a vizioù zo",
- "other": "{0} miz zo"
- ],
- "future": [
- "two": "a-benn {0} viz",
- "many": "a-benn {0} a vizioù",
- "other": "a-benn {0} miz"
- ]
- ],
- "week": [
- "previous": "ar sizhun diaraok",
- "current": "ar sizhun-mañ",
- "next": "ar sizhun a zeu",
- "past": [
- "many": "{0} a sizhunioù zo",
- "other": "{0} sizhun zo"
- ],
- "future": [
- "many": "a-benn {0} a sizhunioù",
- "other": "a-benn {0} sizhun"
- ]
- ],
- "day": [
- "previous": "decʼh",
- "current": "hiziv",
- "next": "warcʼhoazh",
- "past": [
- "two": "{0} zeiz zo",
- "many": "{0} a zeizioù zo",
- "other": "{0} deiz zo"
- ],
- "future": [
- "two": "a-benn {0} zeiz",
- "many": "a-benn {0} a zeizioù",
- "other": "a-benn {0} deiz"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "many": "{0} a eurioù zo",
- "other": "{0} eur zo"
- ],
- "future": [
- "many": "a-benn {0} a eurioù",
- "other": "a-benn {0} eur"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "two": "{0} vunut zo",
- "many": "{0} a vunutoù zo",
- "other": "{0} munut zo"
- ],
- "future": [
- "two": "a-benn {0} vunut",
- "many": "a-benn {0} a vunutoù",
- "other": "a-benn {0} munut"
- ]
- ],
- "second": [
- "current": "bremañ",
- "past": "{0} eilenn zo",
- "future": [
- "many": "a-benn {0} a eilennoù",
- "other": "a-benn {0} eilenn"
- ]
- ],
- "now": "bremañ"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bs.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bs.swift
deleted file mode 100644
index b7976c71..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bs.swift
+++ /dev/null
@@ -1,296 +0,0 @@
-//
-// lang_bs.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_bs: RelativeFormatterLang {
-
- /// Locales.bosnian
- public static let identifier: String = "bs"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod10 {
- case 1:
- switch mod100 {
- case 11:
- break
- default:
- return .one
- }
- case 2, 3, 4:
- switch mod100 {
- case 12, 13, 14:
- break
- default:
- return .few
- }
- default:
- break
- }
- return .many
- }
-
- // module.exports=function(e){var i=String(e).split("."),n=Number(i{0})==e,r=n&&i{0}.slice(-1),s=n&&i{0}.slice(-2);return 1==r&&11!=s?"one":r>=2&&r<=4&&(s<12||s>14)?"few":n&&0==r||r>=5&&r<=9||s>=11&&s<=14?"many":"other"}
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "prošle godine",
- "current": "ove godine",
- "next": "sljedeće godine",
- "past": "prije {0} god.",
- "future": "za {0} god."
- ],
- "quarter": [
- "previous": "posljednji kvartal",
- "current": "ovaj kvartal",
- "next": "sljedeći kvartal",
- "past": "prije {0} kv.",
- "future": "za {0} kv."
- ],
- "month": [
- "previous": "prošli mjesec",
- "current": "ovaj mjesec",
- "next": "sljedeći mjesec",
- "past": "prije {0} mj.",
- "future": "za {0} mj."
- ],
- "week": [
- "previous": "prošle sedmice",
- "current": "ove sedmice",
- "next": "sljedeće sedmice",
- "past": "prije {0} sed.",
- "future": "za {0} sed."
- ],
- "day": [
- "previous": "jučer",
- "current": "danas",
- "next": "sutra",
- "past": "prije {0} d.",
- "future": "za {0} d."
- ],
- "hour": [
- "current": "ovaj sat",
- "past": [
- "one": "prije {0} sat",
- "few": "prije {0} sata",
- "other": "prije {0} sati"
- ],
- "future": [
- "one": "za {0} sat",
- "few": "za {0} sata",
- "other": "za {0} sati"
- ]
- ],
- "minute": [
- "current": "ova minuta",
- "past": "prije {0} min.",
- "future": "za {0} min."
- ],
- "second": [
- "current": "sada",
- "past": "prije {0} sek.",
- "future": "za {0} sek."
- ],
- "now": "sada"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "prošle godine",
- "current": "ove godine",
- "next": "sljedeće godine",
- "past": "prije {0} g.",
- "future": "za {0} g."
- ],
- "quarter": [
- "previous": "posljednji kvartal",
- "current": "ovaj kvartal",
- "next": "sljedeći kvartal",
- "past": "prije {0} kv.",
- "future": "za {0} kv."
- ],
- "month": [
- "previous": "prošli mjesec",
- "current": "ovaj mjesec",
- "next": "sljedeći mjesec",
- "past": "prije {0} mj.",
- "future": "za {0} mj."
- ],
- "week": [
- "previous": "prošle sedmice",
- "current": "ove sedmice",
- "next": "sljedeće sedmice",
- "past": "prije {0} sed.",
- "future": "za {0} sed."
- ],
- "day": [
- "previous": "jučer",
- "current": "danas",
- "next": "sutra",
- "past": "prije {0} d.",
- "future": "za {0} d."
- ],
- "hour": [
- "current": "ovaj sat",
- "past": [
- "one": "prije {0} sat",
- "few": "prije {0} sata",
- "other": "prije {0} sati"
- ],
- "future": [
- "one": "za {0} sat",
- "few": "za {0} sata",
- "other": "za {0} sati"
- ]
- ],
- "minute": [
- "current": "ova minuta",
- "past": "prije {0} min.",
- "future": "za {0} min."
- ],
- "second": [
- "current": "sada",
- "past": "prije {0} sek.",
- "future": "za {0} sek."
- ],
- "now": "sada"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "prošle godine",
- "current": "ove godine",
- "next": "sljedeće godine",
- "past": [
- "one": "prije {0} godinu",
- "few": "prije {0} godine",
- "other": "prije {0} godina"
- ],
- "future": [
- "one": "za {0} godinu",
- "few": "za {0} godine",
- "other": "za {0} godina"
- ]
- ],
- "quarter": [
- "previous": "posljednji kvartal",
- "current": "ovaj kvartal",
- "next": "sljedeći kvartal",
- "past": [
- "one": "prije {0} kvartal",
- "other": "prije {0} kvartala"
- ],
- "future": [
- "one": "za {0} kvartal",
- "other": "za {0} kvartala"
- ]
- ],
- "month": [
- "previous": "prošli mjesec",
- "current": "ovaj mjesec",
- "next": "sljedeći mjesec",
- "past": [
- "one": "prije {0} mjesec",
- "few": "prije {0} mjeseca",
- "other": "prije {0} mjeseci"
- ],
- "future": [
- "one": "za {0} mjesec",
- "few": "za {0} mjeseca",
- "other": "za {0} mjeseci"
- ]
- ],
- "week": [
- "previous": "prošle sedmice",
- "current": "ove sedmice",
- "next": "sljedeće sedmice",
- "past": [
- "one": "prije {0} sedmicu",
- "few": "prije {0} sedmice",
- "other": "prije {0} sedmica"
- ],
- "future": [
- "one": "za {0} sedmicu",
- "few": "za {0} sedmice",
- "other": "za {0} sedmica"
- ]
- ],
- "day": [
- "previous": "jučer",
- "current": "danas",
- "next": "sutra",
- "past": [
- "one": "prije {0} dan",
- "other": "prije {0} dana"
- ],
- "future": [
- "one": "za {0} dan",
- "other": "za {0} dana"
- ]
- ],
- "hour": [
- "current": "ovaj sat",
- "past": [
- "one": "prije {0} sat",
- "few": "prije {0} sata",
- "other": "prije {0} sati"
- ],
- "future": [
- "one": "za {0} sat",
- "few": "za {0} sata",
- "other": "za {0} sati"
- ]
- ],
- "minute": [
- "current": "ova minuta",
- "past": [
- "one": "prije {0} minutu",
- "few": "prije {0} minute",
- "other": "prije {0} minuta"
- ],
- "future": [
- "one": "za {0} minutu",
- "few": "za {0} minute",
- "other": "za {0} minuta"
- ]
- ],
- "second": [
- "current": "sada",
- "past": [
- "one": "prije {0} sekundu",
- "few": "prije {0} sekunde",
- "other": "prije {0} sekundi"
- ],
- "future": [
- "one": "za {0} sekundu",
- "few": "za {0} sekunde",
- "other": "za {0} sekundi"
- ]
- ],
- "now": "sada"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bsCyrl.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bsCyrl.swift
deleted file mode 100644
index 36d6bbe5..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_bsCyrl.swift
+++ /dev/null
@@ -1,375 +0,0 @@
-//
-// lang_bsCyrl.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_bsCyrl: RelativeFormatterLang {
-
- /// Locales.belarusian
- public static let identifier: String = "bs-Cyrl"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod10 {
- case 1:
- switch mod100 {
- case 11:
- break
- default:
- return .one
- }
- case 2, 3, 4:
- switch mod100 {
- case 12, 13, 14:
- break
- default:
- return .few
- }
- default:
- break
- }
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "Прошле године",
- "current": "Ове године",
- "next": "Следеће године",
- "past": [
- "one": "пре {0} годину",
- "few": "пре {0} године",
- "other": "пре {0} година"
- ],
- "future": [
- "one": "за {0} годину",
- "few": "за {0} године",
- "other": "за {0} година"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Прошлог месеца",
- "current": "Овог месеца",
- "next": "Следећег месеца",
- "past": [
- "one": "пре {0} месец",
- "few": "пре {0} месеца",
- "other": "пре {0} месеци"
- ],
- "future": [
- "one": "за {0} месец",
- "few": "за {0} месеца",
- "other": "за {0} месеци"
- ]
- ],
- "week": [
- "previous": "Прошле недеље",
- "current": "Ове недеље",
- "next": "Следеће недеље",
- "past": [
- "one": "пре {0} недељу",
- "few": "пре {0} недеље",
- "other": "пре {0} недеља"
- ],
- "future": [
- "one": "за {0} недељу",
- "few": "за {0} недеље",
- "other": "за {0} недеља"
- ]
- ],
- "day": [
- "previous": "јуче",
- "current": "данас",
- "next": "сутра",
- "past": [
- "one": "пре {0} дан",
- "other": "пре {0} дана"
- ],
- "future": [
- "one": "за {0} дан",
- "other": "за {0} дана"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "пре {0} сат",
- "few": "пре {0} сата",
- "other": "пре {0} сати"
- ],
- "future": [
- "one": "за {0} сат",
- "few": "за {0} сата",
- "other": "за {0} сати"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "пре {0} минут",
- "other": "пре {0} минута"
- ],
- "future": [
- "one": "за {0} минут",
- "other": "за {0} минута"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "пре {0} секунд",
- "few": "пре {0} секунде",
- "other": "пре {0} секунди"
- ],
- "future": [
- "one": "за {0} секунд",
- "few": "за {0} секунде",
- "other": "за {0} секунди"
- ]
- ],
- "now": "now"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "Прошле године",
- "current": "Ове године",
- "next": "Следеће године",
- "past": [
- "one": "пре {0} годину",
- "few": "пре {0} године",
- "other": "пре {0} година"
- ],
- "future": [
- "one": "за {0} годину",
- "few": "за {0} године",
- "other": "за {0} година"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Прошлог месеца",
- "current": "Овог месеца",
- "next": "Следећег месеца",
- "past": [
- "one": "пре {0} месец",
- "few": "пре {0} месеца",
- "other": "пре {0} месеци"
- ],
- "future": [
- "one": "за {0} месец",
- "few": "за {0} месеца",
- "other": "за {0} месеци"
- ]
- ],
- "week": [
- "previous": "Прошле недеље",
- "current": "Ове недеље",
- "next": "Следеће недеље",
- "past": [
- "one": "пре {0} недељу",
- "few": "пре {0} недеље",
- "other": "пре {0} недеља"
- ],
- "future": [
- "one": "за {0} недељу",
- "few": "за {0} недеље",
- "other": "за {0} недеља"
- ]
- ],
- "day": [
- "previous": "јуче",
- "current": "данас",
- "next": "сутра",
- "past": [
- "one": "пре {0} дан",
- "other": "пре {0} дана"
- ],
- "future": [
- "one": "за {0} дан",
- "other": "за {0} дана"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "пре {0} сат",
- "few": "пре {0} сата",
- "other": "пре {0} сати"
- ],
- "future": [
- "one": "за {0} сат",
- "few": "за {0} сата",
- "other": "за {0} сати"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "пре {0} минут",
- "other": "пре {0} минута"
- ],
- "future": [
- "one": "за {0} минут",
- "other": "за {0} минута"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "пре {0} секунд",
- "few": "пре {0} секунде",
- "other": "пре {0} секунди"
- ],
- "future": [
- "one": "за {0} секунд",
- "few": "за {0} секунде",
- "other": "за {0} секунди"
- ]
- ],
- "now": "now"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "Прошле године",
- "current": "Ове године",
- "next": "Следеће године",
- "past": [
- "one": "пре {0} годину",
- "few": "пре {0} године",
- "other": "пре {0} година"
- ],
- "future": [
- "one": "за {0} годину",
- "few": "за {0} године",
- "other": "за {0} година"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Прошлог месеца",
- "current": "Овог месеца",
- "next": "Следећег месеца",
- "past": [
- "one": "пре {0} месец",
- "few": "пре {0} месеца",
- "other": "пре {0} месеци"
- ],
- "future": [
- "one": "за {0} месец",
- "few": "за {0} месеца",
- "other": "за {0} месеци"
- ]
- ],
- "week": [
- "previous": "Прошле недеље",
- "current": "Ове недеље",
- "next": "Следеће недеље",
- "past": [
- "one": "пре {0} недељу",
- "few": "пре {0} недеље",
- "other": "пре {0} недеља"
- ],
- "future": [
- "one": "за {0} недељу",
- "few": "за {0} недеље",
- "other": "за {0} недеља"
- ]
- ],
- "day": [
- "previous": "јуче",
- "current": "данас",
- "next": "сутра",
- "past": [
- "one": "пре {0} дан",
- "other": "пре {0} дана"
- ],
- "future": [
- "one": "за {0} дан",
- "other": "за {0} дана"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "пре {0} сат",
- "few": "пре {0} сата",
- "other": "пре {0} сати"
- ],
- "future": [
- "one": "за {0} сат",
- "few": "за {0} сата",
- "other": "за {0} сати"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "пре {0} минут",
- "other": "пре {0} минута"
- ],
- "future": [
- "one": "за {0} минут",
- "other": "за {0} минута"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "пре {0} секунд",
- "few": "пре {0} секунде",
- "other": "пре {0} секунди"
- ],
- "future": [
- "one": "за {0} секунд",
- "few": "за {0} секунде",
- "other": "за {0} секунди"
- ]
- ],
- "now": "now"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ca.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ca.swift
deleted file mode 100644
index 266814e6..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ca.swift
+++ /dev/null
@@ -1,285 +0,0 @@
-//
-// lang_ca.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ca: RelativeFormatterLang {
-
- /// Locales.catalan
- public static let identifier: String = "ca"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1: return .one
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "l’any passat",
- "current": "enguany",
- "next": "l’any que ve",
- "past": [
- "one": "fa {0} any",
- "other": "fa {0} anys"
- ],
- "future": [
- "one": "d’aquí a {0} any",
- "other": "d’aquí a {0} anys"
- ]
- ],
- "quarter": [
- "previous": "el trim. passat",
- "current": "aquest trim.",
- "next": "el trim. que ve",
- "past": "fa {0} trim.",
- "future": "d’aquí a {0} trim."
- ],
- "month": [
- "previous": "el mes passat",
- "current": "aquest mes",
- "next": "el mes que ve",
- "past": [
- "one": "fa {0} mes",
- "other": "fa {0} mesos"
- ],
- "future": [
- "one": "d’aquí a {0} mes",
- "other": "d’aquí a {0} mesos"
- ]
- ],
- "week": [
- "previous": "la setm. passada",
- "current": "aquesta setm.",
- "next": "la setm. que ve",
- "past": "fa {0} setm.",
- "future": "d’aquí a {0} setm."
- ],
- "day": [
- "previous": "ahir",
- "current": "avui",
- "next": "demà",
- "past": [
- "one": "fa {0} dia",
- "other": "fa {0} dies"
- ],
- "future": [
- "one": "d’aquí a {0} dia",
- "other": "d’aquí a {0} dies"
- ]
- ],
- "hour": [
- "current": "aquesta hora",
- "past": "fa {0} h",
- "future": "d’aquí a {0} h"
- ],
- "minute": [
- "current": "aquest minut",
- "past": "fa {0} min",
- "future": "d’aquí a {0} min"
- ],
- "second": [
- "current": "ara",
- "past": "fa {0} s",
- "future": "d’aquí a {0} s"
- ],
- "now": "ara"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "l’any passat",
- "current": "enguany",
- "next": "l’any que ve",
- "past": [
- "one": "fa {0} any",
- "other": "fa {0} anys"
- ],
- "future": [
- "one": "d’aquí a {0} any",
- "other": "d’aquí a {0} anys"
- ]
- ],
- "quarter": [
- "previous": "trim. passat",
- "current": "aquest trim.",
- "next": "trim. vinent",
- "past": "fa {0} trim.",
- "future": "d’aquí a {0} trim."
- ],
- "month": [
- "previous": "mes passat",
- "current": "aquest mes",
- "next": "mes vinent",
- "past": [
- "one": "fa {0} mes",
- "other": "fa {0} mesos"
- ],
- "future": [
- "one": "d’aquí a {0} mes",
- "other": "d’aquí a {0} mesos"
- ]
- ],
- "week": [
- "previous": "setm. passada",
- "current": "aquesta setm.",
- "next": "setm. vinent",
- "past": "fa {0} setm.",
- "future": "d’aquí a {0} setm."
- ],
- "day": [
- "previous": "ahir",
- "current": "avui",
- "next": "demà",
- "past": [
- "one": "fa {0} dia",
- "other": "fa {0} dies"
- ],
- "future": [
- "one": "d’aquí a {0} dia",
- "other": "d’aquí a {0} dies"
- ]
- ],
- "hour": [
- "current": "aquesta hora",
- "past": "fa {0} h",
- "future": "d‘aquí a {0} h"
- ],
- "minute": [
- "current": "aquest minut",
- "past": "fa {0} min",
- "future": "d’aquí a {0} min"
- ],
- "second": [
- "current": "ara",
- "past": "fa {0} s",
- "future": "d’aquí a {0} s"
- ],
- "now": "ara"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "l’any passat",
- "current": "enguany",
- "next": "l’any que ve",
- "past": [
- "one": "fa {0} any",
- "other": "fa {0} anys"
- ],
- "future": [
- "one": "d’aquí a {0} any",
- "other": "d’aquí a {0} anys"
- ]
- ],
- "quarter": [
- "previous": "el trimestre passat",
- "current": "aquest trimestre",
- "next": "el trimestre que ve",
- "past": [
- "one": "fa {0} trimestre",
- "other": "fa {0} trimestres"
- ],
- "future": [
- "one": "d’aquí a {0} trimestre",
- "other": "d’aquí a {0} trimestres"
- ]
- ],
- "month": [
- "previous": "el mes passat",
- "current": "aquest mes",
- "next": "el mes que ve",
- "past": [
- "one": "fa {0} mes",
- "other": "fa {0} mesos"
- ],
- "future": [
- "one": "d’aquí a {0} mes",
- "other": "d’aquí a {0} mesos"
- ]
- ],
- "week": [
- "previous": "la setmana passada",
- "current": "aquesta setmana",
- "next": "la setmana que ve",
- "past": [
- "one": "fa {0} setmana",
- "other": "fa {0} setmanes"
- ],
- "future": [
- "one": "d’aquí a {0} setmana",
- "other": "d’aquí a {0} setmanes"
- ]
- ],
- "day": [
- "previous": "ahir",
- "current": "avui",
- "next": "demà",
- "past": [
- "one": "fa {0} dia",
- "other": "fa {0} dies"
- ],
- "future": [
- "one": "d’aquí a {0} dia",
- "other": "d’aquí a {0} dies"
- ]
- ],
- "hour": [
- "current": "aquesta hora",
- "past": [
- "one": "fa {0} hora",
- "other": "fa {0} hores"
- ],
- "future": [
- "one": "d’aquí a {0} hora",
- "other": "d’aquí a {0} hores"
- ]
- ],
- "minute": [
- "current": "aquest minut",
- "past": [
- "one": "fa {0} minut",
- "other": "fa {0} minuts"
- ],
- "future": [
- "one": "d’aquí a {0} minut",
- "other": "d’aquí a {0} minuts"
- ]
- ],
- "second": [
- "current": "ara",
- "past": [
- "one": "fa {0} segon",
- "other": "fa {0} segons"
- ],
- "future": [
- "one": "d’aquí a {0} segon",
- "other": "d’aquí a {0} segons"
- ]
- ],
- "now": "ara"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_cs.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_cs.swift
deleted file mode 100644
index 67482da2..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_cs.swift
+++ /dev/null
@@ -1,310 +0,0 @@
-//
-// lang_ccp.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_cs: RelativeFormatterLang {
-
- /// Locales.czech
- public static let identifier: String = "cs"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1:
- return .one
- case 2, 3, 4:
- return .few
- default:
- return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "minulý rok",
- "current": "tento rok",
- "next": "příští rok",
- "past": [
- "one": "před {0} r.",
- "few": "před {0} r.",
- "many": "před {0} r.",
- "other": "před {0} l."
- ],
- "future": [
- "one": "za {0} r.",
- "few": "za {0} r.",
- "many": "za {0} r.",
- "other": "za {0} l."
- ]
- ],
- "quarter": [
- "previous": "minulé čtvrtletí",
- "current": "toto čtvrtletí",
- "next": "příští čtvrtletí",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "minulý měs.",
- "current": "tento měs.",
- "next": "příští měs.",
- "past": "před {0} měs.",
- "future": "za {0} měs."
- ],
- "week": [
- "previous": "minulý týd.",
- "current": "tento týd.",
- "next": "příští týd.",
- "past": "před {0} týd.",
- "future": "za {0} týd."
- ],
- "day": [
- "previous": "včera",
- "current": "dnes",
- "next": "zítra",
- "past": [
- "one": "před {0} dnem",
- "many": "před {0} dne",
- "other": "před {0} dny"
- ],
- "future": [
- "one": "za {0} den",
- "few": "za {0} dny",
- "many": "za {0} dne",
- "other": "za {0} dní"
- ]
- ],
- "hour": [
- "current": "tuto hodinu",
- "past": "před {0} h",
- "future": "za {0} h"
- ],
- "minute": [
- "current": "tuto minutu",
- "past": "před {0} min",
- "future": "za {0} min"
- ],
- "second": [
- "current": "nyní",
- "past": "před {0} s",
- "future": "za {0} s"
- ],
- "now": "nyní"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "minulý rok",
- "current": "tento rok",
- "next": "příští rok",
- "past": [
- "one": "před {0} r.",
- "few": "před {0} r.",
- "many": "před {0} r.",
- "other": "před {0} l."
- ],
- "future": [
- "one": "za {0} r.",
- "few": "za {0} r.",
- "many": "za {0} r.",
- "other": "za {0} l."
- ]
- ],
- "quarter": [
- "previous": "minulé čtvrtletí",
- "current": "toto čtvrtletí",
- "next": "příští čtvrtletí",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "minuý měs.",
- "current": "tento měs.",
- "next": "příští měs.",
- "past": "před {0} měs.",
- "future": "za {0} měs."
- ],
- "week": [
- "previous": "minulý týd.",
- "current": "tento týd.",
- "next": "příští týd.",
- "past": "před {0} týd.",
- "future": "za {0} týd."
- ],
- "day": [
- "previous": "včera",
- "current": "dnes",
- "next": "zítra",
- "past": [
- "one": "před {0} dnem",
- "many": "před {0} dne",
- "other": "před {0} dny"
- ],
- "future": [
- "one": "za {0} den",
- "few": "za {0} dny",
- "many": "za {0} dne",
- "other": "za {0} dní"
- ]
- ],
- "hour": [
- "current": "tuto hodinu",
- "past": "před {0} h",
- "future": "za {0} h"
- ],
- "minute": [
- "current": "tuto minutu",
- "past": "před {0} min",
- "future": "za {0} min"
- ],
- "second": [
- "current": "nyní",
- "past": "před {0} s",
- "future": "za {0} s"
- ],
- "now": "nyní"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "minulý rok",
- "current": "tento rok",
- "next": "příští rok",
- "past": [
- "one": "před {0} rokem",
- "many": "před {0} roku",
- "other": "před {0} lety"
- ],
- "future": [
- "one": "za {0} rok",
- "few": "za {0} roky",
- "many": "za {0} roku",
- "other": "za {0} let"
- ]
- ],
- "quarter": [
- "previous": "minulé čtvrtletí",
- "current": "toto čtvrtletí",
- "next": "příští čtvrtletí",
- "past": [
- "one": "před {0} čtvrtletím",
- "many": "před {0} čtvrtletí",
- "other": "před {0} čtvrtletími"
- ],
- "future": "za {0} čtvrtletí"
- ],
- "month": [
- "previous": "minulý měsíc",
- "current": "tento měsíc",
- "next": "příští měsíc",
- "past": [
- "one": "před {0} měsícem",
- "many": "před {0} měsíce",
- "other": "před {0} měsíci"
- ],
- "future": [
- "one": "za {0} měsíc",
- "few": "za {0} měsíce",
- "many": "za {0} měsíce",
- "other": "za {0} měsíců"
- ]
- ],
- "week": [
- "previous": "minulý týden",
- "current": "tento týden",
- "next": "příští týden",
- "past": [
- "one": "před {0} týdnem",
- "many": "před {0} týdne",
- "other": "před {0} týdny"
- ],
- "future": [
- "one": "za {0} týden",
- "few": "za {0} týdny",
- "many": "za {0} týdne",
- "other": "za {0} týdnů"
- ]
- ],
- "day": [
- "previous": "včera",
- "current": "dnes",
- "next": "zítra",
- "past": [
- "one": "před {0} dnem",
- "many": "před {0} dne",
- "other": "před {0} dny"
- ],
- "future": [
- "one": "za {0} den",
- "few": "za {0} dny",
- "many": "za {0} dne",
- "other": "za {0} dní"
- ]
- ],
- "hour": [
- "current": "tuto hodinu",
- "past": [
- "one": "před {0} hodinou",
- "many": "před {0} hodiny",
- "other": "před {0} hodinami"
- ],
- "future": [
- "one": "za {0} hodinu",
- "few": "za {0} hodiny",
- "many": "za {0} hodiny",
- "other": "za {0} hodin"
- ]
- ],
- "minute": [
- "current": "tuto minutu",
- "past": [
- "one": "před {0} minutou",
- "many": "před {0} minuty",
- "other": "před {0} minutami"
- ],
- "future": [
- "one": "za {0} minutu",
- "few": "za {0} minuty",
- "many": "za {0} minuty",
- "other": "za {0} minut"
- ]
- ],
- "second": [
- "current": "nyní",
- "past": [
- "one": "před {0} sekundou",
- "many": "před {0} sekundy",
- "other": "před {0} sekundami"
- ],
- "future": [
- "one": "za {0} sekundu",
- "few": "za {0} sekundy",
- "many": "za {0} sekundy",
- "other": "za {0} sekund"
- ]
- ],
- "now": "nyní"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_cy.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_cy.swift
deleted file mode 100644
index 26f2365b..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_cy.swift
+++ /dev/null
@@ -1,327 +0,0 @@
-//
-// lang_cy.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_cy: RelativeFormatterLang {
-
- /// Locales.welsh
- public static let identifier: String = "cy"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 0: return .zero
- case 1: return .one
- case 2: return .two
- case 3: return .few
- case 6: return .many
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "llynedd",
- "current": "eleni",
- "next": "blwyddyn nesaf",
- "past": [
- "one": "blwyddyn yn ôl",
- "two": "{0} flynedd yn ôl",
- "few": "{0} blynedd yn ôl",
- "many": "{0} blynedd yn ôl",
- "other": "{0} o flynyddoedd yn ôl"
- ],
- "future": [
- "one": "ymhen blwyddyn",
- "two": "ymhen {0} flynedd",
- "few": "ymhen {0} blynedd",
- "many": "ymhen {0} blynedd",
- "other": "ymhen {0} mlynedd"
- ]
- ],
- "quarter": [
- "previous": "chwarter olaf",
- "current": "chwarter hwn",
- "next": "chwarter nesaf",
- "past": [
- "one": "{0} chwarter yn ôl",
- "two": "{0} chwarter yn ôl",
- "few": "{0} chwarter yn ôl",
- "many": "{0} chwarter yn ôl",
- "other": "{0} o chwarteri yn ôl"
- ],
- "future": "ymhen {0} chwarter"
- ],
- "month": [
- "previous": "mis diwethaf",
- "current": "y mis hwn",
- "next": "mis nesaf",
- "past": [
- "two": "deufis yn ôl",
- "other": "{0} mis yn ôl"
- ],
- "future": [
- "one": "ymhen mis",
- "two": "ymhen deufis",
- "other": "ymhen {0} mis"
- ]
- ],
- "week": [
- "previous": "wythnos ddiwethaf",
- "current": "yr wythnos hon",
- "next": "wythnos nesaf",
- "past": [
- "two": "pythefnos yn ôl",
- "other": "{0} wythnos yn ôl"
- ],
- "future": [
- "one": "ymhen wythnos",
- "two": "ymhen pythefnos",
- "other": "ymhen {0} wythnos"
- ]
- ],
- "day": [
- "previous": "ddoe",
- "current": "heddiw",
- "next": "yfory",
- "past": [
- "two": "{0} ddiwrnod yn ôl",
- "other": "{0} diwrnod yn ôl"
- ],
- "future": [
- "one": "ymhen diwrnod",
- "two": "ymhen deuddydd",
- "other": "ymhen {0} diwrnod"
- ]
- ],
- "hour": [
- "current": "yr awr hon",
- "past": [
- "one": "awr yn ôl",
- "other": "{0} awr yn ôl"
- ],
- "future": [
- "one": "ymhen awr",
- "other": "ymhen {0} awr"
- ]
- ],
- "minute": [
- "current": "y funud hon",
- "past": [
- "two": "{0} fun. yn ôl",
- "other": "{0} munud yn ôl"
- ],
- "future": [
- "one": "ymhen {0} mun.",
- "two": "ymhen {0} fun.",
- "other": "ymhen {0} munud"
- ]
- ],
- "second": [
- "current": "nawr",
- "past": "{0} eiliad yn ôl",
- "future": "ymhen {0} eiliad"
- ],
- "now": "nawr"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "llynedd",
- "current": "eleni",
- "next": "blwyddyn nesaf",
- "past": [
- "one": "blwyddyn yn ôl",
- "two": "{0} flynedd yn ôl",
- "few": "{0} blynedd yn ôl",
- "many": "{0} blynedd yn ôl",
- "other": "{0} o flynyddoedd yn ôl"
- ],
- "future": [
- "one": "ymhen blwyddyn",
- "two": "ymhen {0} flynedd",
- "few": "ymhen {0} blynedd",
- "many": "ymhen {0} blynedd",
- "other": "ymhen {0} mlynedd"
- ]
- ],
- "quarter": [
- "previous": "chwarter olaf",
- "current": "chwarter hwn",
- "next": "chwarter nesaf",
- "past": [
- "one": "{0} chwarter yn ôl",
- "two": "{0} chwarter yn ôl",
- "few": "{0} chwarter yn ôl",
- "many": "{0} chwarter yn ôl",
- "other": "{0} o chwarteri yn ôl"
- ],
- "future": "ymhen {0} chwarter"
- ],
- "month": [
- "previous": "mis diwethaf",
- "current": "y mis hwn",
- "next": "mis nesaf",
- "past": [
- "two": "{0} fis yn ôl",
- "other": "{0} mis yn ôl"
- ],
- "future": [
- "one": "ymhen mis",
- "two": "ymhen deufis",
- "other": "ymhen {0} mis"
- ]
- ],
- "week": [
- "previous": "wythnos ddiwethaf",
- "current": "yr wythnos hon",
- "next": "wythnos nesaf",
- "past": [
- "two": "pythefnos yn ôl",
- "other": "{0} wythnos yn ôl"
- ],
- "future": "ymhen {0} wythnos"
- ],
- "day": [
- "previous": "ddoe",
- "current": "heddiw",
- "next": "yfory",
- "past": [
- "two": "{0} ddiwrnod yn ôl",
- "other": "{0} diwrnod yn ôl"
- ],
- "future": "ymhen {0} diwrnod"
- ],
- "hour": [
- "current": "yr awr hon",
- "past": "{0} awr yn ôl",
- "future": "ymhen {0} awr"
- ],
- "minute": [
- "current": "y funud hon",
- "past": "{0} mun. yn ôl",
- "future": "ymhen {0} mun."
- ],
- "second": [
- "current": "nawr",
- "past": "{0} eiliad yn ôl",
- "future": "ymhen {0} eiliad"
- ],
- "now": "nawr"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "llynedd",
- "current": "eleni",
- "next": "blwyddyn nesaf",
- "past": [
- "one": "blwyddyn yn ôl",
- "two": "{0} flynedd yn ôl",
- "few": "{0} blynedd yn ôl",
- "many": "{0} blynedd yn ôl",
- "other": "{0} o flynyddoedd yn ôl"
- ],
- "future": [
- "one": "ymhen blwyddyn",
- "two": "ymhen {0} flynedd",
- "few": "ymhen {0} blynedd",
- "many": "ymhen {0} blynedd",
- "other": "ymhen {0} mlynedd"
- ]
- ],
- "quarter": [
- "previous": "chwarter olaf",
- "current": "chwarter hwn",
- "next": "chwarter nesaf",
- "past": [
- "one": "{0} chwarter yn ôl",
- "two": "{0} chwarter yn ôl",
- "few": "{0} chwarter yn ôl",
- "many": "{0} chwarter yn ôl",
- "other": "{0} o chwarteri yn ôl"
- ],
- "future": "ymhen {0} chwarter"
- ],
- "month": [
- "previous": "mis diwethaf",
- "current": "y mis hwn",
- "next": "mis nesaf",
- "past": [
- "two": "{0} fis yn ôl",
- "other": "{0} mis yn ôl"
- ],
- "future": [
- "one": "ymhen mis",
- "two": "ymhen deufis",
- "other": "ymhen {0} mis"
- ]
- ],
- "week": [
- "previous": "wythnos ddiwethaf",
- "current": "yr wythnos hon",
- "next": "wythnos nesaf",
- "past": "{0} wythnos yn ôl",
- "future": [
- "one": "ymhen wythnos",
- "two": "ymhen pythefnos",
- "other": "ymhen {0} wythnos"
- ]
- ],
- "day": [
- "previous": "ddoe",
- "current": "heddiw",
- "next": "yfory",
- "past": [
- "two": "{0} ddiwrnod yn ôl",
- "other": "{0} diwrnod yn ôl"
- ],
- "future": [
- "one": "ymhen diwrnod",
- "two": "ymhen deuddydd",
- "other": "ymhen {0} diwrnod"
- ]
- ],
- "hour": [
- "current": "yr awr hon",
- "past": "{0} awr yn ôl",
- "future": [
- "one": "ymhen awr",
- "other": "ymhen {0} awr"
- ]
- ],
- "minute": [
- "current": "y funud hon",
- "past": "{0} munud yn ôl",
- "future": "ymhen {0} munud"
- ],
- "second": [
- "current": "nawr",
- "past": "{0} eiliad yn ôl",
- "future": "ymhen {0} eiliad"
- ],
- "now": "nawr"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_da.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_da.swift
deleted file mode 100644
index 1a297523..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_da.swift
+++ /dev/null
@@ -1,291 +0,0 @@
-//
-// lang_da.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_da: RelativeFormatterLang {
-
- /// Locales.danish
- public static let identifier: String = "da"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1: return .one
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "sidste år",
- "current": "i år",
- "next": "næste år",
- "past": "for {0} år siden",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "sidste kvt.",
- "current": "dette kvt.",
- "next": "næste kvt.",
- "past": "for {0} kvt. siden",
- "future": "om {0} kvt."
- ],
- "month": [
- "previous": "sidste md.",
- "current": "denne md.",
- "next": "næste md.",
- "past": [
- "one": "for {0} md. siden",
- "other": "for {0} mdr. siden"
- ],
- "future": [
- "one": "om {0} md.",
- "other": "om {0} mdr."
- ]
- ],
- "week": [
- "previous": "sidste uge",
- "current": "denne uge",
- "next": "næste uge",
- "past": [
- "one": "for {0} uge siden",
- "other": "for {0} uger siden"
- ],
- "future": [
- "one": "om {0} uge",
- "other": "om {0} uger"
- ]
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgen",
- "past": [
- "one": "for {0} dag siden",
- "other": "for {0} dage siden"
- ],
- "future": [
- "one": "om {0} dag",
- "other": "om {0} dage"
- ]
- ],
- "hour": [
- "current": "i den kommende time",
- "past": [
- "one": "for {0} time siden",
- "other": "for {0} timer siden"
- ],
- "future": [
- "one": "om {0} time",
- "other": "om {0} timer"
- ]
- ],
- "minute": [
- "current": "i det kommende minut",
- "past": "for {0} min. siden",
- "future": "om {0} min."
- ],
- "second": [
- "current": "nu",
- "past": "for {0} sek. siden",
- "future": "om {0} sek."
- ],
- "now": "nu"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "sidste år",
- "current": "i år",
- "next": "næste år",
- "past": "for {0} år siden",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "sidste kvt.",
- "current": "dette kvt.",
- "next": "næste kvt.",
- "past": "for {0} kvt. siden",
- "future": "om {0} kvt."
- ],
- "month": [
- "previous": "sidste md.",
- "current": "denne md.",
- "next": "næste md.",
- "past": [
- "one": "for {0} md. siden",
- "other": "for {0} mdr. siden"
- ],
- "future": [
- "one": "om {0} md.",
- "other": "om {0} mdr."
- ]
- ],
- "week": [
- "previous": "sidste uge",
- "current": "denne uge",
- "next": "næste uge",
- "past": [
- "one": "for {0} uge siden",
- "other": "for {0} uger siden"
- ],
- "future": [
- "one": "om {0} uge",
- "other": "om {0} uger"
- ]
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgen",
- "past": [
- "one": "for {0} dag siden",
- "other": "for {0} dage siden"
- ],
- "future": [
- "one": "om {0} dag",
- "other": "om {0} dage"
- ]
- ],
- "hour": [
- "current": "i den kommende time",
- "past": [
- "one": "for {0} time siden",
- "other": "for {0} timer siden"
- ],
- "future": [
- "one": "om {0} time",
- "other": "om {0} timer"
- ]
- ],
- "minute": [
- "current": "i det kommende minut",
- "past": "for {0} min. siden",
- "future": "om {0} min."
- ],
- "second": [
- "current": "nu",
- "past": "for {0} sek. siden",
- "future": "om {0} sek."
- ],
- "now": "nu"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "sidste år",
- "current": "i år",
- "next": "næste år",
- "past": "for {0} år siden",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "sidste kvartal",
- "current": "dette kvartal",
- "next": "næste kvartal",
- "past": [
- "one": "for {0} kvartal siden",
- "other": "for {0} kvartaler siden"
- ],
- "future": [
- "one": "om {0} kvartal",
- "other": "om {0} kvartaler"
- ]
- ],
- "month": [
- "previous": "sidste måned",
- "current": "denne måned",
- "next": "næste måned",
- "past": [
- "one": "for {0} måned siden",
- "other": "for {0} måneder siden"
- ],
- "future": [
- "one": "om {0} måned",
- "other": "om {0} måneder"
- ]
- ],
- "week": [
- "previous": "sidste uge",
- "current": "denne uge",
- "next": "næste uge",
- "past": [
- "one": "for {0} uge siden",
- "other": "for {0} uger siden"
- ],
- "future": [
- "one": "om {0} uge",
- "other": "om {0} uger"
- ]
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgen",
- "past": [
- "one": "for {0} dag siden",
- "other": "for {0} dage siden"
- ],
- "future": [
- "one": "om {0} dag",
- "other": "om {0} dage"
- ]
- ],
- "hour": [
- "current": "i den kommende time",
- "past": [
- "one": "for {0} time siden",
- "other": "for {0} timer siden"
- ],
- "future": [
- "one": "om {0} time",
- "other": "om {0} timer"
- ]
- ],
- "minute": [
- "current": "i det kommende minut",
- "past": [
- "one": "for {0} minut siden",
- "other": "for {0} minutter siden"
- ],
- "future": [
- "one": "om {0} minut",
- "other": "om {0} minutter"
- ]
- ],
- "second": [
- "current": "nu",
- "past": [
- "one": "for {0} sekund siden",
- "other": "for {0} sekunder siden"
- ],
- "future": [
- "one": "om {0} sekund",
- "other": "om {0} sekunder"
- ]
- ],
- "now": "nu"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_de.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_de.swift
deleted file mode 100644
index 52b5f194..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_de.swift
+++ /dev/null
@@ -1,292 +0,0 @@
-//
-// lang_de.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_de: RelativeFormatterLang {
-
- /// Locales.dutch
- public static let identifier: String = "de"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1: return .one
- default: return .other
- }
- }
-
- // module.exports=function(e){var i=String(e).split("."),n=Number(i{0})==e,r=n&&i{0}.slice(-1),s=n&&i{0}.slice(-2);return 1==r&&11!=s?"one":r>=2&&r<=4&&(s<12||s>14)?"few":n&&0==r||r>=5&&r<=9||s>=11&&s<=14?"many":"other"}
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "letztes Jahr",
- "current": "dieses Jahr",
- "next": "nächstes Jahr",
- "past": [
- "one": "vor {0} Jahr",
- "other": "vor {0} Jahren"
- ],
- "future": [
- "one": "in {0} Jahr",
- "other": "in {0} Jahren"
- ]
- ],
- "quarter": [
- "previous": "letztes Quartal",
- "current": "dieses Quartal",
- "next": "nächstes Quartal",
- "past": "vor {0} Quart.",
- "future": "in {0} Quart."
- ],
- "month": [
- "previous": "letzten Monat",
- "current": "diesen Monat",
- "next": "nächsten Monat",
- "past": [
- "one": "vor {0} Monat",
- "other": "vor {0} Monaten"
- ],
- "future": [
- "one": "in {0} Monat",
- "other": "in {0} Monaten"
- ]
- ],
- "week": [
- "previous": "letzte Woche",
- "current": "diese Woche",
- "next": "nächste Woche",
- "past": [
- "one": "vor {0} Woche",
- "other": "vor {0} Wochen"
- ],
- "future": [
- "one": "in {0} Woche",
- "other": "in {0} Wochen"
- ]
- ],
- "day": [
- "previous": "gestern",
- "current": "heute",
- "next": "morgen",
- "past": [
- "one": "vor {0} Tag",
- "other": "vor {0} Tagen"
- ],
- "future": [
- "one": "in {0} Tag",
- "other": "in {0} Tagen"
- ]
- ],
- "hour": [
- "current": "in dieser Stunde",
- "past": "vor {0} Std.",
- "future": "in {0} Std."
- ],
- "minute": [
- "current": "in dieser Minute",
- "past": "vor {0} Min.",
- "future": "in {0} Min."
- ],
- "second": [
- "current": "jetzt",
- "past": "vor {0} Sek.",
- "future": "in {0} Sek."
- ],
- "now": "jetzt"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "letztes Jahr",
- "current": "dieses Jahr",
- "next": "nächstes Jahr",
- "past": [
- "one": "vor {0} Jahr",
- "other": "vor {0} Jahren"
- ],
- "future": [
- "one": "in {0} Jahr",
- "other": "in {0} Jahren"
- ]
- ],
- "quarter": [
- "previous": "letztes Quartal",
- "current": "dieses Quartal",
- "next": "nächstes Quartal",
- "past": "vor {0} Q",
- "future": "in {0} Q"
- ],
- "month": [
- "previous": "letzten Monat",
- "current": "diesen Monat",
- "next": "nächsten Monat",
- "past": [
- "one": "vor {0} Monat",
- "other": "vor {0} Monaten"
- ],
- "future": [
- "one": "in {0} Monat",
- "other": "in {0} Monaten"
- ]
- ],
- "week": [
- "previous": "letzte Woche",
- "current": "diese Woche",
- "next": "nächste Woche",
- "past": "vor {0} Wo.",
- "future": "in {0} Wo."
- ],
- "day": [
- "previous": "gestern",
- "current": "heute",
- "next": "morgen",
- "past": [
- "one": "vor {0} Tag",
- "other": "vor {0} Tagen"
- ],
- "future": [
- "one": "in {0} Tag",
- "other": "in {0} Tagen"
- ]
- ],
- "hour": [
- "current": "in dieser Stunde",
- "past": "vor {0} Std.",
- "future": "in {0} Std."
- ],
- "minute": [
- "current": "in dieser Minute",
- "past": "vor {0} m",
- "future": "in {0} m"
- ],
- "second": [
- "current": "jetzt",
- "past": "vor {0} s",
- "future": "in {0} s"
- ],
- "now": "jetzt"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "letztes Jahr",
- "current": "dieses Jahr",
- "next": "nächstes Jahr",
- "past": [
- "one": "vor {0} Jahr",
- "other": "vor {0} Jahren"
- ],
- "future": [
- "one": "in {0} Jahr",
- "other": "in {0} Jahren"
- ]
- ],
- "quarter": [
- "previous": "letztes Quartal",
- "current": "dieses Quartal",
- "next": "nächstes Quartal",
- "past": [
- "one": "vor {0} Quartal",
- "other": "vor {0} Quartalen"
- ],
- "future": [
- "one": "in {0} Quartal",
- "other": "in {0} Quartalen"
- ]
- ],
- "month": [
- "previous": "letzten Monat",
- "current": "diesen Monat",
- "next": "nächsten Monat",
- "past": [
- "one": "vor {0} Monat",
- "other": "vor {0} Monaten"
- ],
- "future": [
- "one": "in {0} Monat",
- "other": "in {0} Monaten"
- ]
- ],
- "week": [
- "previous": "letzte Woche",
- "current": "diese Woche",
- "next": "nächste Woche",
- "past": [
- "one": "vor {0} Woche",
- "other": "vor {0} Wochen"
- ],
- "future": [
- "one": "in {0} Woche",
- "other": "in {0} Wochen"
- ]
- ],
- "day": [
- "previous": "gestern",
- "current": "heute",
- "next": "morgen",
- "past": [
- "one": "vor {0} Tag",
- "other": "vor {0} Tagen"
- ],
- "future": [
- "one": "in {0} Tag",
- "other": "in {0} Tagen"
- ]
- ],
- "hour": [
- "current": "in dieser Stunde",
- "past": [
- "one": "vor {0} Stunde",
- "other": "vor {0} Stunden"
- ],
- "future": [
- "one": "in {0} Stunde",
- "other": "in {0} Stunden"
- ]
- ],
- "minute": [
- "current": "in dieser Minute",
- "past": [
- "one": "vor {0} Minute",
- "other": "vor {0} Minuten"
- ],
- "future": [
- "one": "in {0} Minute",
- "other": "in {0} Minuten"
- ]
- ],
- "second": [
- "current": "jetzt",
- "past": [
- "one": "vor {0} Sekunde",
- "other": "vor {0} Sekunden"
- ],
- "future": [
- "one": "in {0} Sekunde",
- "other": "in {0} Sekunden"
- ]
- ],
- "now": "jetzt"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_dsb.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_dsb.swift
deleted file mode 100644
index 0465a260..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_dsb.swift
+++ /dev/null
@@ -1,279 +0,0 @@
-//
-// lang_dsb.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_dsb: RelativeFormatterLang {
-
- /// Locales.lowerSorbian
- public static let identifier: String = "dsb"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1: return .one
- case 2, 3, 4: return .few
- default: return .other
- }
- }
-
- // module.exports=function(e){var i=String(e).split("."),n=Number(i{0})==e,r=n&&i{0}.slice(-1),s=n&&i{0}.slice(-2);return 1==r&&11!=s?"one":r>=2&&r<=4&&(s<12||s>14)?"few":n&&0==r||r>=5&&r<=9||s>=11&&s<=14?"many":"other"}
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "łoni",
- "current": "lětosa",
- "next": "znowa",
- "past": "pśed {0} l.",
- "future": "za {0} l."
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "pśed {0} kwart.",
- "future": "za {0} kwart."
- ],
- "month": [
- "previous": "slědny mjasec",
- "current": "ten mjasec",
- "next": "pśiducy mjasec",
- "past": "pśed {0} mjas.",
- "future": "za {0} mjas."
- ],
- "week": [
- "previous": "slědny tyźeń",
- "current": "ten tyźeń",
- "next": "pśiducy tyźeń",
- "past": "pśed {0} tyź.",
- "future": "za {0} tyź."
- ],
- "day": [
- "previous": "cora",
- "current": "źinsa",
- "next": "witśe",
- "past": "pśed {0} dnj.",
- "future": [
- "one": "za {0} źeń",
- "few": "za {0} dny",
- "other": "za {0} dnj."
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "pśed {0} góź.",
- "future": "za {0} góź."
- ],
- "minute": [
- "current": "this minute",
- "past": "pśed {0} min.",
- "future": "za {0} min."
- ],
- "second": [
- "current": "now",
- "past": "pśed {0} sek.",
- "future": "za {0} sek."
- ],
- "now": "now"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "łoni",
- "current": "lětosa",
- "next": "znowa",
- "past": "pśed {0} l.",
- "future": "za {0} l."
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "pśed {0} kw.",
- "future": "za {0} kw."
- ],
- "month": [
- "previous": "slědny mjasec",
- "current": "ten mjasec",
- "next": "pśiducy mjasec",
- "past": "pśed {0} mjas.",
- "future": "za {0} mjas."
- ],
- "week": [
- "previous": "slědny tyźeń",
- "current": "ten tyźeń",
- "next": "pśiducy tyźeń",
- "past": "pśed {0} tyź.",
- "future": "za {0} tyź."
- ],
- "day": [
- "previous": "cora",
- "current": "źinsa",
- "next": "witśe",
- "past": "pśed {0} d",
- "future": "za {0} ź"
- ],
- "hour": [
- "current": "this hour",
- "past": "pśed {0} g",
- "future": "za {0} g"
- ],
- "minute": [
- "current": "this minute",
- "past": "pśed {0} m",
- "future": "za {0} m"
- ],
- "second": [
- "current": "now",
- "past": "pśed {0} s",
- "future": "za {0} s"
- ],
- "now": "now"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "łoni",
- "current": "lětosa",
- "next": "znowa",
- "past": [
- "one": "pśed {0} lětom",
- "two": "pśed {0} lětoma",
- "other": "pśed {0} lětami"
- ],
- "future": [
- "one": "za {0} lěto",
- "two": "za {0} lěśe",
- "few": "za {0} lěta",
- "other": "za {0} lět"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": [
- "one": "pśed {0} kwartalom",
- "two": "pśed {0} kwartaloma",
- "other": "pśed {0} kwartalami"
- ],
- "future": [
- "one": "za {0} kwartal",
- "two": "za {0} kwartala",
- "few": "za {0} kwartale",
- "other": "za {0} kwartalow"
- ]
- ],
- "month": [
- "previous": "slědny mjasec",
- "current": "ten mjasec",
- "next": "pśiducy mjasec",
- "past": [
- "one": "pśed {0} mjasecom",
- "two": "pśed {0} mjasecoma",
- "other": "pśed {0} mjasecami"
- ],
- "future": [
- "one": "za {0} mjasec",
- "two": "za {0} mjaseca",
- "few": "za {0} mjasecy",
- "other": "za {0} mjasecow"
- ]
- ],
- "week": [
- "previous": "slědny tyźeń",
- "current": "ten tyźeń",
- "next": "pśiducy tyźeń",
- "past": [
- "one": "pśed {0} tyźenjom",
- "two": "pśed {0} tyźenjoma",
- "other": "pśed {0} tyźenjami"
- ],
- "future": [
- "one": "za {0} tyźeń",
- "two": "za {0} tyźenja",
- "few": "za {0} tyźenje",
- "other": "za {0} tyźenjow"
- ]
- ],
- "day": [
- "previous": "cora",
- "current": "źinsa",
- "next": "witśe",
- "past": [
- "one": "pśed {0} dnjom",
- "two": "pśed {0} dnjoma",
- "other": "pśed {0} dnjami"
- ],
- "future": [
- "one": "za {0} źeń",
- "two": "za {0} dnja",
- "few": "za {0} dny",
- "other": "za {0} dnjow"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "pśed {0} góźinu",
- "two": "pśed {0} góźinoma",
- "other": "pśed {0} góźinami"
- ],
- "future": [
- "one": "za {0} góźinu",
- "two": "za {0} góźinje",
- "few": "za {0} góźiny",
- "other": "za {0} góźin"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "pśed {0} minutu",
- "two": "pśed {0} minutoma",
- "other": "pśed {0} minutami"
- ],
- "future": [
- "one": "za {0} minutu",
- "two": "za {0} minuśe",
- "few": "za {0} minuty",
- "other": "za {0} minutow"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "pśed {0} sekundu",
- "two": "pśed {0} sekundoma",
- "other": "pśed {0} sekundami"
- ],
- "future": [
- "one": "za {0} sekundu",
- "two": "za {0} sekunźe",
- "few": "za {0} sekundy",
- "other": "za {0} sekundow"
- ]
- ],
- "now": "now"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_dz.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_dz.swift
deleted file mode 100644
index a90e5044..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_dz.swift
+++ /dev/null
@@ -1,198 +0,0 @@
-//
-// lang_dz.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_dz: RelativeFormatterLang {
-
- /// Locales.dzongkha
- public static let identifier: String = "dz"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return nil
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "ལོ་འཁོར་ {0} ཧེ་མ་",
- "future": "ལོ་འཁོར་ {0} ནང་"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "ཟླཝ་ {0} ཧེ་མ་",
- "future": "ཟླཝ་ {0} ནང་"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "བངུན་ཕྲག་ {0} ཧེ་མ་",
- "future": "བངུན་ཕྲག་ {0} ནང་"
- ],
- "day": [
- "previous": "ཁ་ཙ་",
- "current": "ད་རིས་",
- "next": "ནངས་པ་",
- "past": "ཉིནམ་ {0} ཧེ་མ་",
- "future": "ཉིནམ་ {0} ནང་"
- ],
- "hour": [
- "current": "this hour",
- "past": "ཆུ་ཚོད་ {0} ཧེ་མ་",
- "future": "ཆུ་ཚོད་ {0} ནང་"
- ],
- "minute": [
- "current": "this minute",
- "past": "སྐར་མ་ {0} ཧེ་མ་",
- "future": "སྐར་མ་ {0} ནང་"
- ],
- "second": [
- "current": "now",
- "past": "སྐར་ཆ་ {0} ཧེ་མ་",
- "future": "སྐར་ཆ་ {0} ནང་"
- ],
- "now": "now"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "ལོ་འཁོར་ {0} ཧེ་མ་",
- "future": "ལོ་འཁོར་ {0} ནང་"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "ཟླཝ་ {0} ཧེ་མ་",
- "future": "ཟླཝ་ {0} ནང་"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "བངུན་ཕྲག་ {0} ཧེ་མ་",
- "future": "བངུན་ཕྲག་ {0} ནང་"
- ],
- "day": [
- "previous": "ཁ་ཙ་",
- "current": "ད་རིས་",
- "next": "ནངས་པ་",
- "past": "ཉིནམ་ {0} ཧེ་མ་",
- "future": "ཉིནམ་ {0} ནང་"
- ],
- "hour": [
- "current": "this hour",
- "past": "ཆུ་ཚོད་ {0} ཧེ་མ་",
- "future": "ཆུ་ཚོད་ {0} ནང་"
- ],
- "minute": [
- "current": "this minute",
- "past": "སྐར་མ་ {0} ཧེ་མ་",
- "future": "སྐར་མ་ {0} ནང་"
- ],
- "second": [
- "current": "now",
- "past": "སྐར་ཆ་ {0} ཧེ་མ་",
- "future": "སྐར་ཆ་ {0} ནང་"
- ],
- "now": "now"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "ལོ་འཁོར་ {0} ཧེ་མ་",
- "future": "ལོ་འཁོར་ {0} ནང་"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "ཟླཝ་ {0} ཧེ་མ་",
- "future": "ཟླཝ་ {0} ནང་"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "བངུན་ཕྲག་ {0} ཧེ་མ་",
- "future": "བངུན་ཕྲག་ {0} ནང་"
- ],
- "day": [
- "previous": "ཁ་ཙ་",
- "current": "ད་རིས་",
- "next": "ནངས་པ་",
- "past": "ཉིནམ་ {0} ཧེ་མ་",
- "future": "ཉིནམ་ {0} ནང་"
- ],
- "hour": [
- "current": "this hour",
- "past": "ཆུ་ཚོད་ {0} ཧེ་མ་",
- "future": "ཆུ་ཚོད་ {0} ནང་"
- ],
- "minute": [
- "current": "this minute",
- "past": "སྐར་མ་ {0} ཧེ་མ་",
- "future": "སྐར་མ་ {0} ནང་"
- ],
- "second": [
- "current": "now",
- "past": "སྐར་ཆ་ {0} ཧེ་མ་",
- "future": "སྐར་ཆ་ {0} ནང་"
- ],
- "now": "now"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ee.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ee.swift
deleted file mode 100644
index dadb6613..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ee.swift
+++ /dev/null
@@ -1,312 +0,0 @@
-//
-// lang_ee.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ee: RelativeFormatterLang {
-
- /// Locales.ewe
- public static let identifier: String = "ee"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ƒe si va yi",
- "current": "ƒe sia",
- "next": "ƒe si gbɔ na",
- "past": "le ƒe {0} si va yi me",
- "future": "le ƒe {0} me"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "kɔta {0} si va yi me",
- "future": "le kɔta {0} si gbɔ na me"
- ],
- "month": [
- "previous": "ɣleti si va yi",
- "current": "ɣleti sia",
- "next": "ɣleti si gbɔ na",
- "past": [
- "one": "ɣleti {0} si va yi",
- "other": "ɣleti {0} si wo va yi"
- ],
- "future": [
- "one": "le ɣleti {0} me",
- "other": "le ɣleti {0} wo me"
- ]
- ],
- "week": [
- "previous": "kɔsiɖa si va yi",
- "current": "kɔsiɖa sia",
- "next": "kɔsiɖa si gbɔ na",
- "past": [
- "one": "kɔsiɖa {0} si va yi",
- "other": "kɔsiɖa {0} si wo va yi"
- ],
- "future": [
- "one": "le kɔsiɖa {0} me",
- "other": "le kɔsiɖa {0} wo me"
- ]
- ],
- "day": [
- "previous": "etsɔ si va yi",
- "current": "egbe",
- "next": "etsɔ si gbɔna",
- "past": [
- "one": "ŋkeke {0} si va yi",
- "other": "ŋkeke {0} si wo va yi"
- ],
- "future": [
- "one": "le ŋkeke {0} me",
- "other": "le ŋkeke {0} wo me"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "gaƒoƒo {0} si va yi",
- "other": "gaƒoƒo {0} si wo va yi"
- ],
- "future": [
- "one": "le gaƒoƒo {0} me",
- "other": "le gaƒoƒo {0} wo me"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "aɖabaƒoƒo {0} si va yi",
- "other": "aɖabaƒoƒo {0} si wo va yi"
- ],
- "future": [
- "one": "le aɖabaƒoƒo {0} me",
- "other": "le aɖabaƒoƒo {0} wo me"
- ]
- ],
- "second": [
- "current": "fifi",
- "past": [
- "one": "sekend {0} si va yi",
- "other": "sekend {0} si wo va yi"
- ],
- "future": [
- "one": "le sekend {0} me",
- "other": "le sekend {0} wo me"
- ]
- ],
- "now": "fifi"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ƒe si va yi",
- "current": "ƒe sia",
- "next": "ƒe si gbɔ na",
- "past": "ƒe {0} si va yi me",
- "future": "le ƒe {0} si gbɔna me"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "kɔta {0} si va yi me",
- "future": [
- "one": "le kɔta {0} si gbɔna me",
- "other": "le kɔta {0} si gbɔ na me"
- ]
- ],
- "month": [
- "previous": "ɣleti si va yi",
- "current": "ɣleti sia",
- "next": "ɣleti si gbɔ na",
- "past": [
- "one": "ɣleti {0} si va yi",
- "other": "ɣleti {0} si wo va yi"
- ],
- "future": [
- "one": "le ɣleti {0} me",
- "other": "le ɣleti {0} wo me"
- ]
- ],
- "week": [
- "previous": "kɔsiɖa si va yi",
- "current": "kɔsiɖa sia",
- "next": "kɔsiɖa si gbɔ na",
- "past": [
- "one": "kɔsiɖa {0} si va yi",
- "other": "kɔsiɖa {0} si wo va yi"
- ],
- "future": [
- "one": "le kɔsiɖa {0} me",
- "other": "le kɔsiɖa {0} wo me"
- ]
- ],
- "day": [
- "previous": "etsɔ si va yi",
- "current": "egbe",
- "next": "etsɔ si gbɔna",
- "past": [
- "one": "ŋkeke {0} si va yi",
- "other": "ŋkeke {0} si wo va yi"
- ],
- "future": [
- "one": "le ŋkeke {0} me",
- "other": "le ŋkeke {0} wo me"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "gaƒoƒo {0} si va yi",
- "other": "gaƒoƒo {0} si wo va yi"
- ],
- "future": [
- "one": "le gaƒoƒo {0} me",
- "other": "le gaƒoƒo {0} wo me"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "aɖabaƒoƒo {0} si va yi",
- "other": "aɖabaƒoƒo {0} si wo va yi"
- ],
- "future": [
- "one": "le aɖabaƒoƒo {0} me",
- "other": "le aɖabaƒoƒo {0} wo me"
- ]
- ],
- "second": [
- "current": "fifi",
- "past": [
- "one": "sekend {0} si va yi",
- "other": "sekend {0} si wo va yi"
- ],
- "future": [
- "one": "le sekend {0} me",
- "other": "le sekend {0} wo me"
- ]
- ],
- "now": "fifi"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ƒe si va yi",
- "current": "ƒe sia",
- "next": "ƒe si gbɔ na",
- "past": [
- "one": "ƒe {0} si va yi",
- "other": "ƒe {0} si wo va yi"
- ],
- "future": "le ƒe {0} me"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "kɔta {0} si va yi me",
- "future": "le kɔta {0} si gbɔ na me"
- ],
- "month": [
- "previous": "ɣleti si va yi",
- "current": "ɣleti sia",
- "next": "ɣleti si gbɔ na",
- "past": [
- "one": "ɣleti {0} si va yi",
- "other": "ɣleti {0} si wo va yi"
- ],
- "future": [
- "one": "le ɣleti {0} me",
- "other": "le ɣleti {0} wo me"
- ]
- ],
- "week": [
- "previous": "kɔsiɖa si va yi",
- "current": "kɔsiɖa sia",
- "next": "kɔsiɖa si gbɔ na",
- "past": [
- "one": "kɔsiɖa {0} si va yi",
- "other": "kɔsiɖa {0} si wo va yi"
- ],
- "future": [
- "one": "le kɔsiɖa {0} me",
- "other": "le kɔsiɖa {0} wo me"
- ]
- ],
- "day": [
- "previous": "etsɔ si va yi",
- "current": "egbe",
- "next": "etsɔ si gbɔna",
- "past": [
- "one": "ŋkeke {0} si va yi",
- "other": "ŋkeke {0} si wo va yi"
- ],
- "future": [
- "one": "le ŋkeke {0} me",
- "other": "le ŋkeke {0} wo me"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "gaƒoƒo {0} si va yi",
- "other": "gaƒoƒo {0} si wo va yi"
- ],
- "future": [
- "one": "le gaƒoƒo {0} me",
- "other": "le gaƒoƒo {0} wo me"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "aɖabaƒoƒo {0} si va yi",
- "other": "aɖabaƒoƒo {0} si wo va yi"
- ],
- "future": [
- "one": "le aɖabaƒoƒo {0} me",
- "other": "le aɖabaƒoƒo {0} wo me"
- ]
- ],
- "second": [
- "current": "fifi",
- "past": [
- "one": "sekend {0} si va yi",
- "other": "sekend {0} si wo va yi"
- ],
- "future": [
- "one": "le sekend {0} me",
- "other": "le sekend {0} wo me"
- ]
- ],
- "now": "fifi"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_el.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_el.swift
deleted file mode 100644
index 6d883cb0..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_el.swift
+++ /dev/null
@@ -1,264 +0,0 @@
-//
-// lang_el.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_el: RelativeFormatterLang {
-
- /// Locales.greek
- public static let identifier: String = "el"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "πέρσι",
- "current": "φέτος",
- "next": "επόμενο έτος",
- "past": [
- "one": "πριν από {0} έτος",
- "other": "πριν από {0} έτη"
- ],
- "future": [
- "one": "σε {0} έτος",
- "other": "σε {0} έτη"
- ]
- ],
- "quarter": [
- "previous": "προηγ. τρίμ.",
- "current": "τρέχον τρίμ.",
- "next": "επόμ. τρίμ.",
- "past": "πριν από {0} τρίμ.",
- "future": "σε {0} τρίμ."
- ],
- "month": [
- "previous": "προηγούμενος μήνας",
- "current": "τρέχων μήνας",
- "next": "επόμενος μήνας",
- "past": [
- "one": "πριν από {0} μήνα",
- "other": "πριν από {0} μήνες"
- ],
- "future": [
- "one": "σε {0} μήνα",
- "other": "σε {0} μήνες"
- ]
- ],
- "week": [
- "previous": "προηγούμενη εβδομάδα",
- "current": "τρέχουσα εβδομάδα",
- "next": "επόμενη εβδομάδα",
- "past": "πριν από {0} εβδ.",
- "future": "σε {0} εβδ."
- ],
- "day": [
- "previous": "χθες",
- "current": "σήμερα",
- "next": "αύριο",
- "past": "πριν από {0} ημ.",
- "future": "σε {0} ημ."
- ],
- "hour": [
- "current": "τρέχουσα ώρα",
- "past": "πριν από {0} ώ.",
- "future": "σε {0} ώ."
- ],
- "minute": [
- "current": "τρέχον λεπτό",
- "past": "πριν από {0} λεπ.",
- "future": "σε {0} λεπ."
- ],
- "second": [
- "current": "τώρα",
- "past": "πριν από {0} δευτ.",
- "future": "σε {0} δευτ."
- ],
- "now": "τώρα"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "πέρσι",
- "current": "φέτος",
- "next": "επόμενο έτος",
- "past": [
- "one": "{0} έτος πριν",
- "other": "{0} έτη πριν"
- ],
- "future": [
- "one": "σε {0} έτος",
- "other": "σε {0} έτη"
- ]
- ],
- "quarter": [
- "previous": "προηγ. τρίμ.",
- "current": "τρέχον τρίμ.",
- "next": "επόμ. τρίμ.",
- "past": "{0} τρίμ. πριν",
- "future": "σε {0} τρίμ."
- ],
- "month": [
- "previous": "προηγούμενος μήνας",
- "current": "τρέχων μήνας",
- "next": "επόμενος μήνας",
- "past": "{0} μ. πριν",
- "future": "σε {0} μ."
- ],
- "week": [
- "previous": "προηγούμενη εβδομάδα",
- "current": "τρέχουσα εβδομάδα",
- "next": "επόμενη εβδομάδα",
- "past": "{0} εβδ. πριν",
- "future": "σε {0} εβδ."
- ],
- "day": [
- "previous": "χθες",
- "current": "σήμερα",
- "next": "αύριο",
- "past": "{0} ημ. πριν",
- "future": "σε {0} ημ."
- ],
- "hour": [
- "current": "τρέχουσα ώρα",
- "past": "{0} ώ. πριν",
- "future": "σε {0} ώ."
- ],
- "minute": [
- "current": "τρέχον λεπτό",
- "past": "{0} λ. πριν",
- "future": "σε {0} λ."
- ],
- "second": [
- "current": "τώρα",
- "past": "{0} δ. πριν",
- "future": "σε {0} δ."
- ],
- "now": "τώρα"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "πέρσι",
- "current": "φέτος",
- "next": "επόμενο έτος",
- "past": [
- "one": "πριν από {0} έτος",
- "other": "πριν από {0} έτη"
- ],
- "future": [
- "one": "σε {0} έτος",
- "other": "σε {0} έτη"
- ]
- ],
- "quarter": [
- "previous": "προηγούμενο τρίμηνο",
- "current": "τρέχον τρίμηνο",
- "next": "επόμενο τρίμηνο",
- "past": [
- "one": "πριν από {0} τρίμηνο",
- "other": "πριν από {0} τρίμηνα"
- ],
- "future": [
- "one": "σε {0} τρίμηνο",
- "other": "σε {0} τρίμηνα"
- ]
- ],
- "month": [
- "previous": "προηγούμενος μήνας",
- "current": "τρέχων μήνας",
- "next": "επόμενος μήνας",
- "past": [
- "one": "πριν από {0} μήνα",
- "other": "πριν από {0} μήνες"
- ],
- "future": [
- "one": "σε {0} μήνα",
- "other": "σε {0} μήνες"
- ]
- ],
- "week": [
- "previous": "προηγούμενη εβδομάδα",
- "current": "τρέχουσα εβδομάδα",
- "next": "επόμενη εβδομάδα",
- "past": [
- "one": "πριν από {0} εβδομάδα",
- "other": "πριν από {0} εβδομάδες"
- ],
- "future": [
- "one": "σε {0} εβδομάδα",
- "other": "σε {0} εβδομάδες"
- ]
- ],
- "day": [
- "previous": "χθες",
- "current": "σήμερα",
- "next": "αύριο",
- "past": [
- "one": "πριν από {0} ημέρα",
- "other": "πριν από {0} ημέρες"
- ],
- "future": [
- "one": "σε {0} ημέρα",
- "other": "σε {0} ημέρες"
- ]
- ],
- "hour": [
- "current": "τρέχουσα ώρα",
- "past": [
- "one": "πριν από {0} ώρα",
- "other": "πριν από {0} ώρες"
- ],
- "future": [
- "one": "σε {0} ώρα",
- "other": "σε {0} ώρες"
- ]
- ],
- "minute": [
- "current": "τρέχον λεπτό",
- "past": [
- "one": "πριν από {0} λεπτό",
- "other": "πριν από {0} λεπτά"
- ],
- "future": [
- "one": "σε {0} λεπτό",
- "other": "σε {0} λεπτά"
- ]
- ],
- "second": [
- "current": "τώρα",
- "past": [
- "one": "πριν από {0} δευτερόλεπτο",
- "other": "πριν από {0} δευτερόλεπτα"
- ],
- "future": [
- "one": "σε {0} δευτερόλεπτο",
- "other": "σε {0} δευτερόλεπτα"
- ]
- ],
- "now": "τώρα"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_en.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_en.swift
deleted file mode 100644
index 2d09a2cb..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_en.swift
+++ /dev/null
@@ -1,518 +0,0 @@
-//
-// lang_en.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_en: RelativeFormatterLang {
- public static let identifier: String = "en"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.longConvenient.rawValue: _longConvenient,
- RelativeFormatter.Flavour.longTime.rawValue: _longTime,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.shortConvenient.rawValue: _shortConvenient,
- RelativeFormatter.Flavour.shortTime.rawValue: _shortTime,
- RelativeFormatter.Flavour.short.rawValue: _short,
- RelativeFormatter.Flavour.tiny.rawValue: _tiny
- ]
- }
-
- private var _tiny: [String: Any] {
- return [
- "year": "{0}yr",
- "month": "{0}mo",
- "week": "{0}wk",
- "day": "{0}d",
- "hour": "{0}h",
- "minute": "{0}m",
- "second": "{0}s",
- "now": "now"
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "last yr.",
- "current": "this yr.",
- "next": "next yr.",
- "past": "{0} yr. ago",
- "future": "in {0} yr."
- ],
- "quarter": [
- "previous": "last qtr.",
- "current": "this qtr.",
- "next": "next qtr.",
- "past": [
- "one": "{0} qtr. ago",
- "other": "{0} qtrs. ago"
- ],
- "future": [
- "one": "in {0} qtr.",
- "other": "in {0} qtrs."
- ]
- ],
- "month": [
- "previous": "last mo.",
- "current": "this mo.",
- "next": "next mo.",
- "past": "{0} mo. ago",
- "future": "in {0} mo."
- ],
- "week": [
- "previous": "last wk.",
- "current": "this wk.",
- "next": "next wk.",
- "past": "{0} wk. ago",
- "future": "in {0} wk."
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": [
- "one": "{0} day ago",
- "other": "{0} days ago"
- ],
- "future": [
- "one": "in {0} day",
- "other": "in {0} days"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} hr. ago",
- "future": "in {0} hr."
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} min. ago",
- "future": "in {0} min."
- ],
- "second": [
- "current": "now",
- "past": "{0} sec. ago",
- "future": "in {0} sec."
- ],
- "now": "now"
- ]
- }
-
- private var _shortTime: [String: Any] {
- return [
- "year": "{0} yr.",
- "month": "{0} mo.",
- "week": "{0} wk.",
- "day": [
- "one": "{0} day",
- "other": "{0} days"
- ],
- "hour": "{0} hr.",
- "minute": "{0} min.",
- "second": "{0} sec.",
- "now": "now"
- ]
- }
-
- private var _shortConvenient: [String: Any] {
- return [
- "year": [
- "previous": "last yr.",
- "current": "this yr.",
- "next": "next yr.",
- "past": "{0} yr. ago",
- "future": "in {0} yr."
- ],
- "quarter": [
- "previous": "last qtr.",
- "current": "this qtr.",
- "next": "next qtr.",
- "past": [
- "one": "{0} qtr. ago",
- "other": "{0} qtrs. ago"
- ],
- "future": [
- "one": "in {0} qtr.",
- "other": "in {0} qtrs."
- ]
- ],
- "month": [
- "previous": "last mo.",
- "current": "this mo.",
- "next": "next mo.",
- "past": "{0} mo. ago",
- "future": "in {0} mo."
- ],
- "week": [
- "previous": "last wk.",
- "current": "this wk.",
- "next": "next wk.",
- "past": "{0} wk. ago",
- "future": "in {0} wk."
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": [
- "one": "{0} day ago",
- "other": "{0} days ago"
- ],
- "future": [
- "one": "in {0} day",
- "other": "in {0} days"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} hr. ago",
- "future": "in {0} hr."
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} min. ago",
- "future": "in {0} min."
- ],
- "second": [
- "current": "now",
- "past": "{0} sec. ago",
- "future": "in {0} sec."
- ],
- "now": [
- "future": "in a moment",
- "past": "just now"
- ]
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "last yr.",
- "current": "this yr.",
- "next": "next yr.",
- "past": "{0} yr. ago",
- "future": "in {0} yr."
- ],
- "quarter": [
- "previous": "last qtr.",
- "current": "this qtr.",
- "next": "next qtr.",
- "past": [
- "one": "{0} qtr. ago",
- "other": "{0} qtrs. ago"
- ],
- "future": [
- "one": "in {0} qtr.",
- "other": "in {0} qtrs."
- ]
- ],
- "month": [
- "previous": "last mo.",
- "current": "this mo.",
- "next": "next mo.",
- "past": "{0} mo. ago",
- "future": "in {0} mo."
- ],
- "week": [
- "previous": "last wk.",
- "current": "this wk.",
- "next": "next wk.",
- "past": "{0} wk. ago",
- "future": "in {0} wk."
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": [
- "one": "{0} day ago",
- "other": "{0} days ago"
- ],
- "future": [
- "one": "in {0} day",
- "other": "in {0} days"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} hr. ago",
- "future": "in {0} hr."
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} min. ago",
- "future": "in {0} min."
- ],
- "second": [
- "current": "now",
- "past": "{0} sec. ago",
- "future": "in {0} sec."
- ],
- "now": "now"
- ]
- }
-
- private var _longTime: [String: Any] {
- return [
- "year": [
- "one": "{0} year",
- "other": "{0} years"
- ],
- "month": [
- "one": "{0} month",
- "other": "{0} months"
- ],
- "week": [
- "one": "{0} week",
- "other": "{0} weeks"
- ],
- "day": [
- "one": "{0} day",
- "other": "{0} days"
- ],
- "hour": [
- "one": "{0} hour",
- "other": "{0} hours"
- ],
- "minute": [
- "one": "{0} minute",
- "other": "{0} minutes"
- ],
- "second": [
- "one": "{0} second",
- "other": "{0} seconds"
- ],
- "now": [
- "future": "in a moment",
- "past": "just now"
- ]
- ]
- }
-
- private var _longConvenient: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "a year ago",
- "other": "{0} years ago"
- ],
- "future": [
- "one": "in a year",
- "other": "in {0} years"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": [
- "one": "a quarter ago",
- "other": "{0} quarters ago"
- ],
- "future": [
- "one": "in a quarter",
- "other": "in {0} quarters"
- ]
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": [
- "one": "a month ago",
- "other": "{0} months ago"
- ],
- "future": [
- "one": "in a month",
- "other": "in {0} months"
- ]
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "a week ago",
- "other": "{0} weeks ago"
- ],
- "future": [
- "one": "in a week",
- "other": "in {0} weeks"
- ]
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": [
- "one": "a day ago",
- "other": "{0} days ago"
- ],
- "future": [
- "one": "in a day",
- "other": "in {0} days"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "an hour ago",
- "other": "{0} hours ago"
- ],
- "future": [
- "one": "in an hour",
- "other": "in {0} hours"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "a minute ago",
- "other": "{0} minutes ago"
- ],
- "future": [
- "one": "in a minute",
- "other": "in {0} minutes"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "a second ago",
- "other": "{0} seconds ago"
- ],
- "future": [
- "one": "in a second",
- "other": "in {0} seconds"
- ]
- ],
- "now": [
- "future": "in a moment",
- "past": "just now"
- ]
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "{0} year ago",
- "other": "{0} years ago"
- ],
- "future": [
- "one": "in {0} year",
- "other": "in {0} years"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": [
- "one": "{0} quarter ago",
- "other": "{0} quarters ago"
- ],
- "future": [
- "one": "in {0} quarter",
- "other": "in {0} quarters"
- ]
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": [
- "one": "{0} month ago",
- "other": "{0} months ago"
- ],
- "future": [
- "one": "in {0} month",
- "other": "in {0} months"
- ]
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "{0} week ago",
- "other": "{0} weeks ago"
- ],
- "future": [
- "one": "in {0} week",
- "other": "in {0} weeks"
- ]
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": [
- "one": "{0} day ago",
- "other": "{0} days ago"
- ],
- "future": [
- "one": "in {0} day",
- "other": "in {0} days"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "{0} hour ago",
- "other": "{0} hours ago"
- ],
- "future": [
- "one": "in {0} hour",
- "other": "in {0} hours"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minute ago",
- "other": "{0} minutes ago"
- ],
- "future": [
- "one": "in {0} minute",
- "other": "in {0} minutes"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "{0} second ago",
- "other": "{0} seconds ago"
- ],
- "future": [
- "one": "in {0} second",
- "other": "in {0} seconds"
- ]
- ],
- "now": "now"
- ]
- }
-
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es.swift
deleted file mode 100644
index 75a70d58..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es.swift
+++ /dev/null
@@ -1,258 +0,0 @@
-//
-// lang_es.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_es: RelativeFormatterLang {
-
- /// Locales.spanish
- public static let identifier: String = "es"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} s",
- "future": "dentro de {0} s"
- ],
- "now": "ahora"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} s",
- "future": "dentro de {0} s"
- ],
- "now": "ahora"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": [
- "one": "hace {0} año",
- "other": "hace {0} años"
- ],
- "future": [
- "one": "dentro de {0} año",
- "other": "dentro de {0} años"
- ]
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": [
- "one": "hace {0} trimestre",
- "other": "hace {0} trimestres"
- ],
- "future": [
- "one": "dentro de {0} trimestre",
- "other": "dentro de {0} trimestres"
- ]
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": [
- "one": "hace {0} mes",
- "other": "hace {0} meses"
- ],
- "future": [
- "one": "dentro de {0} mes",
- "other": "dentro de {0} meses"
- ]
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": [
- "one": "hace {0} semana",
- "other": "hace {0} semanas"
- ],
- "future": [
- "one": "dentro de {0} semana",
- "other": "dentro de {0} semanas"
- ]
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": [
- "one": "hace {0} hora",
- "other": "hace {0} horas"
- ],
- "future": [
- "one": "dentro de {0} hora",
- "other": "dentro de {0} horas"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": [
- "one": "hace {0} minuto",
- "other": "hace {0} minutos"
- ],
- "future": [
- "one": "dentro de {0} minuto",
- "other": "dentro de {0} minutos"
- ]
- ],
- "second": [
- "current": "ahora",
- "past": [
- "one": "hace {0} segundo",
- "other": "hace {0} segundos"
- ],
- "future": [
- "one": "dentro de {0} segundo",
- "other": "dentro de {0} segundos"
- ]
- ],
- "now": "ahora"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_AR.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_AR.swift
deleted file mode 100644
index 7d866a5b..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_AR.swift
+++ /dev/null
@@ -1,246 +0,0 @@
-//
-// lang_es.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_esAR: RelativeFormatterLang {
-
- /// Locales.spanishArgentina
- public static let identifier: String = "es_AR"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": "hace {0} días",
- "future": "dentro de {0} días"
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} seg.",
- "future": "dentro de {0} seg."
- ],
- "now": "ahora"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": "hace {0} días",
- "future": "dentro de {0} días"
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} seg.",
- "future": "dentro de {0} seg."
- ],
- "now": "ahora"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": [
- "one": "hace {0} año",
- "other": "hace {0} años"
- ],
- "future": [
- "one": "dentro de {0} año",
- "other": "dentro de {0} años"
- ]
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": [
- "one": "hace {0} trimestre",
- "other": "hace {0} trimestres"
- ],
- "future": [
- "one": "dentro de {0} trimestre",
- "other": "dentro de {0} trimestres"
- ]
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": [
- "one": "hace {0} mes",
- "other": "hace {0} meses"
- ],
- "future": [
- "one": "dentro de {0} mes",
- "other": "dentro de {0} meses"
- ]
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": [
- "one": "hace {0} semana",
- "other": "hace {0} semanas"
- ],
- "future": [
- "one": "dentro de {0} semana",
- "other": "dentro de {0} semanas"
- ]
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": [
- "one": "hace {0} hora",
- "other": "hace {0} horas"
- ],
- "future": [
- "one": "dentro de {0} hora",
- "other": "dentro de {0} horas"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": [
- "one": "hace {0} minuto",
- "other": "hace {0} minutos"
- ],
- "future": [
- "one": "dentro de {0} minuto",
- "other": "dentro de {0} minutos"
- ]
- ],
- "second": [
- "current": "ahora",
- "past": [
- "one": "hace {0} segundo",
- "other": "hace {0} segundos"
- ],
- "future": [
- "one": "dentro de {0} segundo",
- "other": "dentro de {0} segundos"
- ]
- ],
- "now": "ahora"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_MX.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_MX.swift
deleted file mode 100644
index 16129384..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_MX.swift
+++ /dev/null
@@ -1,264 +0,0 @@
-//
-// lang_es.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_esPY: RelativeFormatterLang {
-
- /// Locales.spanishParaguay
- public static let identifier: String = "es_PY"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "en {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": [
- "one": "en {0} trim.",
- "other": "en {0} trim"
- ]
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "en {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la semana próxima",
- "past": "hace {0} sem.",
- "future": "en {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "en {0} día",
- "other": "en {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": [
- "one": "en {0} h",
- "other": "en {0} n"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "en {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} s",
- "future": "en {0} s"
- ],
- "now": "ahora"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "-{0} a",
- "future": "en {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "-{0} T",
- "future": "+{0} T"
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la semana próxima",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "+{0} día",
- "other": "+{0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} s",
- "future": "+{0} s"
- ],
- "now": "ahora"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el año próximo",
- "past": [
- "one": "hace {0} año",
- "other": "hace {0} años"
- ],
- "future": [
- "one": "dentro de {0} año",
- "other": "dentro de {0} años"
- ]
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": [
- "one": "hace {0} trimestre",
- "other": "hace {0} trimestres"
- ],
- "future": [
- "one": "dentro de {0} trimetre",
- "other": "dentro de {0} trimetres"
- ]
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el mes próximo",
- "past": [
- "one": "hace {0} mes",
- "other": "hace {0} meses"
- ],
- "future": [
- "one": "en {0} mes",
- "other": "en {0} meses"
- ]
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la semana próxima",
- "past": [
- "one": "hace {0} semana",
- "other": "hace {0} semanas"
- ],
- "future": [
- "one": "dentro de {0} semana",
- "other": "dentro de {0} semanas"
- ]
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": [
- "one": "hace {0} hora",
- "other": "hace {0} horas"
- ],
- "future": [
- "one": "dentro de {0} hora",
- "other": "dentro de {0} horas"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": [
- "one": "hace {0} minuto",
- "other": "hace {0} minutos"
- ],
- "future": [
- "one": "dentro de {0} minuto",
- "other": "dentro de {0} minutos"
- ]
- ],
- "second": [
- "current": "ahora",
- "past": [
- "one": "hace {0} segundo",
- "other": "hace {0} segundos"
- ],
- "future": [
- "one": "dentro de {0} segundo",
- "other": "dentro de {0} segundos"
- ]
- ],
- "now": "ahora"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_PY.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_PY.swift
deleted file mode 100644
index c292eec4..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_PY.swift
+++ /dev/null
@@ -1,258 +0,0 @@
-//
-// lang_es.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_esMX: RelativeFormatterLang {
-
- /// Locales.spanishMexico
- public static let identifier: String = "es_MX"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} seg.",
- "future": "dentro de {0} seg."
- ],
- "now": "ahora"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} seg.",
- "future": "dentro de {0} seg."
- ],
- "now": "ahora"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": [
- "one": "hace {0} año",
- "other": "hace {0} años"
- ],
- "future": [
- "one": "dentro de {0} año",
- "other": "dentro de {0} años"
- ]
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": [
- "one": "hace {0} trimestre",
- "other": "hace {0} trimestres"
- ],
- "future": [
- "one": "dentro de {0} trimestre",
- "other": "dentro de {0} trimestres"
- ]
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": [
- "one": "hace {0} mes",
- "other": "hace {0} meses"
- ],
- "future": [
- "one": "dentro de {0} mes",
- "other": "dentro de {0} meses"
- ]
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la próxima semana",
- "past": [
- "one": "hace {0} semana",
- "other": "hace {0} semanas"
- ],
- "future": [
- "one": "dentro de {0} semana",
- "other": "dentro de {0} semanas"
- ]
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": [
- "one": "hace {0} hora",
- "other": "hace {0} horas"
- ],
- "future": [
- "one": "dentro de {0} hora",
- "other": "dentro de {0} horas"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": [
- "one": "hace {0} minuto",
- "other": "hace {0} minutos"
- ],
- "future": [
- "one": "dentro de {0} minuto",
- "other": "dentro de {0} minutos"
- ]
- ],
- "second": [
- "current": "ahora",
- "past": [
- "one": "hace {0} segundo",
- "other": "hace {0} segundos"
- ],
- "future": [
- "one": "dentro de {0} segundo",
- "other": "dentro de {0} segundos"
- ]
- ],
- "now": "ahora"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_US.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_US.swift
deleted file mode 100644
index 53245ffe..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_es_US.swift
+++ /dev/null
@@ -1,258 +0,0 @@
-//
-// lang_es.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_esUS: RelativeFormatterLang {
-
- /// Locales.spanishUnitedStates
- public static let identifier: String = "es_US"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la semana próxima",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} s",
- "future": "dentro de {0} s"
- ],
- "now": "ahora"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el próximo año",
- "past": "hace {0} a",
- "future": "dentro de {0} a"
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": "hace {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el próximo mes",
- "past": "hace {0} m",
- "future": "dentro de {0} m"
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la semana próxima",
- "past": "hace {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hace {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hace {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "ahora",
- "past": "hace {0} s",
- "future": "dentro de {0} s"
- ],
- "now": "ahora"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "el año pasado",
- "current": "este año",
- "next": "el año próximo",
- "past": [
- "one": "hace {0} año",
- "other": "hace {0} años"
- ],
- "future": [
- "one": "dentro de {0} año",
- "other": "dentro de {0} años"
- ]
- ],
- "quarter": [
- "previous": "el trimestre pasado",
- "current": "este trimestre",
- "next": "el próximo trimestre",
- "past": [
- "one": "hace {0} trimestre",
- "other": "hace {0} trimestres"
- ],
- "future": [
- "one": "dentro de {0} trimestre",
- "other": "dentro de {0} trimestres"
- ]
- ],
- "month": [
- "previous": "el mes pasado",
- "current": "este mes",
- "next": "el mes próximo",
- "past": [
- "one": "hace {0} mes",
- "other": "hace {0} meses"
- ],
- "future": [
- "one": "dentro de {0} mes",
- "other": "dentro de {0} meses"
- ]
- ],
- "week": [
- "previous": "la semana pasada",
- "current": "esta semana",
- "next": "la semana próxima",
- "past": [
- "one": "hace {0} semana",
- "other": "hace {0} semanas"
- ],
- "future": [
- "one": "dentro de {0} semana",
- "other": "dentro de {0} semanas"
- ]
- ],
- "day": [
- "previous": "ayer",
- "current": "hoy",
- "next": "mañana",
- "past": [
- "one": "hace {0} día",
- "other": "hace {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": [
- "one": "hace {0} hora",
- "other": "hace {0} horas"
- ],
- "future": [
- "one": "dentro de {0} hora",
- "other": "dentro de {0} horas"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": [
- "one": "hace {0} minuto",
- "other": "hace {0} minutos"
- ],
- "future": [
- "one": "dentro de {0} minuto",
- "other": "dentro de {0} minutos"
- ]
- ],
- "second": [
- "current": "ahora",
- "past": [
- "one": "hace {0} segundo",
- "other": "hace {0} segundos"
- ],
- "future": [
- "one": "dentro de {0} segundo",
- "other": "dentro de {0} segundos"
- ]
- ],
- "now": "ahora"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_et.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_et.swift
deleted file mode 100644
index ac7027bf..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_et.swift
+++ /dev/null
@@ -1,199 +0,0 @@
-//
-// lang_et.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_et: RelativeFormatterLang {
-
- /// Locales.estonian
- public static let identifier: String = "et"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- // module.exports=function(e){var i=String(e).split("."),n=Number(i{0})==e,r=n&&i{0}.slice(-1),s=n&&i{0}.slice(-2);return 1==r&&11!=s?"one":r>=2&&r<=4&&(s<12||s>14)?"few":n&&0==r||r>=5&&r<=9||s>=11&&s<=14?"many":"other"}
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "eelmine aasta",
- "current": "käesolev aasta",
- "next": "järgmine aasta",
- "past": "{0} a eest",
- "future": "{0} a pärast"
- ],
- "quarter": [
- "previous": "eelmine kv",
- "current": "käesolev kv",
- "next": "järgmine kv",
- "past": "{0} kv eest",
- "future": "{0} kv pärast"
- ],
- "month": [
- "previous": "eelmine kuu",
- "current": "käesolev kuu",
- "next": "järgmine kuu",
- "past": "{0} kuu eest",
- "future": "{0} kuu pärast"
- ],
- "week": [
- "previous": "eelmine nädal",
- "current": "käesolev nädal",
- "next": "järgmine nädal",
- "past": "{0} näd eest",
- "future": "{0} näd pärast"
- ],
- "day": [
- "previous": "eile",
- "current": "täna",
- "next": "homme",
- "past": "{0} p eest",
- "future": "{0} p pärast"
- ],
- "hour": [
- "current": "praegusel tunnil",
- "past": "{0} t eest",
- "future": "{0} t pärast"
- ],
- "minute": [
- "current": "praegusel minutil",
- "past": "{0} min eest",
- "future": "{0} min pärast"
- ],
- "second": [
- "current": "nüüd",
- "past": "{0} sek eest",
- "future": "{0} sek pärast"
- ],
- "now": "nüüd"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "eelmine aasta",
- "current": "käesolev aasta",
- "next": "järgmine aasta",
- "past": "{0} a eest",
- "future": "{0} a pärast"
- ],
- "quarter": [
- "previous": "eelmine kv",
- "current": "käesolev kv",
- "next": "järgmine kv",
- "past": "{0} kv eest",
- "future": "{0} kv pärast"
- ],
- "month": [
- "previous": "eelmine kuu",
- "current": "käesolev kuu",
- "next": "järgmine kuu",
- "past": "{0} k eest",
- "future": "{0} k pärast"
- ],
- "week": [
- "previous": "eelmine nädal",
- "current": "käesolev nädal",
- "next": "järgmine nädal",
- "past": "{0} näd eest",
- "future": "{0} näd pärast"
- ],
- "day": [
- "previous": "eile",
- "current": "täna",
- "next": "homme",
- "past": "{0} p eest",
- "future": "{0} p pärast"
- ],
- "hour": [
- "current": "praegusel tunnil",
- "past": "{0} t eest",
- "future": "{0} t pärast"
- ],
- "minute": [
- "current": "praegusel minutil",
- "past": "{0} min eest",
- "future": "{0} min pärast"
- ],
- "second": [
- "current": "nüüd",
- "past": "{0} s eest",
- "future": "{0} s pärast"
- ],
- "now": "nüüd"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "eelmine aasta",
- "current": "käesolev aasta",
- "next": "järgmine aasta",
- "past": "{0} aasta eest",
- "future": "{0} aasta pärast"
- ],
- "quarter": [
- "previous": "eelmine kvartal",
- "current": "käesolev kvartal",
- "next": "järgmine kvartal",
- "past": "{0} kvartali eest",
- "future": "{0} kvartali pärast"
- ],
- "month": [
- "previous": "eelmine kuu",
- "current": "käesolev kuu",
- "next": "järgmine kuu",
- "past": "{0} kuu eest",
- "future": "{0} kuu pärast"
- ],
- "week": [
- "previous": "eelmine nädal",
- "current": "käesolev nädal",
- "next": "järgmine nädal",
- "past": "{0} nädala eest",
- "future": "{0} nädala pärast"
- ],
- "day": [
- "previous": "eile",
- "current": "täna",
- "next": "homme",
- "past": "{0} päeva eest",
- "future": "{0} päeva pärast"
- ],
- "hour": [
- "current": "praegusel tunnil",
- "past": "{0} tunni eest",
- "future": "{0} tunni pärast"
- ],
- "minute": [
- "current": "praegusel minutil",
- "past": "{0} minuti eest",
- "future": "{0} minuti pärast"
- ],
- "second": [
- "current": "nüüd",
- "past": "{0} sekundi eest",
- "future": "{0} sekundi pärast"
- ],
- "now": "nüüd"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_eu.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_eu.swift
deleted file mode 100644
index cadc9294..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_eu.swift
+++ /dev/null
@@ -1,198 +0,0 @@
-//
-// lang_eu.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_eu: RelativeFormatterLang {
-
- /// Locales.basque
- public static let identifier: String = "eu"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "aurreko urtea",
- "current": "aurten",
- "next": "hurrengo urtea",
- "past": "Duela {0} urte",
- "future": "{0} urte barru"
- ],
- "quarter": [
- "previous": "aurreko hiruhilekoa",
- "current": "hiruhileko hau",
- "next": "hurrengo hiruhilekoa",
- "past": "Duela {0} hiruhileko",
- "future": "{0} hiruhileko barru"
- ],
- "month": [
- "previous": "aurreko hilabetean",
- "current": "hilabete honetan",
- "next": "hurrengo hilabetean",
- "past": "Duela {0} hilabete",
- "future": "{0} hilabete barru"
- ],
- "week": [
- "previous": "aurreko astean",
- "current": "aste honetan",
- "next": "hurrengo astean",
- "past": "Duela {0} aste",
- "future": "{0} aste barru"
- ],
- "day": [
- "previous": "atzo",
- "current": "gaur",
- "next": "bihar",
- "past": "Duela {0} egun",
- "future": "{0} egun barru"
- ],
- "hour": [
- "current": "ordu honetan",
- "past": "Duela {0} ordu",
- "future": "{0} ordu barru"
- ],
- "minute": [
- "current": "minutu honetan",
- "past": "Duela {0} minutu",
- "future": "{0} minutu barru"
- ],
- "second": [
- "current": "orain",
- "past": "Duela {0} segundo",
- "future": "{0} segundo barru"
- ],
- "now": "orain"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "aurreko urtea",
- "current": "aurten",
- "next": "hurrengo urtea",
- "past": "Duela {0} urte",
- "future": "{0} urte barru"
- ],
- "quarter": [
- "previous": "aurreko hiruhilekoa",
- "current": "hiruhileko hau",
- "next": "hurrengo hiruhilekoa",
- "past": "Duela {0} hiruhileko",
- "future": "{0} hiruhileko barru"
- ],
- "month": [
- "previous": "aurreko hilabetean",
- "current": "hilabete honetan",
- "next": "hurrengo hilabetean",
- "past": "Duela {0} hilabete",
- "future": "{0} hilabete barru"
- ],
- "week": [
- "previous": "aurreko astean",
- "current": "aste honetan",
- "next": "hurrengo astean",
- "past": "Duela {0} aste",
- "future": "{0} aste barru"
- ],
- "day": [
- "previous": "atzo",
- "current": "gaur",
- "next": "bihar",
- "past": "Duela {0} egun",
- "future": "{0} egun barru"
- ],
- "hour": [
- "current": "ordu honetan",
- "past": "Duela {0} ordu",
- "future": "{0} ordu barru"
- ],
- "minute": [
- "current": "minutu honetan",
- "past": "Duela {0} minutu",
- "future": "{0} minutu barru"
- ],
- "second": [
- "current": "orain",
- "past": "Duela {0} segundo",
- "future": "{0} segundo barru"
- ],
- "now": "orain"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "iaz",
- "current": "aurten",
- "next": "hurrengo urtean",
- "past": "Duela {0} urte",
- "future": "{0} urte barru"
- ],
- "quarter": [
- "previous": "aurreko hiruhilekoa",
- "current": "hiruhileko hau",
- "next": "hurrengo hiruhilekoa",
- "past": "Duela {0} hiruhileko",
- "future": "{0} hiruhileko barru"
- ],
- "month": [
- "previous": "aurreko hilabetean",
- "current": "hilabete honetan",
- "next": "hurrengo hilabetean",
- "past": "Duela {0} hilabete",
- "future": "{0} hilabete barru"
- ],
- "week": [
- "previous": "aurreko astean",
- "current": "aste honetan",
- "next": "hurrengo astean",
- "past": "Duela {0} aste",
- "future": "{0} aste barru"
- ],
- "day": [
- "previous": "atzo",
- "current": "gaur",
- "next": "bihar",
- "past": "Duela {0} egun",
- "future": "{0} egun barru"
- ],
- "hour": [
- "current": "ordu honetan",
- "past": "Duela {0} ordu",
- "future": "{0} ordu barru"
- ],
- "minute": [
- "current": "minutu honetan",
- "past": "Duela {0} minutu",
- "future": "{0} minutu barru"
- ],
- "second": [
- "current": "orain",
- "past": "Duela {0} segundo",
- "future": "{0} segundo barru"
- ],
- "now": "orain"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fa.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fa.swift
deleted file mode 100644
index 41fcf13f..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fa.swift
+++ /dev/null
@@ -1,199 +0,0 @@
-//
-// lang_fa.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_fa: RelativeFormatterLang {
-
- /// Locales.persian
- public static let identifier: String = "fa"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- // module.exports=function(e){var i=String(e).split("."),n=Number(i{0})==e,r=n&&i{0}.slice(-1),s=n&&i{0}.slice(-2);return 1==r&&11!=s?"one":r>=2&&r<=4&&(s<12||s>14)?"few":n&&0==r||r>=5&&r<=9||s>=11&&s<=14?"many":"other"}
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "سال گذشته",
- "current": "امسال",
- "next": "سال آینده",
- "past": "{0} سال پیش",
- "future": "{0} سال بعد"
- ],
- "quarter": [
- "previous": "سهماههٔ گذشته",
- "current": "سهماههٔ کنونی",
- "next": "سهماههٔ آینده",
- "past": "{0} سهماههٔ پیش",
- "future": "{0} سهماههٔ بعد"
- ],
- "month": [
- "previous": "ماه پیش",
- "current": "این ماه",
- "next": "ماه آینده",
- "past": "{0} ماه پیش",
- "future": "{0} ماه بعد"
- ],
- "week": [
- "previous": "هفتهٔ گذشته",
- "current": "این هفته",
- "next": "هفتهٔ آینده",
- "past": "{0} هفته پیش",
- "future": "{0} هفته بعد"
- ],
- "day": [
- "previous": "دیروز",
- "current": "امروز",
- "next": "فردا",
- "past": "{0} روز پیش",
- "future": "{0} روز بعد"
- ],
- "hour": [
- "current": "همین ساعت",
- "past": "{0} ساعت پیش",
- "future": "{0} ساعت بعد"
- ],
- "minute": [
- "current": "همین دقیقه",
- "past": "{0} دقیقه پیش",
- "future": "{0} دقیقه بعد"
- ],
- "second": [
- "current": "اکنون",
- "past": "{0} ثانیه پیش",
- "future": "{0} ثانیه بعد"
- ],
- "now": "اکنون"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "سال گذشته",
- "current": "امسال",
- "next": "سال آینده",
- "past": "{0} سال پیش",
- "future": "{0} سال بعد"
- ],
- "quarter": [
- "previous": "سهماههٔ گذشته",
- "current": "سهماههٔ کنونی",
- "next": "سهماههٔ آینده",
- "past": "{0} سهماههٔ پیش",
- "future": "{0} سهماههٔ بعد"
- ],
- "month": [
- "previous": "ماه پیش",
- "current": "این ماه",
- "next": "ماه آینده",
- "past": "{0} ماه پیش",
- "future": "{0} ماه بعد"
- ],
- "week": [
- "previous": "هفتهٔ گذشته",
- "current": "این هفته",
- "next": "هفتهٔ آینده",
- "past": "{0} هفته پیش",
- "future": "{0} هفته بعد"
- ],
- "day": [
- "previous": "دیروز",
- "current": "امروز",
- "next": "فردا",
- "past": "{0} روز پیش",
- "future": "{0} روز بعد"
- ],
- "hour": [
- "current": "همین ساعت",
- "past": "{0} ساعت پیش",
- "future": "{0} ساعت بعد"
- ],
- "minute": [
- "current": "همین دقیقه",
- "past": "{0} دقیقه پیش",
- "future": "{0} دقیقه بعد"
- ],
- "second": [
- "current": "اکنون",
- "past": "{0} ثانیه پیش",
- "future": "{0} ثانیه بعد"
- ],
- "now": "اکنون"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "سال گذشته",
- "current": "امسال",
- "next": "سال آینده",
- "past": "{0} سال پیش",
- "future": "{0} سال بعد"
- ],
- "quarter": [
- "previous": "سهماههٔ گذشته",
- "current": "سهماههٔ کنونی",
- "next": "سهماههٔ آینده",
- "past": "{0} سهماههٔ پیش",
- "future": "{0} سهماههٔ بعد"
- ],
- "month": [
- "previous": "ماه گذشته",
- "current": "این ماه",
- "next": "ماه آینده",
- "past": "{0} ماه پیش",
- "future": "{0} ماه بعد"
- ],
- "week": [
- "previous": "هفتهٔ گذشته",
- "current": "این هفته",
- "next": "هفتهٔ آینده",
- "past": "{0} هفته پیش",
- "future": "{0} هفته بعد"
- ],
- "day": [
- "previous": "دیروز",
- "current": "امروز",
- "next": "فردا",
- "past": "{0} روز پیش",
- "future": "{0} روز بعد"
- ],
- "hour": [
- "current": "همین ساعت",
- "past": "{0} ساعت پیش",
- "future": "{0} ساعت بعد"
- ],
- "minute": [
- "current": "همین دقیقه",
- "past": "{0} دقیقه پیش",
- "future": "{0} دقیقه بعد"
- ],
- "second": [
- "current": "اکنون",
- "past": "{0} ثانیه پیش",
- "future": "{0} ثانیه بعد"
- ],
- "now": "اکنون"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fi.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fi.swift
deleted file mode 100644
index a03069ac..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fi.swift
+++ /dev/null
@@ -1,225 +0,0 @@
-//
-// lang_fi.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_fi: RelativeFormatterLang {
-
- /// Locales.finnish
- public static let identifier: String = "fi"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "viime v",
- "current": "tänä v",
- "next": "ensi v",
- "past": "{0} v sitten",
- "future": "{0} v päästä"
- ],
- "quarter": [
- "previous": "viime neljänneksenä",
- "current": "tänä neljänneksenä",
- "next": "ensi neljänneksenä",
- "past": [
- "one": "{0} neljännes sitten",
- "other": "{0} neljännestä sitten"
- ],
- "future": "{0} neljänneksen päästä"
- ],
- "month": [
- "previous": "viime kk",
- "current": "tässä kk",
- "next": "ensi kk",
- "past": "{0} kk sitten",
- "future": "{0} kk päästä"
- ],
- "week": [
- "previous": "viime vk",
- "current": "tällä vk",
- "next": "ensi vk",
- "past": "{0} vk sitten",
- "future": "{0} vk päästä"
- ],
- "day": [
- "previous": "eilen",
- "current": "tänään",
- "next": "huom.",
- "past": "{0} pv sitten",
- "future": "{0} pv päästä"
- ],
- "hour": [
- "current": "tunnin sisällä",
- "past": "{0} t sitten",
- "future": "{0} t päästä"
- ],
- "minute": [
- "current": "minuutin sisällä",
- "past": "{0} min sitten",
- "future": "{0} min päästä"
- ],
- "second": [
- "current": "nyt",
- "past": "{0} s sitten",
- "future": "{0} s päästä"
- ],
- "now": "nyt"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "viime v",
- "current": "tänä v",
- "next": "ensi v",
- "past": "{0} v sitten",
- "future": "{0} v päästä"
- ],
- "quarter": [
- "previous": "viime nelj.",
- "current": "tänä nelj.",
- "next": "ensi nelj.",
- "past": "{0} nelj. sitten",
- "future": "{0} nelj. päästä"
- ],
- "month": [
- "previous": "viime kk",
- "current": "tässä kk",
- "next": "ensi kk",
- "past": "{0} kk sitten",
- "future": "{0} kk päästä"
- ],
- "week": [
- "previous": "viime vk",
- "current": "tällä vk",
- "next": "ensi vk",
- "past": "{0} vk sitten",
- "future": "{0} vk päästä"
- ],
- "day": [
- "previous": "eilen",
- "current": "tänään",
- "next": "huom.",
- "past": "{0} pv sitten",
- "future": "{0} pv päästä"
- ],
- "hour": [
- "current": "tunnin sisällä",
- "past": "{0} t sitten",
- "future": "{0} t päästä"
- ],
- "minute": [
- "current": "minuutin sisällä",
- "past": "{0} min sitten",
- "future": "{0} min päästä"
- ],
- "second": [
- "current": "nyt",
- "past": "{0} s sitten",
- "future": "{0} s päästä"
- ],
- "now": "nyt"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "viime vuonna",
- "current": "tänä vuonna",
- "next": "ensi vuonna",
- "past": [
- "one": "{0} vuosi sitten",
- "other": "{0} vuotta sitten"
- ],
- "future": "{0} vuoden päästä"
- ],
- "quarter": [
- "previous": "viime neljännesvuonna",
- "current": "tänä neljännesvuonna",
- "next": "ensi neljännesvuonna",
- "past": [
- "one": "{0} neljännesvuosi sitten",
- "other": "{0} neljännesvuotta sitten"
- ],
- "future": "{0} neljännesvuoden päästä"
- ],
- "month": [
- "previous": "viime kuussa",
- "current": "tässä kuussa",
- "next": "ensi kuussa",
- "past": [
- "one": "{0} kuukausi sitten",
- "other": "{0} kuukautta sitten"
- ],
- "future": "{0} kuukauden päästä"
- ],
- "week": [
- "previous": "viime viikolla",
- "current": "tällä viikolla",
- "next": "ensi viikolla",
- "past": [
- "one": "{0} viikko sitten",
- "other": "{0} viikkoa sitten"
- ],
- "future": "{0} viikon päästä"
- ],
- "day": [
- "previous": "eilen",
- "current": "tänään",
- "next": "huomenna",
- "past": [
- "one": "{0} päivä sitten",
- "other": "{0} päivää sitten"
- ],
- "future": "{0} päivän päästä"
- ],
- "hour": [
- "current": "tämän tunnin aikana",
- "past": [
- "one": "{0} tunti sitten",
- "other": "{0} tuntia sitten"
- ],
- "future": "{0} tunnin päästä"
- ],
- "minute": [
- "current": "tämän minuutin aikana",
- "past": [
- "one": "{0} minuutti sitten",
- "other": "{0} minuuttia sitten"
- ],
- "future": "{0} minuutin päästä"
- ],
- "second": [
- "current": "nyt",
- "past": [
- "one": "{0} sekunti sitten",
- "other": "{0} sekuntia sitten"
- ],
- "future": "{0} sekunnin päästä"
- ],
- "now": "nyt"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fil.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fil.swift
deleted file mode 100644
index 30ce1c91..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fil.swift
+++ /dev/null
@@ -1,333 +0,0 @@
-//
-// lang_fil.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_fil: RelativeFormatterLang {
-
- /// Locales.filipino
- public static let identifier: String = "fil"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "nakaraang taon",
- "current": "ngayong taon",
- "next": "susunod na taon",
- "past": [
- "one": "{0} taon ang nakalipas",
- "other": "{0} (na) taon ang nakalipas"
- ],
- "future": [
- "one": "sa {0} taon",
- "other": "sa {0} (na) taon"
- ]
- ],
- "quarter": [
- "previous": "nakaraang quarter",
- "current": "ngayong quarter",
- "next": "susunod na quarter",
- "past": [
- "one": "{0} quarter ang nakalipas",
- "other": "{0} (na) quarter ang nakalipas"
- ],
- "future": "sa {0} (na) quarter"
- ],
- "month": [
- "previous": "nakaraang buwan",
- "current": "ngayong buwan",
- "next": "susunod na buwan",
- "past": [
- "one": "{0} buwan ang nakalipas",
- "other": "{0} (na) buwan ang nakalipas"
- ],
- "future": [
- "one": "sa {0} buwan",
- "other": "sa {0} (na) buwan"
- ]
- ],
- "week": [
- "previous": "nakaraang linggo",
- "current": "ngayong linggo",
- "next": "susunod na linggo",
- "past": [
- "one": "{0} linggo ang nakalipas",
- "other": "{0} (na) linggo ang nakalipas"
- ],
- "future": [
- "one": "sa {0} linggo",
- "other": "sa {0} (na) linggo"
- ]
- ],
- "day": [
- "previous": "kahapon",
- "current": "ngayong araw",
- "next": "bukas",
- "past": "{0} (na) araw ang nakalipas",
- "future": "sa {0} (na) araw"
- ],
- "hour": [
- "current": "ngayong oras",
- "past": [
- "one": "{0} oras ang nakalipas",
- "other": "{0} (na) oras ang nakalipas"
- ],
- "future": [
- "one": "sa {0} oras",
- "other": "sa {0} (na) oras"
- ]
- ],
- "minute": [
- "current": "sa minutong ito",
- "past": [
- "one": "{0} min. ang nakalipas",
- "other": "{0} (na) min. ang nakalipas"
- ],
- "future": [
- "one": "sa {0} min.",
- "other": "sa {0} (na) min."
- ]
- ],
- "second": [
- "current": "ngayon",
- "past": [
- "one": "{0} seg. ang nakalipas",
- "other": "{0} (na) seg. nakalipas"
- ],
- "future": [
- "one": "sa {0} seg.",
- "other": "sa {0} (na) seg."
- ]
- ],
- "now": "ngayon"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "nakaraang taon",
- "current": "ngayong taon",
- "next": "susunod na taon",
- "past": [
- "one": "{0} taon ang nakalipas",
- "other": "{0} (na) taon ang nakalipas"
- ],
- "future": [
- "one": "sa {0} taon",
- "other": "sa {0} (na) taon"
- ]
- ],
- "quarter": [
- "previous": "nakaraang quarter",
- "current": "ngayong quarter",
- "next": "susunod na quarter",
- "past": [
- "one": "{0} quarter ang nakalipas",
- "other": "{0} (na) quarter ang nakalipas"
- ],
- "future": [
- "one": "sa {0} quarter",
- "other": "sa {0} (na) quarter"
- ]
- ],
- "month": [
- "previous": "nakaraang buwan",
- "current": "ngayong buwan",
- "next": "susunod na buwan",
- "past": [
- "one": "{0} buwan ang nakalipas",
- "other": "{0} (na) buwan ang nakalipas"
- ],
- "future": [
- "one": "sa {0} buwan",
- "other": "sa {0} (na) buwan"
- ]
- ],
- "week": [
- "previous": "nakaraang linggo",
- "current": "ngayong linggo",
- "next": "susunod na linggo",
- "past": [
- "one": "{0} linggo ang nakalipas",
- "other": "{0} (na) linggo ang nakalipas"
- ],
- "future": [
- "one": "sa {0} linggo",
- "other": "sa {0} (na) linggo"
- ]
- ],
- "day": [
- "previous": "kahapon",
- "current": "ngayong araw",
- "next": "bukas",
- "past": [
- "one": "{0} araw ang nakalipas",
- "other": "{0} (na) araw ang nakalipas"
- ],
- "future": [
- "one": "sa {0} araw",
- "other": "sa {0} (na) araw"
- ]
- ],
- "hour": [
- "current": "ngayong oras",
- "past": [
- "one": "{0} oras nakalipas",
- "other": "{0} (na) oras nakalipas"
- ],
- "future": [
- "one": "sa {0} oras",
- "other": "sa {0} (na) oras"
- ]
- ],
- "minute": [
- "current": "sa minutong ito",
- "past": [
- "one": "{0} min. ang nakalipas",
- "other": "{0} (na) min. ang nakalipas"
- ],
- "future": [
- "one": "sa {0} min.",
- "other": "sa {0} (na) min."
- ]
- ],
- "second": [
- "current": "ngayon",
- "past": [
- "one": "{0} seg. nakalipas",
- "other": "{0} (na) seg. nakalipas"
- ],
- "future": [
- "one": "sa {0} seg.",
- "other": "sa {0} (na) seg."
- ]
- ],
- "now": "ngayon"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "nakaraang taon",
- "current": "ngayong taon",
- "next": "susunod na taon",
- "past": [
- "one": "{0} taon ang nakalipas",
- "other": "{0} (na) taon ang nakalipas"
- ],
- "future": [
- "one": "sa {0} taon",
- "other": "sa {0} (na) taon"
- ]
- ],
- "quarter": [
- "previous": "nakaraang quarter",
- "current": "ngayong quarter",
- "next": "susunod na quarter",
- "past": [
- "one": "{0} quarter ang nakalipas",
- "other": "{0} (na) quarter ang nakalipas"
- ],
- "future": [
- "one": "sa {0} quarter",
- "other": "sa {0} (na) quarter"
- ]
- ],
- "month": [
- "previous": "nakaraang buwan",
- "current": "ngayong buwan",
- "next": "susunod na buwan",
- "past": [
- "one": "{0} buwan ang nakalipas",
- "other": "{0} (na) buwan ang nakalipas"
- ],
- "future": [
- "one": "sa {0} buwan",
- "other": "sa {0} (na) buwan"
- ]
- ],
- "week": [
- "previous": "nakalipas na linggo",
- "current": "sa linggong ito",
- "next": "susunod na linggo",
- "past": [
- "one": "{0} linggo ang nakalipas",
- "other": "{0} (na) linggo ang nakalipas"
- ],
- "future": [
- "one": "sa {0} linggo",
- "other": "sa {0} (na) linggo"
- ]
- ],
- "day": [
- "previous": "kahapon",
- "current": "ngayong araw",
- "next": "bukas",
- "past": [
- "one": "{0} araw ang nakalipas",
- "other": "{0} (na) araw ang nakalipas"
- ],
- "future": [
- "one": "sa {0} araw",
- "other": "sa {0} (na) araw"
- ]
- ],
- "hour": [
- "current": "ngayong oras",
- "past": [
- "one": "{0} oras ang nakalipas",
- "other": "{0} (na) oras ang nakalipas"
- ],
- "future": [
- "one": "sa {0} oras",
- "other": "sa {0} (na) oras"
- ]
- ],
- "minute": [
- "current": "sa minutong ito",
- "past": [
- "one": "{0} minuto ang nakalipas",
- "other": "{0} (na) minuto ang nakalipas"
- ],
- "future": [
- "one": "sa {0} minuto",
- "other": "sa {0} (na) minuto"
- ]
- ],
- "second": [
- "current": "ngayon",
- "past": [
- "one": "{0} segundo ang nakalipas",
- "other": "{0} (na) segundo ang nakalipas"
- ],
- "future": [
- "one": "sa {0} segundo",
- "other": "sa {0} (na) segundo"
- ]
- ],
- "now": "ngayon"
- ]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fo.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fo.swift
deleted file mode 100644
index b65d1a1e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fo.swift
+++ /dev/null
@@ -1,229 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_fo: RelativeFormatterLang {
-
- /// Faroese
- public static let identifier: String = "fo"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
-/*
-module.exports=function(n)[return 1==n?"one":"other"]
-*/
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "í fjør",
- "current": "í ár",
- "next": "næsta ár",
- "past": "{0} ár síðan",
- "future": "um {0} ár"
- ],
- "quarter": [
- "previous": "seinasta ársfjórðing",
- "current": "hendan ársfjórðingin",
- "next": "næsta ársfjórðing",
- "past": "{0} ársfj. síðan",
- "future": "um {0} ársfj."
- ],
- "month": [
- "previous": "seinasta mánað",
- "current": "henda mánaðin",
- "next": "næsta mánað",
- "past": "{0} mnð. síðan",
- "future": "um {0} mnð."
- ],
- "week": [
- "previous": "seinastu viku",
- "current": "hesu viku",
- "next": "næstu viku",
- "past": "{0} vi. síðan",
- "future": "um {0} vi."
- ],
- "day": [
- "previous": "í gjár",
- "current": "í dag",
- "next": "í morgin",
- "past": "{0} da. síðan",
- "future": "um {0} da."
- ],
- "hour": [
- "current": "hendan tíman",
- "past": "{0} t. síðan",
- "future": "um {0} t."
- ],
- "minute": [
- "current": "hendan minuttin",
- "past": "{0} min. síðan",
- "future": "um {0} min."
- ],
- "second": [
- "current": "nú",
- "past": "{0} sek. síðan",
- "future": "um {0} sek."
- ],
- "now": "nú"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "í fjør",
- "current": "í ár",
- "next": "næsta ár",
- "past": "{0} ár síðan",
- "future": "um {0} ár"
- ],
- "quarter": [
- "previous": "seinasta ársfjórðing",
- "current": "hendan ársfjórðingin",
- "next": "næsta ársfjórðing",
- "past": "{0} ársfj. síðan",
- "future": "um {0} ársfj."
- ],
- "month": [
- "previous": "seinasta mánað",
- "current": "henda mánaðin",
- "next": "næsta mánað",
- "past": "{0} mnð. síðan",
- "future": "um {0} mnð."
- ],
- "week": [
- "previous": "seinastu viku",
- "current": "hesu viku",
- "next": "næstu viku",
- "past": "{0} v. síðan",
- "future": "um {0} v."
- ],
- "day": [
- "previous": "í gjár",
- "current": "í dag",
- "next": "í morgin",
- "past": "{0} d. síðan",
- "future": "um {0} d."
- ],
- "hour": [
- "current": "hendan tíman",
- "past": "{0} t. síðan",
- "future": "um {0} t."
- ],
- "minute": [
- "current": "hendan minuttin",
- "past": "{0} m. síðan",
- "future": "um {0} m."
- ],
- "second": [
- "current": "nú",
- "past": "{0} s. síðan",
- "future": "um {0} s."
- ],
- "now": "nú"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "í fjør",
- "current": "í ár",
- "next": "næsta ár",
- "past": "{0} ár síðan",
- "future": "um {0} ár"
- ],
- "quarter": [
- "previous": "seinasta ársfjórðing",
- "current": "hendan ársfjórðingin",
- "next": "næsta ársfjórðing",
- "past": [
- "one": "{0} ársfjórðing síðan",
- "other": "{0} ársfjórðingar síðan"
- ],
- "future": [
- "one": "um {0} ársfjórðing",
- "other": "um {0} ársfjórðingar"
- ]
- ],
- "month": [
- "previous": "seinasta mánað",
- "current": "henda mánaðin",
- "next": "næsta mánað",
- "past": [
- "one": "{0} mánað síðan",
- "other": "{0} mánaðir síðan"
- ],
- "future": [
- "one": "um {0} mánað",
- "other": "um {0} mánaðir"
- ]
- ],
- "week": [
- "previous": "seinastu viku",
- "current": "hesu viku",
- "next": "næstu viku",
- "past": [
- "one": "{0} vika síðan",
- "other": "{0} vikur síðan"
- ],
- "future": [
- "one": "um {0} viku",
- "other": "um {0} vikur"
- ]
- ],
- "day": [
- "previous": "í gjár",
- "current": "í dag",
- "next": "í morgin",
- "past": [
- "one": "{0} dagur síðan",
- "other": "{0} dagar síðan"
- ],
- "future": [
- "one": "um {0} dag",
- "other": "um {0} dagar"
- ]
- ],
- "hour": [
- "current": "hendan tíman",
- "past": [
- "one": "{0} tími síðan",
- "other": "{0} tímar síðan"
- ],
- "future": [
- "one": "um {0} tíma",
- "other": "um {0} tímar"
- ]
- ],
- "minute": [
- "current": "hendan minuttin",
- "past": [
- "one": "{0} minutt síðan",
- "other": "{0} minuttir síðan"
- ],
- "future": [
- "one": "um {0} minutt",
- "other": "um {0} minuttir"
- ]
- ],
- "second": [
- "current": "nú",
- "past": "{0} sekund síðan",
- "future": "um {0} sekund"
- ],
- "now": "nú"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fr.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fr.swift
deleted file mode 100644
index fd4328f2..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fr.swift
+++ /dev/null
@@ -1,232 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_fr: RelativeFormatterLang {
-
- /// French
- public static let identifier: String = "fr"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value < 2 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "l’année dernière",
- "current": "cette année",
- "next": "l’année prochaine",
- "past": "il y a {0} a",
- "future": "dans {0} a"
- ],
- "quarter": [
- "previous": "le trimestre dernier",
- "current": "ce trimestre",
- "next": "le trimestre prochain",
- "past": "il y a {0} trim.",
- "future": "dans {0} trim."
- ],
- "month": [
- "previous": "le mois dernier",
- "current": "ce mois-ci",
- "next": "le mois prochain",
- "past": "il y a {0} m.",
- "future": "dans {0} m."
- ],
- "week": [
- "previous": "la semaine dernière",
- "current": "cette semaine",
- "next": "la semaine prochaine",
- "past": "il y a {0} sem.",
- "future": "dans {0} sem."
- ],
- "day": [
- "previous": "hier",
- "current": "aujourd’hui",
- "next": "demain",
- "past": "il y a {0} j",
- "future": "dans {0} j"
- ],
- "hour": [
- "current": "cette heure-ci",
- "past": "il y a {0} h",
- "future": "dans {0} h"
- ],
- "minute": [
- "current": "cette minute-ci",
- "past": "il y a {0} min",
- "future": "dans {0} min"
- ],
- "second": [
- "current": "maintenant",
- "past": "il y a {0} s",
- "future": "dans {0} s"
- ],
- "now": "maintenant"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "l’année dernière",
- "current": "cette année",
- "next": "l’année prochaine",
- "past": "-{0} a",
- "future": "+{0} a"
- ],
- "quarter": [
- "previous": "le trimestre dernier",
- "current": "ce trimestre",
- "next": "le trimestre prochain",
- "past": "-{0} trim.",
- "future": "+{0} trim."
- ],
- "month": [
- "previous": "le mois dernier",
- "current": "ce mois-ci",
- "next": "le mois prochain",
- "past": "-{0} m.",
- "future": "+{0} m."
- ],
- "week": [
- "previous": "la semaine dernière",
- "current": "cette semaine",
- "next": "la semaine prochaine",
- "past": "-{0} sem.",
- "future": "+{0} sem."
- ],
- "day": [
- "previous": "hier",
- "current": "aujourd’hui",
- "next": "demain",
- "past": "-{0} j",
- "future": "+{0} j"
- ],
- "hour": [
- "current": "cette heure-ci",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "cette minute-ci",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "maintenant",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "maintenant"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "l’année dernière",
- "current": "cette année",
- "next": "l’année prochaine",
- "past": [
- "one": "il y a {0} an",
- "other": "il y a {0} ans"
- ],
- "future": [
- "one": "dans {0} an",
- "other": "dans {0} ans"
- ]
- ],
- "quarter": [
- "previous": "le trimestre dernier",
- "current": "ce trimestre",
- "next": "le trimestre prochain",
- "past": [
- "one": "il y a {0} trimestre",
- "other": "il y a {0} trimestres"
- ],
- "future": [
- "one": "dans {0} trimestre",
- "other": "dans {0} trimestres"
- ]
- ],
- "month": [
- "previous": "le mois dernier",
- "current": "ce mois-ci",
- "next": "le mois prochain",
- "past": "il y a {0} mois",
- "future": "dans {0} mois"
- ],
- "week": [
- "previous": "la semaine dernière",
- "current": "cette semaine",
- "next": "la semaine prochaine",
- "past": [
- "one": "il y a {0} semaine",
- "other": "il y a {0} semaines"
- ],
- "future": [
- "one": "dans {0} semaine",
- "other": "dans {0} semaines"
- ]
- ],
- "day": [
- "previous": "hier",
- "current": "aujourd’hui",
- "next": "demain",
- "past": [
- "one": "il y a {0} jour",
- "other": "il y a {0} jours"
- ],
- "future": [
- "one": "dans {0} jour",
- "other": "dans {0} jours"
- ]
- ],
- "hour": [
- "current": "cette heure-ci",
- "past": [
- "one": "il y a {0} heure",
- "other": "il y a {0} heures"
- ],
- "future": [
- "one": "dans {0} heure",
- "other": "dans {0} heures"
- ]
- ],
- "minute": [
- "current": "cette minute-ci",
- "past": [
- "one": "il y a {0} minute",
- "other": "il y a {0} minutes"
- ],
- "future": [
- "one": "dans {0} minute",
- "other": "dans {0} minutes"
- ]
- ],
- "second": [
- "current": "maintenant",
- "past": [
- "one": "il y a {0} seconde",
- "other": "il y a {0} secondes"
- ],
- "future": [
- "one": "dans {0} seconde",
- "other": "dans {0} secondes"
- ]
- ],
- "now": "maintenant"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fr_CA.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fr_CA.swift
deleted file mode 100644
index 509f0de9..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fr_CA.swift
+++ /dev/null
@@ -1,235 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_frCA: RelativeFormatterLang {
-
- /// French (Canada)
- public static let identifier: String = "fr_CA"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value < 2 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "l’année dernière",
- "current": "cette année",
- "next": "l’année prochaine",
- "past": "il y a {0} a",
- "future": "dans {0} a"
- ],
- "quarter": [
- "previous": "le trimestre dernier",
- "current": "ce trimestre-ci",
- "next": "le trimestre prochain",
- "past": "il y a {0} trim.",
- "future": "dans {0} trim."
- ],
- "month": [
- "previous": "le mois dernier",
- "current": "ce mois-ci",
- "next": "le mois prochain",
- "past": "il y a {0} m.",
- "future": "dans {0} m."
- ],
- "week": [
- "previous": "la semaine dernière",
- "current": "cette semaine",
- "next": "la semaine prochaine",
- "past": "il y a {0} sem.",
- "future": "dans {0} sem."
- ],
- "day": [
- "previous": "hier",
- "current": "aujourd’hui",
- "next": "demain",
- "past": "il y a {0} j",
- "future": "dans {0} j"
- ],
- "hour": [
- "current": "cette heure-ci",
- "past": "il y a {0} h",
- "future": "dans {0} h"
- ],
- "minute": [
- "current": "cette minute-ci",
- "past": "il y a {0} min",
- "future": "dans {0} min"
- ],
- "second": [
- "current": "maintenant",
- "past": "il y a {0} s",
- "future": "dans {0} s"
- ],
- "now": "maintenant"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "l’année dernière",
- "current": "cette année",
- "next": "l’année prochaine",
- "past": "-{0} a",
- "future": "+{0} a"
- ],
- "quarter": [
- "previous": "le trimestre dernier",
- "current": "ce trimestre-ci",
- "next": "le trimestre prochain",
- "past": "-{0} trim.",
- "future": "+{0} trim."
- ],
- "month": [
- "previous": "le mois dernier",
- "current": "ce mois-ci",
- "next": "le mois prochain",
- "past": "-{0} m.",
- "future": "+{0} m."
- ],
- "week": [
- "previous": "la semaine dernière",
- "current": "cette semaine",
- "next": "la semaine prochaine",
- "past": "-{0} sem.",
- "future": "+{0} sem."
- ],
- "day": [
- "previous": "hier",
- "current": "aujourd’hui",
- "next": "demain",
- "past": "-{0} j",
- "future": "+{0} j"
- ],
- "hour": [
- "current": "cette heure-ci",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "cette minute-ci",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "maintenant",
- "past": "-{0} s",
- "future": [
- "one": "+ {0} s",
- "other": "+{0} s"
- ]
- ],
- "now": "maintenant"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "l’année dernière",
- "current": "cette année",
- "next": "l’année prochaine",
- "past": [
- "one": "Il y a {0} an",
- "other": "Il y a {0} ans"
- ],
- "future": [
- "one": "Dans {0} an",
- "other": "Dans {0} ans"
- ]
- ],
- "quarter": [
- "previous": "le trimestre dernier",
- "current": "ce trimestre-ci",
- "next": "le trimestre prochain",
- "past": [
- "one": "il y a {0} trimestre",
- "other": "il y a {0} trimestres"
- ],
- "future": [
- "one": "dans {0} trimestre",
- "other": "dans {0} trimestres"
- ]
- ],
- "month": [
- "previous": "le mois dernier",
- "current": "ce mois-ci",
- "next": "le mois prochain",
- "past": "il y a {0} mois",
- "future": "dans {0} mois"
- ],
- "week": [
- "previous": "la semaine dernière",
- "current": "cette semaine",
- "next": "la semaine prochaine",
- "past": [
- "one": "il y a {0} semaine",
- "other": "il y a {0} semaines"
- ],
- "future": [
- "one": "dans {0} semaine",
- "other": "dans {0} semaines"
- ]
- ],
- "day": [
- "previous": "hier",
- "current": "aujourd’hui",
- "next": "demain",
- "past": [
- "one": "il y a {0} jour",
- "other": "il y a {0} jours"
- ],
- "future": [
- "one": "dans {0} jour",
- "other": "dans {0} jours"
- ]
- ],
- "hour": [
- "current": "cette heure-ci",
- "past": [
- "one": "il y a {0} heure",
- "other": "il y a {0} heures"
- ],
- "future": [
- "one": "dans {0} heure",
- "other": "dans {0} heures"
- ]
- ],
- "minute": [
- "current": "cette minute-ci",
- "past": [
- "one": "il y a {0} minute",
- "other": "il y a {0} minutes"
- ],
- "future": [
- "one": "dans {0} minute",
- "other": "dans {0} minutes"
- ]
- ],
- "second": [
- "current": "maintenant",
- "past": [
- "one": "il y a {0} seconde",
- "other": "il y a {0} secondes"
- ],
- "future": [
- "one": "dans {0} seconde",
- "other": "dans {0} secondes"
- ]
- ],
- "now": "maintenant"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fur.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fur.swift
deleted file mode 100644
index e0706314..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fur.swift
+++ /dev/null
@@ -1,298 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_fur: RelativeFormatterLang {
-
- /// Friulian
- public static let identifier: String = "fur"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "{0} an indaûr",
- "other": "{0} agns indaûr"
- ],
- "future": [
- "one": "ca di {0} an",
- "other": "ca di {0} agns"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "{0} mês indaûr",
- "future": "ca di {0} mês"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "{0} setemane indaûr",
- "other": "{0} setemanis indaûr"
- ],
- "future": [
- "one": "ca di {0} setemane",
- "other": "ca di {0} setemanis"
- ]
- ],
- "day": [
- "previous": "îr",
- "current": "vuê",
- "next": "doman",
- "past": [
- "one": "{0} zornade indaûr",
- "other": "{0} zornadis indaûr"
- ],
- "future": [
- "one": "ca di {0} zornade",
- "other": "ca di {0} zornadis"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "{0} ore indaûr",
- "other": "{0} oris indaûr"
- ],
- "future": [
- "one": "ca di {0} ore",
- "other": "ca di {0} oris"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minût indaûr",
- "other": "{0} minûts indaûr"
- ],
- "future": [
- "one": "ca di {0} minût",
- "other": "ca di {0} minûts"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "{0} secont indaûr",
- "other": "{0} seconts indaûr"
- ],
- "future": [
- "one": "ca di {0} secont",
- "other": "ca di {0} seconts"
- ]
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "{0} an indaûr",
- "other": "{0} agns indaûr"
- ],
- "future": [
- "one": "ca di {0} an",
- "other": "ca di {0} agns"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "{0} mês indaûr",
- "future": "ca di {0} mês"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "{0} setemane indaûr",
- "other": "{0} setemanis indaûr"
- ],
- "future": [
- "one": "ca di {0} setemane",
- "other": "ca di {0} setemanis"
- ]
- ],
- "day": [
- "previous": "îr",
- "current": "vuê",
- "next": "doman",
- "past": [
- "one": "{0} zornade indaûr",
- "other": "{0} zornadis indaûr"
- ],
- "future": [
- "one": "ca di {0} zornade",
- "other": "ca di {0} zornadis"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "{0} ore indaûr",
- "other": "{0} oris indaûr"
- ],
- "future": [
- "one": "ca di {0} ore",
- "other": "ca di {0} oris"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minût indaûr",
- "other": "{0} minûts indaûr"
- ],
- "future": [
- "one": "ca di {0} minût",
- "other": "ca di {0} minûts"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "{0} secont indaûr",
- "other": "{0} seconts indaûr"
- ],
- "future": [
- "one": "ca di {0} secont",
- "other": "ca di {0} seconts"
- ]
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "{0} an indaûr",
- "other": "{0} agns indaûr"
- ],
- "future": [
- "one": "ca di {0} an",
- "other": "ca di {0} agns"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "{0} mês indaûr",
- "future": "ca di {0} mês"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "{0} setemane indaûr",
- "other": "{0} setemanis indaûr"
- ],
- "future": [
- "one": "ca di {0} setemane",
- "other": "ca di {0} setemanis"
- ]
- ],
- "day": [
- "previous": "îr",
- "current": "vuê",
- "next": "doman",
- "past": [
- "one": "{0} zornade indaûr",
- "other": "{0} zornadis indaûr"
- ],
- "future": [
- "one": "ca di {0} zornade",
- "other": "ca di {0} zornadis"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "{0} ore indaûr",
- "other": "{0} oris indaûr"
- ],
- "future": [
- "one": "ca di {0} ore",
- "other": "ca di {0} oris"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minût indaûr",
- "other": "{0} minûts indaûr"
- ],
- "future": [
- "one": "ca di {0} minût",
- "other": "ca di {0} minûts"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "{0} secont indaûr",
- "other": "{0} seconts indaûr"
- ],
- "future": [
- "one": "ca di {0} secont",
- "other": "ca di {0} seconts"
- ]
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fy.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fy.swift
deleted file mode 100644
index 2ae2456e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_fy.swift
+++ /dev/null
@@ -1,280 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_fy: RelativeFormatterLang {
-
- /// Western Frisian
- public static let identifier: String = "fy"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "foarich jier",
- "current": "dit jier",
- "next": "folgjend jier",
- "past": "{0} jier lyn",
- "future": "Oer {0} jier"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "foarige moanne",
- "current": "dizze moanne",
- "next": "folgjende moanne",
- "past": [
- "one": "{0} moanne lyn",
- "other": "{0} moannen lyn"
- ],
- "future": [
- "one": "Oer {0} moanne",
- "other": "Oer {0} moannen"
- ]
- ],
- "week": [
- "previous": "foarige wike",
- "current": "dizze wike",
- "next": "folgjende wike",
- "past": [
- "one": "{0} wike lyn",
- "other": "{0} wiken lyn"
- ],
- "future": [
- "one": "Oer {0} wike",
- "other": "Oer {0} wiken"
- ]
- ],
- "day": [
- "previous": "gisteren",
- "current": "vandaag",
- "next": "morgen",
- "past": [
- "one": "{0} dei lyn",
- "other": "{0} deien lyn"
- ],
- "future": [
- "one": "Oer {0} dei",
- "other": "Oer {0} deien"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} oere lyn",
- "future": "Oer {0} oere"
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minút lyn",
- "other": "{0} minuten lyn"
- ],
- "future": [
- "one": "Oer {0} minút",
- "other": "Oer {0} minuten"
- ]
- ],
- "second": [
- "current": "nu",
- "past": [
- "one": "{0} sekonde lyn",
- "other": "{0} sekonden lyn"
- ],
- "future": [
- "one": "Oer {0} sekonde",
- "other": "Oer {0} sekonden"
- ]
- ],
- "now": "nu"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "foarich jier",
- "current": "dit jier",
- "next": "folgjend jier",
- "past": "{0} jier lyn",
- "future": "Oer {0} jier"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "foarige moanne",
- "current": "dizze moanne",
- "next": "folgjende moanne",
- "past": [
- "one": "{0} moanne lyn",
- "other": "{0} moannen lyn"
- ],
- "future": [
- "one": "Oer {0} moanne",
- "other": "Oer {0} moannen"
- ]
- ],
- "week": [
- "previous": "foarige wike",
- "current": "dizze wike",
- "next": "folgjende wike",
- "past": [
- "one": "{0} wike lyn",
- "other": "{0} wiken lyn"
- ],
- "future": [
- "one": "Oer {0} wike",
- "other": "Oer {0} wiken"
- ]
- ],
- "day": [
- "previous": "gisteren",
- "current": "vandaag",
- "next": "morgen",
- "past": [
- "one": "{0} dei lyn",
- "other": "{0} deien lyn"
- ],
- "future": [
- "one": "Oer {0} dei",
- "other": "Oer {0} deien"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} oere lyn",
- "future": "Oer {0} oere"
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minút lyn",
- "other": "{0} minuten lyn"
- ],
- "future": [
- "one": "Oer {0} minút",
- "other": "Oer {0} minuten"
- ]
- ],
- "second": [
- "current": "nu",
- "past": [
- "one": "{0} sekonde lyn",
- "other": "{0} sekonden lyn"
- ],
- "future": [
- "one": "Oer {0} sekonde",
- "other": "Oer {0} sekonden"
- ]
- ],
- "now": "nu"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "foarich jier",
- "current": "dit jier",
- "next": "folgjend jier",
- "past": "{0} jier lyn",
- "future": "Oer {0} jier"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "foarige moanne",
- "current": "dizze moanne",
- "next": "folgjende moanne",
- "past": [
- "one": "{0} moanne lyn",
- "other": "{0} moannen lyn"
- ],
- "future": [
- "one": "Oer {0} moanne",
- "other": "Oer {0} moannen"
- ]
- ],
- "week": [
- "previous": "foarige wike",
- "current": "dizze wike",
- "next": "folgjende wike",
- "past": [
- "one": "{0} wike lyn",
- "other": "{0} wiken lyn"
- ],
- "future": [
- "one": "Oer {0} wike",
- "other": "Oer {0} wiken"
- ]
- ],
- "day": [
- "previous": "gisteren",
- "current": "vandaag",
- "next": "morgen",
- "past": [
- "one": "{0} dei lyn",
- "other": "{0} deien lyn"
- ],
- "future": [
- "one": "Oer {0} dei",
- "other": "Oer {0} deien"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} oere lyn",
- "future": "Oer {0} oere"
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minút lyn",
- "other": "{0} minuten lyn"
- ],
- "future": [
- "one": "Oer {0} minút",
- "other": "Oer {0} minuten"
- ]
- ],
- "second": [
- "current": "nu",
- "past": [
- "one": "{0} sekonde lyn",
- "other": "{0} sekonden lyn"
- ],
- "future": [
- "one": "Oer {0} sekonde",
- "other": "Oer {0} sekonden"
- ]
- ],
- "now": "nu"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ga.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ga.swift
deleted file mode 100644
index 10e55c29..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ga.swift
+++ /dev/null
@@ -1,302 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ga: RelativeFormatterLang {
-
- /// Irish
- public static let identifier: String = "ga"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch Int(value) {
- case 1: return .one
- case 2: return .two
- case 3...6: return .few
- case 7...10: return .many
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "anuraidh",
- "current": "an bhl. seo",
- "next": "an bhl. seo chugainn",
- "past": [
- "one": "{0} bhl. ó shin",
- "two": "{0} bhl. ó shin",
- "many": "{0} mbl. ó shin",
- "other": "{0} bl. ó shin"
- ],
- "future": [
- "two": "i gceann {0} bhl.",
- "many": "i gceann {0} mbl.",
- "other": "i gceann {0} bl."
- ]
- ],
- "quarter": [
- "previous": "an ráithe seo caite",
- "current": "an ráithe seo",
- "next": "an ráithe seo chugainn",
- "past": "{0} ráithe ó shin",
- "future": "i gceann {0} ráithe"
- ],
- "month": [
- "previous": "an mhí seo caite",
- "current": "an mhí seo",
- "next": "an mhí seo chugainn",
- "past": [
- "one": "{0} mhí ó shin",
- "two": "{0} mhí ó shin",
- "few": "{0} mhí ó shin",
- "other": "{0} mí ó shin"
- ],
- "future": [
- "one": "i gceann {0} mhí",
- "two": "i gceann {0} mhí",
- "few": "i gceann {0} mhí",
- "other": "i gceann {0} mí"
- ]
- ],
- "week": [
- "previous": "an tscht. seo caite",
- "current": "an tscht. seo",
- "next": "an tscht. seo chugainn",
- "past": "{0} scht. ó shin",
- "future": [
- "two": "i gceann {0} shcht.",
- "other": "i gceann {0} scht."
- ]
- ],
- "day": [
- "previous": "inné",
- "current": "inniu",
- "next": "amárach",
- "past": "{0} lá ó shin",
- "future": "i gceann {0} lá"
- ],
- "hour": [
- "current": "an uair seo",
- "past": [
- "few": "{0} huaire ó shin",
- "many": "{0} n-uaire ó shin",
- "other": "{0} uair ó shin"
- ],
- "future": [
- "few": "i gceann {0} huaire",
- "many": "i gceann {0} n-uaire",
- "other": "i gceann {0} uair"
- ]
- ],
- "minute": [
- "current": "an nóiméad seo",
- "past": "{0} nóim. ó shin",
- "future": "i gceann {0} nóim."
- ],
- "second": [
- "current": "anois",
- "past": [
- "two": "{0} shoic. ó shin",
- "few": "{0} shoic. ó shin",
- "other": "{0} soic. ó shin"
- ],
- "future": [
- "two": "i gceann {0} shoic.",
- "few": "i gceann {0} shoic.",
- "other": "i gceann {0} soic."
- ]
- ],
- "now": "anois"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "anuraidh",
- "current": "an bhl. seo",
- "next": "an bhl. seo chugainn",
- "past": [
- "one": "-{0} bhl.",
- "two": "-{0} bhl.",
- "many": "-{0} mbl.",
- "other": "-{0} bl."
- ],
- "future": [
- "one": "+{0} bhl.",
- "two": "+{0} bhl.",
- "many": "+{0} mbl.",
- "other": "+{0} bl."
- ]
- ],
- "quarter": [
- "previous": "an ráithe seo caite",
- "current": "an ráithe seo",
- "next": "an ráithe seo chugainn",
- "past": "-{0} R",
- "future": "+{0} R"
- ],
- "month": [
- "previous": "an mhí seo caite",
- "current": "an mhí seo",
- "next": "an mhí seo chugainn",
- "past": [
- "one": "-{0} mhí",
- "two": "-{0} mhí",
- "few": "-{0} mhí",
- "other": "-{0} mí"
- ],
- "future": [
- "one": "+{0} mhí",
- "two": "+{0} mhí",
- "few": "+{0} mhí",
- "other": "+{0} mí"
- ]
- ],
- "week": [
- "previous": "an tscht. seo caite",
- "current": "an tscht. seo",
- "next": "an tscht. seo chugainn",
- "past": "-{0} scht.",
- "future": "+{0} scht."
- ],
- "day": [
- "previous": "inné",
- "current": "inniu",
- "next": "amárach",
- "past": "-{0} lá",
- "future": "+{0} lá"
- ],
- "hour": [
- "current": "an uair seo",
- "past": "-{0} u",
- "future": "+{0} u"
- ],
- "minute": [
- "current": "an nóiméad seo",
- "past": "-{0} n",
- "future": "+{0} n"
- ],
- "second": [
- "current": "anois",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "anois"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "anuraidh",
- "current": "an bhliain seo",
- "next": "an bhliain seo chugainn",
- "past": [
- "one": "{0} bhliain ó shin",
- "two": "{0} bhliain ó shin",
- "few": "{0} bliana ó shin",
- "many": "{0} mbliana ó shin",
- "other": "{0} bliain ó shin"
- ],
- "future": [
- "one": "i gceann {0} bhliain",
- "two": "i gceann {0} bhliain",
- "few": "i gceann {0} bliana",
- "many": "i gceann {0} mbliana",
- "other": "i gceann {0} bliain"
- ]
- ],
- "quarter": [
- "previous": "an ráithe seo caite",
- "current": "an ráithe seo",
- "next": "an ráithe seo chugainn",
- "past": "{0} ráithe ó shin",
- "future": "i gceann {0} ráithe"
- ],
- "month": [
- "previous": "an mhí seo caite",
- "current": "an mhí seo",
- "next": "an mhí seo chugainn",
- "past": [
- "one": "{0} mhí ó shin",
- "two": "{0} mhí ó shin",
- "few": "{0} mhí ó shin",
- "other": "{0} mí ó shin"
- ],
- "future": [
- "one": "i gceann {0} mhí",
- "two": "i gceann {0} mhí",
- "few": "i gceann {0} mhí",
- "other": "i gceann {0} mí"
- ]
- ],
- "week": [
- "previous": "an tseachtain seo caite",
- "current": "an tseachtain seo",
- "next": "an tseachtain seo chugainn",
- "past": [
- "two": "{0} sheachtain ó shin",
- "few": "{0} seachtaine ó shin",
- "many": "{0} seachtaine ó shin",
- "other": "{0} seachtain ó shin"
- ],
- "future": [
- "two": "i gceann {0} sheachtain",
- "few": "i gceann {0} seachtaine",
- "many": "i gceann {0} seachtaine",
- "other": "i gceann {0} seachtain"
- ]
- ],
- "day": [
- "previous": "inné",
- "current": "inniu",
- "next": "amárach",
- "past": "{0} lá ó shin",
- "future": "i gceann {0} lá"
- ],
- "hour": [
- "current": "an uair seo",
- "past": [
- "few": "{0} huaire an chloig ó shin",
- "many": "{0} n-uaire an chloig ó shin",
- "other": "{0} uair an chloig ó shin"
- ],
- "future": [
- "few": "i gceann {0} huaire an chloig",
- "many": "i gceann {0} n-uaire an chloig",
- "other": "i gceann {0} uair an chloig"
- ]
- ],
- "minute": [
- "current": "an nóiméad seo",
- "past": "{0} nóiméad ó shin",
- "future": "i gceann {0} nóiméad"
- ],
- "second": [
- "current": "anois",
- "past": [
- "two": "{0} shoicind ó shin",
- "few": "{0} shoicind ó shin",
- "other": "{0} soicind ó shin"
- ],
- "future": [
- "two": "i gceann {0} shoicind",
- "few": "i gceann {0} shoicind",
- "other": "i gceann {0} soicind"
- ]
- ],
- "now": "anois"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gd.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gd.swift
deleted file mode 100644
index ef841ee0..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gd.swift
+++ /dev/null
@@ -1,340 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_gd: RelativeFormatterLang {
-
- /// Scottish Gaelic
- public static let identifier: String = "gd"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch Int(value) {
- case 1, 11: return .one
- case 2, 12: return .two
- case 3...10: return .few
- case 13...19: return .few
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "an-uiridh",
- "current": "am bliadhna",
- "next": "an ath-bhliadhna",
- "past": [
- "one": "o {0} bhlia.",
- "two": "o {0} bhlia.",
- "other": "o {0} blia."
- ],
- "future": [
- "one": "an {0} bhlia.",
- "two": "an {0} bhlia.",
- "other": "an {0} blia."
- ]
- ],
- "quarter": [
- "previous": "an cairt. sa chaidh",
- "current": "an cairt. seo",
- "next": "an ath-chairt.",
- "past": [
- "one": "o {0} chairt.",
- "two": "o {0} chairt.",
- "other": "o {0} cairt."
- ],
- "future": [
- "one": "an {0} chairt.",
- "two": "an {0} chairt.",
- "other": "an {0} cairt."
- ]
- ],
- "month": [
- "previous": "am mìos sa chaidh",
- "current": "am mìos seo",
- "next": "an ath-mhìos",
- "past": [
- "one": "o {0} mhìos.",
- "two": "o {0} mhìos.",
- "other": "o {0} mìos."
- ],
- "future": [
- "one": "an {0} mhìos.",
- "two": "an {0} mhìos.",
- "other": "an {0} mìos."
- ]
- ],
- "week": [
- "previous": "seachd. sa chaidh",
- "current": "an t-seachd. seo",
- "next": "an ath-sheachd.",
- "past": [
- "one": "o {0} sheachd.",
- "two": "o {0} sheachd.",
- "other": "o {0} seachd."
- ],
- "future": [
- "one": "an {0} sheachd.",
- "two": "an {0} sheachd.",
- "other": "an {0} seachd."
- ]
- ],
- "day": [
- "previous": "an-dè",
- "current": "an-diugh",
- "next": "a-màireach",
- "past": [
- "few": "o {0} là.",
- "other": "o {0} là"
- ],
- "future": [
- "few": "an {0} là.",
- "other": "an {0} là"
- ]
- ],
- "hour": [
- "current": "am broinn uair",
- "past": [
- "few": "o {0} uair.",
- "other": "o {0} uair"
- ],
- "future": [
- "few": "an {0} uair.",
- "other": "an {0} uair"
- ]
- ],
- "minute": [
- "current": "am broinn mion.",
- "past": [
- "one": "o {0} mhion.",
- "two": "o {0} mhion.",
- "other": "o {0} mion."
- ],
- "future": [
- "one": "an {0} mhion.",
- "two": "an {0} mhion.",
- "other": "an {0} mion."
- ]
- ],
- "second": [
- "current": "an-dràsta",
- "past": [
- "two": "o {0} dhiog",
- "few": "o {0} diog.",
- "other": "o {0} diog"
- ],
- "future": [
- "two": "an {0} dhiog",
- "few": "an {0} diog.",
- "other": "an {0} diog"
- ]
- ],
- "now": "an-dràsta"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "an-uir.",
- "current": "am bl.",
- "next": "an ath-bhl.",
- "past": [
- "one": "-{0} bhl.",
- "two": "-{0} bhl.",
- "other": "-{0} bl."
- ],
- "future": [
- "one": "+{0} bhl.",
- "two": "+{0} bhl.",
- "other": "+{0} bl."
- ]
- ],
- "quarter": [
- "previous": "c. ch.",
- "current": "an c. seo",
- "next": "ath-ch.",
- "past": "-{0} c.",
- "future": "+{0} c."
- ],
- "month": [
- "previous": "mì. ch.",
- "current": "am mì. seo",
- "next": "ath-mhì.",
- "past": [
- "one": "-{0} mhì.",
- "two": "-{0} mhì.",
- "other": "-{0} mì."
- ],
- "future": [
- "one": "+{0} mhì.",
- "two": "+{0} mhì.",
- "other": "+{0} mì."
- ]
- ],
- "week": [
- "previous": "sn. ch.",
- "current": "an t-sn. seo",
- "next": "ath-shn.",
- "past": "-{0} sn.",
- "future": "+{0} sn."
- ],
- "day": [
- "previous": "an-dè",
- "current": "an-diugh",
- "next": "a-màireach",
- "past": "-{0} là",
- "future": "+{0} là"
- ],
- "hour": [
- "current": "san uair",
- "past": "-{0} u.",
- "future": "+{0} u."
- ],
- "minute": [
- "current": "sa mhion.",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "second": [
- "current": "an-dràsta",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "now": "an-dràsta"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "an-uiridh",
- "current": "am bliadhna",
- "next": "an ath-bhliadhna",
- "past": [
- "one": "{0} bhliadhna air ais",
- "two": "{0} bhliadhna air ais",
- "few": "{0} bhliadhnaichean air ais",
- "other": "{0} bliadhna air ais"
- ],
- "future": [
- "one": "an ceann {0} bhliadhna",
- "two": "an ceann {0} bhliadhna",
- "few": "an ceann {0} bliadhnaichean",
- "other": "an ceann {0} bliadhna"
- ]
- ],
- "quarter": [
- "previous": "an cairteal seo chaidh",
- "current": "an cairteal seo",
- "next": "an ath-chairteal",
- "past": [
- "one": "o chionn {0} chairteil",
- "two": "o chionn {0} chairteil",
- "few": "o chionn {0} cairtealan",
- "other": "o chionn {0} cairteil"
- ],
- "future": [
- "one": "an ceann {0} chairteil",
- "two": "an ceann {0} chairteil",
- "few": "an ceann {0} cairtealan",
- "other": "an ceann {0} cairteil"
- ]
- ],
- "month": [
- "previous": "am mìos seo chaidh",
- "current": "am mìos seo",
- "next": "an ath-mhìos",
- "past": [
- "one": "{0} mhìos air ais",
- "two": "{0} mhìos air ais",
- "few": "{0} mìosan air ais",
- "other": "{0} mìos air ais"
- ],
- "future": [
- "one": "an ceann {0} mhìosa",
- "two": "an ceann {0} mhìosa",
- "few": "an ceann {0} mìosan",
- "other": "an ceann {0} mìosa"
- ]
- ],
- "week": [
- "previous": "an t-seachdain seo chaidh",
- "current": "an t-seachdain seo",
- "next": "an ath-sheachdain",
- "past": [
- "two": "{0} sheachdain air ais",
- "few": "{0} seachdainean air ais",
- "other": "{0} seachdain air ais"
- ],
- "future": [
- "two": "an ceann {0} sheachdain",
- "few": "an ceann {0} seachdainean",
- "other": "an ceann {0} seachdain"
- ]
- ],
- "day": [
- "previous": "an-dè",
- "current": "an-diugh",
- "next": "a-màireach",
- "past": [
- "few": "{0} làithean air ais",
- "other": "{0} latha air ais"
- ],
- "future": [
- "few": "an ceann {0} làithean",
- "other": "an ceann {0} latha"
- ]
- ],
- "hour": [
- "current": "am broinn uair a thìde",
- "past": [
- "few": "{0} uairean a thìde air ais",
- "other": "{0} uair a thìde air ais"
- ],
- "future": [
- "few": "an ceann {0} uairean a thìde",
- "other": "an ceann {0} uair a thìde"
- ]
- ],
- "minute": [
- "current": "am broinn mionaid",
- "past": [
- "one": "{0} mhionaid air ais",
- "two": "{0} mhionaid air ais",
- "few": "{0} mionaidean air ais",
- "other": "{0} mionaid air ais"
- ],
- "future": [
- "one": "an ceann {0} mhionaid",
- "two": "an ceann {0} mhionaid",
- "few": "an ceann {0} mionaidean",
- "other": "an ceann {0} mionaid"
- ]
- ],
- "second": [
- "current": "an-dràsta",
- "past": [
- "two": "{0} dhiog air ais",
- "few": "{0} diogan air ais",
- "other": "{0} diog air ais"
- ],
- "future": [
- "two": "an ceann {0} dhiog",
- "few": "an ceann {0} diogan",
- "other": "an ceann {0} diog"
- ]
- ],
- "now": "an-dràsta"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gl.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gl.swift
deleted file mode 100644
index 42a1183c..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gl.swift
+++ /dev/null
@@ -1,256 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_gl: RelativeFormatterLang {
-
- /// Galician
- public static let identifier: String = "gl"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ano pasado",
- "current": "este ano",
- "next": "seguinte ano",
- "past": [
- "one": "hai {0} ano",
- "other": "hai {0} anos"
- ],
- "future": [
- "one": "dentro de {0} ano",
- "other": "dentro de {0} anos"
- ]
- ],
- "quarter": [
- "previous": "trim. pasado",
- "current": "este trim.",
- "next": "trim. seguinte",
- "past": "hai {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "m. pasado",
- "current": "este m.",
- "next": "m. seguinte",
- "past": [
- "one": "hai {0} mes",
- "other": "hai {0} mes."
- ],
- "future": [
- "one": "dentro de {0} mes",
- "other": "dentro de {0} mes."
- ]
- ],
- "week": [
- "previous": "sem. pasada",
- "current": "esta sem.",
- "next": "sem. seguinte",
- "past": "hai {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "onte",
- "current": "hoxe",
- "next": "mañá",
- "past": [
- "one": "hai {0} día",
- "other": "hai {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "hai {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hai {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "agora",
- "past": "hai {0} s",
- "future": "dentro de {0} s"
- ],
- "now": "agora"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ano pasado",
- "current": "este ano",
- "next": "seguinte ano",
- "past": "hai {0} a.",
- "future": "en {0} a."
- ],
- "quarter": [
- "previous": "trim. pasado",
- "current": "este trim.",
- "next": "trim. seguinte",
- "past": "hai {0} trim.",
- "future": "en {0} trim."
- ],
- "month": [
- "previous": "m. pasado",
- "current": "este m.",
- "next": "m. seguinte",
- "past": "hai {0} m.",
- "future": "en {0} m."
- ],
- "week": [
- "previous": "sem. pasada",
- "current": "esta sem.",
- "next": "sem. seguinte",
- "past": "hai {0} sem.",
- "future": "en {0} sem."
- ],
- "day": [
- "previous": "onte",
- "current": "hoxe",
- "next": "mañá",
- "past": "hai {0} d.",
- "future": "en {0} d."
- ],
- "hour": [
- "current": "esta hora",
- "past": "hai {0} h",
- "future": "en {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "hai {0} min",
- "future": "en {0} min"
- ],
- "second": [
- "current": "agora",
- "past": "hai {0} s",
- "future": "en {0} s"
- ],
- "now": "agora"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "o ano pasado",
- "current": "este ano",
- "next": "o próximo ano",
- "past": [
- "one": "hai {0} ano",
- "other": "hai {0} anos"
- ],
- "future": [
- "one": "dentro de {0} ano",
- "other": "dentro de {0} anos"
- ]
- ],
- "quarter": [
- "previous": "o trimestre pasado",
- "current": "este trimestre",
- "next": "o próximo trimestre",
- "past": [
- "one": "hai {0} trimestre",
- "other": "hai {0} trimestres"
- ],
- "future": [
- "one": "dentro de {0} trimestre",
- "other": "dentro de {0} trimestres"
- ]
- ],
- "month": [
- "previous": "o mes pasado",
- "current": "este mes",
- "next": "o próximo mes",
- "past": [
- "one": "hai {0} mes",
- "other": "hai {0} meses"
- ],
- "future": [
- "one": "dentro de {0} mes",
- "other": "dentro de {0} meses"
- ]
- ],
- "week": [
- "previous": "a semana pasada",
- "current": "esta semana",
- "next": "a próxima semana",
- "past": [
- "one": "hai {0} semana",
- "other": "hai {0} semanas"
- ],
- "future": [
- "one": "dentro de {0} semana",
- "other": "dentro de {0} semanas"
- ]
- ],
- "day": [
- "previous": "onte",
- "current": "hoxe",
- "next": "mañá",
- "past": [
- "one": "hai {0} día",
- "other": "hai {0} días"
- ],
- "future": [
- "one": "dentro de {0} día",
- "other": "dentro de {0} días"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": [
- "one": "hai {0} hora",
- "other": "hai {0} horas"
- ],
- "future": [
- "one": "dentro de {0} hora",
- "other": "dentro de {0} horas"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": [
- "one": "hai {0} minuto",
- "other": "hai {0} minutos"
- ],
- "future": [
- "one": "dentro de {0} minuto",
- "other": "dentro de {0} minutos"
- ]
- ],
- "second": [
- "current": "agora",
- "past": [
- "one": "hai {0} segundo",
- "other": "hai {0} segundos"
- ],
- "future": [
- "one": "dentro de {0} segundo",
- "other": "dentro de {0} segundos"
- ]
- ],
- "now": "agora"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gu.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gu.swift
deleted file mode 100644
index b6ed9a29..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_gu.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_gu: RelativeFormatterLang {
-
- /// Gujarati
- public static let identifier: String = "gu"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ગયા વર્ષે",
- "current": "આ વર્ષે",
- "next": "આવતા વર્ષે",
- "past": "{0} વર્ષ પહેલાં",
- "future": "{0} વર્ષમાં"
- ],
- "quarter": [
- "previous": "છેલ્લું ત્રિમાસિક",
- "current": "આ ત્રિમાસિક",
- "next": "પછીનું ત્રિમાસિક",
- "past": "{0} ત્રિમાસિક પહેલાં",
- "future": "{0} ત્રિમાસિકમાં"
- ],
- "month": [
- "previous": "ગયા મહિને",
- "current": "આ મહિને",
- "next": "આવતા મહિને",
- "past": "{0} મહિના પહેલાં",
- "future": "{0} મહિનામાં"
- ],
- "week": [
- "previous": "ગયા અઠવાડિયે",
- "current": "આ અઠવાડિયે",
- "next": "આવતા અઠવાડિયે",
- "past": "{0} અઠ. પહેલાં",
- "future": "{0} અઠ. માં"
- ],
- "day": [
- "previous": "ગઈકાલે",
- "current": "આજે",
- "next": "આવતીકાલે",
- "past": "{0} દિવસ પહેલાં",
- "future": "{0} દિવસમાં"
- ],
- "hour": [
- "current": "આ કલાક",
- "past": "{0} કલાક પહેલાં",
- "future": "{0} કલાકમાં"
- ],
- "minute": [
- "current": "આ મિનિટ",
- "past": "{0} મિનિટ પહેલાં",
- "future": "{0} મિનિટમાં"
- ],
- "second": [
- "current": "હમણાં",
- "past": "{0} સેકંડ પહેલાં",
- "future": "{0} સેકંડમાં"
- ],
- "now": "હમણાં"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ગયા વર્ષે",
- "current": "આ વર્ષે",
- "next": "આવતા વર્ષે",
- "past": "{0} વર્ષ પહેલાં",
- "future": "{0} વર્ષમાં"
- ],
- "quarter": [
- "previous": "છેલ્લું ત્રિમાસિક",
- "current": "આ ત્રિમાસિક",
- "next": "પછીનું ત્રિમાસિક",
- "past": "{0} ત્રિમાસિક પહેલાં",
- "future": "{0} ત્રિમાસિકમાં"
- ],
- "month": [
- "previous": "ગયા મહિને",
- "current": "આ મહિને",
- "next": "આવતા મહિને",
- "past": "{0} મહિના પહેલાં",
- "future": "{0} મહિનામાં"
- ],
- "week": [
- "previous": "ગયા અઠવાડિયે",
- "current": "આ અઠવાડિયે",
- "next": "આવતા અઠવાડિયે",
- "past": "{0} અઠ. પહેલાં",
- "future": "{0} અઠ. માં"
- ],
- "day": [
- "previous": "ગઈકાલે",
- "current": "આજે",
- "next": "આવતીકાલે",
- "past": "{0} દિવસ પહેલાં",
- "future": "{0} દિવસમાં"
- ],
- "hour": [
- "current": "આ કલાક",
- "past": "{0} કલાક પહેલાં",
- "future": "{0} કલાકમાં"
- ],
- "minute": [
- "current": "આ મિનિટ",
- "past": "{0} મિનિટ પહેલાં",
- "future": "{0} મિનિટમાં"
- ],
- "second": [
- "current": "હમણાં",
- "past": "{0} સેકંડ પહેલાં",
- "future": "{0} સેકંડમાં"
- ],
- "now": "હમણાં"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ગયા વર્ષે",
- "current": "આ વર્ષે",
- "next": "આવતા વર્ષે",
- "past": "{0} વર્ષ પહેલાં",
- "future": "{0} વર્ષમાં"
- ],
- "quarter": [
- "previous": "છેલ્લું ત્રિમાસિક",
- "current": "આ ત્રિમાસિક",
- "next": "પછીનું ત્રિમાસિક",
- "past": "{0} ત્રિમાસિક પહેલાં",
- "future": "{0} ત્રિમાસિકમાં"
- ],
- "month": [
- "previous": "ગયા મહિને",
- "current": "આ મહિને",
- "next": "આવતા મહિને",
- "past": "{0} મહિના પહેલાં",
- "future": "{0} મહિનામાં"
- ],
- "week": [
- "previous": "ગયા અઠવાડિયે",
- "current": "આ અઠવાડિયે",
- "next": "આવતા અઠવાડિયે",
- "past": "{0} અઠવાડિયા પહેલાં",
- "future": "{0} અઠવાડિયામાં"
- ],
- "day": [
- "previous": "ગઈકાલે",
- "current": "આજે",
- "next": "આવતીકાલે",
- "past": "{0} દિવસ પહેલાં",
- "future": "{0} દિવસમાં"
- ],
- "hour": [
- "current": "આ કલાક",
- "past": "{0} કલાક પહેલાં",
- "future": "{0} કલાકમાં"
- ],
- "minute": [
- "current": "આ મિનિટ",
- "past": "{0} મિનિટ પહેલાં",
- "future": "{0} મિનિટમાં"
- ],
- "second": [
- "current": "હમણાં",
- "past": "{0} સેકંડ પહેલાં",
- "future": "{0} સેકંડમાં"
- ],
- "now": "હમણાં"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_he.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_he.swift
deleted file mode 100644
index d1447b7e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_he.swift
+++ /dev/null
@@ -1,403 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_he: RelativeFormatterLang {
-
- /// Hebrew
- public static let identifier: String = "he"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- switch value {
- case 1:
- return .one
- case 2:
- return .two
- case 3...10:
- break
- default:
- switch mod10 {
- case 0:
- return .many
- default:
- break
- }
- }
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "השנה שעברה",
- "current": "השנה",
- "next": "השנה הבאה",
- "past": [
- "one": "לפני שנה",
- "two": "לפני שנתיים",
- "many": "לפני {0} שנה",
- "other": "לפני {0} שנים"
- ],
- "future": [
- "one": "בעוד שנה",
- "two": "בעוד שנתיים",
- "many": "בעוד {0} שנה",
- "other": "בעוד {0} שנים"
- ]
- ],
- "quarter": [
- "previous": "הרבעון הקודם",
- "current": "רבעון זה",
- "next": "הרבעון הבא",
- "past": [
- "one": "ברבע׳ הקודם",
- "two": "לפני שני רבע׳",
- "other": "לפני {0} רבע׳"
- ],
- "future": [
- "one": "ברבע׳ הבא",
- "two": "בעוד שני רבע׳",
- "other": "בעוד {0} רבע׳"
- ]
- ],
- "month": [
- "previous": "החודש שעבר",
- "current": "החודש",
- "next": "החודש הבא",
- "past": [
- "one": "לפני חודש",
- "two": "לפני חודשיים",
- "other": "לפני {0} חודשים"
- ],
- "future": [
- "one": "בעוד חודש",
- "two": "בעוד חודשיים",
- "other": "בעוד {0} חודשים"
- ]
- ],
- "week": [
- "previous": "השבוע שעבר",
- "current": "השבוע",
- "next": "השבוע הבא",
- "past": [
- "one": "לפני שב׳",
- "two": "לפני שבועיים",
- "other": "לפני {0} שב׳"
- ],
- "future": [
- "one": "בעוד שב׳",
- "two": "בעוד שבועיים",
- "other": "בעוד {0} שב׳"
- ]
- ],
- "day": [
- "previous": "אתמול",
- "current": "היום",
- "next": "מחר",
- "past": [
- "one": "אתמול",
- "two": "לפני יומיים",
- "other": "לפני {0} ימים"
- ],
- "future": [
- "one": "מחר",
- "two": "בעוד יומיים",
- "other": "בעוד {0} ימים"
- ]
- ],
- "hour": [
- "current": "בשעה זו",
- "past": [
- "one": "לפני שעה",
- "two": "לפני שעתיים",
- "other": "לפני {0} שע׳"
- ],
- "future": [
- "one": "בעוד שעה",
- "two": "בעוד שעתיים",
- "other": "בעוד {0} שע׳"
- ]
- ],
- "minute": [
- "current": "בדקה זו",
- "past": [
- "one": "לפני דקה",
- "other": "לפני {0} דק׳"
- ],
- "future": [
- "one": "בעוד דקה",
- "two": "בעוד שתי דק׳",
- "other": "בעוד {0} דק׳"
- ]
- ],
- "second": [
- "current": "עכשיו",
- "past": [
- "one": "לפני שנ׳",
- "two": "לפני שתי שנ׳",
- "other": "לפני {0} שנ׳"
- ],
- "future": [
- "one": "בעוד שנ׳",
- "two": "בעוד שתי שנ׳",
- "other": "בעוד {0} שנ׳"
- ]
- ],
- "now": "עכשיו"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "השנה שעברה",
- "current": "השנה",
- "next": "השנה הבאה",
- "past": [
- "one": "לפני שנה",
- "two": "לפני שנתיים",
- "many": "לפני {0} שנה",
- "other": "לפני {0} שנים"
- ],
- "future": [
- "one": "בעוד שנה",
- "two": "בעוד שנתיים",
- "many": "בעוד {0} שנה",
- "other": "בעוד {0} שנים"
- ]
- ],
- "quarter": [
- "previous": "הרבעון הקודם",
- "current": "רבעון זה",
- "next": "הרבעון הבא",
- "past": [
- "one": "ברבע׳ הקודם",
- "two": "לפני שני רבע׳",
- "other": "לפני {0} רבע׳"
- ],
- "future": [
- "one": "ברבע׳ הבא",
- "two": "בעוד שני רבע׳",
- "other": "בעוד {0} רבע׳"
- ]
- ],
- "month": [
- "previous": "החודש שעבר",
- "current": "החודש",
- "next": "החודש הבא",
- "past": [
- "one": "לפני חו׳",
- "two": "לפני חודשיים",
- "other": "לפני {0} חו׳"
- ],
- "future": [
- "one": "בעוד חו׳",
- "two": "בעוד חודשיים",
- "other": "בעוד {0} חו׳"
- ]
- ],
- "week": [
- "previous": "השבוע שעבר",
- "current": "השבוע",
- "next": "השבוע הבא",
- "past": [
- "one": "לפני שבוע",
- "two": "לפני שבועיים",
- "other": "לפני {0} שב׳"
- ],
- "future": [
- "one": "בעוד שב׳",
- "two": "בעוד שבועיים",
- "other": "בעוד {0} שב׳"
- ]
- ],
- "day": [
- "previous": "אתמול",
- "current": "היום",
- "next": "מחר",
- "past": [
- "one": "אתמול",
- "two": "לפני יומיים",
- "other": "לפני {0} ימים"
- ],
- "future": [
- "one": "מחר",
- "two": "בעוד יומיים",
- "other": "בעוד {0} ימים"
- ]
- ],
- "hour": [
- "current": "בשעה זו",
- "past": [
- "one": "לפני שעה",
- "two": "לפני שעתיים",
- "other": "לפני {0} שע׳"
- ],
- "future": [
- "one": "בעוד שעה",
- "two": "בעוד שעתיים",
- "other": "בעוד {0} שע׳"
- ]
- ],
- "minute": [
- "current": "בדקה זו",
- "past": [
- "one": "לפני דקה",
- "two": "לפני שתי דק׳",
- "other": "לפני {0} דק׳"
- ],
- "future": [
- "one": "בעוד דקה",
- "two": "בעוד שתי דק׳",
- "other": "בעוד {0} דק׳"
- ]
- ],
- "second": [
- "current": "עכשיו",
- "past": [
- "one": "לפני שנ׳",
- "two": "לפני שתי שנ׳",
- "other": "לפני {0} שנ׳"
- ],
- "future": [
- "one": "בעוד שנ׳",
- "two": "בעוד שתי שנ׳",
- "other": "בעוד {0} שנ׳"
- ]
- ],
- "now": "עכשיו"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "השנה שעברה",
- "current": "השנה",
- "next": "השנה הבאה",
- "past": [
- "one": "לפני שנה",
- "two": "לפני שנתיים",
- "many": "לפני {0} שנה",
- "other": "לפני {0} שנים"
- ],
- "future": [
- "one": "בעוד שנה",
- "two": "בעוד שנתיים",
- "many": "בעוד {0} שנה",
- "other": "בעוד {0} שנים"
- ]
- ],
- "quarter": [
- "previous": "הרבעון הקודם",
- "current": "רבעון זה",
- "next": "הרבעון הבא",
- "past": [
- "one": "ברבעון הקודם",
- "two": "לפני שני רבעונים",
- "other": "לפני {0} רבעונים"
- ],
- "future": [
- "one": "ברבעון הבא",
- "two": "בעוד שני רבעונים",
- "other": "בעוד {0} רבעונים"
- ]
- ],
- "month": [
- "previous": "החודש שעבר",
- "current": "החודש",
- "next": "החודש הבא",
- "past": [
- "one": "לפני חודש",
- "two": "לפני חודשיים",
- "other": "לפני {0} חודשים"
- ],
- "future": [
- "one": "בעוד חודש",
- "two": "בעוד חודשיים",
- "other": "בעוד {0} חודשים"
- ]
- ],
- "week": [
- "previous": "השבוע שעבר",
- "current": "השבוע",
- "next": "השבוע הבא",
- "past": [
- "one": "לפני שבוע",
- "two": "לפני שבועיים",
- "other": "לפני {0} שבועות"
- ],
- "future": [
- "one": "בעוד שבוע",
- "two": "בעוד שבועיים",
- "other": "בעוד {0} שבועות"
- ]
- ],
- "day": [
- "previous": "אתמול",
- "current": "היום",
- "next": "מחר",
- "past": [
- "one": "לפני יום {0}",
- "two": "לפני יומיים",
- "other": "לפני {0} ימים"
- ],
- "future": [
- "one": "בעוד יום {0}",
- "two": "בעוד יומיים",
- "other": "בעוד {0} ימים"
- ]
- ],
- "hour": [
- "current": "בשעה זו",
- "past": [
- "one": "לפני שעה",
- "two": "לפני שעתיים",
- "other": "לפני {0} שעות"
- ],
- "future": [
- "one": "בעוד שעה",
- "two": "בעוד שעתיים",
- "other": "בעוד {0} שעות"
- ]
- ],
- "minute": [
- "current": "בדקה זו",
- "past": [
- "one": "לפני דקה",
- "two": "לפני שתי דקות",
- "other": "לפני {0} דקות"
- ],
- "future": [
- "one": "בעוד דקה",
- "two": "בעוד שתי דקות",
- "other": "בעוד {0} דקות"
- ]
- ],
- "second": [
- "current": "עכשיו",
- "past": [
- "one": "לפני שנייה",
- "two": "לפני שתי שניות",
- "other": "לפני {0} שניות"
- ],
- "future": [
- "one": "בעוד שנייה",
- "two": "בעוד שתי שניות",
- "other": "בעוד {0} שניות"
- ]
- ],
- "now": "עכשיו"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hi.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hi.swift
deleted file mode 100644
index 42a5350f..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hi.swift
+++ /dev/null
@@ -1,199 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_hi: RelativeFormatterLang {
-
- /// Hindi
- public static let identifier: String = "hi"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "पिछला वर्ष",
- "current": "इस वर्ष",
- "next": "अगला वर्ष",
- "past": "{0} वर्ष पहले",
- "future": "{0} वर्ष में"
- ],
- "quarter": [
- "previous": "अंतिम तिमाही",
- "current": "इस तिमाही",
- "next": "अगली तिमाही",
- "past": [
- "one": "{0} तिमाही पहले",
- "other": "{0} तिमाहियों पहले"
- ],
- "future": [
- "one": "{0} तिमाही में",
- "other": "{0} तिमाहियों में"
- ]
- ],
- "month": [
- "previous": "पिछला माह",
- "current": "इस माह",
- "next": "अगला माह",
- "past": "{0} माह पहले",
- "future": "{0} माह में"
- ],
- "week": [
- "previous": "पिछला सप्ताह",
- "current": "इस सप्ताह",
- "next": "अगला सप्ताह",
- "past": "{0} सप्ताह पहले",
- "future": "{0} सप्ताह में"
- ],
- "day": [
- "previous": "कल",
- "current": "आज",
- "next": "कल",
- "past": "{0} दिन पहले",
- "future": "{0} दिन में"
- ],
- "hour": [
- "current": "यह घंटा",
- "past": "{0} घं॰ पहले",
- "future": "{0} घं॰ में"
- ],
- "minute": [
- "current": "यह मिनट",
- "past": "{0} मि॰ पहले",
- "future": "{0} मि॰ में"
- ],
- "second": [
- "current": "अब",
- "past": "{0} से॰ पहले",
- "future": "{0} से॰ में"
- ],
- "now": "अब"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "पिछला वर्ष",
- "current": "इस वर्ष",
- "next": "अगला वर्ष",
- "past": "{0} वर्ष पहले",
- "future": "{0} वर्ष में"
- ],
- "quarter": [
- "previous": "अंतिम तिमाही",
- "current": "इस तिमाही",
- "next": "अगली तिमाही",
- "past": "{0} ति॰ पहले",
- "future": "{0} ति॰ में"
- ],
- "month": [
- "previous": "पिछला माह",
- "current": "इस माह",
- "next": "अगला माह",
- "past": "{0} माह पहले",
- "future": "{0} माह में"
- ],
- "week": [
- "previous": "पिछला सप्ताह",
- "current": "इस सप्ताह",
- "next": "अगला सप्ताह",
- "past": "{0} सप्ताह पहले",
- "future": "{0} सप्ताह में"
- ],
- "day": [
- "previous": "कल",
- "current": "आज",
- "next": "कल",
- "past": "{0} दिन पहले",
- "future": "{0} दिन में"
- ],
- "hour": [
- "current": "यह घंटा",
- "past": "{0} घं॰ पहले",
- "future": "{0} घं॰ में"
- ],
- "minute": [
- "current": "यह मिनट",
- "past": "{0} मि॰ पहले",
- "future": "{0} मि॰ में"
- ],
- "second": [
- "current": "अब",
- "past": "{0} से॰ पहले",
- "future": "{0} से॰ में"
- ],
- "now": "अब"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "पिछला वर्ष",
- "current": "इस वर्ष",
- "next": "अगला वर्ष",
- "past": "{0} वर्ष पहले",
- "future": "{0} वर्ष में"
- ],
- "quarter": [
- "previous": "अंतिम तिमाही",
- "current": "इस तिमाही",
- "next": "अगली तिमाही",
- "past": "{0} तिमाही पहले",
- "future": [
- "one": "{0} तिमाही में",
- "other": "{0} तिमाहियों में"
- ]
- ],
- "month": [
- "previous": "पिछला माह",
- "current": "इस माह",
- "next": "अगला माह",
- "past": "{0} माह पहले",
- "future": "{0} माह में"
- ],
- "week": [
- "previous": "पिछला सप्ताह",
- "current": "इस सप्ताह",
- "next": "अगला सप्ताह",
- "past": "{0} सप्ताह पहले",
- "future": "{0} सप्ताह में"
- ],
- "day": [
- "previous": "कल",
- "current": "आज",
- "next": "कल",
- "past": "{0} दिन पहले",
- "future": "{0} दिन में"
- ],
- "hour": [
- "current": "यह घंटा",
- "past": "{0} घंटे पहले",
- "future": "{0} घंटे में"
- ],
- "minute": [
- "current": "यह मिनट",
- "past": "{0} मिनट पहले",
- "future": "{0} मिनट में"
- ],
- "second": [
- "current": "अब",
- "past": "{0} सेकंड पहले",
- "future": "{0} सेकंड में"
- ],
- "now": "अब"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hr.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hr.swift
deleted file mode 100644
index 58ba9264..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hr.swift
+++ /dev/null
@@ -1,278 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_hr: RelativeFormatterLang {
-
- /// Croatian
- public static let identifier: String = "hr"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod10 {
- case 1:
- switch mod100 {
- case 11:
- break
- default:
- return .one
- }
- case 2, 3, 4:
- switch mod100 {
- case 12, 13, 14:
- break
- default:
- return .few
- }
- default:
- break
- }
-
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "prošle god.",
- "current": "ove god.",
- "next": "sljedeće god.",
- "past": "prije {0} g.",
- "future": "za {0} g."
- ],
- "quarter": [
- "previous": "prošli kv.",
- "current": "ovaj kv.",
- "next": "sljedeći kv.",
- "past": "prije {0} kv.",
- "future": "za {0} kv."
- ],
- "month": [
- "previous": "prošli mj.",
- "current": "ovaj mj.",
- "next": "sljedeći mj.",
- "past": "prije {0} mj.",
- "future": "za {0} mj."
- ],
- "week": [
- "previous": "prošli tj.",
- "current": "ovaj tj.",
- "next": "sljedeći tj.",
- "past": "prije {0} tj.",
- "future": "za {0} tj."
- ],
- "day": [
- "previous": "jučer",
- "current": "danas",
- "next": "sutra",
- "past": [
- "one": "prije {0} dan",
- "other": "prije {0} dana"
- ],
- "future": [
- "one": "za {0} dan",
- "other": "za {0} dana"
- ]
- ],
- "hour": [
- "current": "ovaj sat",
- "past": "prije {0} h",
- "future": "za {0} h"
- ],
- "minute": [
- "current": "ova minuta",
- "past": "prije {0} min",
- "future": "za {0} min"
- ],
- "second": [
- "current": "sad",
- "past": "prije {0} s",
- "future": "za {0} s"
- ],
- "now": "sad"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "prošle g.",
- "current": "ove g.",
- "next": "sljedeće g.",
- "past": "prije {0} g.",
- "future": "za {0} g."
- ],
- "quarter": [
- "previous": "prošli kv.",
- "current": "ovaj kv.",
- "next": "sljedeći kv.",
- "past": "prije {0} kv.",
- "future": "za {0} kv."
- ],
- "month": [
- "previous": "prošli mj.",
- "current": "ovaj mj.",
- "next": "sljedeći mj.",
- "past": "prije {0} mj.",
- "future": "za {0} mj."
- ],
- "week": [
- "previous": "prošli tj.",
- "current": "ovaj tj.",
- "next": "sljedeći tj.",
- "past": "prije {0} tj.",
- "future": "za {0} tj."
- ],
- "day": [
- "previous": "jučer",
- "current": "danas",
- "next": "sutra",
- "past": "prije {0} d",
- "future": "za {0} d"
- ],
- "hour": [
- "current": "ovaj sat",
- "past": "prije {0} h",
- "future": "za {0} h"
- ],
- "minute": [
- "current": "ova minuta",
- "past": "prije {0} min",
- "future": "za {0} min"
- ],
- "second": [
- "current": "sad",
- "past": "prije {0} s",
- "future": "za {0} s"
- ],
- "now": "sad"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "prošle godine",
- "current": "ove godine",
- "next": "sljedeće godine",
- "past": [
- "one": "prije {0} godinu",
- "few": "prije {0} godine",
- "other": "prije {0} godina"
- ],
- "future": [
- "one": "za {0} godinu",
- "few": "za {0} godine",
- "other": "za {0} godina"
- ]
- ],
- "quarter": [
- "previous": "prošli kvartal",
- "current": "ovaj kvartal",
- "next": "sljedeći kvartal",
- "past": [
- "one": "prije {0} kvartal",
- "other": "prije {0} kvartala"
- ],
- "future": [
- "one": "za {0} kvartal",
- "other": "za {0} kvartala"
- ]
- ],
- "month": [
- "previous": "prošli mjesec",
- "current": "ovaj mjesec",
- "next": "sljedeći mjesec",
- "past": [
- "one": "prije {0} mjesec",
- "few": "prije {0} mjeseca",
- "other": "prije {0} mjeseci"
- ],
- "future": [
- "one": "za {0} mjesec",
- "few": "za {0} mjeseca",
- "other": "za {0} mjeseci"
- ]
- ],
- "week": [
- "previous": "prošli tjedan",
- "current": "ovaj tjedan",
- "next": "sljedeći tjedan",
- "past": [
- "one": "prije {0} tjedan",
- "few": "prije {0} tjedna",
- "other": "prije {0} tjedana"
- ],
- "future": [
- "one": "za {0} tjedan",
- "few": "za {0} tjedna",
- "other": "za {0} tjedana"
- ]
- ],
- "day": [
- "previous": "jučer",
- "current": "danas",
- "next": "sutra",
- "past": [
- "one": "prije {0} dan",
- "other": "prije {0} dana"
- ],
- "future": [
- "one": "za {0} dan",
- "other": "za {0} dana"
- ]
- ],
- "hour": [
- "current": "ovaj sat",
- "past": [
- "one": "prije {0} sat",
- "few": "prije {0} sata",
- "other": "prije {0} sati"
- ],
- "future": [
- "one": "za {0} sat",
- "few": "za {0} sata",
- "other": "za {0} sati"
- ]
- ],
- "minute": [
- "current": "ova minuta",
- "past": [
- "one": "prije {0} minutu",
- "few": "prije {0} minute",
- "other": "prije {0} minuta"
- ],
- "future": [
- "one": "za {0} minutu",
- "few": "za {0} minute",
- "other": "za {0} minuta"
- ]
- ],
- "second": [
- "current": "sad",
- "past": [
- "one": "prije {0} sekundu",
- "few": "prije {0} sekunde",
- "other": "prije {0} sekundi"
- ],
- "future": [
- "one": "za {0} sekundu",
- "few": "za {0} sekunde",
- "other": "za {0} sekundi"
- ]
- ],
- "now": "sad"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hsb.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hsb.swift
deleted file mode 100644
index d5c6b23d..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hsb.swift
+++ /dev/null
@@ -1,288 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_hsb: RelativeFormatterLang {
-
- /// Upper Sorbian
- public static let identifier: String = "hsb"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod10 {
- case 1:
- switch mod100 {
- case 11:
- break
- default:
- return .one
- }
- case 2, 3, 4:
- switch mod100 {
- case 12, 13, 14:
- break
- default:
- return .few
- }
- default:
- break
- }
-
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "loni",
- "current": "lětsa",
- "next": "klětu",
- "past": "před {0} l.",
- "future": "za {0} l."
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "před {0} kwart.",
- "future": "za {0} kwart."
- ],
- "month": [
- "previous": "zašły měsac",
- "current": "tutón měsac",
- "next": "přichodny měsac",
- "past": "před {0} měs.",
- "future": "za {0} měs."
- ],
- "week": [
- "previous": "zašły tydźeń",
- "current": "tutón tydźeń",
- "next": "přichodny tydźeń",
- "past": "před {0} tydź.",
- "future": "za {0} tydź."
- ],
- "day": [
- "previous": "wčera",
- "current": "dźensa",
- "next": "jutře",
- "past": "před {0} dnj.",
- "future": [
- "one": "za {0} dźeń",
- "few": "za {0} dny",
- "other": "za {0} dnj."
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "před {0} hodź.",
- "future": "za {0} hodź."
- ],
- "minute": [
- "current": "this minute",
- "past": "před {0} min.",
- "future": "za {0} min."
- ],
- "second": [
- "current": "now",
- "past": "před {0} sek.",
- "future": "za {0} sek."
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "loni",
- "current": "lětsa",
- "next": "klětu",
- "past": "před {0} l.",
- "future": "za {0} l."
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "před {0} kw.",
- "future": "za {0} kw."
- ],
- "month": [
- "previous": "zašły měsac",
- "current": "tutón měsac",
- "next": "přichodny měsac",
- "past": "před {0} měs.",
- "future": "za {0} měs."
- ],
- "week": [
- "previous": "zašły tydźeń",
- "current": "tutón tydźeń",
- "next": "přichodny tydźeń",
- "past": "před {0} tydź.",
- "future": "za {0} tydź."
- ],
- "day": [
- "previous": "wčera",
- "current": "dźensa",
- "next": "jutře",
- "past": "před {0} d",
- "future": "za {0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "před {0} h",
- "future": "za {0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "před {0} m",
- "future": "za {0} m"
- ],
- "second": [
- "current": "now",
- "past": "před {0} s",
- "future": "za {0} s"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "loni",
- "current": "lětsa",
- "next": "klětu",
- "past": [
- "one": "před {0} lětom",
- "two": "před {0} lětomaj",
- "other": "před {0} lětami"
- ],
- "future": [
- "one": "za {0} lěto",
- "two": "za {0} lěće",
- "few": "za {0} lěta",
- "other": "za {0} lět"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": [
- "one": "před {0} kwartalom",
- "two": "před {0} kwartalomaj",
- "other": "před {0} kwartalemi"
- ],
- "future": [
- "one": "za {0} kwartal",
- "two": "za {0} kwartalej",
- "few": "za {0} kwartale",
- "other": "za {0} kwartalow"
- ]
- ],
- "month": [
- "previous": "zašły měsac",
- "current": "tutón měsac",
- "next": "přichodny měsac",
- "past": [
- "one": "před {0} měsacom",
- "two": "před {0} měsacomaj",
- "other": "před {0} měsacami"
- ],
- "future": [
- "one": "za {0} měsac",
- "two": "za {0} měsacaj",
- "few": "za {0} měsacy",
- "other": "za {0} měsacow"
- ]
- ],
- "week": [
- "previous": "zašły tydźeń",
- "current": "tutón tydźeń",
- "next": "přichodny tydźeń",
- "past": [
- "one": "před {0} tydźenjom",
- "two": "před {0} tydźenjomaj",
- "other": "před {0} tydźenjemi"
- ],
- "future": [
- "one": "za {0} tydźeń",
- "two": "za {0} tydźenjej",
- "few": "za {0} tydźenje",
- "other": "za {0} tydźenjow"
- ]
- ],
- "day": [
- "previous": "wčera",
- "current": "dźensa",
- "next": "jutře",
- "past": [
- "one": "před {0} dnjom",
- "two": "před {0} dnjomaj",
- "other": "před {0} dnjemi"
- ],
- "future": [
- "one": "za {0} dźeń",
- "two": "za {0} dnjej",
- "few": "za {0} dny",
- "other": "za {0} dnjow"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "před {0} hodźinu",
- "two": "před {0} hodźinomaj",
- "other": "před {0} hodźinami"
- ],
- "future": [
- "one": "za {0} hodźinu",
- "two": "za {0} hodźinje",
- "few": "za {0} hodźiny",
- "other": "za {0} hodźin"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "před {0} minutu",
- "two": "před {0} minutomaj",
- "other": "před {0} minutami"
- ],
- "future": [
- "one": "za {0} minutu",
- "two": "za {0} minuće",
- "few": "za {0} minuty",
- "other": "za {0} minutow"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "před {0} sekundu",
- "two": "před {0} sekundomaj",
- "other": "před {0} sekundami"
- ],
- "future": [
- "one": "za {0} sekundu",
- "two": "za {0} sekundźe",
- "few": "za {0} sekundy",
- "other": "za {0} sekundow"
- ]
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hu.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hu.swift
deleted file mode 100644
index 3c0a166a..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hu.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_hu: RelativeFormatterLang {
-
- /// Hungarian
- public static let identifier: String = "hu"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "előző év",
- "current": "ez az év",
- "next": "következő év",
- "past": "{0} évvel ezelőtt",
- "future": "{0} év múlva"
- ],
- "quarter": [
- "previous": "előző negyedév",
- "current": "ez a negyedév",
- "next": "következő negyedév",
- "past": "{0} negyedévvel ezelőtt",
- "future": "{0} negyedév múlva"
- ],
- "month": [
- "previous": "előző hónap",
- "current": "ez a hónap",
- "next": "következő hónap",
- "past": "{0} hónappal ezelőtt",
- "future": "{0} hónap múlva"
- ],
- "week": [
- "previous": "előző hét",
- "current": "ez a hét",
- "next": "következő hét",
- "past": "{0} héttel ezelőtt",
- "future": "{0} hét múlva"
- ],
- "day": [
- "previous": "tegnap",
- "current": "ma",
- "next": "holnap",
- "past": "{0} napja",
- "future": "{0} nap múlva"
- ],
- "hour": [
- "current": "ebben az órában",
- "past": "{0} órával ezelőtt",
- "future": "{0} óra múlva"
- ],
- "minute": [
- "current": "ebben a percben",
- "past": "{0} perccel ezelőtt",
- "future": "{0} perc múlva"
- ],
- "second": [
- "current": "most",
- "past": "{0} másodperccel ezelőtt",
- "future": "{0} másodperc múlva"
- ],
- "now": "most"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "előző év",
- "current": "ez az év",
- "next": "következő év",
- "past": "{0} évvel ezelőtt",
- "future": "{0} év múlva"
- ],
- "quarter": [
- "previous": "előző negyedév",
- "current": "ez a negyedév",
- "next": "következő negyedév",
- "past": "{0} negyedévvel ezelőtt",
- "future": "{0} n.év múlva"
- ],
- "month": [
- "previous": "előző hónap",
- "current": "ez a hónap",
- "next": "következő hónap",
- "past": "{0} hónappal ezelőtt",
- "future": "{0} hónap múlva"
- ],
- "week": [
- "previous": "előző hét",
- "current": "ez a hét",
- "next": "következő hét",
- "past": "{0} héttel ezelőtt",
- "future": "{0} hét múlva"
- ],
- "day": [
- "previous": "tegnap",
- "current": "ma",
- "next": "holnap",
- "past": "{0} napja",
- "future": "{0} nap múlva"
- ],
- "hour": [
- "current": "ebben az órában",
- "past": "{0} órával ezelőtt",
- "future": "{0} óra múlva"
- ],
- "minute": [
- "current": "ebben a percben",
- "past": "{0} perccel ezelőtt",
- "future": "{0} perc múlva"
- ],
- "second": [
- "current": "most",
- "past": "{0} másodperccel ezelőtt",
- "future": "{0} másodperc múlva"
- ],
- "now": "most"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "előző év",
- "current": "ez az év",
- "next": "következő év",
- "past": "{0} évvel ezelőtt",
- "future": "{0} év múlva"
- ],
- "quarter": [
- "previous": "előző negyedév",
- "current": "ez a negyedév",
- "next": "következő negyedév",
- "past": "{0} negyedévvel ezelőtt",
- "future": "{0} negyedév múlva"
- ],
- "month": [
- "previous": "előző hónap",
- "current": "ez a hónap",
- "next": "következő hónap",
- "past": "{0} hónappal ezelőtt",
- "future": "{0} hónap múlva"
- ],
- "week": [
- "previous": "előző hét",
- "current": "ez a hét",
- "next": "következő hét",
- "past": "{0} héttel ezelőtt",
- "future": "{0} hét múlva"
- ],
- "day": [
- "previous": "tegnap",
- "current": "ma",
- "next": "holnap",
- "past": "{0} nappal ezelőtt",
- "future": "{0} nap múlva"
- ],
- "hour": [
- "current": "ebben az órában",
- "past": "{0} órával ezelőtt",
- "future": "{0} óra múlva"
- ],
- "minute": [
- "current": "ebben a percben",
- "past": "{0} perccel ezelőtt",
- "future": "{0} perc múlva"
- ],
- "second": [
- "current": "most",
- "past": "{0} másodperccel ezelőtt",
- "future": "{0} másodperc múlva"
- ],
- "now": "most"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hy.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hy.swift
deleted file mode 100644
index 30363d5d..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_hy.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_hy: RelativeFormatterLang {
-
- /// Armenian
- public static let identifier: String = "hy"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value < 2 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "նախորդ տարի",
- "current": "այս տարի",
- "next": "հաջորդ տարի",
- "past": "{0} տ առաջ",
- "future": "{0} տարուց"
- ],
- "quarter": [
- "previous": "նախորդ եռամսյակ",
- "current": "այս եռամսյակ",
- "next": "հաջորդ եռամսյակ",
- "past": "{0} եռմս առաջ",
- "future": "{0} եռմս-ից"
- ],
- "month": [
- "previous": "անցյալ ամիս",
- "current": "այս ամիս",
- "next": "հաջորդ ամիս",
- "past": "{0} ամիս առաջ",
- "future": "{0} ամսից"
- ],
- "week": [
- "previous": "նախորդ շաբաթ",
- "current": "այս շաբաթ",
- "next": "հաջորդ շաբաթ",
- "past": "{0} շաբ առաջ",
- "future": "{0} շաբ-ից"
- ],
- "day": [
- "previous": "երեկ",
- "current": "այսօր",
- "next": "վաղը",
- "past": "{0} օր առաջ",
- "future": "{0} օրից"
- ],
- "hour": [
- "current": "այս ժամին",
- "past": "{0} ժ առաջ",
- "future": "{0} ժ-ից"
- ],
- "minute": [
- "current": "այս րոպեին",
- "past": "{0} ր առաջ",
- "future": "{0} ր-ից"
- ],
- "second": [
- "current": "հիմա",
- "past": "{0} վրկ առաջ",
- "future": "{0} վրկ-ից"
- ],
- "now": "հիմա"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "նախորդ տարի",
- "current": "այս տարի",
- "next": "հաջորդ տարի",
- "past": "{0} տ առաջ",
- "future": "{0} տարուց"
- ],
- "quarter": [
- "previous": "նախորդ եռամսյակ",
- "current": "այս եռամսյակ",
- "next": "հաջորդ եռամսյակ",
- "past": "{0} եռմս առաջ",
- "future": "{0} եռմս-ից"
- ],
- "month": [
- "previous": "անցյալ ամիս",
- "current": "այս ամիս",
- "next": "հաջորդ ամիս",
- "past": "{0} ամիս առաջ",
- "future": "{0} ամսից"
- ],
- "week": [
- "previous": "նախորդ շաբաթ",
- "current": "այս շաբաթ",
- "next": "հաջորդ շաբաթ",
- "past": "{0} շաբ առաջ",
- "future": "{0} շաբ անց"
- ],
- "day": [
- "previous": "երեկ",
- "current": "այսօր",
- "next": "վաղը",
- "past": "{0} օր առաջ",
- "future": "{0} օրից"
- ],
- "hour": [
- "current": "այս ժամին",
- "past": "{0} ժ առաջ",
- "future": "{0} ժ-ից"
- ],
- "minute": [
- "current": "այս րոպեին",
- "past": "{0} ր առաջ",
- "future": "{0} ր-ից"
- ],
- "second": [
- "current": "հիմա",
- "past": "{0} վ առաջ",
- "future": "{0} վ-ից"
- ],
- "now": "հիմա"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "նախորդ տարի",
- "current": "այս տարի",
- "next": "հաջորդ տարի",
- "past": "{0} տարի առաջ",
- "future": "{0} տարուց"
- ],
- "quarter": [
- "previous": "նախորդ եռամսյակ",
- "current": "այս եռամսյակ",
- "next": "հաջորդ եռամսյակ",
- "past": "{0} եռամսյակ առաջ",
- "future": "{0} եռամսյակից"
- ],
- "month": [
- "previous": "նախորդ ամիս",
- "current": "այս ամիս",
- "next": "հաջորդ ամիս",
- "past": "{0} ամիս առաջ",
- "future": "{0} ամսից"
- ],
- "week": [
- "previous": "նախորդ շաբաթ",
- "current": "այս շաբաթ",
- "next": "հաջորդ շաբաթ",
- "past": "{0} շաբաթ առաջ",
- "future": "{0} շաբաթից"
- ],
- "day": [
- "previous": "երեկ",
- "current": "այսօր",
- "next": "վաղը",
- "past": "{0} օր առաջ",
- "future": "{0} օրից"
- ],
- "hour": [
- "current": "այս ժամին",
- "past": "{0} ժամ առաջ",
- "future": "{0} ժամից"
- ],
- "minute": [
- "current": "այս րոպեին",
- "past": "{0} րոպե առաջ",
- "future": "{0} րոպեից"
- ],
- "second": [
- "current": "հիմա",
- "past": "{0} վայրկյան առաջ",
- "future": "{0} վայրկյանից"
- ],
- "now": "հիմա"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_id.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_id.swift
deleted file mode 100644
index 82bbbafd..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_id.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_id: RelativeFormatterLang {
-
- /// Indonesian
- public static let identifier: String = "id"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "tahun lalu",
- "current": "tahun ini",
- "next": "tahun depan",
- "past": "{0} thn lalu",
- "future": "dlm {0} thn"
- ],
- "quarter": [
- "previous": "Kuartal lalu",
- "current": "kuartal ini",
- "next": "kuartal berikutnya",
- "past": "{0} krtl. lalu",
- "future": "dlm {0} krtl."
- ],
- "month": [
- "previous": "bulan lalu",
- "current": "bulan ini",
- "next": "bulan berikutnya",
- "past": "{0} bln lalu",
- "future": "dlm {0} bln"
- ],
- "week": [
- "previous": "minggu lalu",
- "current": "minggu ini",
- "next": "minggu depan",
- "past": "{0} mgg lalu",
- "future": "dlm {0} mgg"
- ],
- "day": [
- "previous": "kemarin",
- "current": "hari ini",
- "next": "besok",
- "past": "{0} h lalu",
- "future": "dalam {0} h"
- ],
- "hour": [
- "current": "jam ini",
- "past": "{0} jam lalu",
- "future": "dalam {0} jam"
- ],
- "minute": [
- "current": "menit ini",
- "past": "{0} mnt lalu",
- "future": "dlm {0} mnt"
- ],
- "second": [
- "current": "sekarang",
- "past": "{0} dtk lalu",
- "future": "dlm {0} dtk"
- ],
- "now": "sekarang"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "tahun lalu",
- "current": "tahun ini",
- "next": "tahun depan",
- "past": "{0} thn lalu",
- "future": "dlm {0} thn"
- ],
- "quarter": [
- "previous": "Kuartal lalu",
- "current": "kuartal ini",
- "next": "kuartal berikutnya",
- "past": "{0} krtl. lalu",
- "future": "dlm {0} krtl."
- ],
- "month": [
- "previous": "bulan lalu",
- "current": "bulan ini",
- "next": "bulan berikutnya",
- "past": "{0} bln lalu",
- "future": "dlm {0} bln"
- ],
- "week": [
- "previous": "minggu lalu",
- "current": "minggu ini",
- "next": "minggu depan",
- "past": "{0} mgg lalu",
- "future": "dlm {0} mgg"
- ],
- "day": [
- "previous": "kemarin",
- "current": "hari ini",
- "next": "besok",
- "past": "{0} h lalu",
- "future": "dalam {0} h"
- ],
- "hour": [
- "current": "jam ini",
- "past": "{0} jam lalu",
- "future": "dalam {0} jam"
- ],
- "minute": [
- "current": "menit ini",
- "past": "{0} mnt lalu",
- "future": "dlm {0} mnt"
- ],
- "second": [
- "current": "sekarang",
- "past": "{0} dtk lalu",
- "future": "dlm {0} dtk"
- ],
- "now": "sekarang"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "tahun lalu",
- "current": "tahun ini",
- "next": "tahun depan",
- "past": "{0} tahun yang lalu",
- "future": "dalam {0} tahun"
- ],
- "quarter": [
- "previous": "Kuartal lalu",
- "current": "kuartal ini",
- "next": "kuartal berikutnya",
- "past": "{0} kuartal yang lalu",
- "future": "dalam {0} kuartal"
- ],
- "month": [
- "previous": "bulan lalu",
- "current": "bulan ini",
- "next": "bulan berikutnya",
- "past": "{0} bulan yang lalu",
- "future": "dalam {0} bulan"
- ],
- "week": [
- "previous": "minggu lalu",
- "current": "minggu ini",
- "next": "minggu depan",
- "past": "{0} minggu yang lalu",
- "future": "dalam {0} minggu"
- ],
- "day": [
- "previous": "kemarin",
- "current": "hari ini",
- "next": "besok",
- "past": "{0} hari yang lalu",
- "future": "dalam {0} hari"
- ],
- "hour": [
- "current": "jam ini",
- "past": "{0} jam yang lalu",
- "future": "dalam {0} jam"
- ],
- "minute": [
- "current": "menit ini",
- "past": "{0} menit yang lalu",
- "future": "dalam {0} menit"
- ],
- "second": [
- "current": "sekarang",
- "past": "{0} detik yang lalu",
- "future": "dalam {0} detik"
- ],
- "now": "sekarang"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_is.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_is.swift
deleted file mode 100644
index e2c2528a..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_is.swift
+++ /dev/null
@@ -1,279 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_is: RelativeFormatterLang {
-
- /// Icelandic
- public static let identifier: String = "is"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- if value == 0 {
- return .zero
- }
-
- if value == 1 {
- return .one
- }
-
- switch mod10 {
- case 1:
- if mod100 != 11 {
- return .one
- }
- default:
- break
- }
-
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "á síðasta ári",
- "current": "á þessu ári",
- "next": "á næsta ári",
- "past": [
- "one": "fyrir {0} ári",
- "other": "fyrir {0} árum"
- ],
- "future": "eftir {0} ár"
- ],
- "quarter": [
- "previous": "síðasti ársfj.",
- "current": "þessi ársfj.",
- "next": "næsti ársfj.",
- "past": "fyrir {0} ársfj.",
- "future": "eftir {0} ársfj."
- ],
- "month": [
- "previous": "í síðasta mán.",
- "current": "í þessum mán.",
- "next": "í næsta mán.",
- "past": "fyrir {0} mán.",
- "future": "eftir {0} mán."
- ],
- "week": [
- "previous": "í síðustu viku",
- "current": "í þessari viku",
- "next": "í næstu viku",
- "past": [
- "one": "fyrir {0} viku",
- "other": "fyrir {0} vikum"
- ],
- "future": "eftir {0} vikur"
- ],
- "day": [
- "previous": "í gær",
- "current": "í dag",
- "next": "á morgun",
- "past": [
- "one": "fyrir {0} degi",
- "other": "fyrir {0} dögum"
- ],
- "future": [
- "one": "eftir {0} dag",
- "other": "eftir {0} daga"
- ]
- ],
- "hour": [
- "current": "þessa stundina",
- "past": "fyrir {0} klst.",
- "future": "eftir {0} klst."
- ],
- "minute": [
- "current": "á þessari mínútu",
- "past": "fyrir {0} mín.",
- "future": "eftir {0} mín."
- ],
- "second": [
- "current": "núna",
- "past": "fyrir {0} sek.",
- "future": "eftir {0} sek."
- ],
- "now": "núna"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "á síðasta ári",
- "current": "á þessu ári",
- "next": "á næsta ári",
- "past": "fyrir {0} árum",
- "future": "eftir {0} ár"
- ],
- "quarter": [
- "previous": "síðasti ársfj.",
- "current": "þessi ársfj.",
- "next": "næsti ársfj.",
- "past": "fyrir {0} ársfj.",
- "future": "eftir {0} ársfj."
- ],
- "month": [
- "previous": "í síðasta mán.",
- "current": "í þessum mán.",
- "next": "í næsta mán.",
- "past": "fyrir {0} mán.",
- "future": "eftir {0} mán."
- ],
- "week": [
- "previous": "í síðustu viku",
- "current": "í þessari viku",
- "next": "í næstu viku",
- "past": [
- "one": "-{0} viku",
- "other": "-{0} vikur"
- ],
- "future": [
- "one": "+{0} viku",
- "other": "+{0} vikur"
- ]
- ],
- "day": [
- "previous": "í gær",
- "current": "í dag",
- "next": "á morgun",
- "past": [
- "one": "-{0} degi",
- "other": "-{0} dögum"
- ],
- "future": [
- "one": "+{0} dag",
- "other": "+{0} daga"
- ]
- ],
- "hour": [
- "current": "þessa stundina",
- "past": "-{0} klst.",
- "future": "+{0} klst."
- ],
- "minute": [
- "current": "á þessari mínútu",
- "past": "-{0} mín.",
- "future": "+{0} mín."
- ],
- "second": [
- "current": "núna",
- "past": "-{0} sek.",
- "future": "+{0} sek."
- ],
- "now": "núna"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "á síðasta ári",
- "current": "á þessu ári",
- "next": "á næsta ári",
- "past": [
- "one": "fyrir {0} ári",
- "other": "fyrir {0} árum"
- ],
- "future": "eftir {0} ár"
- ],
- "quarter": [
- "previous": "síðasti ársfjórðungur",
- "current": "þessi ársfjórðungur",
- "next": "næsti ársfjórðungur",
- "past": [
- "one": "fyrir {0} ársfjórðungi",
- "other": "fyrir {0} ársfjórðungum"
- ],
- "future": [
- "one": "eftir {0} ársfjórðung",
- "other": "eftir {0} ársfjórðunga"
- ]
- ],
- "month": [
- "previous": "í síðasta mánuði",
- "current": "í þessum mánuði",
- "next": "í næsta mánuði",
- "past": [
- "one": "fyrir {0} mánuði",
- "other": "fyrir {0} mánuðum"
- ],
- "future": [
- "one": "eftir {0} mánuð",
- "other": "eftir {0} mánuði"
- ]
- ],
- "week": [
- "previous": "í síðustu viku",
- "current": "í þessari viku",
- "next": "í næstu viku",
- "past": [
- "one": "fyrir {0} viku",
- "other": "fyrir {0} vikum"
- ],
- "future": [
- "one": "eftir {0} viku",
- "other": "eftir {0} vikur"
- ]
- ],
- "day": [
- "previous": "í gær",
- "current": "í dag",
- "next": "á morgun",
- "past": [
- "one": "fyrir {0} degi",
- "other": "fyrir {0} dögum"
- ],
- "future": [
- "one": "eftir {0} dag",
- "other": "eftir {0} daga"
- ]
- ],
- "hour": [
- "current": "þessa stundina",
- "past": [
- "one": "fyrir {0} klukkustund",
- "other": "fyrir {0} klukkustundum"
- ],
- "future": [
- "one": "eftir {0} klukkustund",
- "other": "eftir {0} klukkustundir"
- ]
- ],
- "minute": [
- "current": "á þessari mínútu",
- "past": [
- "one": "fyrir {0} mínútu",
- "other": "fyrir {0} mínútum"
- ],
- "future": [
- "one": "eftir {0} mínútu",
- "other": "eftir {0} mínútur"
- ]
- ],
- "second": [
- "current": "núna",
- "past": [
- "one": "fyrir {0} sekúndu",
- "other": "fyrir {0} sekúndum"
- ],
- "future": [
- "one": "eftir {0} sekúndu",
- "other": "eftir {0} sekúndur"
- ]
- ],
- "now": "núna"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_it.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_it.swift
deleted file mode 100644
index 40c82dcb..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_it.swift
+++ /dev/null
@@ -1,289 +0,0 @@
-//
-// lang_it.swift
-// SwiftDate
-//
-// Created by Daniele Margutti on 13/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
-//
-
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_it: RelativeFormatterLang {
-
- /// Locales.italian
- public static let identifier: String = "it"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "anno scorso",
- "current": "quest’anno",
- "next": "anno prossimo",
- "past": [
- "one": "{0} anno fa",
- "other": "{0} anni fa"
- ],
- "future": [
- "one": "tra {0} anno",
- "other": "tra {0} anni"
- ]
- ],
- "quarter": [
- "previous": "trimestre scorso",
- "current": "questo trimestre",
- "next": "trimestre prossimo",
- "past": "{0} trim. fa",
- "future": "tra {0} trim."
- ],
- "month": [
- "previous": "mese scorso",
- "current": "questo mese",
- "next": "mese prossimo",
- "past": [
- "one": "{0} mese fa",
- "other": "{0} mesi fa"
- ],
- "future": [
- "one": "tra {0} mese",
- "other": "tra {0} mesi"
- ]
- ],
- "week": [
- "previous": "settimana scorsa",
- "current": "questa settimana",
- "next": "settimana prossima",
- "past": "{0} sett. fa",
- "future": "tra {0} sett."
- ],
- "day": [
- "previous": "ieri",
- "current": "oggi",
- "next": "domani",
- "past": [
- "one": "{0}g fa",
- "other": "{0}gg fa"
- ],
- "future": [
- "one": "tra {0} g",
- "other": "tra {0} gg"
- ]
- ],
- "hour": [
- "current": "quest’ora",
- "past": "{0}h fa",
- "future": "tra {0}h"
- ],
- "minute": [
- "current": "questo minuto",
- "past": "{0} min fa",
- "future": "tra {0} min"
- ],
- "second": [
- "current": "ora",
- "past": [
- "one": "{0}s fa",
- "other": "{0} sec. fa"
- ],
- "future": [
- "one": "tra {0}s",
- "other": "tra {0} sec."
- ]
- ],
- "now": "ora"
- ]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "anno scorso",
- "current": "quest’anno",
- "next": "anno prossimo",
- "past": [
- "one": "{0} anno fa",
- "other": "{0} anni fa"
- ],
- "future": [
- "one": "tra {0} anno",
- "other": "tra {0} anni"
- ]
- ],
- "quarter": [
- "previous": "trimestre scorso",
- "current": "questo trimestre",
- "next": "trimestre prossimo",
- "past": "{0} trim. fa",
- "future": "tra {0} trim."
- ],
- "month": [
- "previous": "mese scorso",
- "current": "questo mese",
- "next": "mese prossimo",
- "past": [
- "one": "{0} mese fa",
- "other": "{0} mesi fa"
- ],
- "future": [
- "one": "tra {0} mese",
- "other": "tra {0} mesi"
- ]
- ],
- "week": [
- "previous": "settimana scorsa",
- "current": "questa settimana",
- "next": "settimana prossima",
- "past": "{0} sett. fa",
- "future": "tra {0} sett."
- ],
- "day": [
- "previous": "ieri",
- "current": "oggi",
- "next": "domani",
- "past": [
- "one": "{0}g fa",
- "other": "{0} gg fa"
- ],
- "future": [
- "one": "tra {0}g",
- "other": "tra {0} gg"
- ]
- ],
- "hour": [
- "current": "quest’ora",
- "past": "{0}h fa",
- "future": "tra {0} h"
- ],
- "minute": [
- "current": "questo minuto",
- "past": "{0} min fa",
- "future": "tra {0} min"
- ],
- "second": [
- "current": "ora",
- "past": "{0}s fa",
- "future": "tra {0} s"
- ],
- "now": "ora"
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "anno scorso",
- "current": "quest’anno",
- "next": "anno prossimo",
- "past": [
- "one": "{0} anno fa",
- "other": "{0} anni fa"
- ],
- "future": [
- "one": "tra {0} anno",
- "other": "tra {0} anni"
- ]
- ],
- "quarter": [
- "previous": "trimestre scorso",
- "current": "questo trimestre",
- "next": "trimestre prossimo",
- "past": [
- "one": "{0} trimestre fa",
- "other": "{0} trimestri fa"
- ],
- "future": [
- "one": "tra {0} trimestre",
- "other": "tra {0} trimestri"
- ]
- ],
- "month": [
- "previous": "mese scorso",
- "current": "questo mese",
- "next": "mese prossimo",
- "past": [
- "one": "{0} mese fa",
- "other": "{0} mesi fa"
- ],
- "future": [
- "one": "tra {0} mese",
- "other": "tra {0} mesi"
- ]
- ],
- "week": [
- "previous": "settimana scorsa",
- "current": "questa settimana",
- "next": "settimana prossima",
- "past": [
- "one": "{0} settimana fa",
- "other": "{0} settimane fa"
- ],
- "future": [
- "one": "tra {0} settimana",
- "other": "tra {0} settimane"
- ]
- ],
- "day": [
- "previous": "ieri",
- "current": "oggi",
- "next": "domani",
- "past": [
- "one": "{0} giorno fa",
- "other": "{0} giorni fa"
- ],
- "future": [
- "one": "tra {0} giorno",
- "other": "tra {0} giorni"
- ]
- ],
- "hour": [
- "current": "quest’ora",
- "past": [
- "one": "{0} ora fa",
- "other": "{0} ore fa"
- ],
- "future": [
- "one": "tra {0} ora",
- "other": "tra {0} ore"
- ]
- ],
- "minute": [
- "current": "questo minuto",
- "past": [
- "one": "{0} minuto fa",
- "other": "{0} minuti fa"
- ],
- "future": [
- "one": "tra {0} minuto",
- "other": "tra {0} minuti"
- ]
- ],
- "second": [
- "current": "ora",
- "past": [
- "one": "{0} secondo fa",
- "other": "{0} secondi fa"
- ],
- "future": [
- "one": "tra {0} secondo",
- "other": "tra {0} secondi"
- ]
- ],
- "now": "ora"
- ]
- }
-
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ja.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ja.swift
deleted file mode 100644
index 4af38458..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ja.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ja: RelativeFormatterLang {
-
- /// Japanese
- public static let identifier: String = "ja"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "昨年",
- "current": "今年",
- "next": "翌年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "前四半期",
- "current": "今四半期",
- "next": "翌四半期",
- "past": "{0} 四半期前",
- "future": "{0} 四半期後"
- ],
- "month": [
- "previous": "先月",
- "current": "今月",
- "next": "翌月",
- "past": "{0} か月前",
- "future": "{0} か月後"
- ],
- "week": [
- "previous": "先週",
- "current": "今週",
- "next": "翌週",
- "past": "{0} 週間前",
- "future": "{0} 週間後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "1 時間以内",
- "past": "{0} 時間前",
- "future": "{0} 時間後"
- ],
- "minute": [
- "current": "1 分以内",
- "past": "{0} 分前",
- "future": "{0} 分後"
- ],
- "second": [
- "current": "今",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "今"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "昨年",
- "current": "今年",
- "next": "翌年",
- "past": "{0}年前",
- "future": "{0}年後"
- ],
- "quarter": [
- "previous": "前四半期",
- "current": "今四半期",
- "next": "翌四半期",
- "past": "{0}四半期前",
- "future": "{0}四半期後"
- ],
- "month": [
- "previous": "先月",
- "current": "今月",
- "next": "翌月",
- "past": "{0}か月前",
- "future": "{0}か月後"
- ],
- "week": [
- "previous": "先週",
- "current": "今週",
- "next": "翌週",
- "past": "{0}週間前",
- "future": "{0}週間後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0}日前",
- "future": "{0}日後"
- ],
- "hour": [
- "current": "1 時間以内",
- "past": "{0}時間前",
- "future": "{0}時間後"
- ],
- "minute": [
- "current": "1 分以内",
- "past": "{0}分前",
- "future": "{0}分後"
- ],
- "second": [
- "current": "今",
- "past": "{0}秒前",
- "future": "{0}秒後"
- ],
- "now": "今"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "昨年",
- "current": "今年",
- "next": "翌年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "前四半期",
- "current": "今四半期",
- "next": "翌四半期",
- "past": "{0} 四半期前",
- "future": "{0} 四半期後"
- ],
- "month": [
- "previous": "先月",
- "current": "今月",
- "next": "翌月",
- "past": "{0} か月前",
- "future": "{0} か月後"
- ],
- "week": [
- "previous": "先週",
- "current": "今週",
- "next": "翌週",
- "past": "{0} 週間前",
- "future": "{0} 週間後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "1 時間以内",
- "past": "{0} 時間前",
- "future": "{0} 時間後"
- ],
- "minute": [
- "current": "1 分以内",
- "past": "{0} 分前",
- "future": "{0} 分後"
- ],
- "second": [
- "current": "今",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "今"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_jgo.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_jgo.swift
deleted file mode 100644
index c045773c..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_jgo.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_jgo: RelativeFormatterLang {
-
- /// Ngomba
- public static let identifier: String = "jgo"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "Ɛ́gɛ́ mɔ́ ŋguꞋ {0}",
- "future": "Nǔu ŋguꞋ {0}"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "ɛ́ gɛ́ mɔ́ pɛsaŋ {0}",
- "future": "Nǔu {0} saŋ"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "Ɛ́ gɛ́ mɔ {0} ŋgap-mbi",
- "future": "Nǔu ŋgap-mbi {0}"
- ],
- "day": [
- "previous": "yesterday",
- "current": "lɔꞋɔ",
- "next": "tomorrow",
- "past": "Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}",
- "future": "Nǔu lɛ́Ꞌ {0}"
- ],
- "hour": [
- "current": "this hour",
- "past": "ɛ́ gɛ mɔ́ {0} háwa",
- "future": "nǔu háwa {0}"
- ],
- "minute": [
- "current": "this minute",
- "past": "ɛ́ gɛ́ mɔ́ minút {0}",
- "future": "nǔu {0} minút"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "Ɛ́gɛ́ mɔ́ ŋguꞋ {0}",
- "future": "Nǔu ŋguꞋ {0}"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "ɛ́ gɛ́ mɔ́ pɛsaŋ {0}",
- "future": "Nǔu {0} saŋ"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "Ɛ́ gɛ́ mɔ {0} ŋgap-mbi",
- "future": "Nǔu ŋgap-mbi {0}"
- ],
- "day": [
- "previous": "yesterday",
- "current": "lɔꞋɔ",
- "next": "tomorrow",
- "past": "Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}",
- "future": "Nǔu lɛ́Ꞌ {0}"
- ],
- "hour": [
- "current": "this hour",
- "past": "ɛ́ gɛ mɔ́ {0} háwa",
- "future": "nǔu háwa {0}"
- ],
- "minute": [
- "current": "this minute",
- "past": "ɛ́ gɛ́ mɔ́ minút {0}",
- "future": "nǔu {0} minút"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "Ɛ́gɛ́ mɔ́ ŋguꞋ {0}",
- "future": "Nǔu ŋguꞋ {0}"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "ɛ́ gɛ́ mɔ́ pɛsaŋ {0}",
- "future": "Nǔu {0} saŋ"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "Ɛ́ gɛ́ mɔ {0} ŋgap-mbi",
- "future": "Nǔu ŋgap-mbi {0}"
- ],
- "day": [
- "previous": "yesterday",
- "current": "lɔꞋɔ",
- "next": "tomorrow",
- "past": "Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}",
- "future": "Nǔu lɛ́Ꞌ {0}"
- ],
- "hour": [
- "current": "this hour",
- "past": "ɛ́ gɛ mɔ́ {0} háwa",
- "future": "nǔu háwa {0}"
- ],
- "minute": [
- "current": "this minute",
- "past": "ɛ́ gɛ́ mɔ́ minút {0}",
- "future": "nǔu {0} minút"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ka.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ka.swift
deleted file mode 100644
index 4fa60735..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ka.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ka: RelativeFormatterLang {
-
- /// Georgian
- public static let identifier: String = "ka"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "გასულ წელს",
- "current": "ამ წელს",
- "next": "მომავალ წელს",
- "past": "{0} წლის წინ",
- "future": "{0} წელში"
- ],
- "quarter": [
- "previous": "გასულ კვარტალში",
- "current": "ამ კვარტალში",
- "next": "შემდეგ კვარტალში",
- "past": "{0} კვარტ. წინ",
- "future": "{0} კვარტალში"
- ],
- "month": [
- "previous": "გასულ თვეს",
- "current": "ამ თვეში",
- "next": "მომავალ თვეს",
- "past": "{0} თვის წინ",
- "future": "{0} თვეში"
- ],
- "week": [
- "previous": "გასულ კვირაში",
- "current": "ამ კვირაში",
- "next": "მომავალ კვირაში",
- "past": "{0} კვ. წინ",
- "future": "{0} კვირაში"
- ],
- "day": [
- "previous": "გუშინ",
- "current": "დღეს",
- "next": "ხვალ",
- "past": "{0} დღის წინ",
- "future": "{0} დღეში"
- ],
- "hour": [
- "current": "ამ საათში",
- "past": "{0} სთ წინ",
- "future": "{0} საათში"
- ],
- "minute": [
- "current": "ამ წუთში",
- "past": "{0} წთ წინ",
- "future": "{0} წუთში"
- ],
- "second": [
- "current": "ახლა",
- "past": "{0} წმ წინ",
- "future": "{0} წამში"
- ],
- "now": "ახლა"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "გასულ წელს",
- "current": "ამ წელს",
- "next": "მომავალ წელს",
- "past": "{0} წლის წინ",
- "future": "{0} წელში"
- ],
- "quarter": [
- "previous": "გასულ კვარტალში",
- "current": "ამ კვარტალში",
- "next": "შემდეგ კვარტალში",
- "past": "{0} კვარტ. წინ",
- "future": "{0} კვარტალში"
- ],
- "month": [
- "previous": "გასულ თვეს",
- "current": "ამ თვეში",
- "next": "მომავალ თვეს",
- "past": "{0} თვის წინ",
- "future": "{0} თვეში"
- ],
- "week": [
- "previous": "გასულ კვირაში",
- "current": "ამ კვირაში",
- "next": "მომავალ კვირაში",
- "past": "{0} კვირის წინ",
- "future": "{0} კვირაში"
- ],
- "day": [
- "previous": "გუშინ",
- "current": "დღეს",
- "next": "ხვალ",
- "past": "{0} დღის წინ",
- "future": "{0} დღეში"
- ],
- "hour": [
- "current": "ამ საათში",
- "past": "{0} სთ წინ",
- "future": "{0} საათში"
- ],
- "minute": [
- "current": "ამ წუთში",
- "past": "{0} წთ წინ",
- "future": "{0} წუთში"
- ],
- "second": [
- "current": "ახლა",
- "past": "{0} წმ წინ",
- "future": "{0} წამში"
- ],
- "now": "ახლა"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "გასულ წელს",
- "current": "ამ წელს",
- "next": "მომავალ წელს",
- "past": "{0} წლის წინ",
- "future": "{0} წელიწადში"
- ],
- "quarter": [
- "previous": "გასულ კვარტალში",
- "current": "ამ კვარტალში",
- "next": "შემდეგ კვარტალში",
- "past": "{0} კვარტალის წინ",
- "future": "{0} კვარტალში"
- ],
- "month": [
- "previous": "გასულ თვეს",
- "current": "ამ თვეში",
- "next": "მომავალ თვეს",
- "past": "{0} თვის წინ",
- "future": "{0} თვეში"
- ],
- "week": [
- "previous": "გასულ კვირაში",
- "current": "ამ კვირაში",
- "next": "მომავალ კვირაში",
- "past": "{0} კვირის წინ",
- "future": "{0} კვირაში"
- ],
- "day": [
- "previous": "გუშინ",
- "current": "დღეს",
- "next": "ხვალ",
- "past": "{0} დღის წინ",
- "future": "{0} დღეში"
- ],
- "hour": [
- "current": "ამ საათში",
- "past": "{0} საათის წინ",
- "future": "{0} საათში"
- ],
- "minute": [
- "current": "ამ წუთში",
- "past": "{0} წუთის წინ",
- "future": "{0} წუთში"
- ],
- "second": [
- "current": "ახლა",
- "past": "{0} წამის წინ",
- "future": "{0} წამში"
- ],
- "now": "ახლა"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kea.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kea.swift
deleted file mode 100644
index bc6b9657..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kea.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_kea: RelativeFormatterLang {
-
- /// Kabuverdianu
- public static let identifier: String = "kea"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return nil
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "anu pasadu",
- "current": "es anu li",
- "next": "prósimu anu",
- "past": "a ten {0} anu",
- "future": "di li {0} anu"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "a ten {0} trim.",
- "future": "di li {0} trim."
- ],
- "month": [
- "previous": "mes pasadu",
- "current": "es mes li",
- "next": "prósimu mes",
- "past": "a ten {0} mes",
- "future": "di li {0} mes"
- ],
- "week": [
- "previous": "simana pasadu",
- "current": "es simana li",
- "next": "prósimu simana",
- "past": "a ten {0} sim.",
- "future": "di li {0} sim."
- ],
- "day": [
- "previous": "onti",
- "current": "oji",
- "next": "manha",
- "past": "a ten {0} dia",
- "future": "di li {0} dia"
- ],
- "hour": [
- "current": "this hour",
- "past": "a ten {0} ora",
- "future": "di li {0} ora"
- ],
- "minute": [
- "current": "this minute",
- "past": "a ten {0} min",
- "future": "di li {0} min"
- ],
- "second": [
- "current": "now",
- "past": "a ten {0} sig",
- "future": "di li {0} sig"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "anu pasadu",
- "current": "es anu li",
- "next": "prósimu anu",
- "past": "a ten {0} anu",
- "future": "di li {0} anu"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "a ten {0} trim.",
- "future": "di li {0} trim."
- ],
- "month": [
- "previous": "mes pasadu",
- "current": "es mes li",
- "next": "prósimu mes",
- "past": "a ten {0} mes",
- "future": "di li {0} mes"
- ],
- "week": [
- "previous": "simana pasadu",
- "current": "es simana li",
- "next": "prósimu simana",
- "past": "a ten {0} sim.",
- "future": "di li {0} sim."
- ],
- "day": [
- "previous": "onti",
- "current": "oji",
- "next": "manha",
- "past": "a ten {0} dia",
- "future": "di li {0} dia"
- ],
- "hour": [
- "current": "this hour",
- "past": "a ten {0} ora",
- "future": "di li {0} ora"
- ],
- "minute": [
- "current": "this minute",
- "past": "a ten {0} m",
- "future": "di li {0} m"
- ],
- "second": [
- "current": "now",
- "past": "a ten {0} s",
- "future": "di li {0} s"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "anu pasadu",
- "current": "es anu li",
- "next": "prósimu anu",
- "past": "a ten {0} anu",
- "future": "di li {0} anu"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "a ten {0} trimestri",
- "future": "di li {0} trimestri"
- ],
- "month": [
- "previous": "mes pasadu",
- "current": "es mes li",
- "next": "prósimu mes",
- "past": "a ten {0} mes",
- "future": "di li {0} mes"
- ],
- "week": [
- "previous": "simana pasadu",
- "current": "es simana li",
- "next": "prósimu simana",
- "past": "a ten {0} simana",
- "future": "di li {0} simana"
- ],
- "day": [
- "previous": "onti",
- "current": "oji",
- "next": "manha",
- "past": "a ten {0} dia",
- "future": "di li {0} dia"
- ],
- "hour": [
- "current": "this hour",
- "past": "a ten {0} ora",
- "future": "di li {0} ora"
- ],
- "minute": [
- "current": "this minute",
- "past": "a ten {0} minutu",
- "future": "di li {0} minutu"
- ],
- "second": [
- "current": "now",
- "past": "a ten {0} sigundu",
- "future": "di li {0} sigundu"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kk.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kk.swift
deleted file mode 100644
index 17d1dfec..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kk.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_kk: RelativeFormatterLang {
-
- /// Kazakh
- public static let identifier: String = "kk"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "былтырғы жыл",
- "current": "биылғы жыл",
- "next": "келесі жыл",
- "past": "{0} ж. бұрын",
- "future": "{0} ж. кейін"
- ],
- "quarter": [
- "previous": "өткен тоқсан",
- "current": "осы тоқсан",
- "next": "келесі тоқсан",
- "past": "{0} тқс. бұрын",
- "future": "{0} тқс. кейін"
- ],
- "month": [
- "previous": "өткен ай",
- "current": "осы ай",
- "next": "келесі ай",
- "past": "{0} ай бұрын",
- "future": "{0} айдан кейін"
- ],
- "week": [
- "previous": "өткен апта",
- "current": "осы апта",
- "next": "келесі апта",
- "past": "{0} ап. бұрын",
- "future": "{0} ап. кейін"
- ],
- "day": [
- "previous": "кеше",
- "current": "бүгін",
- "next": "ертең",
- "past": "{0} күн бұрын",
- "future": "{0} күннен кейін"
- ],
- "hour": [
- "current": "осы сағат",
- "past": "{0} сағ. бұрын",
- "future": "{0} сағ. кейін"
- ],
- "minute": [
- "current": "осы минут",
- "past": "{0} мин. бұрын",
- "future": "{0} мин. кейін"
- ],
- "second": [
- "current": "қазір",
- "past": "{0} сек. бұрын",
- "future": "{0} сек. кейін"
- ],
- "now": "қазір"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "былтырғы жыл",
- "current": "биылғы жыл",
- "next": "келесі жыл",
- "past": "{0} ж. бұрын",
- "future": "{0} ж. кейін"
- ],
- "quarter": [
- "previous": "өткен тоқсан",
- "current": "осы тоқсан",
- "next": "келесі тоқсан",
- "past": "{0} тқс. бұрын",
- "future": "{0} тқс. кейін"
- ],
- "month": [
- "previous": "өткен ай",
- "current": "осы ай",
- "next": "келесі ай",
- "past": "{0} ай бұрын",
- "future": "{0} айдан кейін"
- ],
- "week": [
- "previous": "өткен апта",
- "current": "осы апта",
- "next": "келесі апта",
- "past": "{0} ап. бұрын",
- "future": "{0} ап. кейін"
- ],
- "day": [
- "previous": "кеше",
- "current": "бүгін",
- "next": "ертең",
- "past": "{0} күн бұрын",
- "future": "{0} күннен кейін"
- ],
- "hour": [
- "current": "осы сағат",
- "past": "{0} сағ. бұрын",
- "future": "{0} сағ. кейін"
- ],
- "minute": [
- "current": "осы минут",
- "past": "{0} мин. бұрын",
- "future": "{0} мин. кейін"
- ],
- "second": [
- "current": "қазір",
- "past": "{0} сек. бұрын",
- "future": "{0} сек. кейін"
- ],
- "now": "қазір"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "былтырғы жыл",
- "current": "биылғы жыл",
- "next": "келесі жыл",
- "past": "{0} жыл бұрын",
- "future": "{0} жылдан кейін"
- ],
- "quarter": [
- "previous": "өткен тоқсан",
- "current": "осы тоқсан",
- "next": "келесі тоқсан",
- "past": "{0} тоқсан бұрын",
- "future": "{0} тоқсаннан кейін"
- ],
- "month": [
- "previous": "өткен ай",
- "current": "осы ай",
- "next": "келесі ай",
- "past": "{0} ай бұрын",
- "future": "{0} айдан кейін"
- ],
- "week": [
- "previous": "өткен апта",
- "current": "осы апта",
- "next": "келесі апта",
- "past": "{0} апта бұрын",
- "future": "{0} аптадан кейін"
- ],
- "day": [
- "previous": "кеше",
- "current": "бүгін",
- "next": "ертең",
- "past": "{0} күн бұрын",
- "future": "{0} күннен кейін"
- ],
- "hour": [
- "current": "осы сағат",
- "past": "{0} сағат бұрын",
- "future": "{0} сағаттан кейін"
- ],
- "minute": [
- "current": "осы минут",
- "past": "{0} минут бұрын",
- "future": "{0} минуттан кейін"
- ],
- "second": [
- "current": "қазір",
- "past": "{0} секунд бұрын",
- "future": "{0} секундтан кейін"
- ],
- "now": "қазір"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kl.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kl.swift
deleted file mode 100644
index e1fea765..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kl.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_kl: RelativeFormatterLang {
-
- /// Kalaallisut
- public static let identifier: String = "kl"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "for {0} ukioq siden",
- "future": "om {0} ukioq"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "for {0} qaammat siden",
- "future": "om {0} qaammat"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "for {0} sapaatip-akunnera siden",
- "future": "om {0} sapaatip-akunnera"
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": "for {0} ulloq unnuarlu siden",
- "future": "om {0} ulloq unnuarlu"
- ],
- "hour": [
- "current": "this hour",
- "past": "for {0} nalunaaquttap-akunnera siden",
- "future": "om {0} nalunaaquttap-akunnera"
- ],
- "minute": [
- "current": "this minute",
- "past": "for {0} minutsi siden",
- "future": "om {0} minutsi"
- ],
- "second": [
- "current": "now",
- "past": "for {0} sekundi siden",
- "future": "om {0} sekundi"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "for {0} ukioq siden",
- "future": "om {0} ukioq"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "for {0} qaammat siden",
- "future": "om {0} qaammat"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "for {0} sapaatip-akunnera siden",
- "future": "om {0} sapaatip-akunnera"
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": "for {0} ulloq unnuarlu siden",
- "future": "om {0} ulloq unnuarlu"
- ],
- "hour": [
- "current": "this hour",
- "past": "for {0} nalunaaquttap-akunnera siden",
- "future": "om {0} nalunaaquttap-akunnera"
- ],
- "minute": [
- "current": "this minute",
- "past": "for {0} minutsi siden",
- "future": "om {0} minutsi"
- ],
- "second": [
- "current": "now",
- "past": "for {0} sekundi siden",
- "future": "om {0} sekundi"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": "for {0} ukioq siden",
- "future": "om {0} ukioq"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "for {0} qaammat siden",
- "future": "om {0} qaammat"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "for {0} sapaatip-akunnera siden",
- "future": "om {0} sapaatip-akunnera"
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": "for {0} ulloq unnuarlu siden",
- "future": "om {0} ulloq unnuarlu"
- ],
- "hour": [
- "current": "this hour",
- "past": "for {0} nalunaaquttap-akunnera siden",
- "future": "om {0} nalunaaquttap-akunnera"
- ],
- "minute": [
- "current": "this minute",
- "past": "for {0} minutsi siden",
- "future": "om {0} minutsi"
- ],
- "second": [
- "current": "now",
- "past": "for {0} sekundi siden",
- "future": "om {0} sekundi"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_km.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_km.swift
deleted file mode 100644
index 36b759ac..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_km.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_km: RelativeFormatterLang {
-
- /// Khmer
- public static let identifier: String = "km"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return nil
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ឆ្នាំមុន",
- "current": "ឆ្នាំនេះ",
- "next": "ឆ្នាំក្រោយ",
- "past": "{0} ឆ្នាំមុន",
- "future": "{0} ឆ្នាំទៀត"
- ],
- "quarter": [
- "previous": "ត្រីមាសមុន",
- "current": "ត្រីមាសនេះ",
- "next": "ត្រីមាសក្រោយ",
- "past": "{0} ត្រីមាសមុន",
- "future": "{0} ត្រីមាសទៀត"
- ],
- "month": [
- "previous": "ខែមុន",
- "current": "ខែនេះ",
- "next": "ខែក្រោយ",
- "past": "{0} ខែមុន",
- "future": "{0} ខែទៀត"
- ],
- "week": [
- "previous": "សប្ដាហ៍មុន",
- "current": "សប្ដាហ៍នេះ",
- "next": "សប្ដាហ៍ក្រោយ",
- "past": "{0} សប្ដាហ៍មុន",
- "future": "{0} សប្ដាហ៍ទៀត"
- ],
- "day": [
- "previous": "ម្សិលមិញ",
- "current": "ថ្ងៃនេះ",
- "next": "ថ្ងៃស្អែក",
- "past": "{0} ថ្ងៃមុន",
- "future": "{0} ថ្ងៃទៀត"
- ],
- "hour": [
- "current": "ម៉ោងនេះ",
- "past": "{0} ម៉ោងមុន",
- "future": "{0} ម៉ោងទៀត"
- ],
- "minute": [
- "current": "នាទីនេះ",
- "past": "{0} នាទីមុន",
- "future": "{0} នាទីទៀត"
- ],
- "second": [
- "current": "ឥឡូវ",
- "past": "{0} វិនាទីមុន",
- "future": "{0} វិនាទីទៀត"
- ],
- "now": "ឥឡូវ"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ឆ្នាំមុន",
- "current": "ឆ្នាំនេះ",
- "next": "ឆ្នាំក្រោយ",
- "past": "{0} ឆ្នាំមុន",
- "future": "{0} ឆ្នាំទៀត"
- ],
- "quarter": [
- "previous": "ត្រីមាសមុន",
- "current": "ត្រីមាសនេះ",
- "next": "ត្រីមាសក្រោយ",
- "past": "{0} ត្រីមាសមុន",
- "future": "{0} ត្រីមាសទៀត"
- ],
- "month": [
- "previous": "ខែមុន",
- "current": "ខែនេះ",
- "next": "ខែក្រោយ",
- "past": "{0} ខែមុន",
- "future": "{0} ខែទៀត"
- ],
- "week": [
- "previous": "សប្ដាហ៍មុន",
- "current": "សប្ដាហ៍នេះ",
- "next": "សប្ដាហ៍ក្រោយ",
- "past": "{0} សប្ដាហ៍មុន",
- "future": "{0} សប្ដាហ៍ទៀត"
- ],
- "day": [
- "previous": "ម្សិលមិញ",
- "current": "ថ្ងៃនេះ",
- "next": "ថ្ងៃស្អែក",
- "past": "{0} ថ្ងៃមុន",
- "future": "{0} ថ្ងៃទៀត"
- ],
- "hour": [
- "current": "ម៉ោងនេះ",
- "past": "{0} ម៉ោងមុន",
- "future": "{0} ម៉ោងទៀត"
- ],
- "minute": [
- "current": "នាទីនេះ",
- "past": "{0} នាទីមុន",
- "future": "{0} នាទីទៀត"
- ],
- "second": [
- "current": "ឥឡូវ",
- "past": "{0} វិនាទីមុន",
- "future": "{0} វិនាទីទៀត"
- ],
- "now": "ឥឡូវ"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ឆ្នាំមុន",
- "current": "ឆ្នាំនេះ",
- "next": "ឆ្នាំក្រោយ",
- "past": "{0} ឆ្នាំមុន",
- "future": "{0} ឆ្នាំទៀត"
- ],
- "quarter": [
- "previous": "ត្រីមាសមុន",
- "current": "ត្រីមាសនេះ",
- "next": "ត្រីមាសក្រោយ",
- "past": "{0} ត្រីមាសមុន",
- "future": "{0} ត្រីមាសទៀត"
- ],
- "month": [
- "previous": "ខែមុន",
- "current": "ខែនេះ",
- "next": "ខែក្រោយ",
- "past": "{0} ខែមុន",
- "future": "{0} ខែទៀត"
- ],
- "week": [
- "previous": "សប្ដាហ៍មុន",
- "current": "សប្ដាហ៍នេះ",
- "next": "សប្ដាហ៍ក្រោយ",
- "past": "{0} សប្ដាហ៍មុន",
- "future": "{0} សប្ដាហ៍ទៀត"
- ],
- "day": [
- "previous": "ម្សិលមិញ",
- "current": "ថ្ងៃនេះ",
- "next": "ថ្ងៃស្អែក",
- "past": "{0} ថ្ងៃមុន",
- "future": "{0} ថ្ងៃទៀត"
- ],
- "hour": [
- "current": "ម៉ោងនេះ",
- "past": "{0} ម៉ោងមុន",
- "future": "ក្នុងរយៈពេល {0} ម៉ោង"
- ],
- "minute": [
- "current": "នាទីនេះ",
- "past": "{0} នាទីមុន",
- "future": "{0} នាទីទៀត"
- ],
- "second": [
- "current": "ឥឡូវ",
- "past": "{0} វិនាទីមុន",
- "future": "{0} វិនាទីទៀត"
- ],
- "now": "ឥឡូវ"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kn.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kn.swift
deleted file mode 100644
index e43a866e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kn.swift
+++ /dev/null
@@ -1,331 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_kn: RelativeFormatterLang {
-
- /// Kannada
- public static let identifier: String = "kn"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ಕಳೆದ ವರ್ಷ",
- "current": "ಈ ವರ್ಷ",
- "next": "ಮುಂದಿನ ವರ್ಷ",
- "past": [
- "one": "{0} ವರ್ಷದ ಹಿಂದೆ",
- "other": "{0} ವರ್ಷಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ವರ್ಷದಲ್ಲಿ",
- "other": "{0} ವರ್ಷಗಳಲ್ಲಿ"
- ]
- ],
- "quarter": [
- "previous": "ಕಳೆದ ತ್ರೈಮಾಸಿಕ",
- "current": "ಈ ತ್ರೈಮಾಸಿಕ",
- "next": "ಮುಂದಿನ ತ್ರೈಮಾಸಿಕ",
- "past": [
- "one": "{0} ತ್ರೈ.ಮಾ. ಹಿಂದೆ",
- "other": "{0} ತ್ರೈಮಾಸಿಕಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ತ್ರೈ.ಮಾ.ದಲ್ಲಿ",
- "other": "{0} ತ್ರೈಮಾಸಿಕಗಳಲ್ಲಿ"
- ]
- ],
- "month": [
- "previous": "ಕಳೆದ ತಿಂಗಳು",
- "current": "ಈ ತಿಂಗಳು",
- "next": "ಮುಂದಿನ ತಿಂಗಳು",
- "past": [
- "one": "{0} ತಿಂಗಳು ಹಿಂದೆ",
- "other": "{0} ತಿಂಗಳುಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ತಿಂಗಳಲ್ಲಿ",
- "other": "{0} ತಿಂಗಳುಗಳಲ್ಲಿ"
- ]
- ],
- "week": [
- "previous": "ಕಳೆದ ವಾರ",
- "current": "ಈ ವಾರ",
- "next": "ಮುಂದಿನ ವಾರ",
- "past": [
- "one": "{0} ವಾರದ ಹಿಂದೆ",
- "other": "{0} ವಾರಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ವಾರದಲ್ಲಿ",
- "other": "{0} ವಾರಗಳಲ್ಲಿ"
- ]
- ],
- "day": [
- "previous": "ನಿನ್ನೆ",
- "current": "ಇಂದು",
- "next": "ನಾಳೆ",
- "past": [
- "one": "{0} ದಿನದ ಹಿಂದೆ",
- "other": "{0} ದಿನಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ದಿನದಲ್ಲಿ",
- "other": "{0} ದಿನಗಳಲ್ಲಿ"
- ]
- ],
- "hour": [
- "current": "ಈ ಗಂಟೆ",
- "past": [
- "one": "{0} ಗಂಟೆ ಹಿಂದೆ",
- "other": "{0} ಗಂಟೆಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ಗಂಟೆಯಲ್ಲಿ",
- "other": "{0} ಗಂಟೆಗಳಲ್ಲಿ"
- ]
- ],
- "minute": [
- "current": "ಈ ನಿಮಿಷ",
- "past": [
- "one": "{0} ನಿಮಿಷದ ಹಿಂದೆ",
- "other": "{0} ನಿಮಿಷಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ನಿಮಿಷದಲ್ಲಿ",
- "other": "{0} ನಿಮಿಷಗಳಲ್ಲಿ"
- ]
- ],
- "second": [
- "current": "ಈಗ",
- "past": [
- "one": "{0} ಸೆಕೆಂಡ್ ಹಿಂದೆ",
- "other": "{0} ಸೆಕೆಂಡುಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ಸೆಕೆಂಡ್ನಲ್ಲಿ",
- "other": "{0} ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ"
- ]
- ],
- "now": "ಈಗ"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ಕಳೆದ ವರ್ಷ",
- "current": "ಈ ವರ್ಷ",
- "next": "ಮುಂದಿನ ವರ್ಷ",
- "past": [
- "one": "{0} ವರ್ಷದ ಹಿಂದೆ",
- "other": "{0} ವರ್ಷಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ವರ್ಷದಲ್ಲಿ",
- "other": "{0} ವರ್ಷಗಳಲ್ಲಿ"
- ]
- ],
- "quarter": [
- "previous": "ಕಳೆದ ತ್ರೈಮಾಸಿಕ",
- "current": "ಈ ತ್ರೈಮಾಸಿಕ",
- "next": "ಮುಂದಿನ ತ್ರೈಮಾಸಿಕ",
- "past": [
- "one": "{0} ತ್ರೈ.ಮಾ. ಹಿಂದೆ",
- "other": "{0} ತ್ರೈಮಾಸಿಕಗಳ ಹಿಂದೆ"
- ],
- "future": "{0} ತ್ರೈಮಾಸಿಕಗಳಲ್ಲಿ"
- ],
- "month": [
- "previous": "ಕಳೆದ ತಿಂಗಳು",
- "current": "ಈ ತಿಂಗಳು",
- "next": "ಮುಂದಿನ ತಿಂಗಳು",
- "past": [
- "one": "{0} ತಿಂಗಳ ಹಿಂದೆ",
- "other": "{0} ತಿಂಗಳುಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ತಿಂಗಳಲ್ಲಿ",
- "other": "{0} ತಿಂಗಳುಗಳಲ್ಲಿ"
- ]
- ],
- "week": [
- "previous": "ಕಳೆದ ವಾರ",
- "current": "ಈ ವಾರ",
- "next": "ಮುಂದಿನ ವಾರ",
- "past": [
- "one": "{0} ವಾರದ ಹಿಂದೆ",
- "other": "{0} ವಾರಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ವಾರದಲ್ಲಿ",
- "other": "{0} ವಾರಗಳಲ್ಲಿ"
- ]
- ],
- "day": [
- "previous": "ನಿನ್ನೆ",
- "current": "ಇಂದು",
- "next": "ನಾಳೆ",
- "past": [
- "one": "{0} ದಿನದ ಹಿಂದೆ",
- "other": "{0} ದಿನಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ದಿನದಲ್ಲಿ",
- "other": "{0} ದಿನಗಳಲ್ಲಿ"
- ]
- ],
- "hour": [
- "current": "ಈ ಗಂಟೆ",
- "past": [
- "one": "{0} ಗಂಟೆ ಹಿಂದೆ",
- "other": "{0} ಗಂಟೆಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ಗಂಟೆಯಲ್ಲಿ",
- "other": "{0} ಗಂಟೆಗಳಲ್ಲಿ"
- ]
- ],
- "minute": [
- "current": "ಈ ನಿಮಿಷ",
- "past": [
- "one": "{0} ನಿಮಿಷದ ಹಿಂದೆ",
- "other": "{0} ನಿಮಿಷಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ನಿಮಿಷದಲ್ಲಿ",
- "other": "{0} ನಿಮಿಷಗಳಲ್ಲಿ"
- ]
- ],
- "second": [
- "current": "ಈಗ",
- "past": [
- "one": "{0} ಸೆಕೆಂಡ್ ಹಿಂದೆ",
- "other": "{0} ಸೆಕೆಂಡುಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ಸೆಕೆಂಡ್ನಲ್ಲಿ",
- "other": "{0} ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ"
- ]
- ],
- "now": "ಈಗ"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ಹಿಂದಿನ ವರ್ಷ",
- "current": "ಈ ವರ್ಷ",
- "next": "ಮುಂದಿನ ವರ್ಷ",
- "past": [
- "one": "{0} ವರ್ಷದ ಹಿಂದೆ",
- "other": "{0} ವರ್ಷಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ವರ್ಷದಲ್ಲಿ",
- "other": "{0} ವರ್ಷಗಳಲ್ಲಿ"
- ]
- ],
- "quarter": [
- "previous": "ಹಿಂದಿನ ತ್ರೈಮಾಸಿಕ",
- "current": "ಈ ತ್ರೈಮಾಸಿಕ",
- "next": "ಮುಂದಿನ ತ್ರೈಮಾಸಿಕ",
- "past": [
- "one": "{0} ತ್ರೈಮಾಸಿಕದ ಹಿಂದೆ",
- "other": "{0} ತ್ರೈಮಾಸಿಕಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ತ್ರೈಮಾಸಿಕದಲ್ಲಿ",
- "other": "{0} ತ್ರೈಮಾಸಿಕಗಳಲ್ಲಿ"
- ]
- ],
- "month": [
- "previous": "ಕಳೆದ ತಿಂಗಳು",
- "current": "ಈ ತಿಂಗಳು",
- "next": "ಮುಂದಿನ ತಿಂಗಳು",
- "past": [
- "one": "{0} ತಿಂಗಳ ಹಿಂದೆ",
- "other": "{0} ತಿಂಗಳುಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ತಿಂಗಳಲ್ಲಿ",
- "other": "{0} ತಿಂಗಳುಗಳಲ್ಲಿ"
- ]
- ],
- "week": [
- "previous": "ಕಳೆದ ವಾರ",
- "current": "ಈ ವಾರ",
- "next": "ಮುಂದಿನ ವಾರ",
- "past": [
- "one": "{0} ವಾರದ ಹಿಂದೆ",
- "other": "{0} ವಾರಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ವಾರದಲ್ಲಿ",
- "other": "{0} ವಾರಗಳಲ್ಲಿ"
- ]
- ],
- "day": [
- "previous": "ನಿನ್ನೆ",
- "current": "ಇಂದು",
- "next": "ನಾಳೆ",
- "past": [
- "one": "{0} ದಿನದ ಹಿಂದೆ",
- "other": "{0} ದಿನಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ದಿನದಲ್ಲಿ",
- "other": "{0} ದಿನಗಳಲ್ಲಿ"
- ]
- ],
- "hour": [
- "current": "ಈ ಗಂಟೆ",
- "past": [
- "one": "{0} ಗಂಟೆ ಹಿಂದೆ",
- "other": "{0} ಗಂಟೆಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ಗಂಟೆಯಲ್ಲಿ",
- "other": "{0} ಗಂಟೆಗಳಲ್ಲಿ"
- ]
- ],
- "minute": [
- "current": "ಈ ನಿಮಿಷ",
- "past": [
- "one": "{0} ನಿಮಿಷದ ಹಿಂದೆ",
- "other": "{0} ನಿಮಿಷಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ನಿಮಿಷದಲ್ಲಿ",
- "other": "{0} ನಿಮಿಷಗಳಲ್ಲಿ"
- ]
- ],
- "second": [
- "current": "ಈಗ",
- "past": [
- "one": "{0} ಸೆಕೆಂಡ್ ಹಿಂದೆ",
- "other": "{0} ಸೆಕೆಂಡುಗಳ ಹಿಂದೆ"
- ],
- "future": [
- "one": "{0} ಸೆಕೆಂಡ್ನಲ್ಲಿ",
- "other": "{0} ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ"
- ]
- ],
- "now": "ಈಗ"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ko.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ko.swift
deleted file mode 100644
index 1d3bc6ca..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ko.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ko: RelativeFormatterLang {
-
- /// Korean
- public static let identifier: String = "ko"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return nil
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "작년",
- "current": "올해",
- "next": "내년",
- "past": "{0}년 전",
- "future": "{0}년 후"
- ],
- "quarter": [
- "previous": "지난 분기",
- "current": "이번 분기",
- "next": "다음 분기",
- "past": "{0}분기 전",
- "future": "{0}분기 후"
- ],
- "month": [
- "previous": "지난달",
- "current": "이번 달",
- "next": "다음 달",
- "past": "{0}개월 전",
- "future": "{0}개월 후"
- ],
- "week": [
- "previous": "지난주",
- "current": "이번 주",
- "next": "다음 주",
- "past": "{0}주 전",
- "future": "{0}주 후"
- ],
- "day": [
- "previous": "어제",
- "current": "오늘",
- "next": "내일",
- "past": "{0}일 전",
- "future": "{0}일 후"
- ],
- "hour": [
- "current": "현재 시간",
- "past": "{0}시간 전",
- "future": "{0}시간 후"
- ],
- "minute": [
- "current": "현재 분",
- "past": "{0}분 전",
- "future": "{0}분 후"
- ],
- "second": [
- "current": "지금",
- "past": "{0}초 전",
- "future": "{0}초 후"
- ],
- "now": "지금"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "작년",
- "current": "올해",
- "next": "내년",
- "past": "{0}년 전",
- "future": "{0}년 후"
- ],
- "quarter": [
- "previous": "지난 분기",
- "current": "이번 분기",
- "next": "다음 분기",
- "past": "{0}분기 전",
- "future": "{0}분기 후"
- ],
- "month": [
- "previous": "지난달",
- "current": "이번 달",
- "next": "다음 달",
- "past": "{0}개월 전",
- "future": "{0}개월 후"
- ],
- "week": [
- "previous": "지난주",
- "current": "이번 주",
- "next": "다음 주",
- "past": "{0}주 전",
- "future": "{0}주 후"
- ],
- "day": [
- "previous": "어제",
- "current": "오늘",
- "next": "내일",
- "past": "{0}일 전",
- "future": "{0}일 후"
- ],
- "hour": [
- "current": "현재 시간",
- "past": "{0}시간 전",
- "future": "{0}시간 후"
- ],
- "minute": [
- "current": "현재 분",
- "past": "{0}분 전",
- "future": "{0}분 후"
- ],
- "second": [
- "current": "지금",
- "past": "{0}초 전",
- "future": "{0}초 후"
- ],
- "now": "지금"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "작년",
- "current": "올해",
- "next": "내년",
- "past": "{0}년 전",
- "future": "{0}년 후"
- ],
- "quarter": [
- "previous": "지난 분기",
- "current": "이번 분기",
- "next": "다음 분기",
- "past": "{0}분기 전",
- "future": "{0}분기 후"
- ],
- "month": [
- "previous": "지난달",
- "current": "이번 달",
- "next": "다음 달",
- "past": "{0}개월 전",
- "future": "{0}개월 후"
- ],
- "week": [
- "previous": "지난주",
- "current": "이번 주",
- "next": "다음 주",
- "past": "{0}주 전",
- "future": "{0}주 후"
- ],
- "day": [
- "previous": "어제",
- "current": "오늘",
- "next": "내일",
- "past": "{0}일 전",
- "future": "{0}일 후"
- ],
- "hour": [
- "current": "현재 시간",
- "past": "{0}시간 전",
- "future": "{0}시간 후"
- ],
- "minute": [
- "current": "현재 분",
- "past": "{0}분 전",
- "future": "{0}분 후"
- ],
- "second": [
- "current": "지금",
- "past": "{0}초 전",
- "future": "{0}초 후"
- ],
- "now": "지금"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kok.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kok.swift
deleted file mode 100644
index 8dfe8438..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_kok.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_kok: RelativeFormatterLang {
-
- /// Konkani
- public static let identifier: String = "kok"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return nil
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "फाटलें वर्स",
- "current": "हें वर्स",
- "next": "फुडलें वर्स",
- "past": "{0} वर्स आदीं",
- "future": "{0} वर्सांनीं"
- ],
- "quarter": [
- "previous": "फाटलो त्रैमासीक",
- "current": "हो त्रैमासीक",
- "next": "फुडलो त्रैमासीक",
- "past": "{0} त्रैमासीकां आदीं",
- "future": "{0} त्रैमासीकांत"
- ],
- "month": [
- "previous": "फाटलो म्हयनो",
- "current": "हो म्हयनो",
- "next": "फुडलो म्हयनो",
- "past": "{0} म्हयन्यां आदीं",
- "future": "{0} म्हयन्यानीं"
- ],
- "week": [
- "previous": "निमाणो सप्तक",
- "current": "हो सप्तक",
- "next": "फुडलो सप्तक",
- "past": "{0} सप्तकां आदीं",
- "future": "{0} सप्त."
- ],
- "day": [
- "previous": "काल",
- "current": "आयज",
- "next": "फाल्यां",
- "past": "{0} दीस आदीं",
- "future": "{0} दिसानीं"
- ],
- "hour": [
- "current": "हें वर",
- "past": "{0} वरा आदीं",
- "future": "{0} वरांनीं"
- ],
- "minute": [
- "current": "हें मिनीट",
- "past": "{0} मिन्टां आदीं",
- "future": "{0} मिन्टां"
- ],
- "second": [
- "current": "आतां",
- "past": "{0} से. आदीं",
- "future": "{0} सेकंदानीं"
- ],
- "now": "आतां"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "फाटलें वर्स",
- "current": "हें वर्स",
- "next": "फुडलें वर्स",
- "past": "{0} वर्स आदीं",
- "future": "{0} वर्सांनीं"
- ],
- "quarter": [
- "previous": "फाटलो त्रैमासीक",
- "current": "हो त्रैमासीक",
- "next": "फुडलो त्रैमासीक",
- "past": "{0} त्रैमासीकां आदीं",
- "future": "{0} त्रैमासीकांत"
- ],
- "month": [
- "previous": "फाटलो म्हयनो",
- "current": "हो म्हयनो",
- "next": "फुडलो म्हयनो",
- "past": "{0} म्हयन्यां आदीं",
- "future": "{0} म्हयन्यानीं"
- ],
- "week": [
- "previous": "निमाणो सप्तक",
- "current": "हो सप्तक",
- "next": "फुडलो सप्तक",
- "past": "{0} सप्त. आदीं",
- "future": "{0} सप्तकांनीं"
- ],
- "day": [
- "previous": "काल",
- "current": "आयज",
- "next": "फाल्यां",
- "past": "{0} दीस आदीं",
- "future": "{0} दिसानीं"
- ],
- "hour": [
- "current": "हें वर",
- "past": "{0} वरा आदीं",
- "future": "{0} वरांनीं"
- ],
- "minute": [
- "current": "हें मिनीट",
- "past": "{0} मिन्टां आदीं",
- "future": "{0} मिन्टां"
- ],
- "second": [
- "current": "आतां",
- "past": "{0} से. आदीं",
- "future": "{0} सेकंदानीं"
- ],
- "now": "आतां"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "फाटलें वर्स",
- "current": "हें वर्स",
- "next": "फुडलें वर्स",
- "past": "{0} वर्सां आदीं",
- "future": "{0} वर्सांनीं"
- ],
- "quarter": [
- "previous": "फाटलो त्रैमासीक",
- "current": "हो त्रैमासीक",
- "next": "फुडलो त्रैमासीक",
- "past": "{0} त्रैमासीकां आदीं",
- "future": "{0} त्रैमासीकांत"
- ],
- "month": [
- "previous": "फाटलो म्हयनो",
- "current": "हो म्हयनो",
- "next": "फुडलो म्हयनो",
- "past": "{0} म्हयन्यां आदीं",
- "future": "{0} म्हयन्यानीं"
- ],
- "week": [
- "previous": "निमाणो सप्तक",
- "current": "हो सप्तक",
- "next": "फुडलो सप्तक",
- "past": "{0} सप्तकां आदीं",
- "future": "{0} सप्तकांनीं"
- ],
- "day": [
- "previous": "काल",
- "current": "आयज",
- "next": "फाल्यां",
- "past": "{0} दीस आदीं",
- "future": "{0} दिसानीं"
- ],
- "hour": [
- "current": "हें वर",
- "past": "{0} वरा आदीं",
- "future": "{0} वरांनीं"
- ],
- "minute": [
- "current": "हें मिनीट",
- "past": "{0} मिन्टां आदीं",
- "future": "{0} मिन्टां"
- ],
- "second": [
- "current": "आतां",
- "past": "{0} सेकंद आदीं",
- "future": "{0} सेकंदानीं"
- ],
- "now": "आतां"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ksh.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ksh.swift
deleted file mode 100644
index e335f353..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ksh.swift
+++ /dev/null
@@ -1,218 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ksh: RelativeFormatterLang {
-
- /// Colognian
- public static let identifier: String = "ksh"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 0: return .zero
- case 1: return .one
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "läz Johr",
- "current": "diß Johr",
- "next": "näx Johr",
- "past": [
- "zero": "vör keijnem Johr",
- "one": "vör {0} Johr",
- "other": "vör {0} Johre"
- ],
- "future": [
- "zero": "en keinem Johr",
- "one": "en {0} Johr",
- "other": "en {0} Johre"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "lätzde Mohnd",
- "current": "diese Mohnd",
- "next": "nächste Mohnd",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "läz Woch",
- "current": "di Woch",
- "next": "nächste Woche",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "jestere",
- "current": "hück",
- "next": "morje",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "läz Johr",
- "current": "diß Johr",
- "next": "näx Johr",
- "past": [
- "zero": "vör keijnem Johr",
- "one": "vör {0} Johr",
- "other": "vör {0} Johre"
- ],
- "future": [
- "zero": "en keinem Johr",
- "one": "en {0} Johr",
- "other": "en {0} Johre"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "lätzde Mohnd",
- "current": "diese Mohnd",
- "next": "nächste Mohnd",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "läz Woch",
- "current": "di Woch",
- "next": "nächste Woche",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "jestere",
- "current": "hück",
- "next": "morje",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "läz Johr",
- "current": "diß Johr",
- "next": "näx Johr",
- "past": [
- "zero": "vör keijnem Johr",
- "one": "vör {0} Johr",
- "other": "vör {0} Johre"
- ],
- "future": [
- "zero": "en keinem Johr",
- "one": "en {0} Johr",
- "other": "en {0} Johre"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "lätzde Mohnd",
- "current": "diese Mohnd",
- "next": "nächste Mohnd",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "läz Woch",
- "current": "di Woch",
- "next": "nächste Woche",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "jestere",
- "current": "hück",
- "next": "morje",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ky.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ky.swift
deleted file mode 100644
index e3c5c74e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ky.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ky: RelativeFormatterLang {
-
- /// Kyrgyz
- public static let identifier: String = "ky"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "былтыр",
- "current": "быйыл",
- "next": "эмдиги жылы",
- "past": "{0} жыл мурун",
- "future": "{0} жыл. кийин"
- ],
- "quarter": [
- "previous": "акыркы чейр.",
- "current": "бул чейр.",
- "next": "кийинки чейр.",
- "past": "{0} чейр. мурун",
- "future": "{0} чейректен кийин"
- ],
- "month": [
- "previous": "өткөн айда",
- "current": "бул айда",
- "next": "эмдиги айда",
- "past": "{0} ай мурун",
- "future": "{0} айд. кийин"
- ],
- "week": [
- "previous": "өткөн апт.",
- "current": "ушул апт.",
- "next": "келерки апт.",
- "past": "{0} апт. мурун",
- "future": "{0} апт. кийин"
- ],
- "day": [
- "previous": "кечээ",
- "current": "бүгүн",
- "next": "эртеӊ",
- "past": "{0} күн мурун",
- "future": "{0} күн. кийин"
- ],
- "hour": [
- "current": "ушул саатта",
- "past": "{0} саат. мурун",
- "future": "{0} саат. кийин"
- ],
- "minute": [
- "current": "ушул мүнөттө",
- "past": "{0} мүн. мурун",
- "future": "{0} мүн. кийин"
- ],
- "second": [
- "current": "азыр",
- "past": "{0} сек. мурун",
- "future": "{0} сек. кийин"
- ],
- "now": "азыр"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "былтыр",
- "current": "быйыл",
- "next": "эмдиги жылы",
- "past": "{0} жыл мурун",
- "future": "{0} жыл. кийин"
- ],
- "quarter": [
- "previous": "акыркы чейр.",
- "current": "бул чейр.",
- "next": "кийинки чейр.",
- "past": "{0} чейр. мурун",
- "future": "{0} чейр. кийин"
- ],
- "month": [
- "previous": "өткөн айда",
- "current": "бул айда",
- "next": "эмдиги айда",
- "past": "{0} ай мурн",
- "future": "{0} айд. кийн"
- ],
- "week": [
- "previous": "өткөн апт.",
- "current": "ушул апт.",
- "next": "келерки апт.",
- "past": "{0} апт. мурун",
- "future": "{0} апт. кийин"
- ],
- "day": [
- "previous": "кечээ",
- "current": "бүгүн",
- "next": "эртеӊ",
- "past": "{0} күн мурун",
- "future": "{0} күн. кийин"
- ],
- "hour": [
- "current": "ушул саатта",
- "past": "{0} с. мурн",
- "future": "{0} с. кийн"
- ],
- "minute": [
- "current": "ушул мүнөттө",
- "past": "{0} мүн. мурн",
- "future": "{0} мүн. кийн"
- ],
- "second": [
- "current": "азыр",
- "past": "{0} сек. мурн",
- "future": "{0} сек. кийн"
- ],
- "now": "азыр"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "былтыр",
- "current": "быйыл",
- "next": "эмдиги жылы",
- "past": "{0} жыл мурун",
- "future": "{0} жылдан кийин"
- ],
- "quarter": [
- "previous": "акыркы чейрек",
- "current": "бул чейрек",
- "next": "кийинки чейрек",
- "past": "{0} чейрек мурун",
- "future": "{0} чейректен кийин"
- ],
- "month": [
- "previous": "өткөн айда",
- "current": "бул айда",
- "next": "эмдиги айда",
- "past": "{0} ай мурун",
- "future": "{0} айдан кийин"
- ],
- "week": [
- "previous": "өткөн аптада",
- "current": "ушул аптада",
- "next": "келерки аптада",
- "past": "{0} апта мурун",
- "future": "{0} аптадан кийин"
- ],
- "day": [
- "previous": "кечээ",
- "current": "бүгүн",
- "next": "эртеӊ",
- "past": "{0} күн мурун",
- "future": "{0} күндөн кийин"
- ],
- "hour": [
- "current": "ушул саатта",
- "past": "{0} саат мурун",
- "future": "{0} сааттан кийин"
- ],
- "minute": [
- "current": "ушул мүнөттө",
- "past": "{0} мүнөт мурун",
- "future": "{0} мүнөттөн кийин"
- ],
- "second": [
- "current": "азыр",
- "past": "{0} секунд мурун",
- "future": "{0} секунддан кийин"
- ],
- "now": "азыр"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lb.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lb.swift
deleted file mode 100644
index 1cfebdbb..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lb.swift
+++ /dev/null
@@ -1,286 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_lb: RelativeFormatterLang {
-
- /// Luxembourgish
- public static let identifier: String = "lb"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "lescht Joer",
- "current": "dëst Joer",
- "next": "nächst Joer",
- "past": [
- "one": "virun {0} J.",
- "other": "viru(n) {0} J."
- ],
- "future": [
- "one": "an {0} J.",
- "other": "a(n) {0} J."
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": [
- "one": "virun {0} Q.",
- "other": "viru(n) {0} Q."
- ],
- "future": [
- "one": "an {0} Q.",
- "other": "a(n) {0} Q."
- ]
- ],
- "month": [
- "previous": "leschte Mount",
- "current": "dëse Mount",
- "next": "nächste Mount",
- "past": [
- "one": "virun {0} M.",
- "other": "viru(n) {0} M."
- ],
- "future": [
- "one": "an {0} M.",
- "other": "a(n) {0} M."
- ]
- ],
- "week": [
- "previous": "lescht Woch",
- "current": "dës Woch",
- "next": "nächst Woch",
- "past": [
- "one": "virun {0} W.",
- "other": "viru(n) {0} W."
- ],
- "future": [
- "one": "an {0} W.",
- "other": "a(n) {0} W."
- ]
- ],
- "day": [
- "previous": "gëschter",
- "current": "haut",
- "next": "muer",
- "past": [
- "one": "virun {0} D.",
- "other": "viru(n) {0} D."
- ],
- "future": [
- "one": "an {0} D.",
- "other": "a(n) {0} D."
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "virun {0} St.",
- "other": "viru(n) {0} St."
- ],
- "future": [
- "one": "an {0} St.",
- "other": "a(n) {0} St."
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "virun {0} Min.",
- "other": "viru(n) {0} Min."
- ],
- "future": [
- "one": "an {0} Min.",
- "other": "a(n) {0} Min."
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "virun {0} Sek.",
- "other": "viru(n) {0} Sek."
- ],
- "future": [
- "one": "an {0} Sek.",
- "other": "a(n) {0} Sek."
- ]
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "lescht Joer",
- "current": "dëst Joer",
- "next": "nächst Joer",
- "past": "-{0} J.",
- "future": "+{0} J."
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q.",
- "future": "+{0} Q."
- ],
- "month": [
- "previous": "leschte Mount",
- "current": "dëse Mount",
- "next": "nächste Mount",
- "past": "-{0} M.",
- "future": "+{0} M."
- ],
- "week": [
- "previous": "lescht Woch",
- "current": "dës Woch",
- "next": "nächst Woch",
- "past": "-{0} W.",
- "future": "+{0} W."
- ],
- "day": [
- "previous": "gëschter",
- "current": "haut",
- "next": "muer",
- "past": "-{0} D.",
- "future": "+{0} D."
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} St.",
- "future": "+{0} St."
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} Min.",
- "future": "+{0} Min."
- ],
- "second": [
- "current": "now",
- "past": "-{0} Sek.",
- "future": "+{0} Sek."
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "lescht Joer",
- "current": "dëst Joer",
- "next": "nächst Joer",
- "past": [
- "one": "virun {0} Joer",
- "other": "viru(n) {0} Joer"
- ],
- "future": [
- "one": "an {0} Joer",
- "other": "a(n) {0} Joer"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": [
- "one": "virun {0} Quartal",
- "other": "viru(n) {0} Quartaler"
- ],
- "future": [
- "one": "an {0} Quartal",
- "other": "a(n) {0} Quartaler"
- ]
- ],
- "month": [
- "previous": "leschte Mount",
- "current": "dëse Mount",
- "next": "nächste Mount",
- "past": [
- "one": "virun {0} Mount",
- "other": "viru(n) {0} Méint"
- ],
- "future": [
- "one": "an {0} Mount",
- "other": "a(n) {0} Méint"
- ]
- ],
- "week": [
- "previous": "lescht Woch",
- "current": "dës Woch",
- "next": "nächst Woch",
- "past": [
- "one": "virun {0} Woch",
- "other": "viru(n) {0} Wochen"
- ],
- "future": [
- "one": "an {0} Woch",
- "other": "a(n) {0} Wochen"
- ]
- ],
- "day": [
- "previous": "gëschter",
- "current": "haut",
- "next": "muer",
- "past": [
- "one": "virun {0} Dag",
- "other": "viru(n) {0} Deeg"
- ],
- "future": [
- "one": "an {0} Dag",
- "other": "a(n) {0} Deeg"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "virun {0} Stonn",
- "other": "viru(n) {0} Stonnen"
- ],
- "future": [
- "one": "an {0} Stonn",
- "other": "a(n) {0} Stonnen"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "virun {0} Minutt",
- "other": "viru(n) {0} Minutten"
- ],
- "future": [
- "one": "an {0} Minutt",
- "other": "a(n) {0} Minutten"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "virun {0} Sekonn",
- "other": "viru(n) {0} Sekonnen"
- ],
- "future": [
- "one": "an {0} Sekonn",
- "other": "a(n) {0} Sekonnen"
- ]
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lkt.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lkt.swift
deleted file mode 100644
index 38271617..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lkt.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_lkt: RelativeFormatterLang {
-
- /// Lakota
- public static let identifier: String = "lkt"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return nil
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "Ómakȟa kʼuŋ héhaŋ",
- "current": "Lé ómakȟa kiŋ",
- "next": "Tȟokáta ómakȟa kiŋháŋ",
- "past": "Hékta ómakȟa {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ ómakȟa {0} kiŋháŋ"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Wí kʼuŋ héhaŋ",
- "current": "Lé wí kiŋ",
- "next": "Tȟokáta wí kiŋháŋ",
- "past": "Hékta wíyawapi {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ wíyawapi {0} kiŋháŋ"
- ],
- "week": [
- "previous": "Okó kʼuŋ héhaŋ",
- "current": "Lé okó kiŋ",
- "next": "Tȟokáta okó kiŋháŋ",
- "past": "Hékta okó {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ okó {0} kiŋháŋ"
- ],
- "day": [
- "previous": "Ȟtálehaŋ",
- "current": "Lé aŋpétu kiŋ",
- "next": "Híŋhaŋni kiŋháŋ",
- "past": "Hékta {0}-čháŋ k’uŋ héhaŋ",
- "future": "Letáŋhaŋ {0}-čháŋ kiŋháŋ"
- ],
- "hour": [
- "current": "this hour",
- "past": "Hékta owápȟe {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ owápȟe {0} kiŋháŋ"
- ],
- "minute": [
- "current": "this minute",
- "past": "Hékta oȟ’áŋkȟo {0} k’uŋ héhaŋ",
- "future": "Letáŋhaŋ oȟ’áŋkȟo {0} kiŋháŋ"
- ],
- "second": [
- "current": "now",
- "past": "Hékta okpí {0} k’uŋ héhaŋ",
- "future": "Letáŋhaŋ okpí {0} kiŋháŋ"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "Ómakȟa kʼuŋ héhaŋ",
- "current": "Lé ómakȟa kiŋ",
- "next": "Tȟokáta ómakȟa kiŋháŋ",
- "past": "Hékta ómakȟa {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ ómakȟa {0} kiŋháŋ"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Wí kʼuŋ héhaŋ",
- "current": "Lé wí kiŋ",
- "next": "Tȟokáta wí kiŋháŋ",
- "past": "Hékta wíyawapi {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ wíyawapi {0} kiŋháŋ"
- ],
- "week": [
- "previous": "Okó kʼuŋ héhaŋ",
- "current": "Lé okó kiŋ",
- "next": "Tȟokáta okó kiŋháŋ",
- "past": "Hékta okó {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ okó {0} kiŋháŋ"
- ],
- "day": [
- "previous": "Ȟtálehaŋ",
- "current": "Lé aŋpétu kiŋ",
- "next": "Híŋhaŋni kiŋháŋ",
- "past": "Hékta {0}-čháŋ k’uŋ héhaŋ",
- "future": "Letáŋhaŋ {0}-čháŋ kiŋháŋ"
- ],
- "hour": [
- "current": "this hour",
- "past": "Hékta owápȟe {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ owápȟe {0} kiŋháŋ"
- ],
- "minute": [
- "current": "this minute",
- "past": "Hékta oȟ’áŋkȟo {0} k’uŋ héhaŋ",
- "future": "Letáŋhaŋ oȟ’áŋkȟo {0} kiŋháŋ"
- ],
- "second": [
- "current": "now",
- "past": "Hékta okpí {0} k’uŋ héhaŋ",
- "future": "Letáŋhaŋ okpí {0} kiŋháŋ"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "Ómakȟa kʼuŋ héhaŋ",
- "current": "Lé ómakȟa kiŋ",
- "next": "Tȟokáta ómakȟa kiŋháŋ",
- "past": "Hékta ómakȟa {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ ómakȟa {0} kiŋháŋ"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Wí kʼuŋ héhaŋ",
- "current": "Lé wí kiŋ",
- "next": "Tȟokáta wí kiŋháŋ",
- "past": "Hékta wíyawapi {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ wíyawapi {0} kiŋháŋ"
- ],
- "week": [
- "previous": "Okó kʼuŋ héhaŋ",
- "current": "Lé okó kiŋ",
- "next": "Tȟokáta okó kiŋháŋ",
- "past": "Hékta okó {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ okó {0} kiŋháŋ"
- ],
- "day": [
- "previous": "Ȟtálehaŋ",
- "current": "Lé aŋpétu kiŋ",
- "next": "Híŋhaŋni kiŋháŋ",
- "past": "Hékta {0}-čháŋ k’uŋ héhaŋ",
- "future": "Letáŋhaŋ {0}-čháŋ kiŋháŋ"
- ],
- "hour": [
- "current": "this hour",
- "past": "Hékta owápȟe {0} kʼuŋ héhaŋ",
- "future": "Letáŋhaŋ owápȟe {0} kiŋháŋ"
- ],
- "minute": [
- "current": "this minute",
- "past": "Hékta oȟ’áŋkȟo {0} k’uŋ héhaŋ",
- "future": "Letáŋhaŋ oȟ’áŋkȟo {0} kiŋháŋ"
- ],
- "second": [
- "current": "now",
- "past": "Hékta okpí {0} k’uŋ héhaŋ",
- "future": "Letáŋhaŋ okpí {0} kiŋháŋ"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lo.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lo.swift
deleted file mode 100644
index 311bc166..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lo.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_lo: RelativeFormatterLang {
-
- /// Lao
- public static let identifier: String = "lo"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return nil
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ປີກາຍ",
- "current": "ປີນີ້",
- "next": "ປີໜ້າ",
- "past": "{0} ປີກ່ອນ",
- "future": "ໃນອີກ {0} ປີ"
- ],
- "quarter": [
- "previous": "ໄຕຣມາດກ່ອນໜ້າ",
- "current": "ໄຕຣມາດນີ້",
- "next": "ໄຕຣມາດໜ້າ",
- "past": "{0} ຕມ. ກ່ອນ",
- "future": "ໃນ {0} ຕມ."
- ],
- "month": [
- "previous": "ເດືອນແລ້ວ",
- "current": "ເດືອນນີ້",
- "next": "ເດືອນໜ້າ",
- "past": "{0} ດ. ກ່ອນ",
- "future": "ໃນອີກ {0} ດ."
- ],
- "week": [
- "previous": "ອາທິດແລ້ວ",
- "current": "ອາທິດນີ້",
- "next": "ອາທິດໜ້າ",
- "past": "{0} ອທ. ກ່ອນ",
- "future": "ໃນອີກ {0} ອທ."
- ],
- "day": [
- "previous": "ມື້ວານ",
- "current": "ມື້ນີ້",
- "next": "ມື້ອື່ນ",
- "past": "{0} ມື້ກ່ອນ",
- "future": "ໃນອີກ {0} ມື້"
- ],
- "hour": [
- "current": "ຊົ່ວໂມງນີ້",
- "past": "{0} ຊມ. ກ່ອນ",
- "future": "ໃນອີກ {0} ຊມ."
- ],
- "minute": [
- "current": "ນາທີນີ້",
- "past": "{0} ນທ. ກ່ອນ",
- "future": "ໃນ {0} ນທ."
- ],
- "second": [
- "current": "ຕອນນີ້",
- "past": "{0} ວິ. ກ່ອນ",
- "future": "ໃນ {0} ວິ."
- ],
- "now": "ຕອນນີ້"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ປີກາຍ",
- "current": "ປີນີ້",
- "next": "ປີໜ້າ",
- "past": "{0} ປີກ່ອນ",
- "future": "ໃນອີກ {0} ປີ"
- ],
- "quarter": [
- "previous": "ໄຕຣມາດກ່ອນໜ້າ",
- "current": "ໄຕຣມາດນີ້",
- "next": "ໄຕຣມາດໜ້າ",
- "past": "{0} ຕມ. ກ່ອນ",
- "future": "ໃນ {0} ຕມ."
- ],
- "month": [
- "previous": "ເດືອນແລ້ວ",
- "current": "ເດືອນນີ້",
- "next": "ເດືອນໜ້າ",
- "past": "{0} ດ. ກ່ອນ",
- "future": "ໃນອີກ {0} ດ."
- ],
- "week": [
- "previous": "ອາທິດແລ້ວ",
- "current": "ອາທິດນີ້",
- "next": "ອາທິດໜ້າ",
- "past": "{0} ອທ. ກ່ອນ",
- "future": "ໃນອີກ {0} ອທ."
- ],
- "day": [
- "previous": "ມື້ວານ",
- "current": "ມື້ນີ້",
- "next": "ມື້ອື່ນ",
- "past": "{0} ມື້ກ່ອນ",
- "future": "ໃນອີກ {0} ມື້"
- ],
- "hour": [
- "current": "ຊົ່ວໂມງນີ້",
- "past": "{0} ຊມ. ກ່ອນ",
- "future": "ໃນອີກ {0} ຊມ."
- ],
- "minute": [
- "current": "ນາທີນີ້",
- "past": "{0} ນທ. ກ່ອນ",
- "future": "ໃນ {0} ນທ."
- ],
- "second": [
- "current": "ຕອນນີ້",
- "past": "{0} ວິ. ກ່ອນ",
- "future": "ໃນ {0} ວິ."
- ],
- "now": "ຕອນນີ້"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ປີກາຍ",
- "current": "ປີນີ້",
- "next": "ປີໜ້າ",
- "past": "{0} ປີກ່ອນ",
- "future": "ໃນອີກ {0} ປີ"
- ],
- "quarter": [
- "previous": "ໄຕຣມາດກ່ອນໜ້າ",
- "current": "ໄຕຣມາດນີ້",
- "next": "ໄຕຣມາດໜ້າ",
- "past": "{0} ໄຕຣມາດກ່ອນ",
- "future": "ໃນອີກ {0} ໄຕຣມາດ"
- ],
- "month": [
- "previous": "ເດືອນແລ້ວ",
- "current": "ເດືອນນີ້",
- "next": "ເດືອນໜ້າ",
- "past": "{0} ເດືອນກ່ອນ",
- "future": "ໃນອີກ {0} ເດືອນ"
- ],
- "week": [
- "previous": "ອາທິດແລ້ວ",
- "current": "ອາທິດນີ້",
- "next": "ອາທິດໜ້າ",
- "past": "{0} ອາທິດກ່ອນ",
- "future": "ໃນອີກ {0} ອາທິດ"
- ],
- "day": [
- "previous": "ມື້ວານ",
- "current": "ມື້ນີ້",
- "next": "ມື້ອື່ນ",
- "past": "{0} ມື້ກ່ອນ",
- "future": "ໃນອີກ {0} ມື້"
- ],
- "hour": [
- "current": "ຊົ່ວໂມງນີ້",
- "past": "{0} ຊົ່ວໂມງກ່ອນ",
- "future": "ໃນອີກ {0} ຊົ່ວໂມງ"
- ],
- "minute": [
- "current": "ນາທີນີ້",
- "past": "{0} ນາທີກ່ອນ",
- "future": "{0} ໃນອີກ 0 ນາທີ"
- ],
- "second": [
- "current": "ຕອນນີ້",
- "past": "{0} ວິນາທີກ່ອນ",
- "future": "ໃນອີກ {0} ວິນາທີ"
- ],
- "now": "ຕອນນີ້"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lt.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lt.swift
deleted file mode 100644
index ec9ed14e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lt.swift
+++ /dev/null
@@ -1,276 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_lt: RelativeFormatterLang {
-
- /// Lithuanian
- public static let identifier: String = "lt"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- if value == 0 {
- return .zero
- }
-
- if value == 1 {
- return .one
- }
-
- switch mod10 {
- case 1:
- if mod100 != 11 {
- return .one
- }
- return .many
- default:
- return .many
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "praėjusiais metais",
- "current": "šiais metais",
- "next": "kitais metais",
- "past": "prieš {0} m.",
- "future": "po {0} m."
- ],
- "quarter": [
- "previous": "praėjęs ketvirtis",
- "current": "šis ketvirtis",
- "next": "kitas ketvirtis",
- "past": "prieš {0} ketv.",
- "future": "po {0} ketv."
- ],
- "month": [
- "previous": "praėjusį mėnesį",
- "current": "šį mėnesį",
- "next": "kitą mėnesį",
- "past": "prieš {0} mėn.",
- "future": "po {0} mėn."
- ],
- "week": [
- "previous": "praėjusią savaitę",
- "current": "šią savaitę",
- "next": "kitą savaitę",
- "past": "prieš {0} sav.",
- "future": "po {0} sav."
- ],
- "day": [
- "previous": "vakar",
- "current": "šiandien",
- "next": "rytoj",
- "past": "prieš {0} d.",
- "future": "po {0} d."
- ],
- "hour": [
- "current": "šią valandą",
- "past": "prieš {0} val.",
- "future": "po {0} val."
- ],
- "minute": [
- "current": "šią minutę",
- "past": "prieš {0} min.",
- "future": "po {0} min."
- ],
- "second": [
- "current": "dabar",
- "past": "prieš {0} sek.",
- "future": "po {0} sek."
- ],
- "now": "dabar"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "praėjusiais metais",
- "current": "šiais metais",
- "next": "kitais metais",
- "past": "prieš {0} m.",
- "future": "po {0} m."
- ],
- "quarter": [
- "previous": "praėjęs ketvirtis",
- "current": "šis ketvirtis",
- "next": "kitas ketvirtis",
- "past": "prieš {0} ketv.",
- "future": "po {0} ketv."
- ],
- "month": [
- "previous": "praėjusį mėnesį",
- "current": "šį mėnesį",
- "next": "kitą mėnesį",
- "past": "prieš {0} mėn.",
- "future": "po {0} mėn."
- ],
- "week": [
- "previous": "praėjusią savaitę",
- "current": "šią savaitę",
- "next": "kitą savaitę",
- "past": "prieš {0} sav.",
- "future": "po {0} sav."
- ],
- "day": [
- "previous": "vakar",
- "current": "šiandien",
- "next": "rytoj",
- "past": "prieš {0} d.",
- "future": "po {0} d."
- ],
- "hour": [
- "current": "šią valandą",
- "past": "prieš {0} val.",
- "future": "po {0} val."
- ],
- "minute": [
- "current": "šią minutę",
- "past": "prieš {0} min.",
- "future": "po {0} min."
- ],
- "second": [
- "current": "dabar",
- "past": "prieš {0} s",
- "future": "po {0} s"
- ],
- "now": "dabar"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "praėjusiais metais",
- "current": "šiais metais",
- "next": "kitais metais",
- "past": [
- "one": "prieš {0} metus",
- "few": "prieš {0} metus",
- "other": "prieš {0} metų"
- ],
- "future": "po {0} metų"
- ],
- "quarter": [
- "previous": "praėjęs ketvirtis",
- "current": "šis ketvirtis",
- "next": "kitas ketvirtis",
- "past": [
- "one": "prieš {0} ketvirtį",
- "few": "prieš {0} ketvirčius",
- "many": "prieš {0} ketvirčio",
- "other": "prieš {0} ketvirčių"
- ],
- "future": [
- "one": "po {0} ketvirčio",
- "many": "po {0} ketvirčio",
- "other": "po {0} ketvirčių"
- ]
- ],
- "month": [
- "previous": "praėjusį mėnesį",
- "current": "šį mėnesį",
- "next": "kitą mėnesį",
- "past": [
- "one": "prieš {0} mėnesį",
- "few": "prieš {0} mėnesius",
- "many": "prieš {0} mėnesio",
- "other": "prieš {0} mėnesių"
- ],
- "future": [
- "one": "po {0} mėnesio",
- "many": "po {0} mėnesio",
- "other": "po {0} mėnesių"
- ]
- ],
- "week": [
- "previous": "praėjusią savaitę",
- "current": "šią savaitę",
- "next": "kitą savaitę",
- "past": [
- "one": "prieš {0} savaitę",
- "few": "prieš {0} savaites",
- "many": "prieš {0} savaitės",
- "other": "prieš {0} savaičių"
- ],
- "future": [
- "one": "po {0} savaitės",
- "many": "po {0} savaitės",
- "other": "po {0} savaičių"
- ]
- ],
- "day": [
- "previous": "vakar",
- "current": "šiandien",
- "next": "rytoj",
- "past": [
- "one": "prieš {0} dieną",
- "few": "prieš {0} dienas",
- "many": "prieš {0} dienos",
- "other": "prieš {0} dienų"
- ],
- "future": [
- "one": "po {0} dienos",
- "many": "po {0} dienos",
- "other": "po {0} dienų"
- ]
- ],
- "hour": [
- "current": "šią valandą",
- "past": [
- "one": "prieš {0} valandą",
- "few": "prieš {0} valandas",
- "many": "prieš {0} valandos",
- "other": "prieš {0} valandų"
- ],
- "future": [
- "one": "po {0} valandos",
- "many": "po {0} valandos",
- "other": "po {0} valandų"
- ]
- ],
- "minute": [
- "current": "šią minutę",
- "past": [
- "one": "prieš {0} minutę",
- "few": "prieš {0} minutes",
- "many": "prieš {0} minutės",
- "other": "prieš {0} minučių"
- ],
- "future": [
- "one": "po {0} minutės",
- "many": "po {0} minutės",
- "other": "po {0} minučių"
- ]
- ],
- "second": [
- "current": "dabar",
- "past": [
- "one": "prieš {0} sekundę",
- "few": "prieš {0} sekundes",
- "many": "prieš {0} sekundės",
- "other": "prieš {0} sekundžių"
- ],
- "future": [
- "one": "po {0} sekundės",
- "many": "po {0} sekundės",
- "other": "po {0} sekundžių"
- ]
- ],
- "now": "dabar"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lv.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lv.swift
deleted file mode 100644
index 39ce764d..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_lv.swift
+++ /dev/null
@@ -1,275 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_lv: RelativeFormatterLang {
-
- /// Latvian
- public static let identifier: String = "lv"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- if value == 0 {
- return .zero
- }
-
- if value == 1 {
- return .one
- }
-
- switch mod10 {
- case 1:
- if mod100 != 11 {
- return .one
- }
- return .other
- default:
- return .many
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "pagājušajā gadā",
- "current": "šajā gadā",
- "next": "nākamajā gadā",
- "past": "pirms {0} g.",
- "future": "pēc {0} g."
- ],
- "quarter": [
- "previous": "pēdējais ceturksnis",
- "current": "šis ceturksnis",
- "next": "nākamais ceturksnis",
- "past": "pirms {0} cet.",
- "future": "pēc {0} cet."
- ],
- "month": [
- "previous": "pagājušajā mēnesī",
- "current": "šajā mēnesī",
- "next": "nākamajā mēnesī",
- "past": "pirms {0} mēn.",
- "future": "pēc {0} mēn."
- ],
- "week": [
- "previous": "pagājušajā nedēļā",
- "current": "šajā nedēļā",
- "next": "nākamajā nedēļā",
- "past": "pirms {0} ned.",
- "future": "pēc {0} ned."
- ],
- "day": [
- "previous": "vakar",
- "current": "šodien",
- "next": "rīt",
- "past": [
- "one": "pirms {0} d.",
- "other": "pirms {0} d."
- ],
- "future": [
- "one": "pēc {0} d.",
- "other": "pēc {0} d."
- ]
- ],
- "hour": [
- "current": "šajā stundā",
- "past": "pirms {0} st.",
- "future": "pēc {0} st."
- ],
- "minute": [
- "current": "šajā minūtē",
- "past": "pirms {0} min.",
- "future": "pēc {0} min."
- ],
- "second": [
- "current": "tagad",
- "past": "pirms {0} sek.",
- "future": "pēc {0} sek."
- ],
- "now": "tagad"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "pagājušajā gadā",
- "current": "šajā gadā",
- "next": "nākamajā gadā",
- "past": "pirms {0} g.",
- "future": "pēc {0} g."
- ],
- "quarter": [
- "previous": "pēdējais ceturksnis",
- "current": "šis ceturksnis",
- "next": "nākamais ceturksnis",
- "past": "pirms {0} cet.",
- "future": "pēc {0} cet."
- ],
- "month": [
- "previous": "pagājušajā mēnesī",
- "current": "šajā mēnesī",
- "next": "nākamajā mēnesī",
- "past": "pirms {0} mēn.",
- "future": "pēc {0} mēn."
- ],
- "week": [
- "previous": "pagājušajā nedēļā",
- "current": "šajā nedēļā",
- "next": "nākamajā nedēļā",
- "past": "pirms {0} ned.",
- "future": "pēc {0} ned."
- ],
- "day": [
- "previous": "vakar",
- "current": "šodien",
- "next": "rīt",
- "past": [
- "one": "pirms {0} d.",
- "other": "pirms {0} d."
- ],
- "future": [
- "one": "pēc {0} d.",
- "other": "pēc {0} d."
- ]
- ],
- "hour": [
- "current": "šajā stundā",
- "past": "pirms {0} h",
- "future": "pēc {0} h"
- ],
- "minute": [
- "current": "šajā minūtē",
- "past": "pirms {0} min",
- "future": [
- "one": "pēc {0} min",
- "other": "pēc {0} min"
- ]
- ],
- "second": [
- "current": "tagad",
- "past": [
- "one": "pirms {0} s",
- "other": "pirms {0} s"
- ],
- "future": "pēc {0} s"
- ],
- "now": "tagad"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "pagājušajā gadā",
- "current": "šajā gadā",
- "next": "nākamajā gadā",
- "past": [
- "one": "pirms {0} gada",
- "other": "pirms {0} gadiem"
- ],
- "future": [
- "one": "pēc {0} gada",
- "other": "pēc {0} gadiem"
- ]
- ],
- "quarter": [
- "previous": "pēdējais ceturksnis",
- "current": "šis ceturksnis",
- "next": "nākamais ceturksnis",
- "past": [
- "one": "pirms {0} ceturkšņa",
- "other": "pirms {0} ceturkšņiem"
- ],
- "future": [
- "one": "pēc {0} ceturkšņa",
- "other": "pēc {0} ceturkšņiem"
- ]
- ],
- "month": [
- "previous": "pagājušajā mēnesī",
- "current": "šajā mēnesī",
- "next": "nākamajā mēnesī",
- "past": [
- "one": "pirms {0} mēneša",
- "other": "pirms {0} mēnešiem"
- ],
- "future": [
- "one": "pēc {0} mēneša",
- "other": "pēc {0} mēnešiem"
- ]
- ],
- "week": [
- "previous": "pagājušajā nedēļā",
- "current": "šajā nedēļā",
- "next": "nākamajā nedēļā",
- "past": [
- "one": "pirms {0} nedēļas",
- "other": "pirms {0} nedēļām"
- ],
- "future": [
- "one": "pēc {0} nedēļas",
- "other": "pēc {0} nedēļām"
- ]
- ],
- "day": [
- "previous": "vakar",
- "current": "šodien",
- "next": "rīt",
- "past": [
- "one": "pirms {0} dienas",
- "other": "pirms {0} dienām"
- ],
- "future": [
- "one": "pēc {0} dienas",
- "other": "pēc {0} dienām"
- ]
- ],
- "hour": [
- "current": "šajā stundā",
- "past": [
- "one": "pirms {0} stundas",
- "other": "pirms {0} stundām"
- ],
- "future": [
- "one": "pēc {0} stundas",
- "other": "pēc {0} stundām"
- ]
- ],
- "minute": [
- "current": "šajā minūtē",
- "past": [
- "one": "pirms {0} minūtes",
- "other": "pirms {0} minūtēm"
- ],
- "future": [
- "one": "pēc {0} minūtes",
- "other": "pēc {0} minūtēm"
- ]
- ],
- "second": [
- "current": "tagad",
- "past": [
- "one": "pirms {0} sekundes",
- "other": "pirms {0} sekundēm"
- ],
- "future": [
- "one": "pēc {0} sekundes",
- "other": "pēc {0} sekundēm"
- ]
- ],
- "now": "tagad"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mk.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mk.swift
deleted file mode 100644
index 017951e1..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mk.swift
+++ /dev/null
@@ -1,286 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_mk: RelativeFormatterLang {
-
- /// Macedonian
- public static let identifier: String = "mk"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "минатата година",
- "current": "оваа година",
- "next": "следната година",
- "past": "пред {0} год.",
- "future": "за {0} год."
- ],
- "quarter": [
- "previous": "последното тромесечје",
- "current": "ова тромесечје",
- "next": "следното тромесечје",
- "past": "пред {0} тромес.",
- "future": "за {0} тромес."
- ],
- "month": [
- "previous": "минатиот месец",
- "current": "овој месец",
- "next": "следниот месец",
- "past": [
- "one": "пред {0} месец",
- "other": "пред {0} месеци"
- ],
- "future": [
- "one": "за {0} месец",
- "other": "за {0} месеци"
- ]
- ],
- "week": [
- "previous": "минатата седмица",
- "current": "оваа седмица",
- "next": "следната седмица",
- "past": [
- "one": "пред {0} седмица",
- "other": "пред {0} седмици"
- ],
- "future": [
- "one": "за {0} седмица",
- "other": "за {0} седмици"
- ]
- ],
- "day": [
- "previous": "вчера",
- "current": "денес",
- "next": "утре",
- "past": [
- "one": "пред {0} ден",
- "other": "пред {0} дена"
- ],
- "future": [
- "one": "за {0} ден",
- "other": "за {0} дена"
- ]
- ],
- "hour": [
- "current": "часов",
- "past": [
- "one": "пред {0} час",
- "other": "пред {0} часа"
- ],
- "future": [
- "one": "за {0} час",
- "other": "за {0} часа"
- ]
- ],
- "minute": [
- "current": "оваа минута",
- "past": "пред {0} мин.",
- "future": "за {0} мин."
- ],
- "second": [
- "current": "сега",
- "past": "пред {0} сек.",
- "future": "за {0} сек."
- ],
- "now": "сега"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "минатата година",
- "current": "оваа година",
- "next": "следната година",
- "past": "пред {0} год.",
- "future": "за {0} год."
- ],
- "quarter": [
- "previous": "последното тромесечје",
- "current": "ова тромесечје",
- "next": "следното тромесечје",
- "past": "пред {0} тромес.",
- "future": "за {0} тромес."
- ],
- "month": [
- "previous": "минатиот месец",
- "current": "овој месец",
- "next": "следниот месец",
- "past": [
- "one": "пред {0} месец",
- "other": "пред {0} месеци"
- ],
- "future": [
- "one": "за {0} месец",
- "other": "за {0} месеци"
- ]
- ],
- "week": [
- "previous": "минатата седмица",
- "current": "оваа седмица",
- "next": "следната седмица",
- "past": [
- "one": "пред {0} седмица",
- "other": "пред {0} седмици"
- ],
- "future": [
- "one": "за {0} седмица",
- "other": "за {0} седмици"
- ]
- ],
- "day": [
- "previous": "вчера",
- "current": "денес",
- "next": "утре",
- "past": [
- "one": "пред {0} ден",
- "other": "пред {0} дена"
- ],
- "future": [
- "one": "за {0} ден",
- "other": "за {0} дена"
- ]
- ],
- "hour": [
- "current": "часов",
- "past": [
- "one": "пред {0} час",
- "other": "пред {0} часа"
- ],
- "future": [
- "one": "за {0} час",
- "other": "за {0} часа"
- ]
- ],
- "minute": [
- "current": "оваа минута",
- "past": "пред {0} мин.",
- "future": "за {0} мин."
- ],
- "second": [
- "current": "сега",
- "past": "пред {0} сек.",
- "future": "за {0} сек."
- ],
- "now": "сега"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "минатата година",
- "current": "оваа година",
- "next": "следната година",
- "past": [
- "one": "пред {0} година",
- "other": "пред {0} години"
- ],
- "future": [
- "one": "за {0} година",
- "other": "за {0} години"
- ]
- ],
- "quarter": [
- "previous": "последното тромесечје",
- "current": "ова тромесечје",
- "next": "следното тромесечје",
- "past": [
- "one": "пред {0} тромесечје",
- "other": "пред {0} тромесечја"
- ],
- "future": [
- "one": "за {0} тромесечје",
- "other": "за {0} тромесечја"
- ]
- ],
- "month": [
- "previous": "минатиот месец",
- "current": "овој месец",
- "next": "следниот месец",
- "past": [
- "one": "пред {0} месец",
- "other": "пред {0} месеци"
- ],
- "future": [
- "one": "за {0} месец",
- "other": "за {0} месеци"
- ]
- ],
- "week": [
- "previous": "минатата седмица",
- "current": "оваа седмица",
- "next": "следната седмица",
- "past": [
- "one": "пред {0} седмица",
- "other": "пред {0} седмици"
- ],
- "future": [
- "one": "за {0} седмица",
- "other": "за {0} седмици"
- ]
- ],
- "day": [
- "previous": "вчера",
- "current": "денес",
- "next": "утре",
- "past": [
- "one": "пред {0} ден",
- "other": "пред {0} дена"
- ],
- "future": [
- "one": "за {0} ден",
- "other": "за {0} дена"
- ]
- ],
- "hour": [
- "current": "часов",
- "past": [
- "one": "пред {0} час",
- "other": "пред {0} часа"
- ],
- "future": [
- "one": "за {0} час",
- "other": "за {0} часа"
- ]
- ],
- "minute": [
- "current": "оваа минута",
- "past": [
- "one": "пред {0} минута",
- "other": "пред {0} минути"
- ],
- "future": [
- "one": "за {0} минута",
- "other": "за {0} минути"
- ]
- ],
- "second": [
- "current": "сега",
- "past": [
- "one": "пред {0} секунда",
- "other": "пред {0} секунди"
- ],
- "future": [
- "one": "за {0} секунда",
- "other": "за {0} секунди"
- ]
- ],
- "now": "сега"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ml.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ml.swift
deleted file mode 100644
index ea1b947f..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ml.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ml: RelativeFormatterLang {
-
- /// Malayalam
- public static let identifier: String = "ml"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "കഴിഞ്ഞ വർഷം",
- "current": "ഈ വർഷം",
- "next": "അടുത്തവർഷം",
- "past": "{0} വർഷം മുമ്പ്",
- "future": "{0} വർഷത്തിൽ"
- ],
- "quarter": [
- "previous": "കഴിഞ്ഞ പാദം",
- "current": "ഈ പാദം",
- "next": "അടുത്ത പാദം",
- "past": "{0} പാദം മുമ്പ്",
- "future": "{0} പാദത്തിൽ"
- ],
- "month": [
- "previous": "കഴിഞ്ഞ മാസം",
- "current": "ഈ മാസം",
- "next": "അടുത്ത മാസം",
- "past": "{0} മാസം മുമ്പ്",
- "future": "{0} മാസത്തിൽ"
- ],
- "week": [
- "previous": "കഴിഞ്ഞ ആഴ്ച",
- "current": "ഈ ആഴ്ച",
- "next": "അടുത്ത ആഴ്ച",
- "past": "{0} ആഴ്ച മുമ്പ്",
- "future": "{0} ആഴ്ചയിൽ"
- ],
- "day": [
- "previous": "ഇന്നലെ",
- "current": "ഇന്ന്",
- "next": "നാളെ",
- "past": "{0} ദിവസം മുമ്പ്",
- "future": "{0} ദിവസത്തിൽ"
- ],
- "hour": [
- "current": "ഈ മണിക്കൂറിൽ",
- "past": "{0} മണിക്കൂർ മുമ്പ്",
- "future": "{0} മണിക്കൂറിൽ"
- ],
- "minute": [
- "current": "ഈ മിനിറ്റിൽ",
- "past": "{0} മിനിറ്റ് മുമ്പ്",
- "future": "{0} മിനിറ്റിൽ"
- ],
- "second": [
- "current": "ഇപ്പോൾ",
- "past": "{0} സെക്കൻഡ് മുമ്പ്",
- "future": "{0} സെക്കൻഡിൽ"
- ],
- "now": "ഇപ്പോൾ"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "കഴിഞ്ഞ വർഷം",
- "current": "ഈ വർഷം",
- "next": "അടുത്തവർഷം",
- "past": "{0} വർഷം മുമ്പ്",
- "future": "{0} വർഷത്തിൽ"
- ],
- "quarter": [
- "previous": "കഴിഞ്ഞ പാദം",
- "current": "ഈ പാദം",
- "next": "അടുത്ത പാദം",
- "past": "{0} പാദം മുമ്പ്",
- "future": "{0} പാദത്തിൽ"
- ],
- "month": [
- "previous": "കഴിഞ്ഞ മാസം",
- "current": "ഈ മാസം",
- "next": "അടുത്ത മാസം",
- "past": "{0} മാസം മുമ്പ്",
- "future": "{0} മാസത്തിൽ"
- ],
- "week": [
- "previous": "കഴിഞ്ഞ ആഴ്ച",
- "current": "ഈ ആഴ്ച",
- "next": "അടുത്ത ആഴ്ച",
- "past": "{0} ആഴ്ച മുമ്പ്",
- "future": "{0} ആഴ്ചയിൽ"
- ],
- "day": [
- "previous": "ഇന്നലെ",
- "current": "ഇന്ന്",
- "next": "നാളെ",
- "past": "{0} ദിവസം മുമ്പ്",
- "future": "{0} ദിവസത്തിൽ"
- ],
- "hour": [
- "current": "ഈ മണിക്കൂറിൽ",
- "past": "{0} മണിക്കൂർ മുമ്പ്",
- "future": "{0} മണിക്കൂറിൽ"
- ],
- "minute": [
- "current": "ഈ മിനിറ്റിൽ",
- "past": "{0} മിനിറ്റ് മുമ്പ്",
- "future": "{0} മിനിറ്റിൽ"
- ],
- "second": [
- "current": "ഇപ്പോൾ",
- "past": "{0} സെക്കൻഡ് മുമ്പ്",
- "future": "{0} സെക്കൻഡിൽ"
- ],
- "now": "ഇപ്പോൾ"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "കഴിഞ്ഞ വർഷം",
- "current": "ഈ വർഷം",
- "next": "അടുത്തവർഷം",
- "past": "{0} വർഷം മുമ്പ്",
- "future": "{0} വർഷത്തിൽ"
- ],
- "quarter": [
- "previous": "കഴിഞ്ഞ പാദം",
- "current": "ഈ പാദം",
- "next": "അടുത്ത പാദം",
- "past": "{0} പാദം മുമ്പ്",
- "future": "{0} പാദത്തിൽ"
- ],
- "month": [
- "previous": "കഴിഞ്ഞ മാസം",
- "current": "ഈ മാസം",
- "next": "അടുത്ത മാസം",
- "past": "{0} മാസം മുമ്പ്",
- "future": "{0} മാസത്തിൽ"
- ],
- "week": [
- "previous": "കഴിഞ്ഞ ആഴ്ച",
- "current": "ഈ ആഴ്ച",
- "next": "അടുത്ത ആഴ്ച",
- "past": "{0} ആഴ്ച മുമ്പ്",
- "future": "{0} ആഴ്ചയിൽ"
- ],
- "day": [
- "previous": "ഇന്നലെ",
- "current": "ഇന്ന്",
- "next": "നാളെ",
- "past": "{0} ദിവസം മുമ്പ്",
- "future": "{0} ദിവസത്തിൽ"
- ],
- "hour": [
- "current": "ഈ മണിക്കൂറിൽ",
- "past": "{0} മണിക്കൂർ മുമ്പ്",
- "future": "{0} മണിക്കൂറിൽ"
- ],
- "minute": [
- "current": "ഈ മിനിറ്റിൽ",
- "past": "{0} മിനിറ്റ് മുമ്പ്",
- "future": "{0} മിനിറ്റിൽ"
- ],
- "second": [
- "current": "ഇപ്പോൾ",
- "past": "{0} സെക്കൻഡ് മുമ്പ്",
- "future": "{0} സെക്കൻഡിൽ"
- ],
- "now": "ഇപ്പോൾ"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mn.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mn.swift
deleted file mode 100644
index c021b43d..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mn.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_mn: RelativeFormatterLang {
-
- /// Mongolian
- public static let identifier: String = "mn"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "өнгөрсөн жил",
- "current": "энэ жил",
- "next": "ирэх жил",
- "past": "{0} жилийн өмнө",
- "future": "{0} жилийн дотор"
- ],
- "quarter": [
- "previous": "өнгөрсөн улирал",
- "current": "энэ улирал",
- "next": "дараагийн улирал",
- "past": "{0} улирлын өмнө",
- "future": "{0} улиралд"
- ],
- "month": [
- "previous": "өнгөрсөн сар",
- "current": "энэ сар",
- "next": "ирэх сар",
- "past": "{0} сарын өмнө",
- "future": "{0} сард"
- ],
- "week": [
- "previous": "өнгөрсөн долоо хоног",
- "current": "энэ долоо хоног",
- "next": "ирэх долоо хоног",
- "past": "{0} 7 хоногийн өмнө",
- "future": "{0} 7 хоногт"
- ],
- "day": [
- "previous": "өчигдөр",
- "current": "өнөөдөр",
- "next": "маргааш",
- "past": "{0} өдрийн өмнө",
- "future": "{0} өдөрт"
- ],
- "hour": [
- "current": "энэ цаг",
- "past": "{0} ц. өмнө",
- "future": "{0} цагт"
- ],
- "minute": [
- "current": "энэ минут",
- "past": "{0} мин. өмнө",
- "future": "{0} мин. дотор"
- ],
- "second": [
- "current": "одоо",
- "past": "{0} сек. өмнө",
- "future": "{0} сек. дотор"
- ],
- "now": "одоо"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "өнгөрсөн жил",
- "current": "энэ жил",
- "next": "ирэх жил",
- "past": "-{0} жил.н өмнө",
- "future": "+{0} жилд"
- ],
- "quarter": [
- "previous": "өнгөрсөн улирал",
- "current": "энэ улирал",
- "next": "дараагийн улирал",
- "past": "{0} улирлын өмнө",
- "future": "{0} улиралд"
- ],
- "month": [
- "previous": "өнгөрсөн сар",
- "current": "энэ сар",
- "next": "ирэх сар",
- "past": "{0} сарын өмнө",
- "future": "+{0} сард"
- ],
- "week": [
- "previous": "өнгөрсөн долоо хоног",
- "current": "энэ долоо хоног",
- "next": "ирэх долоо хоног",
- "past": "{0} 7 хоногийн өмнө",
- "future": "{0} 7 хоногт"
- ],
- "day": [
- "previous": "өчигдөр",
- "current": "өнөөдөр",
- "next": "маргааш",
- "past": "{0} өдрийн өмнө",
- "future": "{0} өдөрт"
- ],
- "hour": [
- "current": "энэ цаг",
- "past": "{0} ц. өмнө",
- "future": "{0} цагт"
- ],
- "minute": [
- "current": "энэ минут",
- "past": "{0} мин. өмнө",
- "future": "{0} мин. дотор"
- ],
- "second": [
- "current": "одоо",
- "past": "{0} сек. өмнө",
- "future": "{0} сек. дотор"
- ],
- "now": "одоо"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "өнгөрсөн жил",
- "current": "энэ жил",
- "next": "ирэх жил",
- "past": "{0} жилийн өмнө",
- "future": "{0} жилийн дотор"
- ],
- "quarter": [
- "previous": "өнгөрсөн улирал",
- "current": "энэ улирал",
- "next": "дараагийн улирал",
- "past": "{0} улирлын өмнө",
- "future": "{0} улиралд"
- ],
- "month": [
- "previous": "өнгөрсөн сар",
- "current": "энэ сар",
- "next": "ирэх сар",
- "past": "{0} сарын өмнө",
- "future": "{0} сард"
- ],
- "week": [
- "previous": "өнгөрсөн долоо хоног",
- "current": "энэ долоо хоног",
- "next": "ирэх долоо хоног",
- "past": "{0} 7 хоногийн өмнө",
- "future": "{0} 7 хоногт"
- ],
- "day": [
- "previous": "өчигдөр",
- "current": "өнөөдөр",
- "next": "маргааш",
- "past": "{0} өдрийн өмнө",
- "future": "{0} өдөрт"
- ],
- "hour": [
- "current": "энэ цаг",
- "past": "{0} цагийн өмнө",
- "future": "{0} цагт"
- ],
- "minute": [
- "current": "энэ минут",
- "past": "{0} минутын өмнө",
- "future": "{0} минутын дотор"
- ],
- "second": [
- "current": "одоо",
- "past": "{0} секундын өмнө",
- "future": "{0} секундын дотор"
- ],
- "now": "одоо"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mr.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mr.swift
deleted file mode 100644
index a02d1437..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mr.swift
+++ /dev/null
@@ -1,310 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_mr: RelativeFormatterLang {
-
- /// Marathi
- public static let identifier: String = "mr"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "मागील वर्ष",
- "current": "हे वर्ष",
- "next": "पुढील वर्ष",
- "past": [
- "one": "{0} वर्षापूर्वी",
- "other": "{0} वर्षांपूर्वी"
- ],
- "future": [
- "one": "{0} वर्षामध्ये",
- "other": "{0} वर्षांमध्ये"
- ]
- ],
- "quarter": [
- "previous": "मागील तिमाही",
- "current": "ही तिमाही",
- "next": "पुढील तिमाही",
- "past": [
- "one": "{0} तिमाहीपूर्वी",
- "other": "{0} तिमाहींपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} तिमाहीमध्ये",
- "other": "येत्या {0} तिमाहींमध्ये"
- ]
- ],
- "month": [
- "previous": "मागील महिना",
- "current": "हा महिना",
- "next": "पुढील महिना",
- "past": [
- "one": "{0} महिन्यापूर्वी",
- "other": "{0} महिन्यांपूर्वी"
- ],
- "future": "{0} महिन्यामध्ये"
- ],
- "week": [
- "previous": "मागील आठवडा",
- "current": "हा आठवडा",
- "next": "पुढील आठवडा",
- "past": [
- "one": "{0} आठवड्यापूर्वी",
- "other": "{0} आठवड्यांपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} आठवड्यामध्ये",
- "other": "येत्या {0} आठवड्यांमध्ये"
- ]
- ],
- "day": [
- "previous": "काल",
- "current": "आज",
- "next": "उद्या",
- "past": [
- "one": "{0} दिवसापूर्वी",
- "other": "{0} दिवसांपूर्वी"
- ],
- "future": [
- "one": "{0} दिवसामध्ये",
- "other": "येत्या {0} दिवसांमध्ये"
- ]
- ],
- "hour": [
- "current": "तासात",
- "past": [
- "one": "{0} तासापूर्वी",
- "other": "{0} तासांपूर्वी"
- ],
- "future": [
- "one": "{0} तासामध्ये",
- "other": "{0} तासांमध्ये"
- ]
- ],
- "minute": [
- "current": "या मिनिटात",
- "past": "{0} मिनि. पूर्वी",
- "future": "{0} मिनि. मध्ये"
- ],
- "second": [
- "current": "आत्ता",
- "past": "{0} से. पूर्वी",
- "future": "{0} से. मध्ये"
- ],
- "now": "आत्ता"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "मागील वर्ष",
- "current": "हे वर्ष",
- "next": "पुढील वर्ष",
- "past": [
- "one": "{0} वर्षापूर्वी",
- "other": "{0} वर्षांपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} वर्षामध्ये",
- "other": "येत्या {0} वर्षांमध्ये"
- ]
- ],
- "quarter": [
- "previous": "मागील तिमाही",
- "current": "ही तिमाही",
- "next": "पुढील तिमाही",
- "past": [
- "one": "{0} तिमाहीपूर्वी",
- "other": "{0} तिमाहींपूर्वी"
- ],
- "future": [
- "one": "{0} तिमाहीमध्ये",
- "other": "{0} तिमाहींमध्ये"
- ]
- ],
- "month": [
- "previous": "मागील महिना",
- "current": "हा महिना",
- "next": "पुढील महिना",
- "past": [
- "one": "{0} महिन्यापूर्वी",
- "other": "{0} महिन्यांपूर्वी"
- ],
- "future": [
- "one": "{0} महिन्यामध्ये",
- "other": "{0} महिन्यांमध्ये"
- ]
- ],
- "week": [
- "previous": "मागील आठवडा",
- "current": "हा आठवडा",
- "next": "पुढील आठवडा",
- "past": [
- "one": "{0} आठवड्यापूर्वी",
- "other": "{0} आठवड्यांपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} आठवड्यामध्ये",
- "other": "येत्या {0} आठवड्यांमध्ये"
- ]
- ],
- "day": [
- "previous": "काल",
- "current": "आज",
- "next": "उद्या",
- "past": [
- "one": "{0} दिवसापूर्वी",
- "other": "{0} दिवसांपूर्वी"
- ],
- "future": [
- "one": "{0} दिवसामध्ये",
- "other": "{0} दिवसांमध्ये"
- ]
- ],
- "hour": [
- "current": "तासात",
- "past": [
- "one": "{0} तासापूर्वी",
- "other": "{0} तासांपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} तासामध्ये",
- "other": "येत्या {0} तासांमध्ये"
- ]
- ],
- "minute": [
- "current": "या मिनिटात",
- "past": "{0} मिनि. पूर्वी",
- "future": "{0} मिनि. मध्ये"
- ],
- "second": [
- "current": "आत्ता",
- "past": "{0} से. पूर्वी",
- "future": [
- "one": "{0} से. मध्ये",
- "other": "येत्या {0} से. मध्ये"
- ]
- ],
- "now": "आत्ता"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "मागील वर्ष",
- "current": "हे वर्ष",
- "next": "पुढील वर्ष",
- "past": [
- "one": "{0} वर्षापूर्वी",
- "other": "{0} वर्षांपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} वर्षामध्ये",
- "other": "येत्या {0} वर्षांमध्ये"
- ]
- ],
- "quarter": [
- "previous": "मागील तिमाही",
- "current": "ही तिमाही",
- "next": "पुढील तिमाही",
- "past": [
- "one": "{0} तिमाहीपूर्वी",
- "other": "{0} तिमाहींपूर्वी"
- ],
- "future": [
- "one": "{0} तिमाहीमध्ये",
- "other": "{0} तिमाहींमध्ये"
- ]
- ],
- "month": [
- "previous": "मागील महिना",
- "current": "हा महिना",
- "next": "पुढील महिना",
- "past": [
- "one": "{0} महिन्यापूर्वी",
- "other": "{0} महिन्यांपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} महिन्यामध्ये",
- "other": "येत्या {0} महिन्यांमध्ये"
- ]
- ],
- "week": [
- "previous": "मागील आठवडा",
- "current": "हा आठवडा",
- "next": "पुढील आठवडा",
- "past": [
- "one": "{0} आठवड्यापूर्वी",
- "other": "{0} आठवड्यांपूर्वी"
- ],
- "future": [
- "one": "{0} आठवड्यामध्ये",
- "other": "{0} आठवड्यांमध्ये"
- ]
- ],
- "day": [
- "previous": "काल",
- "current": "आज",
- "next": "उद्या",
- "past": [
- "one": "{0} दिवसापूर्वी",
- "other": "{0} दिवसांपूर्वी"
- ],
- "future": [
- "one": "येत्या {0} दिवसामध्ये",
- "other": "येत्या {0} दिवसांमध्ये"
- ]
- ],
- "hour": [
- "current": "तासात",
- "past": [
- "one": "{0} तासापूर्वी",
- "other": "{0} तासांपूर्वी"
- ],
- "future": [
- "one": "{0} तासामध्ये",
- "other": "{0} तासांमध्ये"
- ]
- ],
- "minute": [
- "current": "या मिनिटात",
- "past": [
- "one": "{0} मिनिटापूर्वी",
- "other": "{0} मिनिटांपूर्वी"
- ],
- "future": [
- "one": "{0} मिनिटामध्ये",
- "other": "{0} मिनिटांमध्ये"
- ]
- ],
- "second": [
- "current": "आत्ता",
- "past": [
- "one": "{0} सेकंदापूर्वी",
- "other": "{0} सेकंदांपूर्वी"
- ],
- "future": [
- "one": "{0} सेकंदामध्ये",
- "other": "{0} सेकंदांमध्ये"
- ]
- ],
- "now": "आत्ता"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ms.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ms.swift
deleted file mode 100644
index 85bfe665..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ms.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ms: RelativeFormatterLang {
-
- /// Malay
- public static let identifier: String = "ms"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "thn lepas",
- "current": "thn ini",
- "next": "thn depan",
- "past": "{0} thn lalu",
- "future": "dalam {0} thn"
- ],
- "quarter": [
- "previous": "suku lepas",
- "current": "suku ini",
- "next": "suku seterusnya",
- "past": "{0} suku thn lalu",
- "future": "dlm {0} suku thn"
- ],
- "month": [
- "previous": "bln lalu",
- "current": "bln ini",
- "next": "bln depan",
- "past": "{0} bln lalu",
- "future": "dlm {0} bln"
- ],
- "week": [
- "previous": "mng lepas",
- "current": "mng ini",
- "next": "mng depan",
- "past": "{0} mgu lalu",
- "future": "dlm {0} mgu"
- ],
- "day": [
- "previous": "semlm",
- "current": "hari ini",
- "next": "esok",
- "past": "{0} hari lalu",
- "future": "dlm {0} hari"
- ],
- "hour": [
- "current": "jam ini",
- "past": "{0} jam lalu",
- "future": "dlm {0} jam"
- ],
- "minute": [
- "current": "pada minit ini",
- "past": "{0} min lalu",
- "future": "dlm {0} min"
- ],
- "second": [
- "current": "sekarang",
- "past": "{0} saat lalu",
- "future": "dlm {0} saat"
- ],
- "now": "sekarang"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "thn lepas",
- "current": "thn ini",
- "next": "thn depan",
- "past": "{0} thn lalu",
- "future": "dalam {0} thn"
- ],
- "quarter": [
- "previous": "suku lepas",
- "current": "suku ini",
- "next": "suku seterusnya",
- "past": "{0} suku thn lalu",
- "future": "dlm {0} suku thn"
- ],
- "month": [
- "previous": "bln lalu",
- "current": "bln ini",
- "next": "bln depan",
- "past": "{0} bulan lalu",
- "future": "dlm {0} bln"
- ],
- "week": [
- "previous": "mng lepas",
- "current": "mng ini",
- "next": "mng depan",
- "past": "{0} mgu lalu",
- "future": "dlm {0} mgu"
- ],
- "day": [
- "previous": "semlm",
- "current": "hari ini",
- "next": "esok",
- "past": "{0} hari lalu",
- "future": "dlm {0} hari"
- ],
- "hour": [
- "current": "jam ini",
- "past": "{0} jam lalu",
- "future": "dlm {0} jam"
- ],
- "minute": [
- "current": "pada minit ini",
- "past": "{0} min lalu",
- "future": "dlm {0} min"
- ],
- "second": [
- "current": "sekarang",
- "past": "{0} saat lalu",
- "future": "dlm {0} saat"
- ],
- "now": "sekarang"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "tahun lalu",
- "current": "tahun ini",
- "next": "tahun depan",
- "past": "{0} tahun lalu",
- "future": "dalam {0} tahun"
- ],
- "quarter": [
- "previous": "suku tahun lalu",
- "current": "suku tahun ini",
- "next": "suku tahun seterusnya",
- "past": "{0} suku tahun lalu",
- "future": "dalam {0} suku tahun"
- ],
- "month": [
- "previous": "bulan lalu",
- "current": "bulan ini",
- "next": "bulan depan",
- "past": "{0} bulan lalu",
- "future": "dalam {0} bulan"
- ],
- "week": [
- "previous": "minggu lalu",
- "current": "minggu ini",
- "next": "minggu depan",
- "past": "{0} minggu lalu",
- "future": "dalam {0} minggu"
- ],
- "day": [
- "previous": "semalam",
- "current": "hari ini",
- "next": "esok",
- "past": "{0} hari lalu",
- "future": "dalam {0} hari"
- ],
- "hour": [
- "current": "jam ini",
- "past": "{0} jam lalu",
- "future": "dalam {0} jam"
- ],
- "minute": [
- "current": "pada minit ini",
- "past": "{0} minit lalu",
- "future": "dalam {0} minit"
- ],
- "second": [
- "current": "sekarang",
- "past": "{0} saat lalu",
- "future": "dalam {0} saat"
- ],
- "now": "sekarang"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mt.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mt.swift
deleted file mode 100644
index 60999855..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mt.swift
+++ /dev/null
@@ -1,205 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_mt: RelativeFormatterLang {
-
- /// Maltese
- public static let identifier: String = "mt"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1: return .one
- case 0: return .few
- case 2...10: return .few
- case 11...19: return .many
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "Is-sena li għaddiet",
- "current": "din is-sena",
- "next": "Is-sena d-dieħla",
- "past": [
- "one": "{0} sena ilu",
- "other": "{0} snin ilu"
- ],
- "future": "+{0} y"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Ix-xahar li għadda",
- "current": "Dan ix-xahar",
- "next": "Ix-xahar id-dieħel",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "Il-ġimgħa li għaddiet",
- "current": "Din il-ġimgħa",
- "next": "Il-ġimgħa d-dieħla",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "Ilbieraħ",
- "current": "Illum",
- "next": "Għada",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "Is-sena li għaddiet",
- "current": "din is-sena",
- "next": "Is-sena d-dieħla",
- "past": [
- "one": "{0} sena ilu",
- "other": "{0} snin ilu"
- ],
- "future": "+{0} y"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Ix-xahar li għadda",
- "current": "Dan ix-xahar",
- "next": "Ix-xahar id-dieħel",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "Il-ġimgħa li għaddiet",
- "current": "Din il-ġimgħa",
- "next": "Il-ġimgħa d-dieħla",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "Ilbieraħ",
- "current": "Illum",
- "next": "Għada",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "Is-sena li għaddiet",
- "current": "din is-sena",
- "next": "Is-sena d-dieħla",
- "past": [
- "one": "{0} sena ilu",
- "other": "{0} snin ilu"
- ],
- "future": "+{0} y"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "Ix-xahar li għadda",
- "current": "Dan ix-xahar",
- "next": "Ix-xahar id-dieħel",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "Il-ġimgħa li għaddiet",
- "current": "Din il-ġimgħa",
- "next": "Il-ġimgħa d-dieħla",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "Ilbieraħ",
- "current": "Illum",
- "next": "Għada",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_my.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_my.swift
deleted file mode 100644
index 10dcd32a..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_my.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_my: RelativeFormatterLang {
-
- /// Burmese
- public static let identifier: String = "my"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ယမန်နှစ်",
- "current": "ယခုနှစ်",
- "next": "လာမည့်နှစ်",
- "past": "ပြီးခဲ့သည့် {0} နှစ်",
- "future": "{0} နှစ်အတွင်း"
- ],
- "quarter": [
- "previous": "ပြီးခဲ့သောသုံးလပတ်",
- "current": "ယခုသုံးလပတ်",
- "next": "နောက်လာမည့်သုံးလပတ်",
- "past": "ပြီးခဲ့သည့် သုံးလပတ်ကာလ {0} ခုအတွင်း",
- "future": "သုံးလပတ်ကာလ {0} ခုအတွင်း"
- ],
- "month": [
- "previous": "ပြီးခဲ့သည့်လ",
- "current": "ယခုလ",
- "next": "လာမည့်လ",
- "past": "ပြီးခဲ့သည့် {0} လ",
- "future": "{0} လအတွင်း"
- ],
- "week": [
- "previous": "ပြီးခဲ့သည့် သီတင်းပတ်",
- "current": "ယခု သီတင်းပတ်",
- "next": "လာမည့် သီတင်းပတ်",
- "past": "ပြီးခဲ့သည့် {0} ပတ်",
- "future": "{0} ပတ်အတွင်း"
- ],
- "day": [
- "previous": "မနေ့က",
- "current": "ယနေ့",
- "next": "မနက်ဖြန်",
- "past": "ပြီးခဲ့သည့် {0} ရက်",
- "future": "{0} ရက်အတွင်း"
- ],
- "hour": [
- "current": "ဤအချိန်",
- "past": "ပြီးခဲ့သည့် {0} နာရီ",
- "future": "{0} နာရီအတွင်း"
- ],
- "minute": [
- "current": "ဤမိနစ်",
- "past": "ပြီးခဲ့သည့် {0} မိနစ်",
- "future": "{0} မိနစ်အတွင်း"
- ],
- "second": [
- "current": "ယခု",
- "past": "ပြီးခဲ့သည့် {0} စက္ကန့်",
- "future": "{0} စက္ကန့်အတွင်း"
- ],
- "now": "ယခု"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ယမန်နှစ်",
- "current": "ယခုနှစ်",
- "next": "လာမည့်နှစ်",
- "past": "ပြီးခဲ့သည့် {0} နှစ်",
- "future": "{0} နှစ်အတွင်း"
- ],
- "quarter": [
- "previous": "ပြီးခဲ့သောသုံးလပတ်",
- "current": "ယခုသုံးလပတ်",
- "next": "နောက်လာမည့်သုံးလပတ်",
- "past": "ပြီးခဲ့သည့် သုံးလပတ်ကာလ {0} ခုအတွင်း",
- "future": "သုံးလပတ်ကာလ {0} ခုအတွင်း"
- ],
- "month": [
- "previous": "ပြီးခဲ့သည့်လ",
- "current": "ယခုလ",
- "next": "လာမည့်လ",
- "past": "ပြီးခဲ့သည့် {0} လ",
- "future": "{0} လအတွင်း"
- ],
- "week": [
- "previous": "ပြီးခဲ့သည့် သီတင်းပတ်",
- "current": "ယခု သီတင်းပတ်",
- "next": "လာမည့် သီတင်းပတ်",
- "past": "ပြီးခဲ့သည့် {0} ပတ်",
- "future": "{0} ပတ်အတွင်း"
- ],
- "day": [
- "previous": "မနေ့က",
- "current": "ယနေ့",
- "next": "မနက်ဖြန်",
- "past": "ပြီးခဲ့သည့် {0} ရက်",
- "future": "{0} ရက်အတွင်း"
- ],
- "hour": [
- "current": "ဤအချိန်",
- "past": "ပြီးခဲ့သည့် {0} နာရီ",
- "future": "{0} နာရီအတွင်း"
- ],
- "minute": [
- "current": "ဤမိနစ်",
- "past": "ပြီးခဲ့သည့် {0} မိနစ်",
- "future": "{0} မိနစ်အတွင်း"
- ],
- "second": [
- "current": "ယခု",
- "past": "ပြီးခဲ့သည့် {0} စက္ကန့်",
- "future": "{0} စက္ကန့်အတွင်း"
- ],
- "now": "ယခု"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ယမန်နှစ်",
- "current": "ယခုနှစ်",
- "next": "လာမည့်နှစ်",
- "past": "ပြီးခဲ့သည့် {0} နှစ်",
- "future": "{0} နှစ်အတွင်း"
- ],
- "quarter": [
- "previous": "ပြီးခဲ့သည့် သုံးလပတ်",
- "current": "ယခု သုံးလပတ်",
- "next": "လာမည့် သုံးလပတ်",
- "past": "ပြီးခဲ့သည့် သုံးလပတ်ကာလ {0} ခုအတွင်း",
- "future": "သုံးလပတ်ကာလ {0} အတွင်း"
- ],
- "month": [
- "previous": "ပြီးခဲ့သည့်လ",
- "current": "ယခုလ",
- "next": "လာမည့်လ",
- "past": "ပြီးခဲ့သည့် {0} လ",
- "future": "{0} လအတွင်း"
- ],
- "week": [
- "previous": "ပြီးခဲ့သည့် သီတင်းပတ်",
- "current": "ယခု သီတင်းပတ်",
- "next": "လာမည့် သီတင်းပတ်",
- "past": "ပြီးခဲ့သည့် {0} ပတ်",
- "future": "{0} ပတ်အတွင်း"
- ],
- "day": [
- "previous": "မနေ့က",
- "current": "ယနေ့",
- "next": "မနက်ဖြန်",
- "past": "ပြီးခဲ့သည့် {0} ရက်",
- "future": "{0} ရက်အတွင်း"
- ],
- "hour": [
- "current": "ဤအချိန်",
- "past": "ပြီးခဲ့သည့် {0} နာရီ",
- "future": "{0} နာရီအတွင်း"
- ],
- "minute": [
- "current": "ဤမိနစ်",
- "past": "ပြီးခဲ့သည့် {0} မိနစ်",
- "future": "{0} မိနစ်အတွင်း"
- ],
- "second": [
- "current": "ယခု",
- "past": "ပြီးခဲ့သည့် {0} စက္ကန့်",
- "future": "{0} စက္ကန့်အတွင်း"
- ],
- "now": "ယခု"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mzn.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mzn.swift
deleted file mode 100644
index 94daa671..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_mzn.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_mzn: RelativeFormatterLang {
-
- /// Mazanderani
- public static let identifier: String = "mzn"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "پارسال",
- "current": "امسال",
- "next": "سال دیگه",
- "past": "{0} سال پیش",
- "future": "{0} سال دله"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "{0} ربع پیش",
- "future": "{0} ربع دله"
- ],
- "month": [
- "previous": "ماه قبل",
- "current": "این ماه",
- "next": "ماه ِبعد",
- "past": "{0} ماه پیش",
- "future": "{0} ماه دله"
- ],
- "week": [
- "previous": "قبلی هفته",
- "current": "این هفته",
- "next": "بعدی هفته",
- "past": "{0} هفته پیش",
- "future": "{0} هفته دله"
- ],
- "day": [
- "previous": "دیروز",
- "current": "اَمروز",
- "next": "فِردا",
- "past": "{0} روز پیش",
- "future": "{0} روز دله"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} ساعت پیش",
- "future": "{0} ساعت دله"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} دَقه پیش",
- "future": "{0} دَقه دله"
- ],
- "second": [
- "current": "now",
- "past": "{0} ثانیه پیش",
- "future": "{0} ثانیه دله"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "پارسال",
- "current": "امسال",
- "next": "سال دیگه",
- "past": "{0} سال پیش",
- "future": "{0} سال دله"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "{0} ربع پیش",
- "future": "{0} ربع دله"
- ],
- "month": [
- "previous": "ماه قبل",
- "current": "این ماه",
- "next": "ماه ِبعد",
- "past": "{0} ماه پیش",
- "future": "{0} ماه دله"
- ],
- "week": [
- "previous": "قبلی هفته",
- "current": "این هفته",
- "next": "بعدی هفته",
- "past": "{0} هفته پیش",
- "future": "{0} هفته دله"
- ],
- "day": [
- "previous": "دیروز",
- "current": "اَمروز",
- "next": "فِردا",
- "past": "{0} روز پیش",
- "future": "{0} روز دله"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} ساعت پیش",
- "future": "{0} ساعت دله"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} دَقه پیش",
- "future": "{0} دَقه دله"
- ],
- "second": [
- "current": "now",
- "past": "{0} ثانیه پیش",
- "future": "{0} ثانیه دله"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "پارسال",
- "current": "امسال",
- "next": "سال دیگه",
- "past": "{0} سال پیش",
- "future": "{0} سال دله"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "{0} ربع پیش",
- "future": "{0} ربع دله"
- ],
- "month": [
- "previous": "ماه قبل",
- "current": "این ماه",
- "next": "ماه ِبعد",
- "past": "{0} ماه پیش",
- "future": "{0} ماه دله"
- ],
- "week": [
- "previous": "قبلی هفته",
- "current": "این هفته",
- "next": "بعدی هفته",
- "past": "{0} هفته پیش",
- "future": "{0} هفته دله"
- ],
- "day": [
- "previous": "دیروز",
- "current": "اَمروز",
- "next": "فِردا",
- "past": "{0} روز پیش",
- "future": "{0} روز دله"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} ساعِت پیش",
- "future": "{0} ساعِت دله"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} دَقه پیش",
- "future": "{0} دقیقه دله"
- ],
- "second": [
- "current": "now",
- "past": "{0} ثانیه پیش",
- "future": "{0} ثانیه دله"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nb.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nb.swift
deleted file mode 100644
index faa2bf7f..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nb.swift
+++ /dev/null
@@ -1,226 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_nb: RelativeFormatterLang {
-
- /// Norwegian Bokmål
- public static let identifier: String = "nb"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "i fjor",
- "current": "i år",
- "next": "neste år",
- "past": "for {0} år siden",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "forrige kv.",
- "current": "dette kv.",
- "next": "neste kv.",
- "past": "for {0} kv. siden",
- "future": "om {0} kv."
- ],
- "month": [
- "previous": "forrige md.",
- "current": "denne md.",
- "next": "neste md.",
- "past": "for {0} md. siden",
- "future": "om {0} md."
- ],
- "week": [
- "previous": "forrige uke",
- "current": "denne uken",
- "next": "neste uke",
- "past": "for {0} u. siden",
- "future": "om {0} u."
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgen",
- "past": "for {0} d. siden",
- "future": "om {0} d."
- ],
- "hour": [
- "current": "denne timen",
- "past": "for {0} t siden",
- "future": "om {0} t"
- ],
- "minute": [
- "current": "dette minuttet",
- "past": "for {0} min siden",
- "future": "om {0} min"
- ],
- "second": [
- "current": "nå",
- "past": "for {0} sek siden",
- "future": "om {0} sek"
- ],
- "now": "nå"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "i fjor",
- "current": "i år",
- "next": "neste år",
- "past": "–{0} år",
- "future": "+{0} år"
- ],
- "quarter": [
- "previous": "forrige kv.",
- "current": "dette kv.",
- "next": "neste kv.",
- "past": "–{0} kv.",
- "future": "+{0} kv."
- ],
- "month": [
- "previous": "forrige md.",
- "current": "denne md.",
- "next": "neste md.",
- "past": "-{0} md.",
- "future": "+{0} md."
- ],
- "week": [
- "previous": "forrige uke",
- "current": "denne uken",
- "next": "neste uke",
- "past": "-{0} u.",
- "future": "+{0} u."
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgen",
- "past": "-{0} d.",
- "future": "+{0} d."
- ],
- "hour": [
- "current": "denne timen",
- "past": "-{0} t",
- "future": "+{0} t"
- ],
- "minute": [
- "current": "dette minuttet",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "nå",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "nå"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "i fjor",
- "current": "i år",
- "next": "neste år",
- "past": "for {0} år siden",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "forrige kvartal",
- "current": "dette kvartalet",
- "next": "neste kvartal",
- "past": [
- "one": "for {0} kvartal siden",
- "other": "for {0} kvartaler siden"
- ],
- "future": [
- "one": "om {0} kvartal",
- "other": "om {0} kvartaler"
- ]
- ],
- "month": [
- "previous": "forrige måned",
- "current": "denne måneden",
- "next": "neste måned",
- "past": [
- "one": "for {0} måned siden",
- "other": "for {0} måneder siden"
- ],
- "future": [
- "one": "om {0} måned",
- "other": "om {0} måneder"
- ]
- ],
- "week": [
- "previous": "forrige uke",
- "current": "denne uken",
- "next": "neste uke",
- "past": [
- "one": "for {0} uke siden",
- "other": "for {0} uker siden"
- ],
- "future": [
- "one": "om {0} uke",
- "other": "om {0} uker"
- ]
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgen",
- "past": "for {0} døgn siden",
- "future": "om {0} døgn"
- ],
- "hour": [
- "current": "denne timen",
- "past": [
- "one": "for {0} time siden",
- "other": "for {0} timer siden"
- ],
- "future": [
- "one": "om {0} time",
- "other": "om {0} timer"
- ]
- ],
- "minute": [
- "current": "dette minuttet",
- "past": [
- "one": "for {0} minutt siden",
- "other": "for {0} minutter siden"
- ],
- "future": [
- "one": "om {0} minutt",
- "other": "om {0} minutter"
- ]
- ],
- "second": [
- "current": "nå",
- "past": [
- "one": "for {0} sekund siden",
- "other": "for {0} sekunder siden"
- ],
- "future": [
- "one": "om {0} sekund",
- "other": "om {0} sekunder"
- ]
- ],
- "now": "nå"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ne.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ne.swift
deleted file mode 100644
index 10c56d66..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ne.swift
+++ /dev/null
@@ -1,193 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ne: RelativeFormatterLang {
-
- /// Nepali
- public static let identifier: String = "ne"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "गत वर्ष",
- "current": "यो वर्ष",
- "next": "आगामी वर्ष",
- "past": "{0} वर्ष अघि",
- "future": "{0} वर्षमा"
- ],
- "quarter": [
- "previous": "अघिल्लो सत्र",
- "current": "यो सत्र",
- "next": "अर्को सत्र",
- "past": "{0}सत्र अघि",
- "future": "{0}सत्रमा"
- ],
- "month": [
- "previous": "गत महिना",
- "current": "यो महिना",
- "next": "अर्को महिना",
- "past": "{0} महिना पहिले",
- "future": "{0} महिनामा"
- ],
- "week": [
- "previous": "गत हप्ता",
- "current": "यो हप्ता",
- "next": "आउने हप्ता",
- "past": "{0} हप्ता पहिले",
- "future": "{0} हप्तामा"
- ],
- "day": [
- "previous": "हिजो",
- "current": "आज",
- "next": "भोलि",
- "past": "{0} दिन पहिले",
- "future": "{0} दिनमा"
- ],
- "hour": [
- "current": "यस घडीमा",
- "past": "{0} घण्टा पहिले",
- "future": "{0} घण्टामा"
- ],
- "minute": [
- "current": "यही मिनेटमा",
- "past": "{0} मिनेट पहिले",
- "future": "{0} मिनेटमा"
- ],
- "second": [
- "current": "अहिले",
- "past": "{0} सेकेन्ड पहिले",
- "future": "{0} सेकेन्डमा"
- ],
- "now": "अहिले"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "गत वर्ष",
- "current": "यो वर्ष",
- "next": "आगामी वर्ष",
- "past": "{0} वर्ष अघि",
- "future": "{0} वर्षमा"
- ],
- "quarter": [
- "previous": "अघिल्लो सत्र",
- "current": "यो सत्र",
- "next": "अर्को सत्र",
- "past": "{0}सत्र अघि",
- "future": "{0}सत्रमा"
- ],
- "month": [
- "previous": "गत महिना",
- "current": "यो महिना",
- "next": "अर्को महिना",
- "past": "{0} महिना पहिले",
- "future": "{0} महिनामा"
- ],
- "week": [
- "previous": "गत हप्ता",
- "current": "यो हप्ता",
- "next": "आउने हप्ता",
- "past": "{0} हप्ता पहिले",
- "future": "{0} हप्तामा"
- ],
- "day": [
- "previous": "हिजो",
- "current": "आज",
- "next": "भोलि",
- "past": "{0} दिन पहिले",
- "future": "{0} दिनमा"
- ],
- "hour": [
- "current": "यस घडीमा",
- "past": "{0} घण्टा पहिले",
- "future": "{0} घण्टामा"
- ],
- "minute": [
- "current": "यही मिनेटमा",
- "past": "{0} मिनेट पहिले",
- "future": "{0} मिनेटमा"
- ],
- "second": [
- "current": "अहिले",
- "past": "{0} सेकेन्ड पहिले",
- "future": "{0} सेकेन्डमा"
- ],
- "now": "अहिले"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "गत वर्ष",
- "current": "यो वर्ष",
- "next": "आगामी वर्ष",
- "past": "{0} वर्ष अघि",
- "future": "{0} वर्षमा"
- ],
- "quarter": [
- "previous": "अघिल्लो सत्र",
- "current": "यो सत्र",
- "next": "अर्को सत्र",
- "past": "{0}सत्र अघि",
- "future": [
- "one": "+{0} सत्रमा",
- "other": "{0}सत्रमा"
- ]
- ],
- "month": [
- "previous": "गत महिना",
- "current": "यो महिना",
- "next": "अर्को महिना",
- "past": "{0} महिना पहिले",
- "future": "{0} महिनामा"
- ],
- "week": [
- "previous": "गत हप्ता",
- "current": "यो हप्ता",
- "next": "आउने हप्ता",
- "past": "{0} हप्ता पहिले",
- "future": "{0} हप्तामा"
- ],
- "day": [
- "previous": "हिजो",
- "current": "आज",
- "next": "भोलि",
- "past": "{0} दिन पहिले",
- "future": "{0} दिनमा"
- ],
- "hour": [
- "current": "यस घडीमा",
- "past": "{0} घण्टा पहिले",
- "future": "{0} घण्टामा"
- ],
- "minute": [
- "current": "यही मिनेटमा",
- "past": "{0} मिनेट पहिले",
- "future": "{0} मिनेटमा"
- ],
- "second": [
- "current": "अहिले",
- "past": "{0} सेकेन्ड पहिले",
- "future": "{0} सेकेन्डमा"
- ],
- "now": "अहिले"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nl.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nl.swift
deleted file mode 100644
index aa896f29..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nl.swift
+++ /dev/null
@@ -1,274 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_nl: RelativeFormatterLang {
-
- /// Dutch
- public static let identifier: String = "nl"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "vorig jaar",
- "current": "dit jaar",
- "next": "volgend jaar",
- "past": "{0} jaar geleden",
- "future": "over {0} jaar"
- ],
- "quarter": [
- "previous": "vorig kwartaal",
- "current": "dit kwartaal",
- "next": "volgend kwartaal",
- "past": [
- "one": "{0} kwartaal geleden",
- "other": "{0} kwartalen geleden"
- ],
- "future": [
- "one": "over {0} kwartaal",
- "other": "over {0} kwartalen"
- ]
- ],
- "month": [
- "previous": "vorige maand",
- "current": "deze maand",
- "next": "volgende maand",
- "past": [
- "one": "{0} maand geleden",
- "other": "{0} maanden geleden"
- ],
- "future": [
- "one": "over {0} maand",
- "other": "over {0} maanden"
- ]
- ],
- "week": [
- "previous": "vorige week",
- "current": "deze week",
- "next": "volgende week",
- "past": [
- "one": "{0} week geleden",
- "other": "{0} weken geleden"
- ],
- "future": [
- "one": "over {0} week",
- "other": "over {0} weken"
- ]
- ],
- "day": [
- "previous": "gisteren",
- "current": "vandaag",
- "next": "morgen",
- "past": [
- "one": "{0} dag geleden",
- "other": "{0} dgn geleden"
- ],
- "future": [
- "one": "over {0} dag",
- "other": "over {0} dgn"
- ]
- ],
- "hour": [
- "current": "binnen een uur",
- "past": "{0} uur geleden",
- "future": "over {0} uur"
- ],
- "minute": [
- "current": "binnen een minuut",
- "past": "{0} min. geleden",
- "future": "over {0} min."
- ],
- "second": [
- "current": "nu",
- "past": "{0} sec. geleden",
- "future": "over {0} sec."
- ],
- "now": "nu"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "vorig jaar",
- "current": "dit jaar",
- "next": "volgend jaar",
- "past": "{0} jaar geleden",
- "future": "over {0} jaar"
- ],
- "quarter": [
- "previous": "vorig kwartaal",
- "current": "dit kwartaal",
- "next": "volgend kwartaal",
- "past": [
- "one": "{0} kwartaal geleden",
- "other": "{0} kwartalen geleden"
- ],
- "future": [
- "one": "over {0} kw.",
- "other": "over {0} kwartalen"
- ]
- ],
- "month": [
- "previous": "vorige maand",
- "current": "deze maand",
- "next": "volgende maand",
- "past": [
- "one": "{0} maand geleden",
- "other": "{0} maanden geleden"
- ],
- "future": [
- "one": "over {0} maand",
- "other": "over {0} maanden"
- ]
- ],
- "week": [
- "previous": "vorige week",
- "current": "deze week",
- "next": "volgende week",
- "past": [
- "one": "{0} week geleden",
- "other": "{0} weken geleden"
- ],
- "future": [
- "one": "over {0} week",
- "other": "over {0} weken"
- ]
- ],
- "day": [
- "previous": "gisteren",
- "current": "vandaag",
- "next": "morgen",
- "past": [
- "one": "{0} dag geleden",
- "other": "{0} dgn geleden"
- ],
- "future": [
- "one": "over {0} dag",
- "other": "over {0} dgn"
- ]
- ],
- "hour": [
- "current": "binnen een uur",
- "past": "{0} uur geleden",
- "future": "over {0} uur"
- ],
- "minute": [
- "current": "binnen een minuut",
- "past": "{0} min. geleden",
- "future": "over {0} min."
- ],
- "second": [
- "current": "nu",
- "past": "{0} sec. geleden",
- "future": "over {0} sec."
- ],
- "now": "nu"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "vorig jaar",
- "current": "dit jaar",
- "next": "volgend jaar",
- "past": "{0} jaar geleden",
- "future": "over {0} jaar"
- ],
- "quarter": [
- "previous": "vorig kwartaal",
- "current": "dit kwartaal",
- "next": "volgend kwartaal",
- "past": [
- "one": "{0} kwartaal geleden",
- "other": "{0} kwartalen geleden"
- ],
- "future": [
- "one": "over {0} kwartaal",
- "other": "over {0} kwartalen"
- ]
- ],
- "month": [
- "previous": "vorige maand",
- "current": "deze maand",
- "next": "volgende maand",
- "past": [
- "one": "{0} maand geleden",
- "other": "{0} maanden geleden"
- ],
- "future": [
- "one": "over {0} maand",
- "other": "over {0} maanden"
- ]
- ],
- "week": [
- "previous": "vorige week",
- "current": "deze week",
- "next": "volgende week",
- "past": [
- "one": "{0} week geleden",
- "other": "{0} weken geleden"
- ],
- "future": [
- "one": "over {0} week",
- "other": "over {0} weken"
- ]
- ],
- "day": [
- "previous": "gisteren",
- "current": "vandaag",
- "next": "morgen",
- "past": [
- "one": "{0} dag geleden",
- "other": "{0} dagen geleden"
- ],
- "future": [
- "one": "over {0} dag",
- "other": "over {0} dagen"
- ]
- ],
- "hour": [
- "current": "binnen een uur",
- "past": "{0} uur geleden",
- "future": "over {0} uur"
- ],
- "minute": [
- "current": "binnen een minuut",
- "past": [
- "one": "{0} minuut geleden",
- "other": "{0} minuten geleden"
- ],
- "future": [
- "one": "over {0} minuut",
- "other": "over {0} minuten"
- ]
- ],
- "second": [
- "current": "nu",
- "past": [
- "one": "{0} seconde geleden",
- "other": "{0} seconden geleden"
- ],
- "future": [
- "one": "over {0} seconde",
- "other": "over {0} seconden"
- ]
- ],
- "now": "nu"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nn.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nn.swift
deleted file mode 100644
index 97f141f7..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_nn.swift
+++ /dev/null
@@ -1,214 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_nn: RelativeFormatterLang {
-
- /// Norwegian Nynorsk
- public static let identifier: String = "nn"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "i fjor",
- "current": "i år",
- "next": "neste år",
- "past": "for {0} år sidan",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "førre kvartal",
- "current": "dette kvartalet",
- "next": "neste kvartal",
- "past": "for {0} kv. sidan",
- "future": "om {0} kv."
- ],
- "month": [
- "previous": "førre månad",
- "current": "denne månaden",
- "next": "neste månad",
- "past": "for {0} md. sidan",
- "future": "om {0} md."
- ],
- "week": [
- "previous": "førre veke",
- "current": "denne veka",
- "next": "neste veke",
- "past": "for {0} v. sidan",
- "future": "om {0} v."
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgon",
- "past": "for {0} d. sidan",
- "future": "om {0} d."
- ],
- "hour": [
- "current": "denne timen",
- "past": "for {0} t sidan",
- "future": "om {0} t"
- ],
- "minute": [
- "current": "dette minuttet",
- "past": "for {0} min sidan",
- "future": "om {0} min"
- ],
- "second": [
- "current": "no",
- "past": "for {0} sek sidan",
- "future": "om {0} sek"
- ],
- "now": "no"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "i fjor",
- "current": "i år",
- "next": "neste år",
- "past": "for {0} år sidan",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "førre kvartal",
- "current": "dette kvartalet",
- "next": "neste kvartal",
- "past": "–{0} kv.",
- "future": "+{0} kv."
- ],
- "month": [
- "previous": "førre månad",
- "current": "denne månaden",
- "next": "neste månad",
- "past": "–{0} md.",
- "future": "+{0} md."
- ],
- "week": [
- "previous": "førre veke",
- "current": "denne veka",
- "next": "neste veke",
- "past": "–{0} v.",
- "future": "+{0} v."
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgon",
- "past": "–{0} d.",
- "future": "+{0} d."
- ],
- "hour": [
- "current": "denne timen",
- "past": "–{0} t",
- "future": "+{0} t"
- ],
- "minute": [
- "current": "dette minuttet",
- "past": "–{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "no",
- "past": [
- "one": "–{0} s",
- "other": "–{0} s"
- ],
- "future": "+{0} s"
- ],
- "now": "no"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "i fjor",
- "current": "i år",
- "next": "neste år",
- "past": "for {0} år sidan",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "førre kvartal",
- "current": "dette kvartalet",
- "next": "neste kvartal",
- "past": "for {0} kvartal sidan",
- "future": "om {0} kvartal"
- ],
- "month": [
- "previous": "førre månad",
- "current": "denne månaden",
- "next": "neste månad",
- "past": [
- "one": "for {0} månad sidan",
- "other": "for {0} månadar sidan"
- ],
- "future": [
- "one": "om {0} månad",
- "other": "om {0} månadar"
- ]
- ],
- "week": [
- "previous": "førre veke",
- "current": "denne veka",
- "next": "neste veke",
- "past": [
- "one": "for {0} veke sidan",
- "other": "for {0} veker sidan"
- ],
- "future": [
- "one": "om {0} veke",
- "other": "om {0} veker"
- ]
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgon",
- "past": "for {0} døgn sidan",
- "future": "om {0} døgn"
- ],
- "hour": [
- "current": "denne timen",
- "past": [
- "one": "for {0} time sidan",
- "other": "for {0} timar sidan"
- ],
- "future": [
- "one": "om {0} time",
- "other": "om {0} timar"
- ]
- ],
- "minute": [
- "current": "dette minuttet",
- "past": "for {0} minutt sidan",
- "future": "om {0} minutt"
- ],
- "second": [
- "current": "no",
- "past": "for {0} sekund sidan",
- "future": [
- "one": "om {0} sekund",
- "other": "om {0} sekund"
- ]
- ],
- "now": "no"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_or.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_or.swift
deleted file mode 100644
index 871b0417..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_or.swift
+++ /dev/null
@@ -1,193 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_or: RelativeFormatterLang {
-
- /// Odia
- public static let identifier: String = "or"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ଗତ ବର୍ଷ",
- "current": "ଏହି ବର୍ଷ",
- "next": "ଆଗାମୀ ବର୍ଷ",
- "past": "{0} ବ. ପୂର୍ବେ",
- "future": "{0} ବ. ରେ"
- ],
- "quarter": [
- "previous": "ଗତ ତ୍ରୟମାସ",
- "current": "ଗତ ତ୍ରୟମାସ",
- "next": "ଆଗାମୀ ତ୍ରୟମାସ",
- "past": "{0} ତ୍ରୟ. ପୂର୍ବେ",
- "future": "{0} ତ୍ରୟ. ରେ"
- ],
- "month": [
- "previous": "ଗତ ମାସ",
- "current": "ଏହି ମାସ",
- "next": "ଆଗାମୀ ମାସ",
- "past": "{0} ମା. ପୂର୍ବେ",
- "future": "{0} ମା. ରେ"
- ],
- "week": [
- "previous": "ଗତ ସପ୍ତାହ",
- "current": "ଏହି ସପ୍ତାହ",
- "next": "ଆଗାମୀ ସପ୍ତାହ",
- "past": "{0} ସପ୍ତା. ପୂର୍ବେ",
- "future": "{0} ସପ୍ତା. ରେ"
- ],
- "day": [
- "previous": "ଗତକାଲି",
- "current": "ଆଜି",
- "next": "ଆସନ୍ତାକାଲି",
- "past": "{0} ଦିନ ପୂର୍ବେ",
- "future": "{0} ଦିନରେ"
- ],
- "hour": [
- "current": "ଏହି ଘଣ୍ଟା",
- "past": "{0} ଘ. ପୂର୍ବେ",
- "future": "{0} ଘ. ରେ"
- ],
- "minute": [
- "current": "ଏହି ମିନିଟ୍",
- "past": "{0} ମି. ପୂର୍ବେ",
- "future": "{0} ମି. ରେ"
- ],
- "second": [
- "current": "ବର୍ତ୍ତମାନ",
- "past": "{0} ସେ. ପୂର୍ବେ",
- "future": "{0} ସେ. ରେ"
- ],
- "now": "ବର୍ତ୍ତମାନ"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ଗତ ବର୍ଷ",
- "current": "ଏହି ବର୍ଷ",
- "next": "ଆଗାମୀ ବର୍ଷ",
- "past": "{0} ବ. ପୂର୍ବେ",
- "future": "{0} ବ. ରେ"
- ],
- "quarter": [
- "previous": "ଗତ ତ୍ରୟମାସ",
- "current": "ଗତ ତ୍ରୟମାସ",
- "next": "ଆଗାମୀ ତ୍ରୟମାସ",
- "past": "{0} ତ୍ରୟ. ପୂର୍ବେ",
- "future": "{0} ତ୍ରୟ. ରେ"
- ],
- "month": [
- "previous": "ଗତ ମାସ",
- "current": "ଏହି ମାସ",
- "next": "ଆଗାମୀ ମାସ",
- "past": "{0} ମା. ପୂର୍ବେ",
- "future": "{0} ମା. ରେ"
- ],
- "week": [
- "previous": "ଗତ ସପ୍ତାହ",
- "current": "ଏହି ସପ୍ତାହ",
- "next": "ଆଗାମୀ ସପ୍ତାହ",
- "past": "{0} ସପ୍ତା. ପୂର୍ବେ",
- "future": "{0} ସପ୍ତା. ରେ"
- ],
- "day": [
- "previous": "ଗତକାଲି",
- "current": "ଆଜି",
- "next": "ଆସନ୍ତାକାଲି",
- "past": "{0} ଦିନ ପୂର୍ବେ",
- "future": "{0} ଦିନରେ"
- ],
- "hour": [
- "current": "ଏହି ଘଣ୍ଟା",
- "past": "{0} ଘ. ପୂର୍ବେ",
- "future": "{0} ଘ. ରେ"
- ],
- "minute": [
- "current": "ଏହି ମିନିଟ୍",
- "past": "{0} ମି. ପୂର୍ବେ",
- "future": "{0} ମି. ରେ"
- ],
- "second": [
- "current": "ବର୍ତ୍ତମାନ",
- "past": "{0} ସେ. ପୂର୍ବେ",
- "future": "{0} ସେ. ରେ"
- ],
- "now": "ବର୍ତ୍ତମାନ"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ଗତ ବର୍ଷ",
- "current": "ଏହି ବର୍ଷ",
- "next": "ଆଗାମୀ ବର୍ଷ",
- "past": "{0} ବର୍ଷ ପୂର୍ବେ",
- "future": "{0} ବର୍ଷରେ"
- ],
- "quarter": [
- "previous": "ଗତ ତ୍ରୟମାସ",
- "current": "ଗତ ତ୍ରୟମାସ",
- "next": "ଆଗାମୀ ତ୍ରୟମାସ",
- "past": "{0} ତ୍ରୟମାସ ପୂର୍ବେ",
- "future": "{0} ତ୍ରୟମାସରେ"
- ],
- "month": [
- "previous": "ଗତ ମାସ",
- "current": "ଏହି ମାସ",
- "next": "ଆଗାମୀ ମାସ",
- "past": "{0} ମାସ ପୂର୍ବେ",
- "future": "{0} ମାସରେ"
- ],
- "week": [
- "previous": "ଗତ ସପ୍ତାହ",
- "current": "ଏହି ସପ୍ତାହ",
- "next": "ଆଗାମୀ ସପ୍ତାହ",
- "past": [
- "one": "{0} ସପ୍ତାହରେ",
- "other": "{0} ସପ୍ତାହ ପୂର୍ବେ"
- ],
- "future": "{0} ସପ୍ତାହରେ"
- ],
- "day": [
- "previous": "ଗତକାଲି",
- "current": "ଆଜି",
- "next": "ଆସନ୍ତାକାଲି",
- "past": "{0} ଦିନ ପୂର୍ବେ",
- "future": "{0} ଦିନରେ"
- ],
- "hour": [
- "current": "ଏହି ଘଣ୍ଟା",
- "past": "{0} ଘଣ୍ଟା ପୂର୍ବେ",
- "future": "{0} ଘଣ୍ଟାରେ"
- ],
- "minute": [
- "current": "ଏହି ମିନିଟ୍",
- "past": "{0} ମିନିଟ୍ ପୂର୍ବେ",
- "future": "{0} ମିନିଟ୍ରେ"
- ],
- "second": [
- "current": "ବର୍ତ୍ତମାନ",
- "past": "{0} ସେକେଣ୍ଡ ପୂର୍ବେ",
- "future": "{0} ସେକେଣ୍ଡରେ"
- ],
- "now": "ବର୍ତ୍ତମାନ"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pa.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pa.swift
deleted file mode 100644
index 9ef5a38f..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pa.swift
+++ /dev/null
@@ -1,296 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name// swiftlint:disable type_name
-public class lang_pa: RelativeFormatterLang {
-
- /// Punjabi
- public static let identifier: String = "pa"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- // swiftlint:disable switch_case_alignment
- case 0, 1: return .one
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ਪਿਛਲਾ ਸਾਲ",
- "current": "ਇਹ ਸਾਲ",
- "next": "ਅਗਲਾ ਸਾਲ",
- "past": "{0} ਸਾਲ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਸਾਲ ਵਿੱਚ",
- "other": "{0} ਸਾਲਾਂ ਵਿੱਚ"
- ]
- ],
- "quarter": [
- "previous": "ਪਿਛਲੀ ਤਿਮਾਹੀ",
- "current": "ਇਹ ਤਿਮਾਹੀ",
- "next": "ਅਗਲੀ ਤਿਮਾਹੀ",
- "past": [
- "one": "{0} ਤਿਮਾਹੀ ਪਹਿਲਾਂ",
- "other": "{0} ਤਿਮਾਹੀਆਂ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਤਿਮਾਹੀ ਵਿੱਚ",
- "other": "{0} ਤਿਮਾਹੀਆਂ ਵਿੱਚ"
- ]
- ],
- "month": [
- "previous": "ਪਿਛਲਾ ਮਹੀਨਾ",
- "current": "ਇਹ ਮਹੀਨਾ",
- "next": "ਅਗਲਾ ਮਹੀਨਾ",
- "past": [
- "one": "{0} ਮਹੀਨਾ ਪਹਿਲਾਂ",
- "other": "{0} ਮਹੀਨੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਮਹੀਨੇ ਵਿੱਚ",
- "other": "{0} ਮਹੀਨਿਆਂ ਵਿੱਚ"
- ]
- ],
- "week": [
- "previous": "ਪਿਛਲਾ ਹਫ਼ਤਾ",
- "current": "ਇਹ ਹਫ਼ਤਾ",
- "next": "ਅਗਲਾ ਹਫ਼ਤਾ",
- "past": [
- "one": "{0} ਹਫ਼ਤਾ ਪਹਿਲਾਂ",
- "other": "{0} ਹਫ਼ਤੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਹਫ਼ਤੇ ਵਿੱਚ",
- "other": "{0} ਹਫ਼ਤਿਆਂ ਵਿੱਚ"
- ]
- ],
- "day": [
- "previous": "ਬੀਤਿਆ ਕੱਲ੍ਹ",
- "current": "ਅੱਜ",
- "next": "ਭਲਕੇ",
- "past": "{0} ਦਿਨ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਦਿਨ ਵਿੱਚ",
- "other": "{0} ਦਿਨਾਂ ਵਿੱਚ"
- ]
- ],
- "hour": [
- "current": "ਇਸ ਘੰਟੇ",
- "past": [
- "one": "{0} ਘੰਟਾ ਪਹਿਲਾਂ",
- "other": "{0} ਘੰਟੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਘੰਟੇ ਵਿੱਚ",
- "other": "{0} ਘੰਟਿਆਂ ਵਿੱਚ"
- ]
- ],
- "minute": [
- "current": "ਇਸ ਮਿੰਟ",
- "past": "{0} ਮਿੰਟ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਮਿੰਟ ਵਿੱਚ",
- "other": "{0} ਮਿੰਟਾਂ ਵਿੱਚ"
- ]
- ],
- "second": [
- "current": "ਹੁਣ",
- "past": "{0} ਸਕਿੰਟ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਸਕਿੰਟ ਵਿੱਚ",
- "other": "{0} ਸਕਿੰਟਾਂ ਵਿੱਚ"
- ]
- ],
- "now": "ਹੁਣ"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ਪਿਛਲਾ ਸਾਲ",
- "current": "ਇਹ ਸਾਲ",
- "next": "ਅਗਲਾ ਸਾਲ",
- "past": "{0} ਸਾਲ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਸਾਲ ਵਿੱਚ",
- "other": "{0} ਸਾਲਾਂ ਵਿੱਚ"
- ]
- ],
- "quarter": [
- "previous": "ਪਿਛਲੀ ਤਿਮਾਹੀ",
- "current": "ਇਹ ਤਿਮਾਹੀ",
- "next": "ਅਗਲੀ ਤਿਮਾਹੀ",
- "past": "{0} ਤਿਮਾਹੀਆਂ ਪਹਿਲਾਂ",
- "future": "{0} ਤਿਮਾਹੀਆਂ ਵਿੱਚ"
- ],
- "month": [
- "previous": "ਪਿਛਲਾ ਮਹੀਨਾ",
- "current": "ਇਹ ਮਹੀਨਾ",
- "next": "ਅਗਲਾ ਮਹੀਨਾ",
- "past": [
- "one": "{0} ਮਹੀਨਾ ਪਹਿਲਾਂ",
- "other": "{0} ਮਹੀਨੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਮਹੀਨੇ ਵਿੱਚ",
- "other": "{0} ਮਹੀਨਿਆਂ ਵਿੱਚ"
- ]
- ],
- "week": [
- "previous": "ਪਿਛਲਾ ਹਫ਼ਤਾ",
- "current": "ਇਹ ਹਫ਼ਤਾ",
- "next": "ਅਗਲਾ ਹਫ਼ਤਾ",
- "past": [
- "one": "{0} ਹਫ਼ਤਾ ਪਹਿਲਾਂ",
- "other": "{0} ਹਫ਼ਤੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਹਫ਼ਤੇ ਵਿੱਚ",
- "other": "{0} ਹਫ਼ਤਿਆਂ ਵਿੱਚ"
- ]
- ],
- "day": [
- "previous": "ਬੀਤਿਆ ਕੱਲ੍ਹ",
- "current": "ਅੱਜ",
- "next": "ਭਲਕੇ",
- "past": "{0} ਦਿਨ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਦਿਨ ਵਿੱਚ",
- "other": "{0} ਦਿਨਾਂ ਵਿੱਚ"
- ]
- ],
- "hour": [
- "current": "ਇਸ ਘੰਟੇ",
- "past": [
- "one": "{0} ਘੰਟਾ ਪਹਿਲਾਂ",
- "other": "{0} ਘੰਟੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਘੰਟੇ ਵਿੱਚ",
- "other": "{0} ਘੰਟਿਆਂ ਵਿੱਚ"
- ]
- ],
- "minute": [
- "current": "ਇਸ ਮਿੰਟ",
- "past": "{0} ਮਿੰਟ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਮਿੰਟ ਵਿੱਚ",
- "other": "{0} ਮਿੰਟਾਂ ਵਿੱਚ"
- ]
- ],
- "second": [
- "current": "ਹੁਣ",
- "past": "{0} ਸਕਿੰਟ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਸਕਿੰਟ ਵਿੱਚ",
- "other": "{0} ਸਕਿੰਟਾਂ ਵਿੱਚ"
- ]
- ],
- "now": "ਹੁਣ"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ਪਿਛਲਾ ਸਾਲ",
- "current": "ਇਹ ਸਾਲ",
- "next": "ਅਗਲਾ ਸਾਲ",
- "past": "{0} ਸਾਲ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਸਾਲ ਵਿੱਚ",
- "other": "{0} ਸਾਲਾਂ ਵਿੱਚ"
- ]
- ],
- "quarter": [
- "previous": "ਪਿਛਲੀ ਤਿਮਾਹੀ",
- "current": "ਇਸ ਤਿਮਾਹੀ",
- "next": "ਅਗਲੀ ਤਿਮਾਹੀ",
- "past": [
- "one": "{0} ਤਿਮਾਹੀ ਪਹਿਲਾਂ",
- "other": "{0} ਤਿਮਾਹੀਆਂ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਤਿਮਾਹੀ ਵਿੱਚ",
- "other": "{0} ਤਿਮਾਹੀਆਂ ਵਿੱਚ"
- ]
- ],
- "month": [
- "previous": "ਪਿਛਲਾ ਮਹੀਨਾ",
- "current": "ਇਹ ਮਹੀਨਾ",
- "next": "ਅਗਲਾ ਮਹੀਨਾ",
- "past": [
- "one": "{0} ਮਹੀਨਾ ਪਹਿਲਾਂ",
- "other": "{0} ਮਹੀਨੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਮਹੀਨੇ ਵਿੱਚ",
- "other": "{0} ਮਹੀਨਿਆਂ ਵਿੱਚ"
- ]
- ],
- "week": [
- "previous": "ਪਿਛਲਾ ਹਫ਼ਤਾ",
- "current": "ਇਹ ਹਫ਼ਤਾ",
- "next": "ਅਗਲਾ ਹਫ਼ਤਾ",
- "past": [
- "one": "{0} ਹਫ਼ਤਾ ਪਹਿਲਾਂ",
- "other": "{0} ਹਫ਼ਤੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਹਫ਼ਤੇ ਵਿੱਚ",
- "other": "{0} ਹਫ਼ਤਿਆਂ ਵਿੱਚ"
- ]
- ],
- "day": [
- "previous": "ਬੀਤਿਆ ਕੱਲ੍ਹ",
- "current": "ਅੱਜ",
- "next": "ਭਲਕੇ",
- "past": "{0} ਦਿਨ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਦਿਨ ਵਿੱਚ",
- "other": "{0} ਦਿਨਾਂ ਵਿੱਚ"
- ]
- ],
- "hour": [
- "current": "ਇਸ ਘੰਟੇ",
- "past": [
- "one": "{0} ਘੰਟਾ ਪਹਿਲਾਂ",
- "other": "{0} ਘੰਟੇ ਪਹਿਲਾਂ"
- ],
- "future": [
- "one": "{0} ਘੰਟੇ ਵਿੱਚ",
- "other": "{0} ਘੰਟਿਆਂ ਵਿੱਚ"
- ]
- ],
- "minute": [
- "current": "ਇਸ ਮਿੰਟ",
- "past": "{0} ਮਿੰਟ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਮਿੰਟ ਵਿੱਚ",
- "other": "{0} ਮਿੰਟਾਂ ਵਿੱਚ"
- ]
- ],
- "second": [
- "current": "ਹੁਣ",
- "past": "{0} ਸਕਿੰਟ ਪਹਿਲਾਂ",
- "future": [
- "one": "{0} ਸਕਿੰਟ ਵਿੱਚ",
- "other": "{0} ਸਕਿੰਟਾਂ ਵਿੱਚ"
- ]
- ],
- "now": "ਹੁਣ"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pl.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pl.swift
deleted file mode 100644
index 5d5db7c6..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pl.swift
+++ /dev/null
@@ -1,334 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_pl: RelativeFormatterLang {
-
- /// Polish
- public static let identifier: String = "pl"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- if value == 1 {
- return .one
- }
-
- switch mod10 {
- case 2...4:
- switch mod100 {
- case 12...14:
- break
- default:
- return .few
- }
- default:
- return .many
- }
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "w zeszłym roku",
- "current": "w tym roku",
- "next": "w przyszłym roku",
- "past": [
- "one": "{0} rok temu",
- "few": "{0} lata temu",
- "many": "{0} lat temu",
- "other": "{0} roku temu"
- ],
- "future": [
- "one": "za {0} rok",
- "few": "za {0} lata",
- "many": "za {0} lat",
- "other": "za {0} roku"
- ]
- ],
- "quarter": [
- "previous": "w zeszłym kwartale",
- "current": "w tym kwartale",
- "next": "w przyszłym kwartale",
- "past": "{0} kw. temu",
- "future": "za {0} kw."
- ],
- "month": [
- "previous": "w zeszłym miesiącu",
- "current": "w tym miesiącu",
- "next": "w przyszłym miesiącu",
- "past": "{0} mies. temu",
- "future": "za {0} mies."
- ],
- "week": [
- "previous": "w zeszłym tygodniu",
- "current": "w tym tygodniu",
- "next": "w przyszłym tygodniu",
- "past": [
- "one": "{0} tydz. temu",
- "other": "{0} tyg. temu"
- ],
- "future": [
- "one": "za {0} tydz.",
- "other": "za {0} tyg."
- ]
- ],
- "day": [
- "previous": "wczoraj",
- "current": "dzisiaj",
- "next": "jutro",
- "past": [
- "one": "{0} dzień temu",
- "few": "{0} dni temu",
- "many": "{0} dni temu",
- "other": "{0} dnia temu"
- ],
- "future": [
- "one": "za {0} dzień",
- "few": "za {0} dni",
- "many": "za {0} dni",
- "other": "za {0} dnia"
- ]
- ],
- "hour": [
- "current": "ta godzina",
- "past": "{0} godz. temu",
- "future": "za {0} godz."
- ],
- "minute": [
- "current": "ta minuta",
- "past": "{0} min temu",
- "future": "za {0} min"
- ],
- "second": [
- "current": "teraz",
- "past": "{0} sek. temu",
- "future": "za {0} sek."
- ],
- "now": "teraz"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "w zeszłym roku",
- "current": "w tym roku",
- "next": "w przyszłym roku",
- "past": [
- "one": "{0} rok temu",
- "few": "{0} lata temu",
- "many": "{0} lat temu",
- "other": "{0} roku temu"
- ],
- "future": [
- "one": "za {0} rok",
- "few": "za {0} lata",
- "many": "za {0} lat",
- "other": "za {0} roku"
- ]
- ],
- "quarter": [
- "previous": "w zeszłym kwartale",
- "current": "w tym kwartale",
- "next": "w przyszłym kwartale",
- "past": "{0} kw. temu",
- "future": "za {0} kw."
- ],
- "month": [
- "previous": "w zeszłym miesiącu",
- "current": "w tym miesiącu",
- "next": "w przyszłym miesiącu",
- "past": "{0} mies. temu",
- "future": "za {0} mies."
- ],
- "week": [
- "previous": "w zeszłym tygodniu",
- "current": "w tym tygodniu",
- "next": "w przyszłym tygodniu",
- "past": [
- "one": "{0} tydz. temu",
- "other": "{0} tyg. temu"
- ],
- "future": [
- "one": "za {0} tydz.",
- "other": "za {0} tyg."
- ]
- ],
- "day": [
- "previous": "wczoraj",
- "current": "dzisiaj",
- "next": "jutro",
- "past": [
- "one": "{0} dzień temu",
- "few": "{0} dni temu",
- "many": "{0} dni temu",
- "other": "{0} dnia temu"
- ],
- "future": [
- "one": "za {0} dzień",
- "few": "za {0} dni",
- "many": "za {0} dni",
- "other": "za {0} dnia"
- ]
- ],
- "hour": [
- "current": "ta godzina",
- "past": "{0} g. temu",
- "future": "za {0} g."
- ],
- "minute": [
- "current": "ta minuta",
- "past": "{0} min temu",
- "future": "za {0} min"
- ],
- "second": [
- "current": "teraz",
- "past": "{0} s temu",
- "future": "za {0} s"
- ],
- "now": "teraz"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "w zeszłym roku",
- "current": "w tym roku",
- "next": "w przyszłym roku",
- "past": [
- "one": "{0} rok temu",
- "few": "{0} lata temu",
- "many": "{0} lat temu",
- "other": "{0} roku temu"
- ],
- "future": [
- "one": "za {0} rok",
- "few": "za {0} lata",
- "many": "za {0} lat",
- "other": "za {0} roku"
- ]
- ],
- "quarter": [
- "previous": "w zeszłym kwartale",
- "current": "w tym kwartale",
- "next": "w przyszłym kwartale",
- "past": [
- "one": "{0} kwartał temu",
- "few": "{0} kwartały temu",
- "many": "{0} kwartałów temu",
- "other": "{0} kwartału temu"
- ],
- "future": [
- "one": "za {0} kwartał",
- "few": "za {0} kwartały",
- "many": "za {0} kwartałów",
- "other": "za {0} kwartału"
- ]
- ],
- "month": [
- "previous": "w zeszłym miesiącu",
- "current": "w tym miesiącu",
- "next": "w przyszłym miesiącu",
- "past": [
- "one": "{0} miesiąc temu",
- "few": "{0} miesiące temu",
- "many": "{0} miesięcy temu",
- "other": "{0} miesiąca temu"
- ],
- "future": [
- "one": "za {0} miesiąc",
- "few": "za {0} miesiące",
- "many": "za {0} miesięcy",
- "other": "za {0} miesiąca"
- ]
- ],
- "week": [
- "previous": "w zeszłym tygodniu",
- "current": "w tym tygodniu",
- "next": "w przyszłym tygodniu",
- "past": [
- "one": "{0} tydzień temu",
- "few": "{0} tygodnie temu",
- "many": "{0} tygodni temu",
- "other": "{0} tygodnia temu"
- ],
- "future": [
- "one": "za {0} tydzień",
- "few": "za {0} tygodnie",
- "many": "za {0} tygodni",
- "other": "za {0} tygodnia"
- ]
- ],
- "day": [
- "previous": "wczoraj",
- "current": "dzisiaj",
- "next": "jutro",
- "past": [
- "one": "{0} dzień temu",
- "few": "{0} dni temu",
- "many": "{0} dni temu",
- "other": "{0} dnia temu"
- ],
- "future": [
- "one": "za {0} dzień",
- "few": "za {0} dni",
- "many": "za {0} dni",
- "other": "za {0} dnia"
- ]
- ],
- "hour": [
- "current": "ta godzina",
- "past": [
- "one": "{0} godzinę temu",
- "many": "{0} godzin temu",
- "other": "{0} godziny temu"
- ],
- "future": [
- "one": "za {0} godzinę",
- "many": "za {0} godzin",
- "other": "za {0} godziny"
- ]
- ],
- "minute": [
- "current": "ta minuta",
- "past": [
- "one": "{0} minutę temu",
- "many": "{0} minut temu",
- "other": "{0} minuty temu"
- ],
- "future": [
- "one": "za {0} minutę",
- "many": "za {0} minut",
- "other": "za {0} minuty"
- ]
- ],
- "second": [
- "current": "teraz",
- "past": [
- "one": "{0} sekundę temu",
- "many": "{0} sekund temu",
- "other": "{0} sekundy temu"
- ],
- "future": [
- "one": "za {0} sekundę",
- "many": "za {0} sekund",
- "other": "za {0} sekundy"
- ]
- ],
- "now": "teraz"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ps.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ps.swift
deleted file mode 100644
index 2b605e1b..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ps.swift
+++ /dev/null
@@ -1,208 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ps: RelativeFormatterLang {
-
- /// Pashto
- public static let identifier: String = "ps"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "پروسږکال",
- "current": "سږکال",
- "next": "بل کال",
- "past": [
- "one": "{0} کال مخکې",
- "other": "{0} کاله مخکې"
- ],
- "future": [
- "one": "په {0} کال کې",
- "other": "په {0} کالونو کې"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "پروسږکال",
- "current": "سږکال",
- "next": "بل کال",
- "past": [
- "one": "{0} کال مخکې",
- "other": "{0} کاله مخکې"
- ],
- "future": [
- "one": "په {0} کال کې",
- "other": "په {0} کالونو کې"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "پروسږکال",
- "current": "سږکال",
- "next": "بل کال",
- "past": [
- "one": "{0} کال مخکې",
- "other": "{0} کاله مخکې"
- ],
- "future": [
- "one": "په {0} کال کې",
- "other": "په {0} کالونو کې"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "yesterday",
- "current": "today",
- "next": "tomorrow",
- "past": "-{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pt.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pt.swift
deleted file mode 100644
index 5c568385..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_pt.swift
+++ /dev/null
@@ -1,271 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_pt: RelativeFormatterLang {
-
- /// Portuguese
- public static let identifier: String = "pt"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ano passado",
- "current": "este ano",
- "next": "próximo ano",
- "past": [
- "one": "há {0} ano",
- "other": "há {0} anos"
- ],
- "future": [
- "one": "dentro de {0} ano",
- "other": "dentro de {0} anos"
- ]
- ],
- "quarter": [
- "previous": "trim. passado",
- "current": "este trim.",
- "next": "próximo trim.",
- "past": "há {0} trim.",
- "future": "dentro de {0} trim."
- ],
- "month": [
- "previous": "mês passado",
- "current": "este mês",
- "next": "próximo mês",
- "past": [
- "one": "há {0} mês",
- "other": "há {0} meses"
- ],
- "future": [
- "one": "dentro de {0} mês",
- "other": "dentro de {0} meses"
- ]
- ],
- "week": [
- "previous": "semana passada",
- "current": "esta semana",
- "next": "próxima semana",
- "past": "há {0} sem.",
- "future": "dentro de {0} sem."
- ],
- "day": [
- "previous": "ontem",
- "current": "hoje",
- "next": "amanhã",
- "past": [
- "one": "há {0} dia",
- "other": "há {0} dias"
- ],
- "future": [
- "one": "dentro de {0} dia",
- "other": "dentro de {0} dias"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "há {0} h",
- "future": "dentro de {0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "há {0} min",
- "future": "dentro de {0} min"
- ],
- "second": [
- "current": "agora",
- "past": "há {0} s",
- "future": "dentro de {0} s"
- ],
- "now": "agora"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ano passado",
- "current": "este ano",
- "next": "próximo ano",
- "past": [
- "one": "-{0} ano",
- "other": "-{0} anos"
- ],
- "future": [
- "one": "+{0} ano",
- "other": "+{0} anos"
- ]
- ],
- "quarter": [
- "previous": "trim. passado",
- "current": "este trim.",
- "next": "próximo trim.",
- "past": "-{0} trim.",
- "future": "+{0} trim."
- ],
- "month": [
- "previous": "mês passado",
- "current": "este mês",
- "next": "próximo mês",
- "past": [
- "one": "-{0} mês",
- "other": "-{0} meses"
- ],
- "future": [
- "one": "+{0} mês",
- "other": "+{0} meses"
- ]
- ],
- "week": [
- "previous": "semana passada",
- "current": "esta semana",
- "next": "próxima semana",
- "past": "-{0} sem.",
- "future": "+{0} sem."
- ],
- "day": [
- "previous": "ontem",
- "current": "hoje",
- "next": "amanhã",
- "past": "há {0} dias",
- "future": [
- "one": "+{0} dia",
- "other": "+{0} dias"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "este minuto",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "agora",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "agora"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ano passado",
- "current": "este ano",
- "next": "próximo ano",
- "past": [
- "one": "há {0} ano",
- "other": "há {0} anos"
- ],
- "future": [
- "one": "dentro de {0} ano",
- "other": "dentro de {0} anos"
- ]
- ],
- "quarter": [
- "previous": "trimestre passado",
- "current": "este trimestre",
- "next": "próximo trimestre",
- "past": [
- "one": "há {0} trimestre",
- "other": "há {0} trimestres"
- ],
- "future": [
- "one": "dentro de {0} trimestre",
- "other": "dentro de {0} trimestres"
- ]
- ],
- "month": [
- "previous": "mês passado",
- "current": "este mês",
- "next": "próximo mês",
- "past": [
- "one": "há {0} mês",
- "other": "há {0} meses"
- ],
- "future": [
- "one": "dentro de {0} mês",
- "other": "dentro de {0} meses"
- ]
- ],
- "week": [
- "previous": "semana passada",
- "current": "esta semana",
- "next": "próxima semana",
- "past": [
- "one": "há {0} semana",
- "other": "há {0} semanas"
- ],
- "future": [
- "one": "dentro de {0} semana",
- "other": "dentro de {0} semanas"
- ]
- ],
- "day": [
- "previous": "ontem",
- "current": "hoje",
- "next": "amanhã",
- "past": [
- "one": "há {0} dia",
- "other": "há {0} dias"
- ],
- "future": [
- "one": "dentro de {0} dia",
- "other": "dentro de {0} dias"
- ]
- ],
- "hour": [
- "current": "esta hora",
- "past": [
- "one": "há {0} hora",
- "other": "há {0} horas"
- ],
- "future": [
- "one": "dentro de {0} hora",
- "other": "dentro de {0} horas"
- ]
- ],
- "minute": [
- "current": "este minuto",
- "past": [
- "one": "há {0} minuto",
- "other": "há {0} minutos"
- ],
- "future": [
- "one": "dentro de {0} minuto",
- "other": "dentro de {0} minutos"
- ]
- ],
- "second": [
- "current": "agora",
- "past": [
- "one": "há {0} segundo",
- "other": "há {0} segundos"
- ],
- "future": [
- "one": "dentro de {0} segundo",
- "other": "dentro de {0} segundos"
- ]
- ],
- "now": "agora"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ro.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ro.swift
deleted file mode 100644
index 7498b8a5..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ro.swift
+++ /dev/null
@@ -1,307 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ro: RelativeFormatterLang {
-
- /// Romanian
- public static let identifier: String = "ro"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod100 = Int(value) % 100
-
- switch value {
- case 0:
- return .few
- case 1:
- return .one
- default:
- if mod100 > 1 && mod100 <= 19 {
- return .few
- }
- }
-
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "anul trecut",
- "current": "anul acesta",
- "next": "anul viitor",
- "past": [
- "one": "acum {0} an",
- "few": "acum {0} ani",
- "other": "acum {0} de ani"
- ],
- "future": [
- "one": "peste {0} an",
- "few": "peste {0} ani",
- "other": "peste {0} de ani"
- ]
- ],
- "quarter": [
- "previous": "trim. trecut",
- "current": "trim. acesta",
- "next": "trim. viitor",
- "past": "acum {0} trim.",
- "future": "peste {0} trim."
- ],
- "month": [
- "previous": "luna trecută",
- "current": "luna aceasta",
- "next": "luna viitoare",
- "past": [
- "one": "acum {0} lună",
- "other": "acum {0} luni"
- ],
- "future": [
- "one": "peste {0} lună",
- "other": "peste {0} luni"
- ]
- ],
- "week": [
- "previous": "săptămâna trecută",
- "current": "săptămâna aceasta",
- "next": "săptămâna viitoare",
- "past": "acum {0} săpt.",
- "future": "peste {0} săpt."
- ],
- "day": [
- "previous": "ieri",
- "current": "azi",
- "next": "mâine",
- "past": [
- "one": "acum {0} zi",
- "few": "acum {0} zile",
- "other": "acum {0} de zile"
- ],
- "future": [
- "one": "peste {0} zi",
- "few": "peste {0} zile",
- "other": "peste {0} de zile"
- ]
- ],
- "hour": [
- "current": "ora aceasta",
- "past": "acum {0} h",
- "future": "peste {0} h"
- ],
- "minute": [
- "current": "minutul acesta",
- "past": "acum {0} min.",
- "future": "peste {0} min."
- ],
- "second": [
- "current": "acum",
- "past": "acum {0} sec.",
- "future": "peste {0} sec."
- ],
- "now": "acum"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "anul trecut",
- "current": "anul acesta",
- "next": "anul viitor",
- "past": [
- "one": "-{0} an",
- "other": "-{0} ani"
- ],
- "future": [
- "one": "+{0} an",
- "other": "+{0} ani"
- ]
- ],
- "quarter": [
- "previous": "trim. trecut",
- "current": "trim. acesta",
- "next": "trim. viitor",
- "past": "-{0} trim.",
- "future": "+{0} trim."
- ],
- "month": [
- "previous": "luna trecută",
- "current": "luna aceasta",
- "next": "luna viitoare",
- "past": [
- "one": "-{0} lună",
- "other": "-{0} luni"
- ],
- "future": [
- "one": "+{0} lună",
- "other": "+{0} luni"
- ]
- ],
- "week": [
- "previous": "săptămâna trecută",
- "current": "săptămâna aceasta",
- "next": "săptămâna viitoare",
- "past": "-{0} săpt.",
- "future": "+{0} săpt."
- ],
- "day": [
- "previous": "ieri",
- "current": "azi",
- "next": "mâine",
- "past": [
- "one": "-{0} zi",
- "other": "-{0} zile"
- ],
- "future": [
- "one": "+{0} zi",
- "other": "+{0} zile"
- ]
- ],
- "hour": [
- "current": "ora aceasta",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "minutul acesta",
- "past": "-{0} m",
- "future": "+{0} m"
- ],
- "second": [
- "current": "acum",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "acum"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "anul trecut",
- "current": "anul acesta",
- "next": "anul viitor",
- "past": [
- "one": "acum {0} an",
- "few": "acum {0} ani",
- "other": "acum {0} de ani"
- ],
- "future": [
- "one": "peste {0} an",
- "few": "peste {0} ani",
- "other": "peste {0} de ani"
- ]
- ],
- "quarter": [
- "previous": "trimestrul trecut",
- "current": "trimestrul acesta",
- "next": "trimestrul viitor",
- "past": [
- "one": "acum {0} trimestru",
- "few": "acum {0} trimestre",
- "other": "acum {0} de trimestre"
- ],
- "future": [
- "one": "peste {0} trimestru",
- "few": "peste {0} trimestre",
- "other": "peste {0} de trimestre"
- ]
- ],
- "month": [
- "previous": "luna trecută",
- "current": "luna aceasta",
- "next": "luna viitoare",
- "past": [
- "one": "acum {0} lună",
- "few": "acum {0} luni",
- "other": "acum {0} de luni"
- ],
- "future": [
- "one": "peste {0} lună",
- "few": "peste {0} luni",
- "other": "peste {0} de luni"
- ]
- ],
- "week": [
- "previous": "săptămâna trecută",
- "current": "săptămâna aceasta",
- "next": "săptămâna viitoare",
- "past": [
- "one": "acum {0} săptămână",
- "few": "acum {0} săptămâni",
- "other": "acum {0} de săptămâni"
- ],
- "future": [
- "one": "peste {0} săptămână",
- "few": "peste {0} săptămâni",
- "other": "peste {0} de săptămâni"
- ]
- ],
- "day": [
- "previous": "ieri",
- "current": "azi",
- "next": "mâine",
- "past": [
- "one": "acum {0} zi",
- "few": "acum {0} zile",
- "other": "acum {0} de zile"
- ],
- "future": [
- "one": "peste {0} zi",
- "few": "peste {0} zile",
- "other": "peste {0} de zile"
- ]
- ],
- "hour": [
- "current": "ora aceasta",
- "past": [
- "one": "acum {0} oră",
- "few": "acum {0} ore",
- "other": "acum {0} de ore"
- ],
- "future": [
- "one": "peste {0} oră",
- "few": "peste {0} ore",
- "other": "peste {0} de ore"
- ]
- ],
- "minute": [
- "current": "minutul acesta",
- "past": [
- "one": "acum {0} minut",
- "few": "acum {0} minute",
- "other": "acum {0} de minute"
- ],
- "future": [
- "one": "peste {0} minut",
- "few": "peste {0} minute",
- "other": "peste {0} de minute"
- ]
- ],
- "second": [
- "current": "acum",
- "past": [
- "one": "acum {0} secundă",
- "few": "acum {0} secunde",
- "other": "acum {0} de secunde"
- ],
- "future": [
- "one": "peste {0} secundă",
- "few": "peste {0} secunde",
- "other": "peste {0} de secunde"
- ]
- ],
- "now": "acum"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ru.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ru.swift
deleted file mode 100644
index 77d2e59a..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ru.swift
+++ /dev/null
@@ -1,291 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ru: RelativeFormatterLang {
-
- /// Russian
- public static let identifier: String = "ru"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod100 {
- case 11...14:
- break
-
- default:
- switch mod10 {
- case 1:
- return .one
- case 2...4:
- return .few
- default:
- break
- }
-
- }
-
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "в прошлом г.",
- "current": "в этом г.",
- "next": "в след. г.",
- "past": [
- "many": "{0} л. назад",
- "other": "{0} г. назад"
- ],
- "future": [
- "many": "через {0} л.",
- "other": "через {0} г."
- ]
- ],
- "quarter": [
- "previous": "последний кв.",
- "current": "текущий кв.",
- "next": "следующий кв.",
- "past": "{0} кв. назад",
- "future": "через {0} кв."
- ],
- "month": [
- "previous": "в прошлом мес.",
- "current": "в этом мес.",
- "next": "в следующем мес.",
- "past": "{0} мес. назад",
- "future": "через {0} мес."
- ],
- "week": [
- "previous": "на прошлой нед.",
- "current": "на этой нед.",
- "next": "на следующей нед.",
- "past": "{0} нед. назад",
- "future": "через {0} нед."
- ],
- "day": [
- "previous": "вчера",
- "current": "сегодня",
- "next": "завтра",
- "past": "{0} дн. назад",
- "future": "через {0} дн."
- ],
- "hour": [
- "current": "в этот час",
- "past": [
- "one": "{0} ч. назад",
- "other": "{0} ч. назад"
- ],
- "future": [
- "one": "через {0} ч.",
- "other": "через {0} ч."
- ]
- ],
- "minute": [
- "current": "в эту минуту",
- "past": "{0} мин. назад",
- "future": "через {0} мин."
- ],
- "second": [
- "current": "сейчас",
- "past": "{0} сек. назад",
- "future": "через {0} сек."
- ],
- "now": "сейчас"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "в пр. г.",
- "current": "в эт. г.",
- "next": "в сл. г.",
- "past": [
- "many": "-{0} л.",
- "other": "-{0} г."
- ],
- "future": [
- "many": "+{0} л.",
- "other": "+{0} г."
- ]
- ],
- "quarter": [
- "previous": "посл. кв.",
- "current": "тек. кв.",
- "next": "след. кв.",
- "past": "-{0} кв.",
- "future": "+{0} кв."
- ],
- "month": [
- "previous": "в пр. мес.",
- "current": "в эт. мес.",
- "next": "в след. мес.",
- "past": "-{0} мес.",
- "future": "+{0} мес."
- ],
- "week": [
- "previous": "на пр. нед.",
- "current": "на эт. нед.",
- "next": "на след. неделе",
- "past": "-{0} нед.",
- "future": "+{0} нед."
- ],
- "day": [
- "previous": "вчера",
- "current": "сегодня",
- "next": "завтра",
- "past": "-{0} дн.",
- "future": "+{0} дн."
- ],
- "hour": [
- "current": "в этот час",
- "past": "-{0} ч.",
- "future": "+{0} ч."
- ],
- "minute": [
- "current": "в эту минуту",
- "past": "-{0} мин.",
- "future": "+{0} мин."
- ],
- "second": [
- "current": "сейчас",
- "past": "-{0} с",
- "future": "+{0} с"
- ],
- "now": "сейчас"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "в прошлом году",
- "current": "в этом году",
- "next": "в следующем году",
- "past": [
- "one": "{0} год назад",
- "many": "{0} лет назад",
- "other": "{0} года назад"
- ],
- "future": [
- "one": "через {0} год",
- "many": "через {0} лет",
- "other": "через {0} года"
- ]
- ],
- "quarter": [
- "previous": "в прошлом квартале",
- "current": "в текущем квартале",
- "next": "в следующем квартале",
- "past": [
- "one": "{0} квартал назад",
- "many": "{0} кварталов назад",
- "other": "{0} квартала назад"
- ],
- "future": [
- "one": "через {0} квартал",
- "many": "через {0} кварталов",
- "other": "через {0} квартала"
- ]
- ],
- "month": [
- "previous": "в прошлом месяце",
- "current": "в этом месяце",
- "next": "в следующем месяце",
- "past": [
- "one": "{0} месяц назад",
- "many": "{0} месяцев назад",
- "other": "{0} месяца назад"
- ],
- "future": [
- "one": "через {0} месяц",
- "many": "через {0} месяцев",
- "other": "через {0} месяца"
- ]
- ],
- "week": [
- "previous": "на прошлой неделе",
- "current": "на этой неделе",
- "next": "на следующей неделе",
- "past": [
- "one": "{0} неделю назад",
- "many": "{0} недель назад",
- "other": "{0} недели назад"
- ],
- "future": [
- "one": "через {0} неделю",
- "many": "через {0} недель",
- "other": "через {0} недели"
- ]
- ],
- "day": [
- "previous": "вчера",
- "current": "сегодня",
- "next": "завтра",
- "past": [
- "one": "{0} день назад",
- "many": "{0} дней назад",
- "other": "{0} дня назад"
- ],
- "future": [
- "one": "через {0} день",
- "many": "через {0} дней",
- "other": "через {0} дня"
- ]
- ],
- "hour": [
- "current": "в этот час",
- "past": [
- "one": "{0} час назад",
- "many": "{0} часов назад",
- "other": "{0} часа назад"
- ],
- "future": [
- "one": "через {0} час",
- "many": "через {0} часов",
- "other": "через {0} часа"
- ]
- ],
- "minute": [
- "current": "в эту минуту",
- "past": [
- "one": "{0} минуту назад",
- "many": "{0} минут назад",
- "other": "{0} минуты назад"
- ],
- "future": [
- "one": "через {0} минуту",
- "many": "через {0} минут",
- "other": "через {0} минуты"
- ]
- ],
- "second": [
- "current": "сейчас",
- "past": [
- "one": "{0} секунду назад",
- "many": "{0} секунд назад",
- "other": "{0} секунды назад"
- ],
- "future": [
- "one": "через {0} секунду",
- "many": "через {0} секунд",
- "other": "через {0} секунды"
- ]
- ],
- "now": "сейчас"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sah.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sah.swift
deleted file mode 100644
index fb154137..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sah.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sah: RelativeFormatterLang {
-
- /// Sakha
- public static let identifier: String = "sah"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "Былырыын",
- "current": "быйыл",
- "next": "эһиил",
- "past": "{0} сыл ынараа өттүгэр",
- "future": "{0} сылынан"
- ],
- "quarter": [
- "previous": "ааспыт кыбаартал",
- "current": "бу кыбаартал",
- "next": "кэлэр кыбаартал",
- "past": "{0} кыб. анараа өттүгэр",
- "future": "{0} кыбаарталынан"
- ],
- "month": [
- "previous": "ааспыт ый",
- "current": "бу ый",
- "next": "аныгыскы ый",
- "past": "{0} ый ынараа өттүгэр",
- "future": "{0} ыйынан"
- ],
- "week": [
- "previous": "ааспыт нэдиэлэ",
- "current": "бу нэдиэлэ",
- "next": "кэлэр нэдиэлэ",
- "past": "{0} нэдиэлэ анараа өттүгэр",
- "future": "{0} нэдиэлэннэн"
- ],
- "day": [
- "previous": "Бэҕэһээ",
- "current": "Бүгүн",
- "next": "Сарсын",
- "past": "{0} күн ынараа өттүгэр",
- "future": "{0} күнүнэн"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} чаас ынараа өттүгэр",
- "future": "{0} чааһынан"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} мүнүүтэ ынараа өттүгэр",
- "future": "{0} мүнүүтэннэн"
- ],
- "second": [
- "current": "билигин",
- "past": "{0} сөк. анараа өттүгэр",
- "future": "{0} сөкүүндэннэн"
- ],
- "now": "билигин"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "Былырыын",
- "current": "быйыл",
- "next": "эһиил",
- "past": "{0} сыл ынараа өттүгэр",
- "future": "{0} сылынан"
- ],
- "quarter": [
- "previous": "ааспыт кыбаартал",
- "current": "бу кыбаартал",
- "next": "кэлэр кыбаартал",
- "past": "{0} кыб. анараа өттүгэр",
- "future": "{0} кыбаарталынан"
- ],
- "month": [
- "previous": "ааспыт ый",
- "current": "бу ый",
- "next": "аныгыскы ый",
- "past": "{0} ый ынараа өттүгэр",
- "future": "{0} ыйынан"
- ],
- "week": [
- "previous": "ааспыт нэдиэлэ",
- "current": "бу нэдиэлэ",
- "next": "кэлэр нэдиэлэ",
- "past": "{0} нэдиэлэ анараа өттүгэр",
- "future": "{0} нэдиэлэннэн"
- ],
- "day": [
- "previous": "Бэҕэһээ",
- "current": "Бүгүн",
- "next": "Сарсын",
- "past": "{0} күн ынараа өттүгэр",
- "future": "{0} күнүнэн"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} чаас ынараа өттүгэр",
- "future": "{0} чааһынан"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} мүнүүтэ ынараа өттүгэр",
- "future": "{0} мүнүүтэннэн"
- ],
- "second": [
- "current": "билигин",
- "past": "{0} сөк. анараа өттүгэр",
- "future": "{0} сөкүүндэннэн"
- ],
- "now": "билигин"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "Былырыын",
- "current": "быйыл",
- "next": "эһиил",
- "past": "{0} сыл ынараа өттүгэр",
- "future": "{0} сылынан"
- ],
- "quarter": [
- "previous": "ааспыт кыбаартал",
- "current": "бу кыбаартал",
- "next": "кэлэр кыбаартал",
- "past": "{0} кыбаартал анараа өттүгэр",
- "future": "{0} кыбаарталынан"
- ],
- "month": [
- "previous": "ааспыт ый",
- "current": "бу ый",
- "next": "аныгыскы ый",
- "past": "{0} ый ынараа өттүгэр",
- "future": "{0} ыйынан"
- ],
- "week": [
- "previous": "ааспыт нэдиэлэ",
- "current": "бу нэдиэлэ",
- "next": "кэлэр нэдиэлэ",
- "past": "{0} нэдиэлэ анараа өттүгэр",
- "future": "{0} нэдиэлэннэн"
- ],
- "day": [
- "previous": "Бэҕэһээ",
- "current": "Бүгүн",
- "next": "Сарсын",
- "past": "{0} күн ынараа өттүгэр",
- "future": "{0} күнүнэн"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} чаас ынараа өттүгэр",
- "future": "{0} чааһынан"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} мүнүүтэ ынараа өттүгэр",
- "future": "{0} мүнүүтэннэн"
- ],
- "second": [
- "current": "билигин",
- "past": "{0} сөкүүндэ ынараа өттүгэр",
- "future": "{0} сөкүүндэннэн"
- ],
- "now": "билигин"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sd.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sd.swift
deleted file mode 100644
index 4b3ea4c8..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sd.swift
+++ /dev/null
@@ -1,193 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sd: RelativeFormatterLang {
-
- /// Sindhi
- public static let identifier: String = "sd"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "پويون سال",
- "current": "پويون سال",
- "next": "پويون سال",
- "past": "{0} سال پهرين",
- "future": "{0} سالن ۾"
- ],
- "quarter": [
- "previous": "پوئين ٽي ماهي",
- "current": "هن ٽي ماهي",
- "next": "اڳين ٽي ماهي",
- "past": "{0} ٽي ماهي پهرين",
- "future": "{0} ٽي ماهي ۾"
- ],
- "month": [
- "previous": "پوئين مهيني",
- "current": "هن مهيني",
- "next": "اڳين مهيني",
- "past": "{0} مهينا پهرين",
- "future": "{0} مهينن ۾"
- ],
- "week": [
- "previous": "پوئين هفتي",
- "current": "هن هفتي",
- "next": "اڳين هفتي",
- "past": "{0} هفتا پهرين",
- "future": "{0} هفتن ۾"
- ],
- "day": [
- "previous": "ڪل",
- "current": "اڄ",
- "next": "سڀاڻي",
- "past": "{0} ڏينهن پهرين",
- "future": "{0} ڏينهن ۾"
- ],
- "hour": [
- "current": "هن ڪلڪ",
- "past": "{0} ڪلاڪ پهرين",
- "future": "{0} ڪلاڪ ۾"
- ],
- "minute": [
- "current": "هن منٽ",
- "past": "{0} منٽ پهرين",
- "future": "{0} منٽن ۾"
- ],
- "second": [
- "current": "هاڻي",
- "past": "{0} سيڪنڊ پهرين",
- "future": "{0} سيڪنڊن ۾"
- ],
- "now": "هاڻي"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "پويون سال",
- "current": "پويون سال",
- "next": "پويون سال",
- "past": "{0} سال پهرين",
- "future": "{0} سالن ۾"
- ],
- "quarter": [
- "previous": "پوئين ٽي ماهي",
- "current": "هن ٽي ماهي",
- "next": "اڳين ٽي ماهي",
- "past": "{0} ٽي ماهي پهرين",
- "future": "{0} ٽي ماهي ۾"
- ],
- "month": [
- "previous": "پوئين مهيني",
- "current": "هن مهيني",
- "next": "اڳين مهيني",
- "past": "{0} مهينا پهرين",
- "future": "{0} مهينن ۾"
- ],
- "week": [
- "previous": "پوئين هفتي",
- "current": "هن هفتي",
- "next": "اڳين هفتي",
- "past": "{0} هفتا پهرين",
- "future": "{0} هفتن ۾"
- ],
- "day": [
- "previous": "ڪل",
- "current": "اڄ",
- "next": "سڀاڻي",
- "past": "{0} ڏينهن پهرين",
- "future": "{0} ڏينهن ۾"
- ],
- "hour": [
- "current": "هن ڪلڪ",
- "past": "{0} ڪلاڪ پهرين",
- "future": "{0} ڪلاڪ ۾"
- ],
- "minute": [
- "current": "هن منٽ",
- "past": "{0} منٽ پهرين",
- "future": "{0} منٽن ۾"
- ],
- "second": [
- "current": "هاڻي",
- "past": "{0} سيڪنڊ پهرين",
- "future": "{0} سيڪنڊن ۾"
- ],
- "now": "هاڻي"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "پويون سال",
- "current": "پويون سال",
- "next": "پويون سال",
- "past": "{0} سال پهرين",
- "future": "{0} سالن ۾"
- ],
- "quarter": [
- "previous": "پوئين ٽي ماهي",
- "current": "هن ٽي ماهي",
- "next": "اڳين ٽي ماهي",
- "past": "{0} ٽي ماهي پهرين",
- "future": "{0} ٽي ماهي ۾"
- ],
- "month": [
- "previous": "پوئين مهيني",
- "current": "هن مهيني",
- "next": "اڳين مهيني",
- "past": "{0} مهينا پهرين",
- "future": "{0} مهينن ۾"
- ],
- "week": [
- "previous": "پوئين هفتي",
- "current": "هن هفتي",
- "next": "اڳين هفتي",
- "past": "{0} هفتا پهرين",
- "future": "{0} هفتن ۾"
- ],
- "day": [
- "previous": "ڪل",
- "current": "اڄ",
- "next": "سڀاڻي",
- "past": "{0} ڏينهن پهرين",
- "future": "{0} ڏينهن ۾"
- ],
- "hour": [
- "current": "هن ڪلڪ",
- "past": "{0} ڪلاڪ پهرين",
- "future": "{0} ڪلاڪ ۾"
- ],
- "minute": [
- "current": "هن منٽ",
- "past": "{0} منٽ پهرين",
- "future": [
- "one": "{0} منٽن ۾",
- "other": "+{0} min"
- ]
- ],
- "second": [
- "current": "هاڻي",
- "past": "{0} سيڪنڊ پهرين",
- "future": "{0} سيڪنڊن ۾"
- ],
- "now": "هاڻي"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_se.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_se.swift
deleted file mode 100644
index 532df2c0..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_se.swift
+++ /dev/null
@@ -1,305 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_se: RelativeFormatterLang {
-
- /// Northern Sami
- public static let identifier: String = "se"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1: return .one
- case 2: return .two
- default: return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "{0} jahki árat",
- "other": "{0} jahkki árat"
- ],
- "future": [
- "one": "{0} jahki maŋŋilit",
- "other": "{0} jahkki maŋŋilit"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "{0} mánotbadji árat",
- "future": "{0} mánotbadji maŋŋilit"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "{0} vahku árat",
- "other": "{0} vahkku árat"
- ],
- "future": [
- "one": "{0} vahku maŋŋilit",
- "other": "{0} vahkku maŋŋilit"
- ]
- ],
- "day": [
- "previous": "ikte",
- "current": "odne",
- "next": "ihttin",
- "past": [
- "one": "{0} jándor árat",
- "other": "{0} jándora árat"
- ],
- "future": [
- "one": "{0} jándor maŋŋilit",
- "two": "{0} jándor amaŋŋilit",
- "other": "{0} jándora maŋŋilit"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "{0} diibmu árat",
- "other": "{0} diibmur árat"
- ],
- "future": [
- "one": "{0} diibmu maŋŋilit",
- "other": "{0} diibmur maŋŋilit"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minuhta árat",
- "other": "{0} minuhtta árat"
- ],
- "future": [
- "one": "{0} minuhta maŋŋilit",
- "other": "{0} minuhtta maŋŋilit"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "{0} sekunda árat",
- "other": "{0} sekundda árat"
- ],
- "future": [
- "one": "{0} sekunda maŋŋilit",
- "other": "{0} sekundda maŋŋilit"
- ]
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "{0} jahki árat",
- "other": "{0} jahkki árat"
- ],
- "future": [
- "one": "{0} jahki maŋŋilit",
- "other": "{0} jahkki maŋŋilit"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "{0} mánotbadji árat",
- "future": "{0} mánotbadji maŋŋilit"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "{0} vahku árat",
- "other": "{0} vahkku árat"
- ],
- "future": [
- "one": "{0} vahku maŋŋilit",
- "other": "{0} vahkku maŋŋilit"
- ]
- ],
- "day": [
- "previous": "ikte",
- "current": "odne",
- "next": "ihttin",
- "past": [
- "one": "{0} jándor árat",
- "other": "{0} jándora árat"
- ],
- "future": [
- "one": "{0} jándor maŋŋilit",
- "two": "{0} jándor amaŋŋilit",
- "other": "{0} jándora maŋŋilit"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "{0} diibmu árat",
- "other": "{0} diibmur árat"
- ],
- "future": [
- "one": "{0} diibmu maŋŋilit",
- "other": "{0} diibmur maŋŋilit"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minuhta árat",
- "other": "{0} minuhtta árat"
- ],
- "future": [
- "one": "{0} minuhta maŋŋilit",
- "other": "{0} minuhtta maŋŋilit"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "{0} sekunda árat",
- "other": "{0} sekundda árat"
- ],
- "future": [
- "one": "{0} sekunda maŋŋilit",
- "other": "{0} sekundda maŋŋilit"
- ]
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "{0} jahki árat",
- "other": "{0} jahkki árat"
- ],
- "future": [
- "one": "{0} jahki maŋŋilit",
- "other": "{0} jahkki maŋŋilit"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "{0} mánotbadji árat",
- "future": "{0} mánotbadji maŋŋilit"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "{0} vahku árat",
- "other": "{0} vahkku árat"
- ],
- "future": [
- "one": "{0} vahku maŋŋilit",
- "other": "{0} vahkku maŋŋilit"
- ]
- ],
- "day": [
- "previous": "ikte",
- "current": "odne",
- "next": "ihttin",
- "past": [
- "one": "{0} jándor árat",
- "other": "{0} jándora árat"
- ],
- "future": [
- "one": "{0} jándor maŋŋilit",
- "two": "{0} jándor amaŋŋilit",
- "other": "{0} jándora maŋŋilit"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "{0} diibmu árat",
- "other": "{0} diibmur árat"
- ],
- "future": [
- "one": "{0} diibmu maŋŋilit",
- "other": "{0} diibmur maŋŋilit"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "{0} minuhta árat",
- "other": "{0} minuhtta árat"
- ],
- "future": [
- "one": "{0} minuhta maŋŋilit",
- "other": "{0} minuhtta maŋŋilit"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "{0} sekunda árat",
- "other": "{0} sekundda árat"
- ],
- "future": [
- "one": "{0} sekunda maŋŋilit",
- "other": "{0} sekundda maŋŋilit"
- ]
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_se_FI.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_se_FI.swift
deleted file mode 100644
index df14c503..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_se_FI.swift
+++ /dev/null
@@ -1,295 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_seFI: RelativeFormatterLang {
-
- /// Northern Sami (Finland)
- public static let identifier: String = "se_FI"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "diibmá",
- "current": "dán jagi",
- "next": "boahtte jagi",
- "past": [
- "one": "diibmá",
- "two": "ovddet jagi",
- "other": "{0} j. dás ovdal"
- ],
- "future": [
- "two": "{0} jagi siste",
- "other": "{0} j. siste"
- ]
- ],
- "quarter": [
- "previous": "mannan njealjádasjagi",
- "current": "dán njealjádasjagi",
- "next": "boahtte njealjádasjagi",
- "past": [
- "two": "{0} njealjádasjagi dás ovdal",
- "other": "{0} njealj.j. dás ovdal"
- ],
- "future": [
- "two": "boahtte {0} njealjádasjagi",
- "other": "boahtte {0} njealj.j."
- ]
- ],
- "month": [
- "previous": "mannan mánu",
- "current": "dán mánu",
- "next": "boahtte mánu",
- "past": [
- "one": "{0} mánnu dás ovdal",
- "other": "{0} mánu dás ovdal"
- ],
- "future": "{0} mánu siste"
- ],
- "week": [
- "previous": "mannan vahku",
- "current": "dán vahku",
- "next": "boahtte vahku",
- "past": [
- "two": "{0} vahku dás ovdal",
- "other": "{0} v(k) dás ovdal"
- ],
- "future": [
- "two": "{0} vahku siste",
- "other": "{0} v(k) siste"
- ]
- ],
- "day": [
- "previous": "ikte",
- "current": "odne",
- "next": "ihttin",
- "past": [
- "one": "ikte",
- "two": "ovddet beaivve",
- "other": "{0} beaivve dás ovdal"
- ],
- "future": "{0} beaivve siste"
- ],
- "hour": [
- "current": "dán diimmu",
- "past": [
- "two": "{0} diimmu áigi",
- "other": "{0} dmu áigi"
- ],
- "future": [
- "two": "{0} diimmu siste",
- "other": "{0} dmu siste"
- ]
- ],
- "minute": [
- "current": "dán minuhta",
- "past": [
- "two": "{0} minuhta áigi",
- "other": "{0} min. áigi"
- ],
- "future": [
- "two": "{0} minuhta siste",
- "other": "{0} min. siste"
- ]
- ],
- "second": [
- "current": "dál",
- "past": [
- "two": "{0} sekundda áigi",
- "other": "{0} sek. áigi"
- ],
- "future": [
- "two": "{0} sekundda siste",
- "other": "{0} sek. siste"
- ]
- ],
- "now": "dál"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "diibmá",
- "current": "dán jagi",
- "next": "boahtte jagi",
- "past": [
- "two": "{0} jagi dás ovdal",
- "other": "{0} j. dás ovdal"
- ],
- "future": "{0} jagi siste"
- ],
- "quarter": [
- "previous": "mannan njealjádasjagi",
- "current": "dán njealjádasjagi",
- "next": "boahtte njealjádasjagi",
- "past": [
- "two": "-{0} njealjádasjagi dás ovdal",
- "other": "{0} njealj.j. dás ovdal"
- ],
- "future": [
- "two": "boahtte {0} njealjádasjagi",
- "other": "boahtte {0} njealj.j."
- ]
- ],
- "month": [
- "previous": "mannan mánu",
- "current": "dán mánu",
- "next": "boahtte mánu",
- "past": [
- "one": "{0} mánnu dás ovdal",
- "other": "{0} mánu dás ovdal"
- ],
- "future": "{0} mánu geahčen"
- ],
- "week": [
- "previous": "mannan vahku",
- "current": "dán vahku",
- "next": "boahtte vahku",
- "past": [
- "one": "{0} vahkku dás ovdal",
- "two": "{0} vahku dás ovdal",
- "other": "{0} v(k) dás ovdal"
- ],
- "future": "{0} v(k) geahčen"
- ],
- "day": [
- "previous": "ikte",
- "current": "odne",
- "next": "ihttin",
- "past": [
- "one": "ikte",
- "two": "ovddet beaivve",
- "other": "{0} beaivve dás ovdal"
- ],
- "future": "{0} beaivve siste"
- ],
- "hour": [
- "current": "dán diimmu",
- "past": [
- "two": "{0} diimmu áigi",
- "other": "{0} dmu áigi"
- ],
- "future": [
- "two": "{0} diimmu siste",
- "other": "{0} dmu siste"
- ]
- ],
- "minute": [
- "current": "dán minuhta",
- "past": [
- "two": "{0} minuhta áigi",
- "other": "{0} min. áigi"
- ],
- "future": [
- "two": "{0} minuhta siste",
- "other": "{0} min. siste"
- ]
- ],
- "second": [
- "current": "dál",
- "past": [
- "two": "{0} sekundda áigi",
- "other": "{0} sek. áigi"
- ],
- "future": [
- "two": "{0} sekundda siste",
- "other": "{0} sek. siste"
- ]
- ],
- "now": "dál"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "diibmá",
- "current": "dán jagi",
- "next": "boahtte jagi",
- "past": [
- "one": "diibmá",
- "two": "ovddet jagi",
- "other": "{0} jagi dás ovdal"
- ],
- "future": "{0} jagi siste"
- ],
- "quarter": [
- "previous": "mannan njealjádasjagi",
- "current": "dán njealjádasjagi",
- "next": "boahtte njealjádasjagi",
- "past": "-{0} njealjádasjagi dás ovdal",
- "future": "čuovvovaš {0} njealjádasjagi"
- ],
- "month": [
- "previous": "mannan mánu",
- "current": "dán mánu",
- "next": "boahtte mánu",
- "past": [
- "one": "{0} mánnu dás ovdal",
- "other": "{0} mánu dás ovdal"
- ],
- "future": "{0} mánu siste"
- ],
- "week": [
- "previous": "mannan vahku",
- "current": "dán vahku",
- "next": "boahtte vahku",
- "past": [
- "one": "{0} vahkku dás ovdal",
- "other": "{0} vahku dás ovdal"
- ],
- "future": "{0} vahku geahčen"
- ],
- "day": [
- "previous": "ikte",
- "current": "odne",
- "next": "ihttin",
- "past": [
- "one": "ikte",
- "two": "ovddet beaivve",
- "other": "{0} beaivve dás ovdal"
- ],
- "future": "{0} beaivve siste"
- ],
- "hour": [
- "current": "dán diimmu",
- "past": [
- "one": "{0} diibmu áigi",
- "other": "{0} diimmu áigi"
- ],
- "future": "{0} diimmu siste"
- ],
- "minute": [
- "current": "dán minuhta",
- "past": [
- "one": "{0} minuhtta áigi",
- "other": "{0} minuhta áigi"
- ],
- "future": "{0} minuhta siste"
- ],
- "second": [
- "current": "dál",
- "past": [
- "one": "{0} sekunda áigi",
- "other": "{0} sekundda áigi"
- ],
- "future": "{0} sekundda siste"
- ],
- "now": "dál"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_si.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_si.swift
deleted file mode 100644
index 5a598fb7..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_si.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_si: RelativeFormatterLang {
-
- /// Sinhala
- public static let identifier: String = "si"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "පසුගිය වසර",
- "current": "මෙම වසර",
- "next": "ඊළඟ වසර",
- "past": "වසර {0}කට පෙර",
- "future": "වසර {0}කින්"
- ],
- "quarter": [
- "previous": "පසුගිය කාර්.",
- "current": "මෙම කාර්.",
- "next": "ඊළඟ කාර්.",
- "past": "කාර්. {0}කට පෙර",
- "future": "කාර්. {0}කින්"
- ],
- "month": [
- "previous": "පසුගිය මාස.",
- "current": "මෙම මාස.",
- "next": "ඊළඟ මාස.",
- "past": "මාස {0}කට පෙර",
- "future": "මාස {0}කින්"
- ],
- "week": [
- "previous": "පසුගිය සති.",
- "current": "මෙම සති.",
- "next": "ඊළඟ සති.",
- "past": "සති {0}කට පෙර",
- "future": "සති {0}කින්"
- ],
- "day": [
- "previous": "ඊයේ",
- "current": "අද",
- "next": "හෙට",
- "past": "දින {0}කට පෙර",
- "future": "දින {0}න්"
- ],
- "hour": [
- "current": "මෙම පැය",
- "past": "පැය {0}කට පෙර",
- "future": "පැය {0}කින්"
- ],
- "minute": [
- "current": "මෙම මිනිත්තුව",
- "past": "මිනිත්තු {0}කට පෙර",
- "future": "මිනිත්තු {0}කින්"
- ],
- "second": [
- "current": "දැන්",
- "past": "තත්පර {0}කට පෙර",
- "future": "තත්පර {0}කින්"
- ],
- "now": "දැන්"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "පසුගිය වසර",
- "current": "මෙම වසර",
- "next": "ඊළඟ වසර",
- "past": "වසර {0}කට පෙර",
- "future": "වසර {0}කින්"
- ],
- "quarter": [
- "previous": "පසුගිය කාර්.",
- "current": "මෙම කාර්.",
- "next": "ඊළඟ කාර්.",
- "past": "කාර්. {0}කට පෙර",
- "future": "කාර්. {0}කින්"
- ],
- "month": [
- "previous": "පසුගිය මාස.",
- "current": "මෙම මාස.",
- "next": "ඊළඟ මාස.",
- "past": "මාස {0}කට පෙර",
- "future": "මාස {0}කින්"
- ],
- "week": [
- "previous": "පසුගිය සති.",
- "current": "මෙම සති.",
- "next": "ඊළඟ සති.",
- "past": "සති {0}කට පෙර",
- "future": "සති {0}කින්"
- ],
- "day": [
- "previous": "ඊයේ",
- "current": "අද",
- "next": "හෙට",
- "past": "දින {0}කට පෙර",
- "future": "දින {0}න්"
- ],
- "hour": [
- "current": "මෙම පැය",
- "past": "පැය {0}කට පෙර",
- "future": "පැය {0}කින්"
- ],
- "minute": [
- "current": "මෙම මිනිත්තුව",
- "past": "මිනිත්තු {0}කට පෙර",
- "future": "මිනිත්තු {0}කින්"
- ],
- "second": [
- "current": "දැන්",
- "past": "තත්පර {0}කට පෙර",
- "future": "තත්පර {0}කින්"
- ],
- "now": "දැන්"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "පසුගිය වසර",
- "current": "මෙම වසර",
- "next": "ඊළඟ වසර",
- "past": "වසර {0}කට පෙර",
- "future": "වසර {0}කින්"
- ],
- "quarter": [
- "previous": "පසුගිය කාර්තුව",
- "current": "මෙම කාර්තුව",
- "next": "ඊළඟ කාර්තුව",
- "past": "කාර්තු {0}කට පෙර",
- "future": "කාර්තු {0}කින්"
- ],
- "month": [
- "previous": "පසුගිය මාසය",
- "current": "මෙම මාසය",
- "next": "ඊළඟ මාසය",
- "past": "මාස {0}කට පෙර",
- "future": "මාස {0}කින්"
- ],
- "week": [
- "previous": "පසුගිය සතිය",
- "current": "මෙම සතිය",
- "next": "ඊළඟ සතිය",
- "past": "සති {0}කට පෙර",
- "future": "සති {0}කින්"
- ],
- "day": [
- "previous": "ඊයේ",
- "current": "අද",
- "next": "හෙට",
- "past": "දින {0}කට පෙර",
- "future": "දින {0}න්"
- ],
- "hour": [
- "current": "මෙම පැය",
- "past": "පැය {0}කට පෙර",
- "future": "පැය {0}කින්"
- ],
- "minute": [
- "current": "මෙම මිනිත්තුව",
- "past": "මිනිත්තු {0}කට පෙර",
- "future": "මිනිත්තු {0}කින්"
- ],
- "second": [
- "current": "දැන්",
- "past": "තත්පර {0}කට පෙර",
- "future": "තත්පර {0}කින්"
- ],
- "now": "දැන්"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sk.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sk.swift
deleted file mode 100644
index 1e787c20..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sk.swift
+++ /dev/null
@@ -1,269 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sk: RelativeFormatterLang {
-
- /// Slovak
- public static let identifier: String = "sk"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1:
- return .one
- case 2...4:
- return .few
- default:
- return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "minulý rok",
- "current": "tento rok",
- "next": "budúci rok",
- "past": "pred {0} r.",
- "future": "o {0} r."
- ],
- "quarter": [
- "previous": "minulý štvrťr.",
- "current": "tento štvrťr.",
- "next": "budúci štvrťr.",
- "past": "pred {0} štvrťr.",
- "future": "o {0} štvrťr."
- ],
- "month": [
- "previous": "minulý mes.",
- "current": "tento mes.",
- "next": "budúci mes.",
- "past": "pred {0} mes.",
- "future": "o {0} mes."
- ],
- "week": [
- "previous": "minulý týž.",
- "current": "tento týž.",
- "next": "budúci týž.",
- "past": "pred {0} týž.",
- "future": "o {0} týž."
- ],
- "day": [
- "previous": "včera",
- "current": "dnes",
- "next": "zajtra",
- "past": "pred {0} d.",
- "future": "o {0} d."
- ],
- "hour": [
- "current": "v tejto hodine",
- "past": "pred {0} h",
- "future": "o {0} h"
- ],
- "minute": [
- "current": "v tejto minúte",
- "past": "pred {0} min",
- "future": "o {0} min"
- ],
- "second": [
- "current": "teraz",
- "past": "pred {0} s",
- "future": "o {0} s"
- ],
- "now": "teraz"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "minulý rok",
- "current": "tento rok",
- "next": "budúci rok",
- "past": "pred {0} r.",
- "future": "o {0} r."
- ],
- "quarter": [
- "previous": "minulý štvrťr.",
- "current": "tento štvrťr.",
- "next": "budúci štvrťr.",
- "past": "pred {0} štvrťr.",
- "future": "o {0} štvrťr."
- ],
- "month": [
- "previous": "minulý mes.",
- "current": "tento mes.",
- "next": "budúci mes.",
- "past": "pred {0} mes.",
- "future": "o {0} mes."
- ],
- "week": [
- "previous": "minulý týž.",
- "current": "tento týž.",
- "next": "budúci týž.",
- "past": "pred {0} týž.",
- "future": "o {0} týž."
- ],
- "day": [
- "previous": "včera",
- "current": "dnes",
- "next": "zajtra",
- "past": "pred {0} d.",
- "future": "o {0} d."
- ],
- "hour": [
- "current": "v tejto hodine",
- "past": "pred {0} h",
- "future": "o {0} h"
- ],
- "minute": [
- "current": "v tejto minúte",
- "past": "pred {0} min",
- "future": "o {0} min"
- ],
- "second": [
- "current": "teraz",
- "past": "pred {0} s",
- "future": "o {0} s"
- ],
- "now": "teraz"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "minulý rok",
- "current": "tento rok",
- "next": "budúci rok",
- "past": [
- "one": "pred {0} rokom",
- "many": "pred {0} roka",
- "other": "pred {0} rokmi"
- ],
- "future": [
- "one": "o {0} rok",
- "few": "o {0} roky",
- "many": "o {0} roka",
- "other": "o {0} rokov"
- ]
- ],
- "quarter": [
- "previous": "minulý štvrťrok",
- "current": "tento štvrťrok",
- "next": "budúci štvrťrok",
- "past": [
- "one": "pred {0} štvrťrokom",
- "many": "pred {0} štvrťroka",
- "other": "pred {0} štvrťrokmi"
- ],
- "future": [
- "one": "o {0} štvrťrok",
- "few": "o {0} štvrťroky",
- "many": "o {0} štvrťroka",
- "other": "o {0} štvrťrokov"
- ]
- ],
- "month": [
- "previous": "minulý mesiac",
- "current": "tento mesiac",
- "next": "budúci mesiac",
- "past": [
- "one": "pred {0} mesiacom",
- "many": "pred {0} mesiaca",
- "other": "pred {0} mesiacmi"
- ],
- "future": [
- "one": "o {0} mesiac",
- "few": "o {0} mesiace",
- "many": "o {0} mesiaca",
- "other": "o {0} mesiacov"
- ]
- ],
- "week": [
- "previous": "minulý týždeň",
- "current": "tento týždeň",
- "next": "budúci týždeň",
- "past": [
- "one": "pred {0} týždňom",
- "many": "pred {0} týždňa",
- "other": "pred {0} týždňami"
- ],
- "future": [
- "one": "o {0} týždeň",
- "few": "o {0} týždne",
- "many": "o {0} týždňa",
- "other": "o {0} týždňov"
- ]
- ],
- "day": [
- "previous": "včera",
- "current": "dnes",
- "next": "zajtra",
- "past": [
- "one": "pred {0} dňom",
- "many": "pred {0} dňa",
- "other": "pred {0} dňami"
- ],
- "future": [
- "one": "o {0} deň",
- "few": "o {0} dni",
- "many": "o {0} dňa",
- "other": "o {0} dní"
- ]
- ],
- "hour": [
- "current": "v tejto hodine",
- "past": [
- "one": "pred {0} hodinou",
- "many": "pred {0} hodinou",
- "other": "pred {0} hodinami"
- ],
- "future": [
- "one": "o {0} hodinu",
- "few": "o {0} hodiny",
- "many": "o {0} hodiny",
- "other": "o {0} hodín"
- ]
- ],
- "minute": [
- "current": "v tejto minúte",
- "past": [
- "one": "pred {0} minútou",
- "many": "pred {0} minúty",
- "other": "pred {0} minútami"
- ],
- "future": [
- "one": "o {0} minútu",
- "few": "o {0} minúty",
- "many": "o {0} minúty",
- "other": "o {0} minút"
- ]
- ],
- "second": [
- "current": "teraz",
- "past": [
- "one": "pred {0} sekundou",
- "many": "pred {0} sekundy",
- "other": "pred {0} sekundami"
- ],
- "future": [
- "one": "o {0} sekundu",
- "few": "o {0} sekundy",
- "many": "o {0} sekundy",
- "other": "o {0} sekúnd"
- ]
- ],
- "now": "teraz"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sl.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sl.swift
deleted file mode 100644
index 1a9fa964..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sl.swift
+++ /dev/null
@@ -1,311 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sl: RelativeFormatterLang {
-
- /// Slovenian
- public static let identifier: String = "sl"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- switch value {
- case 1:
- return .one
- case 2...4:
- return .few
- default:
- return .other
- }
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "lani",
- "current": "letos",
- "next": "naslednje leto",
- "past": [
- "one": "pred {0} letom",
- "two": "pred {0} letoma",
- "other": "pred {0} leti"
- ],
- "future": [
- "one": "čez {0} leto",
- "two": "čez {0} leti",
- "few": "čez {0} leta",
- "other": "čez {0} let"
- ]
- ],
- "quarter": [
- "previous": "zadnje četrtletje",
- "current": "to četrtletje",
- "next": "naslednje četrtletje",
- "past": "pred {0} četrtl.",
- "future": "čez {0} četrtl."
- ],
- "month": [
- "previous": "prejšnji mesec",
- "current": "ta mesec",
- "next": "naslednji mesec",
- "past": "pred {0} mes.",
- "future": "čez {0} mes."
- ],
- "week": [
- "previous": "prejšnji teden",
- "current": "ta teden",
- "next": "naslednji teden",
- "past": "pred {0} ted.",
- "future": "čez {0} ted."
- ],
- "day": [
- "previous": "včeraj",
- "current": "danes",
- "next": "jutri",
- "past": [
- "one": "pred {0} dnevom",
- "two": "pred {0} dnevoma",
- "other": "pred {0} dnevi"
- ],
- "future": [
- "one": "čez {0} dan",
- "two": "čez {0} dneva",
- "other": "čez {0} dni"
- ]
- ],
- "hour": [
- "current": "v tej uri",
- "past": [
- "one": "pred {0} uro",
- "two": "pred {0} urama",
- "other": "pred {0} urami"
- ],
- "future": [
- "one": "čez {0} uro",
- "two": "čez {0} uri",
- "few": "čez {0} ure",
- "other": "čez {0} ur"
- ]
- ],
- "minute": [
- "current": "to minuto",
- "past": "pred {0} min.",
- "future": "čez {0} min."
- ],
- "second": [
- "current": "zdaj",
- "past": "pred {0} s",
- "future": "čez {0} s"
- ],
- "now": "zdaj"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "lani",
- "current": "letos",
- "next": "naslednje leto",
- "past": [
- "one": "pred {0} letom",
- "two": "pred {0} letoma",
- "other": "pred {0} leti"
- ],
- "future": [
- "one": "čez {0} leto",
- "two": "čez {0} leti",
- "few": "čez {0} leta",
- "other": "čez {0} let"
- ]
- ],
- "quarter": [
- "previous": "zadnje četrtletje",
- "current": "to četrtletje",
- "next": "naslednje četrtletje",
- "past": "pred {0} četr.",
- "future": "čez {0} četr."
- ],
- "month": [
- "previous": "prejšnji mesec",
- "current": "ta mesec",
- "next": "naslednji mesec",
- "past": "pred {0} mes.",
- "future": "čez {0} mes."
- ],
- "week": [
- "previous": "prejšnji teden",
- "current": "ta teden",
- "next": "naslednji teden",
- "past": "pred {0} ted.",
- "future": "čez {0} ted."
- ],
- "day": [
- "previous": "včeraj",
- "current": "danes",
- "next": "jutri",
- "past": [
- "one": "pred {0} dnevom",
- "two": "pred {0} dnevoma",
- "other": "pred {0} dnevi"
- ],
- "future": [
- "one": "čez {0} dan",
- "two": "čez {0} dneva",
- "other": "čez {0} dni"
- ]
- ],
- "hour": [
- "current": "v tej uri",
- "past": "pred {0} h",
- "future": "čez {0} h"
- ],
- "minute": [
- "current": "to minuto",
- "past": "pred {0} min",
- "future": "čez {0} min"
- ],
- "second": [
- "current": "zdaj",
- "past": "pred {0} s",
- "future": "čez {0} s"
- ],
- "now": "zdaj"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "lani",
- "current": "letos",
- "next": "naslednje leto",
- "past": [
- "one": "pred {0} letom",
- "two": "pred {0} letoma",
- "other": "pred {0} leti"
- ],
- "future": [
- "one": "čez {0} leto",
- "two": "čez {0} leti",
- "few": "čez {0} leta",
- "other": "čez {0} let"
- ]
- ],
- "quarter": [
- "previous": "zadnje četrtletje",
- "current": "to četrtletje",
- "next": "naslednje četrtletje",
- "past": [
- "one": "pred {0} četrtletjem",
- "two": "pred {0} četrtletjema",
- "other": "pred {0} četrtletji"
- ],
- "future": [
- "one": "čez {0} četrtletje",
- "two": "čez {0} četrtletji",
- "few": "čez {0} četrtletja",
- "other": "čez {0} četrtletij"
- ]
- ],
- "month": [
- "previous": "prejšnji mesec",
- "current": "ta mesec",
- "next": "naslednji mesec",
- "past": [
- "one": "pred {0} mesecem",
- "two": "pred {0} mesecema",
- "other": "pred {0} meseci"
- ],
- "future": [
- "one": "čez {0} mesec",
- "two": "čez {0} meseca",
- "few": "čez {0} mesece",
- "other": "čez {0} mesecev"
- ]
- ],
- "week": [
- "previous": "prejšnji teden",
- "current": "ta teden",
- "next": "naslednji teden",
- "past": [
- "one": "pred {0} tednom",
- "two": "pred {0} tednoma",
- "other": "pred {0} tedni"
- ],
- "future": [
- "one": "čez {0} teden",
- "two": "čez {0} tedna",
- "few": "čez {0} tedne",
- "other": "čez {0} tednov"
- ]
- ],
- "day": [
- "previous": "včeraj",
- "current": "danes",
- "next": "jutri",
- "past": [
- "one": "pred {0} dnevom",
- "two": "pred {0} dnevoma",
- "other": "pred {0} dnevi"
- ],
- "future": [
- "one": "čez {0} dan",
- "two": "čez {0} dneva",
- "other": "čez {0} dni"
- ]
- ],
- "hour": [
- "current": "v tej uri",
- "past": [
- "one": "pred {0} uro",
- "two": "pred {0} urama",
- "other": "pred {0} urami"
- ],
- "future": [
- "one": "čez {0} uro",
- "two": "čez {0} uri",
- "few": "čez {0} ure",
- "other": "čez {0} ur"
- ]
- ],
- "minute": [
- "current": "to minuto",
- "past": [
- "one": "pred {0} minuto",
- "two": "pred {0} minutama",
- "other": "pred {0} minutami"
- ],
- "future": [
- "one": "čez {0} minuto",
- "two": "čez {0} minuti",
- "few": "čez {0} minute",
- "other": "čez {0} minut"
- ]
- ],
- "second": [
- "current": "zdaj",
- "past": [
- "one": "pred {0} sekundo",
- "two": "pred {0} sekundama",
- "other": "pred {0} sekundami"
- ],
- "future": [
- "one": "čez {0} sekundo",
- "two": "čez {0} sekundi",
- "few": "čez {0} sekunde",
- "other": "čez {0} sekund"
- ]
- ],
- "now": "zdaj"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sq.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sq.swift
deleted file mode 100644
index f3accbb1..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sq.swift
+++ /dev/null
@@ -1,274 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sq: RelativeFormatterLang {
-
- /// Albanian
- public static let identifier: String = "sq"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "vitin e kaluar",
- "current": "këtë vit",
- "next": "vitin e ardhshëm",
- "past": [
- "one": "{0} vit më parë",
- "other": "{0} vjet më parë"
- ],
- "future": [
- "one": "pas {0} viti",
- "other": "pas {0} vjetësh"
- ]
- ],
- "quarter": [
- "previous": "tremujorin e kaluar",
- "current": "këtë tremujor",
- "next": "tremujorin e ardhshëm",
- "past": [
- "one": "{0} tremujor më parë",
- "other": "{0} tremujorë më parë"
- ],
- "future": [
- "one": "pas {0} tremujori",
- "other": "pas {0} tremujorësh"
- ]
- ],
- "month": [
- "previous": "muajin e kaluar",
- "current": "këtë muaj",
- "next": "muajin e ardhshëm",
- "past": "{0} muaj më parë",
- "future": [
- "one": "pas {0} muaji",
- "other": "pas {0} muajsh"
- ]
- ],
- "week": [
- "previous": "javën e kaluar",
- "current": "këtë javë",
- "next": "javën e ardhshme",
- "past": "{0} javë më parë",
- "future": [
- "one": "pas {0} jave",
- "other": "pas {0} javësh"
- ]
- ],
- "day": [
- "previous": "dje",
- "current": "sot",
- "next": "nesër",
- "past": "{0} ditë më parë",
- "future": [
- "one": "pas {0} dite",
- "other": "pas {0} ditësh"
- ]
- ],
- "hour": [
- "current": "këtë orë",
- "past": "{0} orë më parë",
- "future": [
- "one": "pas {0} ore",
- "other": "pas {0} orësh"
- ]
- ],
- "minute": [
- "current": "këtë minutë",
- "past": "{0} min. më parë",
- "future": "pas {0} min."
- ],
- "second": [
- "current": "tani",
- "past": "{0} sek. më parë",
- "future": "pas {0} sek."
- ],
- "now": "tani"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "vitin e kaluar",
- "current": "këtë vit",
- "next": "vitin e ardhshëm",
- "past": [
- "one": "{0} vit më parë",
- "other": "{0} vjet më parë"
- ],
- "future": [
- "one": "pas {0} viti",
- "other": "pas {0} vjetësh"
- ]
- ],
- "quarter": [
- "previous": "tremujorin e kaluar",
- "current": "këtë tremujor",
- "next": "tremujorin e ardhshëm",
- "past": [
- "one": "{0} tremujor më parë",
- "other": "{0} tremujorë më parë"
- ],
- "future": [
- "one": "pas {0} tremujori",
- "other": "pas {0} tremujorësh"
- ]
- ],
- "month": [
- "previous": "muajin e kaluar",
- "current": "këtë muaj",
- "next": "muajin e ardhshëm",
- "past": "{0} muaj më parë",
- "future": [
- "one": "pas {0} muaji",
- "other": "pas {0} muajsh"
- ]
- ],
- "week": [
- "previous": "javën e kaluar",
- "current": "këtë javë",
- "next": "javën e ardhshme",
- "past": "{0} javë më parë",
- "future": [
- "one": "pas {0} jave",
- "other": "pas {0} javësh"
- ]
- ],
- "day": [
- "previous": "dje",
- "current": "sot",
- "next": "nesër",
- "past": "{0} ditë më parë",
- "future": [
- "one": "pas {0} dite",
- "other": "pas {0} ditësh"
- ]
- ],
- "hour": [
- "current": "këtë orë",
- "past": "{0} orë më parë",
- "future": [
- "one": "pas {0} ore",
- "other": "pas {0} orësh"
- ]
- ],
- "minute": [
- "current": "këtë minutë",
- "past": "{0} min. më parë",
- "future": "pas {0} min."
- ],
- "second": [
- "current": "tani",
- "past": "{0} sek. më parë",
- "future": "pas {0} sek."
- ],
- "now": "tani"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "vitin e kaluar",
- "current": "këtë vit",
- "next": "vitin e ardhshëm",
- "past": [
- "one": "{0} vit më parë",
- "other": "{0} vjet më parë"
- ],
- "future": [
- "one": "pas {0} viti",
- "other": "pas {0} vjetësh"
- ]
- ],
- "quarter": [
- "previous": "tremujorin e kaluar",
- "current": "këtë tremujor",
- "next": "tremujorin e ardhshëm",
- "past": [
- "one": "{0} tremujor më parë",
- "other": "{0} tremujorë më parë"
- ],
- "future": [
- "one": "pas {0} tremujori",
- "other": "pas {0} tremujorësh"
- ]
- ],
- "month": [
- "previous": "muajin e kaluar",
- "current": "këtë muaj",
- "next": "muajin e ardhshëm",
- "past": "{0} muaj më parë",
- "future": [
- "one": "pas {0} muaji",
- "other": "pas {0} muajsh"
- ]
- ],
- "week": [
- "previous": "javën e kaluar",
- "current": "këtë javë",
- "next": "javën e ardhshme",
- "past": "{0} javë më parë",
- "future": [
- "one": "pas {0} jave",
- "other": "pas {0} javësh"
- ]
- ],
- "day": [
- "previous": "dje",
- "current": "sot",
- "next": "nesër",
- "past": "{0} ditë më parë",
- "future": [
- "one": "pas {0} dite",
- "other": "pas {0} ditësh"
- ]
- ],
- "hour": [
- "current": "këtë orë",
- "past": "{0} orë më parë",
- "future": [
- "one": "pas {0} ore",
- "other": "pas {0} orësh"
- ]
- ],
- "minute": [
- "current": "këtë minutë",
- "past": [
- "one": "{0} minutë më parë",
- "other": "{0} minuta më parë"
- ],
- "future": [
- "one": "pas {0} minute",
- "other": "pas {0} minutash"
- ]
- ],
- "second": [
- "current": "tani",
- "past": [
- "one": "{0} sekondë më parë",
- "other": "{0} sekonda më parë"
- ],
- "future": [
- "one": "pas {0} sekonde",
- "other": "pas {0} sekondash"
- ]
- ],
- "now": "tani"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sr.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sr.swift
deleted file mode 100644
index ffc76901..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sr.swift
+++ /dev/null
@@ -1,261 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sr: RelativeFormatterLang {
-
- /// Serbian
- public static let identifier: String = "sr"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod10 {
- case 1:
- switch mod100 {
- case 11:
- break
- default:
- return .one
- }
- case 2, 3, 4:
- switch mod100 {
- case 12, 13, 14:
- break
- default:
- return .few
- }
- default:
- break
- }
-
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "прошле год.",
- "current": "ове год.",
- "next": "следеће год.",
- "past": "пре {0} год.",
- "future": "за {0} год."
- ],
- "quarter": [
- "previous": "прошлог квартала",
- "current": "овог квартала",
- "next": "следећег квартала",
- "past": "пре {0} кв.",
- "future": "за {0} кв."
- ],
- "month": [
- "previous": "прошлог мес.",
- "current": "овог мес.",
- "next": "следећег мес.",
- "past": "пре {0} мес.",
- "future": "за {0} мес."
- ],
- "week": [
- "previous": "прошле нед.",
- "current": "ове нед.",
- "next": "следеће нед.",
- "past": "пре {0} нед.",
- "future": "за {0} нед."
- ],
- "day": [
- "previous": "јуче",
- "current": "данас",
- "next": "сутра",
- "past": "пре {0} д.",
- "future": "за {0} д."
- ],
- "hour": [
- "current": "овог сата",
- "past": "пре {0} ч.",
- "future": "за {0} ч."
- ],
- "minute": [
- "current": "овог минута",
- "past": "пре {0} мин.",
- "future": "за {0} мин."
- ],
- "second": [
- "current": "сада",
- "past": "пре {0} сек.",
- "future": "за {0} сек."
- ],
- "now": "сада"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "прошле г.",
- "current": "ове г.",
- "next": "следеће г.",
- "past": "пре {0} г.",
- "future": "за {0} г."
- ],
- "quarter": [
- "previous": "прошлог квартала",
- "current": "овог квартала",
- "next": "следећег квартала",
- "past": "пре {0} кв.",
- "future": "за {0} кв."
- ],
- "month": [
- "previous": "прошлог м.",
- "current": "овог м.",
- "next": "следећег м.",
- "past": "пре {0} м.",
- "future": "за {0} м."
- ],
- "week": [
- "previous": "прошле н.",
- "current": "ове н.",
- "next": "следеће н.",
- "past": "пре {0} н.",
- "future": "за {0} н."
- ],
- "day": [
- "previous": "јуче",
- "current": "данас",
- "next": "сутра",
- "past": "пре {0} д.",
- "future": "за {0} д."
- ],
- "hour": [
- "current": "овог сата",
- "past": "пре {0} ч.",
- "future": "за {0} ч."
- ],
- "minute": [
- "current": "овог минута",
- "past": "пре {0} мин.",
- "future": "за {0} мин."
- ],
- "second": [
- "current": "сада",
- "past": "пре {0} с.",
- "future": "за {0} с."
- ],
- "now": "сада"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "прошле године",
- "current": "ове године",
- "next": "следеће године",
- "past": [
- "one": "пре {0} године",
- "few": "пре {0} године",
- "other": "пре {0} година"
- ],
- "future": [
- "one": "за {0} годину",
- "few": "за {0} године",
- "other": "за {0} година"
- ]
- ],
- "quarter": [
- "previous": "прошлог квартала",
- "current": "овог квартала",
- "next": "следећег квартала",
- "past": "пре {0} квартала",
- "future": [
- "one": "за {0} квартал",
- "other": "за {0} квартала"
- ]
- ],
- "month": [
- "previous": "прошлог месеца",
- "current": "овог месеца",
- "next": "следећег месеца",
- "past": [
- "one": "пре {0} месеца",
- "few": "пре {0} месеца",
- "other": "пре {0} месеци"
- ],
- "future": [
- "one": "за {0} месец",
- "few": "за {0} месеца",
- "other": "за {0} месеци"
- ]
- ],
- "week": [
- "previous": "прошле недеље",
- "current": "ове недеље",
- "next": "следеће недеље",
- "past": [
- "one": "пре {0} недеље",
- "few": "пре {0} недеље",
- "other": "пре {0} недеља"
- ],
- "future": [
- "one": "за {0} недељу",
- "few": "за {0} недеље",
- "other": "за {0} недеља"
- ]
- ],
- "day": [
- "previous": "јуче",
- "current": "данас",
- "next": "сутра",
- "past": "пре {0} дана",
- "future": [
- "one": "за {0} дан",
- "other": "за {0} дана"
- ]
- ],
- "hour": [
- "current": "овог сата",
- "past": [
- "one": "пре {0} сата",
- "few": "пре {0} сата",
- "other": "пре {0} сати"
- ],
- "future": [
- "one": "за {0} сат",
- "few": "за {0} сата",
- "other": "за {0} сати"
- ]
- ],
- "minute": [
- "current": "овог минута",
- "past": "пре {0} минута",
- "future": [
- "one": "за {0} минут",
- "other": "за {0} минута"
- ]
- ],
- "second": [
- "current": "сада",
- "past": [
- "one": "пре {0} секунде",
- "few": "пре {0} секунде",
- "other": "пре {0} секунди"
- ],
- "future": [
- "one": "за {0} секунду",
- "few": "за {0} секунде",
- "other": "за {0} секунди"
- ]
- ],
- "now": "сада"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sr_Latn.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sr_Latn.swift
deleted file mode 100644
index 71a31a52..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sr_Latn.swift
+++ /dev/null
@@ -1,261 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_srLatn: RelativeFormatterLang {
-
- /// Serbian (Latin)
- public static let identifier: String = "sr_Latn"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod10 {
- case 1:
- switch mod100 {
- case 11:
- break
- default:
- return .one
- }
- case 2, 3, 4:
- switch mod100 {
- case 12, 13, 14:
- break
- default:
- return .few
- }
- default:
- break
- }
-
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "prošle god.",
- "current": "ove god.",
- "next": "sledeće god.",
- "past": "pre {0} god.",
- "future": "za {0} god."
- ],
- "quarter": [
- "previous": "prošlog kvartala",
- "current": "ovog kvartala",
- "next": "sledećeg kvartala",
- "past": "pre {0} kv.",
- "future": "za {0} kv."
- ],
- "month": [
- "previous": "prošlog mes.",
- "current": "ovog mes.",
- "next": "sledećeg mes.",
- "past": "pre {0} mes.",
- "future": "za {0} mes."
- ],
- "week": [
- "previous": "prošle ned.",
- "current": "ove ned.",
- "next": "sledeće ned.",
- "past": "pre {0} ned.",
- "future": "za {0} ned."
- ],
- "day": [
- "previous": "juče",
- "current": "danas",
- "next": "sutra",
- "past": "pre {0} d.",
- "future": "za {0} d."
- ],
- "hour": [
- "current": "ovog sata",
- "past": "pre {0} č.",
- "future": "za {0} č."
- ],
- "minute": [
- "current": "ovog minuta",
- "past": "pre {0} min.",
- "future": "za {0} min."
- ],
- "second": [
- "current": "sada",
- "past": "pre {0} sek.",
- "future": "za {0} sek."
- ],
- "now": "sada"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "prošle g.",
- "current": "ove g.",
- "next": "sledeće g.",
- "past": "pre {0} g.",
- "future": "za {0} g."
- ],
- "quarter": [
- "previous": "prošlog kvartala",
- "current": "ovog kvartala",
- "next": "sledećeg kvartala",
- "past": "pre {0} kv.",
- "future": "za {0} kv."
- ],
- "month": [
- "previous": "prošlog m.",
- "current": "ovog m.",
- "next": "sledećeg m.",
- "past": "pre {0} m.",
- "future": "za {0} m."
- ],
- "week": [
- "previous": "prošle n.",
- "current": "ove n.",
- "next": "sledeće n.",
- "past": "pre {0} n.",
- "future": "za {0} n."
- ],
- "day": [
- "previous": "juče",
- "current": "danas",
- "next": "sutra",
- "past": "pre {0} d.",
- "future": "za {0} d."
- ],
- "hour": [
- "current": "ovog sata",
- "past": "pre {0} č.",
- "future": "za {0} č."
- ],
- "minute": [
- "current": "ovog minuta",
- "past": "pre {0} min.",
- "future": "za {0} min."
- ],
- "second": [
- "current": "sada",
- "past": "pre {0} s.",
- "future": "za {0} s."
- ],
- "now": "sada"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "prošle godine",
- "current": "ove godine",
- "next": "sledeće godine",
- "past": [
- "one": "pre {0} godine",
- "few": "pre {0} godine",
- "other": "pre {0} godina"
- ],
- "future": [
- "one": "za {0} godinu",
- "few": "za {0} godine",
- "other": "za {0} godina"
- ]
- ],
- "quarter": [
- "previous": "prošlog kvartala",
- "current": "ovog kvartala",
- "next": "sledećeg kvartala",
- "past": "pre {0} kvartala",
- "future": [
- "one": "za {0} kvartal",
- "other": "za {0} kvartala"
- ]
- ],
- "month": [
- "previous": "prošlog meseca",
- "current": "ovog meseca",
- "next": "sledećeg meseca",
- "past": [
- "one": "pre {0} meseca",
- "few": "pre {0} meseca",
- "other": "pre {0} meseci"
- ],
- "future": [
- "one": "za {0} mesec",
- "few": "za {0} meseca",
- "other": "za {0} meseci"
- ]
- ],
- "week": [
- "previous": "prošle nedelje",
- "current": "ove nedelje",
- "next": "sledeće nedelje",
- "past": [
- "one": "pre {0} nedelje",
- "few": "pre {0} nedelje",
- "other": "pre {0} nedelja"
- ],
- "future": [
- "one": "za {0} nedelju",
- "few": "za {0} nedelje",
- "other": "za {0} nedelja"
- ]
- ],
- "day": [
- "previous": "juče",
- "current": "danas",
- "next": "sutra",
- "past": "pre {0} dana",
- "future": [
- "one": "za {0} dan",
- "other": "za {0} dana"
- ]
- ],
- "hour": [
- "current": "ovog sata",
- "past": [
- "one": "pre {0} sata",
- "few": "pre {0} sata",
- "other": "pre {0} sati"
- ],
- "future": [
- "one": "za {0} sat",
- "few": "za {0} sata",
- "other": "za {0} sati"
- ]
- ],
- "minute": [
- "current": "ovog minuta",
- "past": "pre {0} minuta",
- "future": [
- "one": "za {0} minut",
- "other": "za {0} minuta"
- ]
- ],
- "second": [
- "current": "sada",
- "past": [
- "one": "pre {0} sekunde",
- "few": "pre {0} sekunde",
- "other": "pre {0} sekundi"
- ],
- "future": [
- "one": "za {0} sekundu",
- "few": "za {0} sekunde",
- "other": "za {0} sekundi"
- ]
- ],
- "now": "sada"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sv.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sv.swift
deleted file mode 100644
index eefc8a05..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sv.swift
+++ /dev/null
@@ -1,232 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sv: RelativeFormatterLang {
-
- /// Swedish
- public static let identifier: String = "sv"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "i fjol",
- "current": "i år",
- "next": "nästa år",
- "past": "för {0} år sen",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "förra kv.",
- "current": "detta kv.",
- "next": "nästa kv.",
- "past": "för {0} kv. sen",
- "future": "om {0} kv."
- ],
- "month": [
- "previous": "förra mån.",
- "current": "denna mån.",
- "next": "nästa mån.",
- "past": "för {0} mån. sen",
- "future": "om {0} mån."
- ],
- "week": [
- "previous": "förra v.",
- "current": "denna v.",
- "next": "nästa v.",
- "past": "för {0} v. sedan",
- "future": "om {0} v."
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgon",
- "past": [
- "one": "för {0} d sedan",
- "other": "för {0} d sedan"
- ],
- "future": "om {0} d"
- ],
- "hour": [
- "current": "denna timme",
- "past": "för {0} tim sedan",
- "future": "om {0} tim"
- ],
- "minute": [
- "current": "denna minut",
- "past": "för {0} min sen",
- "future": "om {0} min"
- ],
- "second": [
- "current": "nu",
- "past": "för {0} s sen",
- "future": [
- "one": "om {0} sek",
- "other": "om {0} sek"
- ]
- ],
- "now": "nu"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "i fjol",
- "current": "i år",
- "next": "nästa år",
- "past": "−{0} år",
- "future": "+{0} år"
- ],
- "quarter": [
- "previous": "förra kv.",
- "current": "detta kv.",
- "next": "nästa kv.",
- "past": "−{0} kv",
- "future": "+{0} kv."
- ],
- "month": [
- "previous": "förra mån.",
- "current": "denna mån.",
- "next": "nästa mån.",
- "past": "−{0} mån",
- "future": "+{0} mån."
- ],
- "week": [
- "previous": "förra v.",
- "current": "denna v.",
- "next": "nästa v.",
- "past": "−{0} v",
- "future": "+{0} v."
- ],
- "day": [
- "previous": "igår",
- "current": "idag",
- "next": "imorgon",
- "past": "−{0} d",
- "future": "+{0} d"
- ],
- "hour": [
- "current": "denna timme",
- "past": "−{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "denna minut",
- "past": "−{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "nu",
- "past": "−{0} s",
- "future": "+{0} s"
- ],
- "now": "nu"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "i fjol",
- "current": "i år",
- "next": "nästa år",
- "past": "för {0} år sedan",
- "future": "om {0} år"
- ],
- "quarter": [
- "previous": "förra kvartalet",
- "current": "detta kvartal",
- "next": "nästa kvartal",
- "past": "för {0} kvartal sedan",
- "future": "om {0} kvartal"
- ],
- "month": [
- "previous": "förra månaden",
- "current": "denna månad",
- "next": "nästa månad",
- "past": [
- "one": "för {0} månad sedan",
- "other": "för {0} månader sedan"
- ],
- "future": [
- "one": "om {0} månad",
- "other": "om {0} månader"
- ]
- ],
- "week": [
- "previous": "förra veckan",
- "current": "denna vecka",
- "next": "nästa vecka",
- "past": [
- "one": "för {0} vecka sedan",
- "other": "för {0} veckor sedan"
- ],
- "future": [
- "one": "om {0} vecka",
- "other": "om {0} veckor"
- ]
- ],
- "day": [
- "previous": "i går",
- "current": "i dag",
- "next": "i morgon",
- "past": [
- "one": "för {0} dag sedan",
- "other": "för {0} dagar sedan"
- ],
- "future": [
- "one": "om {0} dag",
- "other": "om {0} dagar"
- ]
- ],
- "hour": [
- "current": "denna timme",
- "past": [
- "one": "för {0} timme sedan",
- "other": "för {0} timmar sedan"
- ],
- "future": [
- "one": "om {0} timme",
- "other": "om {0} timmar"
- ]
- ],
- "minute": [
- "current": "denna minut",
- "past": [
- "one": "för {0} minut sedan",
- "other": "för {0} minuter sedan"
- ],
- "future": [
- "one": "om {0} minut",
- "other": "om {0} minuter"
- ]
- ],
- "second": [
- "current": "nu",
- "past": [
- "one": "för {0} sekund sedan",
- "other": "för {0} sekunder sedan"
- ],
- "future": [
- "one": "om {0} sekund",
- "other": "om {0} sekunder"
- ]
- ],
- "now": "nu"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sw.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sw.swift
deleted file mode 100644
index 422d7c5e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_sw.swift
+++ /dev/null
@@ -1,280 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_sw: RelativeFormatterLang {
-
- /// Swahili
- public static let identifier: String = "sw"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "mwaka uliopita",
- "current": "mwaka huu",
- "next": "mwaka ujao",
- "past": [
- "one": "mwaka {0} uliopita",
- "other": "miaka {0} iliyopita"
- ],
- "future": [
- "one": "baada ya mwaka {0}",
- "other": "baada ya miaka {0}"
- ]
- ],
- "quarter": [
- "previous": "robo ya mwaka iliyopita",
- "current": "robo hii ya mwaka",
- "next": "robo ya mwaka inayofuata",
- "past": [
- "one": "robo {0} iliyopita",
- "other": "robo {0} zilizopita"
- ],
- "future": "baada ya robo {0}"
- ],
- "month": [
- "previous": "mwezi uliopita",
- "current": "mwezi huu",
- "next": "mwezi ujao",
- "past": [
- "one": "mwezi {0} uliopita",
- "other": "miezi {0} iliyopita"
- ],
- "future": [
- "one": "baada ya mwezi {0}",
- "other": "baada ya miezi {0}"
- ]
- ],
- "week": [
- "previous": "wiki iliyopita",
- "current": "wiki hii",
- "next": "wiki ijayo",
- "past": [
- "one": "wiki {0} iliyopita",
- "other": "wiki {0} zilizopita"
- ],
- "future": "baada ya wiki {0}"
- ],
- "day": [
- "previous": "jana",
- "current": "leo",
- "next": "kesho",
- "past": [
- "one": "siku {0} iliyopita",
- "other": "siku {0} zilizopita"
- ],
- "future": "baada ya siku {0}"
- ],
- "hour": [
- "current": "saa hii",
- "past": [
- "one": "saa {0} iliyopita",
- "other": "saa {0} zilizopita"
- ],
- "future": "baada ya saa {0}"
- ],
- "minute": [
- "current": "dakika hii",
- "past": [
- "one": "dakika {0} iliyopita",
- "other": "dakika {0} zilizopita"
- ],
- "future": "baada ya dakika {0}"
- ],
- "second": [
- "current": "sasa hivi",
- "past": [
- "one": "sekunde {0} iliyopita",
- "other": "sekunde {0} zilizopita"
- ],
- "future": "baada ya sekunde {0}"
- ],
- "now": "sasa hivi"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "mwaka uliopita",
- "current": "mwaka huu",
- "next": "mwaka ujao",
- "past": [
- "one": "mwaka {0} uliopita",
- "other": "miaka {0} iliyopita"
- ],
- "future": [
- "one": "baada ya mwaka {0}",
- "other": "baada ya miaka {0}"
- ]
- ],
- "quarter": [
- "previous": "robo ya mwaka iliyopita",
- "current": "robo hii ya mwaka",
- "next": "robo ya mwaka inayofuata",
- "past": [
- "one": "robo {0} iliyopita",
- "other": "robo {0} zilizopita"
- ],
- "future": "baada ya robo {0}"
- ],
- "month": [
- "previous": "mwezi uliopita",
- "current": "mwezi huu",
- "next": "mwezi ujao",
- "past": [
- "one": "mwezi {0} uliopita",
- "other": "miezi {0} iliyopita"
- ],
- "future": [
- "one": "baada ya mwezi {0}",
- "other": "baada ya miezi {0}"
- ]
- ],
- "week": [
- "previous": "wiki iliyopita",
- "current": "wiki hii",
- "next": "wiki ijayo",
- "past": [
- "one": "wiki {0} iliyopita",
- "other": "wiki {0} zilizopita"
- ],
- "future": "baada ya wiki {0}"
- ],
- "day": [
- "previous": "jana",
- "current": "leo",
- "next": "kesho",
- "past": [
- "one": "siku {0} iliyopita",
- "other": "siku {0} zilizopita"
- ],
- "future": "baada ya siku {0}"
- ],
- "hour": [
- "current": "saa hii",
- "past": [
- "one": "Saa {0} iliyopita",
- "other": "Saa {0} zilizopita"
- ],
- "future": "baada ya saa {0}"
- ],
- "minute": [
- "current": "dakika hii",
- "past": [
- "one": "dakika {0} iliyopita",
- "other": "dakika {0} zilizopita"
- ],
- "future": "baada ya dakika {0}"
- ],
- "second": [
- "current": "sasa hivi",
- "past": [
- "one": "sekunde {0} iliyopita",
- "other": "sekunde {0} zilizopita"
- ],
- "future": "baada ya sekunde {0}"
- ],
- "now": "sasa hivi"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "mwaka uliopita",
- "current": "mwaka huu",
- "next": "mwaka ujao",
- "past": [
- "one": "mwaka {0} uliopita",
- "other": "miaka {0} iliyopita"
- ],
- "future": [
- "one": "baada ya mwaka {0}",
- "other": "baada ya miaka {0}"
- ]
- ],
- "quarter": [
- "previous": "robo ya mwaka iliyopita",
- "current": "robo hii ya mwaka",
- "next": "robo ya mwaka inayofuata",
- "past": [
- "one": "robo {0} iliyopita",
- "other": "robo {0} zilizopita"
- ],
- "future": "baada ya robo {0}"
- ],
- "month": [
- "previous": "mwezi uliopita",
- "current": "mwezi huu",
- "next": "mwezi ujao",
- "past": [
- "one": "mwezi {0} uliopita",
- "other": "miezi {0} iliyopita"
- ],
- "future": [
- "one": "baada ya mwezi {0}",
- "other": "baada ya miezi {0}"
- ]
- ],
- "week": [
- "previous": "wiki iliyopita",
- "current": "wiki hii",
- "next": "wiki ijayo",
- "past": [
- "one": "wiki {0} iliyopita",
- "other": "wiki {0} zilizopita"
- ],
- "future": "baada ya wiki {0}"
- ],
- "day": [
- "previous": "jana",
- "current": "leo",
- "next": "kesho",
- "past": [
- "one": "siku {0} iliyopita",
- "other": "siku {0} zilizopita"
- ],
- "future": "baada ya siku {0}"
- ],
- "hour": [
- "current": "saa hii",
- "past": [
- "one": "saa {0} iliyopita",
- "other": "saa {0} zilizopita"
- ],
- "future": "baada ya saa {0}"
- ],
- "minute": [
- "current": "dakika hii",
- "past": [
- "one": "dakika {0} iliyopita",
- "other": "dakika {0} zilizopita"
- ],
- "future": "baada ya dakika {0}"
- ],
- "second": [
- "current": "sasa hivi",
- "past": [
- "one": "Sekunde {0} iliyopita",
- "other": "Sekunde {0} zilizopita"
- ],
- "future": "baada ya sekunde {0}"
- ],
- "now": "sasa hivi"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ta.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ta.swift
deleted file mode 100644
index 546b0dff..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ta.swift
+++ /dev/null
@@ -1,244 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ta: RelativeFormatterLang {
-
- /// Tamil
- public static let identifier: String = "ta"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "கடந்த ஆண்டு",
- "current": "இந்த ஆண்டு",
- "next": "அடுத்த ஆண்டு",
- "past": [
- "one": "{0} ஆண்டிற்கு முன்",
- "other": "{0} ஆண்டுகளுக்கு முன்"
- ],
- "future": [
- "one": "{0} ஆண்டில்",
- "other": "{0} ஆண்டுகளில்"
- ]
- ],
- "quarter": [
- "previous": "இறுதி காலாண்டு",
- "current": "இந்த காலாண்டு",
- "next": "அடுத்த காலாண்டு",
- "past": "{0} காலா. முன்",
- "future": "{0} காலா."
- ],
- "month": [
- "previous": "கடந்த மாதம்",
- "current": "இந்த மாதம்",
- "next": "அடுத்த மாதம்",
- "past": "{0} மாத. முன்",
- "future": "{0} மாத."
- ],
- "week": [
- "previous": "கடந்த வாரம்",
- "current": "இந்த வாரம்",
- "next": "அடுத்த வாரம்",
- "past": "{0} வார. முன்",
- "future": "{0} வார."
- ],
- "day": [
- "previous": "நேற்று",
- "current": "இன்று",
- "next": "நாளை",
- "past": [
- "one": "{0} நாளுக்கு முன்",
- "other": "{0} நாட்களுக்கு முன்"
- ],
- "future": [
- "one": "{0} நாளில்",
- "other": "{0} நாட்களில்"
- ]
- ],
- "hour": [
- "current": "இந்த ஒரு மணிநேரத்தில்",
- "past": "{0} மணி. முன்",
- "future": "{0} மணி."
- ],
- "minute": [
- "current": "இந்த ஒரு நிமிடத்தில்",
- "past": "{0} நிமி. முன்",
- "future": "{0} நிமி."
- ],
- "second": [
- "current": "இப்போது",
- "past": "{0} விநா. முன்",
- "future": "{0} விநா."
- ],
- "now": "இப்போது"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "கடந்த ஆண்டு",
- "current": "இந்த ஆண்டு",
- "next": "அடுத்த ஆண்டு",
- "past": "{0} ஆ. முன்",
- "future": "{0} ஆ."
- ],
- "quarter": [
- "previous": "இறுதி காலாண்டு",
- "current": "இந்த காலாண்டு",
- "next": "அடுத்த காலாண்டு",
- "past": "{0} கா. முன்",
- "future": "{0} கா."
- ],
- "month": [
- "previous": "கடந்த மாதம்",
- "current": "இந்த மாதம்",
- "next": "அடுத்த மாதம்",
- "past": "{0} மா. முன்",
- "future": "{0} மா."
- ],
- "week": [
- "previous": "கடந்த வாரம்",
- "current": "இந்த வாரம்",
- "next": "அடுத்த வாரம்",
- "past": "{0} வா. முன்",
- "future": "{0} வா."
- ],
- "day": [
- "previous": "நேற்று",
- "current": "இன்று",
- "next": "நாளை",
- "past": "{0} நா. முன்",
- "future": "{0} நா."
- ],
- "hour": [
- "current": "இந்த ஒரு மணிநேரத்தில்",
- "past": "{0} ம. முன்",
- "future": "{0} ம."
- ],
- "minute": [
- "current": "இந்த ஒரு நிமிடத்தில்",
- "past": "{0} நி. முன்",
- "future": "{0} நி."
- ],
- "second": [
- "current": "இப்போது",
- "past": "{0} வி. முன்",
- "future": "{0} வி."
- ],
- "now": "இப்போது"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "கடந்த ஆண்டு",
- "current": "இந்த ஆண்டு",
- "next": "அடுத்த ஆண்டு",
- "past": [
- "one": "{0} ஆண்டிற்கு முன்",
- "other": "{0} ஆண்டுகளுக்கு முன்"
- ],
- "future": [
- "one": "{0} ஆண்டில்",
- "other": "{0} ஆண்டுகளில்"
- ]
- ],
- "quarter": [
- "previous": "கடந்த காலாண்டு",
- "current": "இந்த காலாண்டு",
- "next": "அடுத்த காலாண்டு",
- "past": [
- "one": "{0} காலாண்டுக்கு முன்",
- "other": "{0} காலாண்டுகளுக்கு முன்"
- ],
- "future": [
- "one": "+{0} காலாண்டில்",
- "other": "{0} காலாண்டுகளில்"
- ]
- ],
- "month": [
- "previous": "கடந்த மாதம்",
- "current": "இந்த மாதம்",
- "next": "அடுத்த மாதம்",
- "past": [
- "one": "{0} மாதத்துக்கு முன்",
- "other": "{0} மாதங்களுக்கு முன்"
- ],
- "future": [
- "one": "{0} மாதத்தில்",
- "other": "{0} மாதங்களில்"
- ]
- ],
- "week": [
- "previous": "கடந்த வாரம்",
- "current": "இந்த வாரம்",
- "next": "அடுத்த வாரம்",
- "past": [
- "one": "{0} வாரத்திற்கு முன்",
- "other": "{0} வாரங்களுக்கு முன்"
- ],
- "future": [
- "one": "{0} வாரத்தில்",
- "other": "{0} வாரங்களில்"
- ]
- ],
- "day": [
- "previous": "நேற்று",
- "current": "இன்று",
- "next": "நாளை",
- "past": [
- "one": "{0} நாளுக்கு முன்",
- "other": "{0} நாட்களுக்கு முன்"
- ],
- "future": [
- "one": "{0} நாளில்",
- "other": "{0} நாட்களில்"
- ]
- ],
- "hour": [
- "current": "இந்த ஒரு மணிநேரத்தில்",
- "past": "{0} மணிநேரம் முன்",
- "future": "{0} மணிநேரத்தில்"
- ],
- "minute": [
- "current": "இந்த ஒரு நிமிடத்தில்",
- "past": [
- "one": "{0} நிமிடத்திற்கு முன்",
- "other": "{0} நிமிடங்களுக்கு முன்"
- ],
- "future": [
- "one": "{0} நிமிடத்தில்",
- "other": "{0} நிமிடங்களில்"
- ]
- ],
- "second": [
- "current": "இப்போது",
- "past": [
- "one": "{0} விநாடிக்கு முன்",
- "other": "{0} விநாடிகளுக்கு முன்"
- ],
- "future": [
- "one": "{0} விநாடியில்",
- "other": "{0} விநாடிகளில்"
- ]
- ],
- "now": "இப்போது"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_te.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_te.swift
deleted file mode 100644
index d9461603..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_te.swift
+++ /dev/null
@@ -1,292 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_te: RelativeFormatterLang {
-
- /// Telugu
- public static let identifier: String = "te"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "గత సంవత్సరం",
- "current": "ఈ సంవత్సరం",
- "next": "తదుపరి సంవత్సరం",
- "past": "{0} సం. క్రితం",
- "future": [
- "one": "{0} సం.లో",
- "other": "{0} సం.ల్లో"
- ]
- ],
- "quarter": [
- "previous": "గత త్రైమాసికం",
- "current": "ఈ త్రైమాసికం",
- "next": "తదుపరి త్రైమాసికం",
- "past": "{0} త్రైమా. క్రితం",
- "future": [
- "one": "{0} త్రైమా.లో",
- "other": "{0} త్రైమా.ల్లో"
- ]
- ],
- "month": [
- "previous": "గత నెల",
- "current": "ఈ నెల",
- "next": "తదుపరి నెల",
- "past": [
- "one": "{0} నెల క్రితం",
- "other": "{0} నెలల క్రితం"
- ],
- "future": [
- "one": "{0} నెలలో",
- "other": "{0} నెలల్లో"
- ]
- ],
- "week": [
- "previous": "గత వారం",
- "current": "ఈ వారం",
- "next": "తదుపరి వారం",
- "past": [
- "one": "{0} వారం క్రితం",
- "other": "{0} వారాల క్రితం"
- ],
- "future": [
- "one": "{0} వారంలో",
- "other": "{0} వారాల్లో"
- ]
- ],
- "day": [
- "previous": "నిన్న",
- "current": "ఈ రోజు",
- "next": "రేపు",
- "past": [
- "one": "{0} రోజు క్రితం",
- "other": "{0} రోజుల క్రితం"
- ],
- "future": [
- "one": "{0} రోజులో",
- "other": "{0} రోజుల్లో"
- ]
- ],
- "hour": [
- "current": "ఈ గంట",
- "past": "{0} గం. క్రితం",
- "future": "{0} గం.లో"
- ],
- "minute": [
- "current": "ఈ నిమిషం",
- "past": "{0} నిమి. క్రితం",
- "future": "{0} నిమి.లో"
- ],
- "second": [
- "current": "ప్రస్తుతం",
- "past": "{0} సెక. క్రితం",
- "future": [
- "one": "{0} సెకనులో",
- "other": "{0} సెకన్లలో"
- ]
- ],
- "now": "ప్రస్తుతం"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "గత సంవత్సరం",
- "current": "ఈ సంవత్సరం",
- "next": "తదుపరి సంవత్సరం",
- "past": "{0} సం. క్రితం",
- "future": [
- "one": "{0} సం.లో",
- "other": "{0} సం.ల్లో"
- ]
- ],
- "quarter": [
- "previous": "గత త్రైమాసికం",
- "current": "ఈ త్రైమాసికం",
- "next": "తదుపరి త్రైమాసికం",
- "past": "{0} త్రైమా. క్రితం",
- "future": [
- "one": "{0} త్రైమాసికంలో",
- "other": "{0} త్రైమాసికాల్లో"
- ]
- ],
- "month": [
- "previous": "గత నెల",
- "current": "ఈ నెల",
- "next": "తదుపరి నెల",
- "past": [
- "one": "{0} నెల క్రితం",
- "other": "{0} నెలల క్రితం"
- ],
- "future": [
- "one": "{0} నెలలో",
- "other": "{0} నెలల్లో"
- ]
- ],
- "week": [
- "previous": "గత వారం",
- "current": "ఈ వారం",
- "next": "తదుపరి వారం",
- "past": [
- "one": "{0} వారం క్రితం",
- "other": "{0} వారాల క్రితం"
- ],
- "future": [
- "one": "{0} వారంలో",
- "other": "{0} వారాల్లో"
- ]
- ],
- "day": [
- "previous": "నిన్న",
- "current": "ఈ రోజు",
- "next": "రేపు",
- "past": [
- "one": "{0} రోజు క్రితం",
- "other": "{0} రోజుల క్రితం"
- ],
- "future": [
- "one": "{0} రోజులో",
- "other": "{0} రోజుల్లో"
- ]
- ],
- "hour": [
- "current": "ఈ గంట",
- "past": "{0} గం. క్రితం",
- "future": "{0} గం.లో"
- ],
- "minute": [
- "current": "ఈ నిమిషం",
- "past": "{0} నిమి. క్రితం",
- "future": "{0} నిమి.లో"
- ],
- "second": [
- "current": "ప్రస్తుతం",
- "past": "{0} సెక. క్రితం",
- "future": [
- "one": "{0} సెక.లో",
- "other": "{0} సెక. లో"
- ]
- ],
- "now": "ప్రస్తుతం"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "గత సంవత్సరం",
- "current": "ఈ సంవత్సరం",
- "next": "తదుపరి సంవత్సరం",
- "past": [
- "one": "{0} సంవత్సరం క్రితం",
- "other": "{0} సంవత్సరాల క్రితం"
- ],
- "future": [
- "one": "{0} సంవత్సరంలో",
- "other": "{0} సంవత్సరాల్లో"
- ]
- ],
- "quarter": [
- "previous": "గత త్రైమాసికం",
- "current": "ఈ త్రైమాసికం",
- "next": "తదుపరి త్రైమాసికం",
- "past": [
- "one": "{0} త్రైమాసికం క్రితం",
- "other": "{0} త్రైమాసికాల క్రితం"
- ],
- "future": [
- "one": "{0} త్రైమాసికంలో",
- "other": "{0} త్రైమాసికాల్లో"
- ]
- ],
- "month": [
- "previous": "గత నెల",
- "current": "ఈ నెల",
- "next": "తదుపరి నెల",
- "past": [
- "one": "{0} నెల క్రితం",
- "other": "{0} నెలల క్రితం"
- ],
- "future": [
- "one": "{0} నెలలో",
- "other": "{0} నెలల్లో"
- ]
- ],
- "week": [
- "previous": "గత వారం",
- "current": "ఈ వారం",
- "next": "తదుపరి వారం",
- "past": [
- "one": "{0} వారం క్రితం",
- "other": "{0} వారాల క్రితం"
- ],
- "future": [
- "one": "{0} వారంలో",
- "other": "{0} వారాల్లో"
- ]
- ],
- "day": [
- "previous": "నిన్న",
- "current": "ఈ రోజు",
- "next": "రేపు",
- "past": [
- "one": "{0} రోజు క్రితం",
- "other": "{0} రోజుల క్రితం"
- ],
- "future": [
- "one": "{0} రోజులో",
- "other": "{0} రోజుల్లో"
- ]
- ],
- "hour": [
- "current": "ఈ గంట",
- "past": [
- "one": "{0} గంట క్రితం",
- "other": "{0} గంటల క్రితం"
- ],
- "future": [
- "one": "{0} గంటలో",
- "other": "{0} గంటల్లో"
- ]
- ],
- "minute": [
- "current": "ఈ నిమిషం",
- "past": [
- "one": "{0} నిమిషం క్రితం",
- "other": "{0} నిమిషాల క్రితం"
- ],
- "future": [
- "one": "{0} నిమిషంలో",
- "other": "{0} నిమిషాల్లో"
- ]
- ],
- "second": [
- "current": "ప్రస్తుతం",
- "past": [
- "one": "{0} సెకను క్రితం",
- "other": "{0} సెకన్ల క్రితం"
- ],
- "future": [
- "one": "{0} సెకనులో",
- "other": "{0} సెకన్లలో"
- ]
- ],
- "now": "ప్రస్తుతం"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_th.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_th.swift
deleted file mode 100644
index 7ea20387..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_th.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_th: RelativeFormatterLang {
-
- /// Thai
- public static let identifier: String = "th"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ปีที่แล้ว",
- "current": "ปีนี้",
- "next": "ปีหน้า",
- "past": "{0} ปีที่แล้ว",
- "future": "ใน {0} ปี"
- ],
- "quarter": [
- "previous": "ไตรมาสที่แล้ว",
- "current": "ไตรมาสนี้",
- "next": "ไตรมาสหน้า",
- "past": "{0} ไตรมาสที่แล้ว",
- "future": "ใน {0} ไตรมาส"
- ],
- "month": [
- "previous": "เดือนที่แล้ว",
- "current": "เดือนนี้",
- "next": "เดือนหน้า",
- "past": "{0} เดือนที่แล้ว",
- "future": "ใน {0} เดือน"
- ],
- "week": [
- "previous": "สัปดาห์ที่แล้ว",
- "current": "สัปดาห์นี้",
- "next": "สัปดาห์หน้า",
- "past": "{0} สัปดาห์ที่แล้ว",
- "future": "ใน {0} สัปดาห์"
- ],
- "day": [
- "previous": "เมื่อวาน",
- "current": "วันนี้",
- "next": "พรุ่งนี้",
- "past": "{0} วันที่แล้ว",
- "future": "ใน {0} วัน"
- ],
- "hour": [
- "current": "ชั่วโมงนี้",
- "past": "{0} ชม. ที่แล้ว",
- "future": "ใน {0} ชม."
- ],
- "minute": [
- "current": "นาทีนี้",
- "past": "{0} นาทีที่แล้ว",
- "future": "ใน {0} นาที"
- ],
- "second": [
- "current": "ขณะนี้",
- "past": "{0} วินาทีที่แล้ว",
- "future": "ใน {0} วินาที"
- ],
- "now": "ขณะนี้"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ปีที่แล้ว",
- "current": "ปีนี้",
- "next": "ปีหน้า",
- "past": "{0} ปีที่แล้ว",
- "future": "ใน {0} ปี"
- ],
- "quarter": [
- "previous": "ไตรมาสที่แล้ว",
- "current": "ไตรมาสนี้",
- "next": "ไตรมาสหน้า",
- "past": "{0} ไตรมาสที่แล้ว",
- "future": "ใน {0} ไตรมาส"
- ],
- "month": [
- "previous": "เดือนที่แล้ว",
- "current": "เดือนนี้",
- "next": "เดือนหน้า",
- "past": "{0} เดือนที่แล้ว",
- "future": "ใน {0} เดือน"
- ],
- "week": [
- "previous": "สัปดาห์ที่แล้ว",
- "current": "สัปดาห์นี้",
- "next": "สัปดาห์หน้า",
- "past": "{0} สัปดาห์ที่แล้ว",
- "future": "ใน {0} สัปดาห์"
- ],
- "day": [
- "previous": "เมื่อวาน",
- "current": "วันนี้",
- "next": "พรุ่งนี้",
- "past": "{0} วันที่แล้ว",
- "future": "ใน {0} วัน"
- ],
- "hour": [
- "current": "ชั่วโมงนี้",
- "past": "{0} ชม. ที่แล้ว",
- "future": "ใน {0} ชม."
- ],
- "minute": [
- "current": "นาทีนี้",
- "past": "{0} นาทีที่แล้ว",
- "future": "ใน {0} นาที"
- ],
- "second": [
- "current": "ขณะนี้",
- "past": "{0} วินาทีที่แล้ว",
- "future": "ใน {0} วินาที"
- ],
- "now": "ขณะนี้"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ปีที่แล้ว",
- "current": "ปีนี้",
- "next": "ปีหน้า",
- "past": "{0} ปีที่แล้ว",
- "future": "ในอีก {0} ปี"
- ],
- "quarter": [
- "previous": "ไตรมาสที่แล้ว",
- "current": "ไตรมาสนี้",
- "next": "ไตรมาสหน้า",
- "past": "{0} ไตรมาสที่แล้ว",
- "future": "ในอีก {0} ไตรมาส"
- ],
- "month": [
- "previous": "เดือนที่แล้ว",
- "current": "เดือนนี้",
- "next": "เดือนหน้า",
- "past": "{0} เดือนที่ผ่านมา",
- "future": "ในอีก {0} เดือน"
- ],
- "week": [
- "previous": "สัปดาห์ที่แล้ว",
- "current": "สัปดาห์นี้",
- "next": "สัปดาห์หน้า",
- "past": "{0} สัปดาห์ที่ผ่านมา",
- "future": "ในอีก {0} สัปดาห์"
- ],
- "day": [
- "previous": "เมื่อวาน",
- "current": "วันนี้",
- "next": "พรุ่งนี้",
- "past": "{0} วันที่ผ่านมา",
- "future": "ในอีก {0} วัน"
- ],
- "hour": [
- "current": "ชั่วโมงนี้",
- "past": "{0} ชั่วโมงที่ผ่านมา",
- "future": "ในอีก {0} ชั่วโมง"
- ],
- "minute": [
- "current": "นาทีนี้",
- "past": "{0} นาทีที่ผ่านมา",
- "future": "ในอีก {0} นาที"
- ],
- "second": [
- "current": "ขณะนี้",
- "past": "{0} วินาทีที่ผ่านมา",
- "future": "ในอีก {0} วินาที"
- ],
- "now": "ขณะนี้"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ti.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ti.swift
deleted file mode 100644
index c03b2e1e..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ti.swift
+++ /dev/null
@@ -1,196 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ti: RelativeFormatterLang {
-
- /// Tigrinya
- public static let identifier: String = "ti"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ዓሚ",
- "current": "ሎሚ ዓመት",
- "next": "ንዓመታ",
- "past": [
- "one": "ቅድሚ -{0} ዓ",
- "other": "ቅድሚ {0} ዓ"
- ],
- "future": "ኣብ {0} ዓ"
- ],
- "quarter": [
- "previous": "ዝሓለፈ ርብዒ",
- "current": "ህሉው ርብዒ",
- "next": "ዝመጽእ ርብዒ",
- "past": "ቅድሚ {0} ርብዒ",
- "future": "ኣብ {0} ርብዒ"
- ],
- "month": [
- "previous": "last month",
- "current": "ህሉው ወርሒ",
- "next": "ዝመጽእ ወርሒ",
- "past": "ቅድሚ {0} ወርሒ",
- "future": "ኣብ {0} ወርሒ"
- ],
- "week": [
- "previous": "ዝሓለፈ ሰሙን",
- "current": "ህሉው ሰሙን",
- "next": "ዝመጽእ ሰሙን",
- "past": "ቅድሚ {0} ሰሙን",
- "future": "ኣብ {0} ሰሙን"
- ],
- "day": [
- "previous": "ትማሊ",
- "current": "ሎሚ",
- "next": "ጽባሕ",
- "past": "ቅድሚ {0} መዓልቲ",
- "future": "ኣብ {0} መዓልቲ"
- ],
- "hour": [
- "current": "ኣብዚ ሰዓት",
- "past": "ቅድሚ {0} ሰዓት",
- "future": "ኣብ {0} ሰዓት"
- ],
- "minute": [
- "current": "ኣብዚ ደቒቕ",
- "past": "ቅድሚ {0} ደቒቕ",
- "future": "ኣብ {0} ደቒቕ"
- ],
- "second": [
- "current": "ሕጂ",
- "past": "ቅድሚ {0} ካልኢት",
- "future": "ኣብ {0} ካልኢት"
- ],
- "now": "ሕጂ"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ዓሚ",
- "current": "ሎሚ ዓመት",
- "next": "ንዓመታ",
- "past": "ቅድሚ {0} ዓ",
- "future": "ኣብ {0} ዓ"
- ],
- "quarter": [
- "previous": "ዝሓለፈ ርብዒ",
- "current": "ህሉው ርብዒ",
- "next": "ዝመጽእ ርብዒ",
- "past": "ቅድሚ {0} ርብዒ",
- "future": "ኣብ {0} ርብዒ"
- ],
- "month": [
- "previous": "last month",
- "current": "ህሉው ወርሒ",
- "next": "ዝመጽእ ወርሒ",
- "past": "ቅድሚ {0} ወርሒ",
- "future": "ኣብ {0} ወርሒ"
- ],
- "week": [
- "previous": "ዝሓለፈ ሰሙን",
- "current": "ህሉው ሰሙን",
- "next": "ዝመጽእ ሰሙን",
- "past": "ቅድሚ {0} ሰሙን",
- "future": "ኣብ {0} ሰሙን"
- ],
- "day": [
- "previous": "ትማሊ",
- "current": "ሎሚ",
- "next": "ጽባሕ",
- "past": "ቅድሚ {0} መዓልቲ",
- "future": "ኣብ {0} መዓልቲ"
- ],
- "hour": [
- "current": "ኣብዚ ሰዓት",
- "past": "ቅድሚ {0} ሰዓት",
- "future": "ኣብ {0} ሰዓት"
- ],
- "minute": [
- "current": "ኣብዚ ደቒቕ",
- "past": "ቅድሚ {0} ደቒቕ",
- "future": "ኣብ {0} ደቒቕ"
- ],
- "second": [
- "current": "ሕጂ",
- "past": "ቅድሚ {0} ካልኢት",
- "future": "ኣብ {0} ካልኢት"
- ],
- "now": "ሕጂ"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ዓሚ",
- "current": "ሎሚ ዓመት",
- "next": "ንዓመታ",
- "past": "ቅድሚ {0} ዓ",
- "future": "ኣብ {0} ዓ"
- ],
- "quarter": [
- "previous": "ዝሓለፈ ርብዒ",
- "current": "ህሉው ርብዒ",
- "next": "ዝመጽእ ርብዒ",
- "past": "ቅድሚ {0} ርብዒ",
- "future": "ኣብ {0} ርብዒ"
- ],
- "month": [
- "previous": "last month",
- "current": "ህሉው ወርሒ",
- "next": "ዝመጽእ ወርሒ",
- "past": "ቅድሚ {0} ወርሒ",
- "future": "ኣብ {0} ወርሒ"
- ],
- "week": [
- "previous": "ዝሓለፈ ሰሙን",
- "current": "ህሉው ሰሙን",
- "next": "ዝመጽእ ሰሙን",
- "past": "ቅድሚ {0} ሰሙን",
- "future": "ኣብ {0} ሰሙን"
- ],
- "day": [
- "previous": "ትማሊ",
- "current": "ሎሚ",
- "next": "ጽባሕ",
- "past": [
- "one": "ቅድሚ {0} መዓልቲ",
- "other": "ኣብ {0} መዓልቲ"
- ],
- "future": "ኣብ {0} መዓልቲ"
- ],
- "hour": [
- "current": "ኣብዚ ሰዓት",
- "past": "ቅድሚ {0} ሰዓት",
- "future": "ኣብ {0} ሰዓት"
- ],
- "minute": [
- "current": "ኣብዚ ደቒቕ",
- "past": "ቅድሚ {0} ደቒቕ",
- "future": "ኣብ {0} ደቒቕ"
- ],
- "second": [
- "current": "ሕጂ",
- "past": "ቅድሚ {0} ካልኢት",
- "future": "ኣብ {0} ካልኢት"
- ],
- "now": "ሕጂ"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_tk.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_tk.swift
deleted file mode 100644
index 9e76fd7a..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_tk.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_tk: RelativeFormatterLang {
-
- /// Turkmen
- public static let identifier: String = "tk"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "geçen ýyl",
- "current": "şu ýyl",
- "next": "indiki ýyl",
- "past": "{0}ý. öň",
- "future": "{0}ý.-dan"
- ],
- "quarter": [
- "previous": "geçen çärýek",
- "current": "şu çärýek",
- "next": "indiki çärýek",
- "past": "{0} çär. öň",
- "future": "{0} çär.-den"
- ],
- "month": [
- "previous": "geçen aý",
- "current": "şu aý",
- "next": "indiki aý",
- "past": "{0} aý öň",
- "future": "{0} aýdan"
- ],
- "week": [
- "previous": "geçen hepde",
- "current": "şu hepde",
- "next": "indiki hepde",
- "past": "{0} hep. öň",
- "future": "{0} hep-den"
- ],
- "day": [
- "previous": "düýn",
- "current": "şu gün",
- "next": "ertir",
- "past": "{0} g. öň",
- "future": "{0} g-den"
- ],
- "hour": [
- "current": "şu sagat",
- "past": "{0} sag. öň",
- "future": "{0} sag-dan"
- ],
- "minute": [
- "current": "şu minut",
- "past": "{0} min. öň",
- "future": "{0} min-dan"
- ],
- "second": [
- "current": "häzir",
- "past": "{0} sek. öň",
- "future": "{0} sek-dan"
- ],
- "now": "häzir"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "geçen ýyl",
- "current": "şu ýyl",
- "next": "indiki ýyl",
- "past": "{0}ý. öň",
- "future": "{0}ý.-dan"
- ],
- "quarter": [
- "previous": "geçen çärýek",
- "current": "şu çärýek",
- "next": "indiki çärýek",
- "past": "{0} ç. öň",
- "future": "{0} ç.-den"
- ],
- "month": [
- "previous": "geçen aý",
- "current": "şu aý",
- "next": "indiki aý",
- "past": "{0} aý öň",
- "future": "{0} aýdan"
- ],
- "week": [
- "previous": "geçen hepde",
- "current": "şu hepde",
- "next": "indiki hepde",
- "past": "{0} h. öň",
- "future": "{0} h-den"
- ],
- "day": [
- "previous": "düýn",
- "current": "şu gün",
- "next": "ertir",
- "past": "{0} g. öň",
- "future": "{0} g-den"
- ],
- "hour": [
- "current": "şu sagat",
- "past": "{0} sag. öň",
- "future": "{0} sag-dan"
- ],
- "minute": [
- "current": "şu minut",
- "past": "{0} min. öň",
- "future": "{0} min-dan"
- ],
- "second": [
- "current": "häzir",
- "past": "{0} sek. öň",
- "future": "{0} sek-dan"
- ],
- "now": "häzir"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "geçen ýyl",
- "current": "şu ýyl",
- "next": "indiki ýyl",
- "past": "{0} ýyl öň",
- "future": "{0} ýyldan"
- ],
- "quarter": [
- "previous": "geçen çärýek",
- "current": "şu çärýek",
- "next": "indiki çärýek",
- "past": "{0} çärýek öň",
- "future": "{0} çärýekden"
- ],
- "month": [
- "previous": "geçen aý",
- "current": "şu aý",
- "next": "indiki aý",
- "past": "{0} aý öň",
- "future": "{0} aýdan"
- ],
- "week": [
- "previous": "geçen hepde",
- "current": "şu hepde",
- "next": "indiki hepde",
- "past": "{0} hepde öň",
- "future": "{0} hepdeden"
- ],
- "day": [
- "previous": "düýn",
- "current": "şu gün",
- "next": "ertir",
- "past": "{0} gün öň",
- "future": "{0} günden"
- ],
- "hour": [
- "current": "şu sagat",
- "past": "{0} sagat öň",
- "future": "{0} sagatdan"
- ],
- "minute": [
- "current": "şu minut",
- "past": "{0} minut öň",
- "future": "{0} minutdan"
- ],
- "second": [
- "current": "häzir",
- "past": "{0} sekunt öň",
- "future": "{0} sekuntdan"
- ],
- "now": "häzir"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_to.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_to.swift
deleted file mode 100644
index a9be72f9..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_to.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_to: RelativeFormatterLang {
-
- /// Tongan
- public static let identifier: String = "to"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "taʻu kuoʻosi",
- "current": "taʻú ni",
- "next": "taʻu kahaʻu",
- "past": "taʻu ʻe {0} kuoʻosi",
- "future": "ʻi he taʻu ʻe {0}"
- ],
- "quarter": [
- "previous": "kuata kuoʻosi",
- "current": "kuata koʻeni",
- "next": "kuata hoko",
- "past": "kuata ʻe {0} kuoʻosi",
- "future": "ʻi he kuata ʻe {0}"
- ],
- "month": [
- "previous": "māhina kuoʻosi",
- "current": "māhiná ni",
- "next": "māhina kahaʻu",
- "past": "māhina ʻe {0} kuoʻosi",
- "future": "ʻi he māhina ʻe {0}"
- ],
- "week": [
- "previous": "uike kuoʻosi",
- "current": "uiké ni",
- "next": "uike kahaʻu",
- "past": "uike ʻe {0} kuoʻosi",
- "future": "ʻi he uike ʻe {0}"
- ],
- "day": [
- "previous": "ʻaneafi",
- "current": "ʻahó ni",
- "next": "ʻapongipongi",
- "past": "ʻaho ʻe {0} kuoʻosi",
- "future": "ʻi he ʻaho ʻe {0}"
- ],
- "hour": [
- "current": "this hour",
- "past": "houa ʻe {0} kuoʻosi",
- "future": "ʻi he houa ʻe {0}"
- ],
- "minute": [
- "current": "this minute",
- "past": "miniti ʻe {0} kuoʻosi",
- "future": "ʻi he miniti ʻe {0}"
- ],
- "second": [
- "current": "taimí ni",
- "past": "sekoni ʻe {0} kuoʻosi",
- "future": "ʻi he sekoni ʻe {0}"
- ],
- "now": "taimí ni"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "taʻu kuoʻosi",
- "current": "taʻú ni",
- "next": "taʻu kahaʻu",
- "past": "taʻu ʻe {0} kuoʻosi",
- "future": "ʻi he taʻu ʻe {0}"
- ],
- "quarter": [
- "previous": "kuata kuoʻosi",
- "current": "kuata koʻeni",
- "next": "kuata hoko",
- "past": "kuata ʻe {0} kuoʻosi",
- "future": "ʻi he kuata ʻe {0}"
- ],
- "month": [
- "previous": "māhina kuoʻosi",
- "current": "māhiná ni",
- "next": "māhina kahaʻu",
- "past": "māhina ʻe {0} kuoʻosi",
- "future": "ʻi he māhina ʻe {0}"
- ],
- "week": [
- "previous": "uike kuoʻosi",
- "current": "uiké ni",
- "next": "uike kahaʻu",
- "past": "uike ʻe {0} kuoʻosi",
- "future": "ʻi he uike ʻe {0}"
- ],
- "day": [
- "previous": "ʻaneafi",
- "current": "ʻahó ni",
- "next": "ʻapongipongi",
- "past": "ʻaho ʻe {0} kuoʻosi",
- "future": "ʻi he ʻaho ʻe {0}"
- ],
- "hour": [
- "current": "this hour",
- "past": "houa ʻe {0} kuoʻosi",
- "future": "ʻi he houa ʻe {0}"
- ],
- "minute": [
- "current": "this minute",
- "past": "miniti ʻe {0} kuoʻosi",
- "future": "ʻi he miniti ʻe {0}"
- ],
- "second": [
- "current": "taimí ni",
- "past": "sekoni ʻe {0} kuoʻosi",
- "future": "ʻi he sekoni ʻe {0}"
- ],
- "now": "taimí ni"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "taʻu kuoʻosi",
- "current": "taʻú ni",
- "next": "taʻu kahaʻu",
- "past": "taʻu ʻe {0} kuoʻosi",
- "future": "ʻi he taʻu ʻe {0}"
- ],
- "quarter": [
- "previous": "kuata kuoʻosi",
- "current": "kuata koʻeni",
- "next": "kuata hoko",
- "past": "kuata ʻe {0} kuoʻosi",
- "future": "ʻi he kuata ʻe {0}"
- ],
- "month": [
- "previous": "māhina kuoʻosi",
- "current": "māhiná ni",
- "next": "māhina kahaʻu",
- "past": "māhina ʻe {0} kuoʻosi",
- "future": "ʻi he māhina ʻe {0}"
- ],
- "week": [
- "previous": "uike kuoʻosi",
- "current": "uiké ni",
- "next": "uike kahaʻu",
- "past": "uike ʻe {0} kuoʻosi",
- "future": "ʻi he uike ʻe {0}"
- ],
- "day": [
- "previous": "ʻaneafi",
- "current": "ʻahó ni",
- "next": "ʻapongipongi",
- "past": "ʻaho ʻe {0} kuoʻosi",
- "future": "ʻi he ʻaho ʻe {0}"
- ],
- "hour": [
- "current": "this hour",
- "past": "houa ʻe {0} kuoʻosi",
- "future": "ʻi he houa ʻe {0}"
- ],
- "minute": [
- "current": "this minute",
- "past": "miniti ʻe {0} kuoʻosi",
- "future": "ʻi he miniti ʻe {0}"
- ],
- "second": [
- "current": "taimí ni",
- "past": "sekoni ʻe {0} kuoʻosi",
- "future": "ʻi he sekoni ʻe {0}"
- ],
- "now": "taimí ni"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_tr.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_tr.swift
deleted file mode 100644
index 9d9ca008..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_tr.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_tr: RelativeFormatterLang {
-
- /// Turkish
- public static let identifier: String = "tr"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "geçen yıl",
- "current": "bu yıl",
- "next": "gelecek yıl",
- "past": "{0} yıl önce",
- "future": "{0} yıl sonra"
- ],
- "quarter": [
- "previous": "geçen çeyrek",
- "current": "bu çeyrek",
- "next": "gelecek çeyrek",
- "past": "{0} çyr. önce",
- "future": "{0} çyr. sonra"
- ],
- "month": [
- "previous": "geçen ay",
- "current": "bu ay",
- "next": "gelecek ay",
- "past": "{0} ay önce",
- "future": "{0} ay sonra"
- ],
- "week": [
- "previous": "geçen hafta",
- "current": "bu hafta",
- "next": "gelecek hafta",
- "past": "{0} hf. önce",
- "future": "{0} hf. sonra"
- ],
- "day": [
- "previous": "dün",
- "current": "bugün",
- "next": "yarın",
- "past": "{0} gün önce",
- "future": "{0} gün sonra"
- ],
- "hour": [
- "current": "bu saat",
- "past": "{0} sa. önce",
- "future": "{0} sa. sonra"
- ],
- "minute": [
- "current": "bu dakika",
- "past": "{0} dk. önce",
- "future": "{0} dk. sonra"
- ],
- "second": [
- "current": "şimdi",
- "past": "{0} sn. önce",
- "future": "{0} sn. sonra"
- ],
- "now": "şimdi"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "geçen yıl",
- "current": "bu yıl",
- "next": "gelecek yıl",
- "past": "{0} yıl önce",
- "future": "{0} yıl sonra"
- ],
- "quarter": [
- "previous": "geçen çeyrek",
- "current": "bu çeyrek",
- "next": "gelecek çeyrek",
- "past": "{0} çyr. önce",
- "future": "{0} çyr. sonra"
- ],
- "month": [
- "previous": "geçen ay",
- "current": "bu ay",
- "next": "gelecek ay",
- "past": "{0} ay önce",
- "future": "{0} ay sonra"
- ],
- "week": [
- "previous": "geçen hafta",
- "current": "bu hafta",
- "next": "gelecek hafta",
- "past": "{0} hf. önce",
- "future": "{0} hf. sonra"
- ],
- "day": [
- "previous": "dün",
- "current": "bugün",
- "next": "yarın",
- "past": "{0} gün önce",
- "future": "{0} gün sonra"
- ],
- "hour": [
- "current": "bu saat",
- "past": "{0} sa. önce",
- "future": "{0} sa. sonra"
- ],
- "minute": [
- "current": "bu dakika",
- "past": "{0} dk. önce",
- "future": "{0} dk. sonra"
- ],
- "second": [
- "current": "şimdi",
- "past": "{0} sn. önce",
- "future": "{0} sn. sonra"
- ],
- "now": "şimdi"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "geçen yıl",
- "current": "bu yıl",
- "next": "gelecek yıl",
- "past": "{0} yıl önce",
- "future": "{0} yıl sonra"
- ],
- "quarter": [
- "previous": "geçen çeyrek",
- "current": "bu çeyrek",
- "next": "gelecek çeyrek",
- "past": "{0} çeyrek önce",
- "future": "{0} çeyrek sonra"
- ],
- "month": [
- "previous": "geçen ay",
- "current": "bu ay",
- "next": "gelecek ay",
- "past": "{0} ay önce",
- "future": "{0} ay sonra"
- ],
- "week": [
- "previous": "geçen hafta",
- "current": "bu hafta",
- "next": "gelecek hafta",
- "past": "{0} hafta önce",
- "future": "{0} hafta sonra"
- ],
- "day": [
- "previous": "dün",
- "current": "bugün",
- "next": "yarın",
- "past": "{0} gün önce",
- "future": "{0} gün sonra"
- ],
- "hour": [
- "current": "bu saat",
- "past": "{0} saat önce",
- "future": "{0} saat sonra"
- ],
- "minute": [
- "current": "bu dakika",
- "past": "{0} dakika önce",
- "future": "{0} dakika sonra"
- ],
- "second": [
- "current": "şimdi",
- "past": "{0} saniye önce",
- "future": "{0} saniye sonra"
- ],
- "now": "şimdi"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ug.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ug.swift
deleted file mode 100644
index 78fbb2c3..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ug.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ug: RelativeFormatterLang {
-
- /// Uyghur
- public static let identifier: String = "ug"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ئۆتكەن يىل",
- "current": "بۇ يىل",
- "next": "كېلەر يىل",
- "past": "{0} يىل ئىلگىرى",
- "future": "{0} يىلدىن كېيىن"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "ئۆتكەن ئاي",
- "current": "بۇ ئاي",
- "next": "كېلەر ئاي",
- "past": "{0} ئاي ئىلگىرى",
- "future": "{0} ئايدىن كېيىن"
- ],
- "week": [
- "previous": "ئۆتكەن ھەپتە",
- "current": "بۇ ھەپتە",
- "next": "كېلەر ھەپتە",
- "past": "{0} ھەپتە ئىلگىرى",
- "future": "{0} ھەپتىدىن كېيىن"
- ],
- "day": [
- "previous": "تۈنۈگۈن",
- "current": "بۈگۈن",
- "next": "ئەتە",
- "past": "{0} كۈن ئىلگىرى",
- "future": "{0} كۈندىن كېيىن"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} سائەت ئىلگىرى",
- "future": "{0} سائەتتىن كېيىن"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} مىنۇت ئىلگىرى",
- "future": "{0} مىنۇتتىن كېيىن"
- ],
- "second": [
- "current": "now",
- "past": "{0} سېكۇنت ئىلگىرى",
- "future": "{0} سېكۇنتتىن كېيىن"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ئۆتكەن يىل",
- "current": "بۇ يىل",
- "next": "كېلەر يىل",
- "past": "{0} يىل ئىلگىرى",
- "future": "{0} يىلدىن كېيىن"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "ئۆتكەن ئاي",
- "current": "بۇ ئاي",
- "next": "كېلەر ئاي",
- "past": "{0} ئاي ئىلگىرى",
- "future": "{0} ئايدىن كېيىن"
- ],
- "week": [
- "previous": "ئۆتكەن ھەپتە",
- "current": "بۇ ھەپتە",
- "next": "كېلەر ھەپتە",
- "past": "{0} ھەپتە ئىلگىرى",
- "future": "{0} ھەپتىدىن كېيىن"
- ],
- "day": [
- "previous": "تۈنۈگۈن",
- "current": "بۈگۈن",
- "next": "ئەتە",
- "past": "{0} كۈن ئىلگىرى",
- "future": "{0} كۈندىن كېيىن"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} سائەت ئىلگىرى",
- "future": "{0} سائەتتىن كېيىن"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} مىنۇت ئىلگىرى",
- "future": "{0} مىنۇتتىن كېيىن"
- ],
- "second": [
- "current": "now",
- "past": "{0} سېكۇنت ئىلگىرى",
- "future": "{0} سېكۇنتتىن كېيىن"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ئۆتكەن يىل",
- "current": "بۇ يىل",
- "next": "كېلەر يىل",
- "past": "{0} يىل ئىلگىرى",
- "future": "{0} يىلدىن كېيىن"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "ئۆتكەن ئاي",
- "current": "بۇ ئاي",
- "next": "كېلەر ئاي",
- "past": "{0} ئاي ئىلگىرى",
- "future": "{0} ئايدىن كېيىن"
- ],
- "week": [
- "previous": "ئۆتكەن ھەپتە",
- "current": "بۇ ھەپتە",
- "next": "كېلەر ھەپتە",
- "past": "{0} ھەپتە ئىلگىرى",
- "future": "{0} ھەپتىدىن كېيىن"
- ],
- "day": [
- "previous": "تۈنۈگۈن",
- "current": "بۈگۈن",
- "next": "ئەتە",
- "past": "{0} كۈن ئىلگىرى",
- "future": "{0} كۈندىن كېيىن"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} سائەت ئىلگىرى",
- "future": "{0} سائەتتىن كېيىن"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} مىنۇت ئىلگىرى",
- "future": "{0} مىنۇتتىن كېيىن"
- ],
- "second": [
- "current": "now",
- "past": "{0} سېكۇنت ئىلگىرى",
- "future": "{0} سېكۇنتتىن كېيىن"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uk.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uk.swift
deleted file mode 100644
index 2a145434..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uk.swift
+++ /dev/null
@@ -1,286 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_uk: RelativeFormatterLang {
-
- /// Ukrainian
- public static let identifier: String = "uk"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- let mod10 = Int(value) % 10
- let mod100 = Int(value) % 100
-
- switch mod100 {
- case 11...14:
- break
-
- default:
- switch mod10 {
- case 1:
- return .one
- case 2...4:
- return .few
- default:
- break
- }
-
- }
-
- return .many
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "торік",
- "current": "цього року",
- "next": "наступного року",
- "past": "{0} р. тому",
- "future": "через {0} р."
- ],
- "quarter": [
- "previous": "минулого кв.",
- "current": "цього кв.",
- "next": "наступного кв.",
- "past": "{0} кв. тому",
- "future": "через {0} кв."
- ],
- "month": [
- "previous": "минулого місяця",
- "current": "цього місяця",
- "next": "наступного місяця",
- "past": "{0} міс. тому",
- "future": "через {0} міс."
- ],
- "week": [
- "previous": "минулого тижня",
- "current": "цього тижня",
- "next": "наступного тижня",
- "past": "{0} тиж. тому",
- "future": "через {0} тиж."
- ],
- "day": [
- "previous": "учора",
- "current": "сьогодні",
- "next": "завтра",
- "past": "{0} дн. тому",
- "future": "через {0} дн."
- ],
- "hour": [
- "current": "цієї години",
- "past": "{0} год тому",
- "future": "через {0} год"
- ],
- "minute": [
- "current": "цієї хвилини",
- "past": "{0} хв тому",
- "future": "через {0} хв"
- ],
- "second": [
- "current": "зараз",
- "past": "{0} с тому",
- "future": "через {0} с"
- ],
- "now": "зараз"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "торік",
- "current": "цього року",
- "next": "наступного року",
- "past": "{0} р. тому",
- "future": "за {0} р."
- ],
- "quarter": [
- "previous": "минулого кв.",
- "current": "цього кв.",
- "next": "наступного кв.",
- "past": "{0} кв. тому",
- "future": "за {0} кв."
- ],
- "month": [
- "previous": "минулого місяця",
- "current": "цього місяця",
- "next": "наступного місяця",
- "past": "{0} міс. тому",
- "future": "за {0} міс."
- ],
- "week": [
- "previous": "минулого тижня",
- "current": "цього тижня",
- "next": "наступного тижня",
- "past": "{0} тиж. тому",
- "future": "за {0} тиж."
- ],
- "day": [
- "previous": "учора",
- "current": "сьогодні",
- "next": "завтра",
- "past": [
- "one": "{0} д. тому",
- "other": "-{0} дн."
- ],
- "future": "за {0} д."
- ],
- "hour": [
- "current": "цієї години",
- "past": "{0} год тому",
- "future": "за {0} год"
- ],
- "minute": [
- "current": "цієї хвилини",
- "past": "{0} хв тому",
- "future": "за {0} хв"
- ],
- "second": [
- "current": "зараз",
- "past": "{0} с тому",
- "future": "за {0} с"
- ],
- "now": "зараз"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "торік",
- "current": "цього року",
- "next": "наступного року",
- "past": [
- "one": "{0} рік тому",
- "few": "{0} роки тому",
- "many": "{0} років тому",
- "other": "{0} року тому"
- ],
- "future": [
- "one": "через {0} рік",
- "few": "через {0} роки",
- "many": "через {0} років",
- "other": "через {0} року"
- ]
- ],
- "quarter": [
- "previous": "минулого кварталу",
- "current": "цього кварталу",
- "next": "наступного кварталу",
- "past": [
- "one": "{0} квартал тому",
- "few": "{0} квартали тому",
- "many": "{0} кварталів тому",
- "other": "{0} кварталу тому"
- ],
- "future": [
- "one": "через {0} квартал",
- "few": "через {0} квартали",
- "many": "через {0} кварталів",
- "other": "через {0} кварталу"
- ]
- ],
- "month": [
- "previous": "минулого місяця",
- "current": "цього місяця",
- "next": "наступного місяця",
- "past": [
- "one": "{0} місяць тому",
- "few": "{0} місяці тому",
- "many": "{0} місяців тому",
- "other": "{0} місяця тому"
- ],
- "future": [
- "one": "через {0} місяць",
- "few": "через {0} місяці",
- "many": "через {0} місяців",
- "other": "через {0} місяця"
- ]
- ],
- "week": [
- "previous": "минулого тижня",
- "current": "цього тижня",
- "next": "наступного тижня",
- "past": [
- "one": "{0} тиждень тому",
- "few": "{0} тижні тому",
- "many": "{0} тижнів тому",
- "other": "{0} тижня тому"
- ],
- "future": [
- "one": "через {0} тиждень",
- "few": "через {0} тижні",
- "many": "через {0} тижнів",
- "other": "через {0} тижня"
- ]
- ],
- "day": [
- "previous": "учора",
- "current": "сьогодні",
- "next": "завтра",
- "past": [
- "one": "{0} день тому",
- "few": "{0} дні тому",
- "many": "{0} днів тому",
- "other": "{0} дня тому"
- ],
- "future": [
- "one": "через {0} день",
- "few": "через {0} дні",
- "many": "через {0} днів",
- "other": "через {0} дня"
- ]
- ],
- "hour": [
- "current": "цієї години",
- "past": [
- "one": "{0} годину тому",
- "many": "{0} годин тому",
- "other": "{0} години тому"
- ],
- "future": [
- "one": "через {0} годину",
- "many": "через {0} годин",
- "other": "через {0} години"
- ]
- ],
- "minute": [
- "current": "цієї хвилини",
- "past": [
- "one": "{0} хвилину тому",
- "many": "{0} хвилин тому",
- "other": "{0} хвилини тому"
- ],
- "future": [
- "one": "через {0} хвилину",
- "many": "через {0} хвилин",
- "other": "через {0} хвилини"
- ]
- ],
- "second": [
- "current": "зараз",
- "past": [
- "one": "{0} секунду тому",
- "many": "{0} секунд тому",
- "other": "{0} секунди тому"
- ],
- "future": [
- "one": "через {0} секунду",
- "many": "через {0} секунд",
- "other": "через {0} секунди"
- ]
- ],
- "now": "зараз"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ur.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ur.swift
deleted file mode 100644
index fd8507bf..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ur.swift
+++ /dev/null
@@ -1,232 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_ur: RelativeFormatterLang {
-
- /// Urdu
- public static let identifier: String = "ur"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "گزشتہ سال",
- "current": "اس سال",
- "next": "اگلے سال",
- "past": "{0} سال پہلے",
- "future": "{0} سال میں"
- ],
- "quarter": [
- "previous": "گزشتہ سہ ماہی",
- "current": "اس سہ ماہی",
- "next": "اگلے سہ ماہی",
- "past": "{0} سہ ماہی قبل",
- "future": "{0} سہ ماہی میں"
- ],
- "month": [
- "previous": "پچھلے مہینہ",
- "current": "اس مہینہ",
- "next": "اگلے مہینہ",
- "past": "{0} ماہ قبل",
- "future": "{0} ماہ میں"
- ],
- "week": [
- "previous": "پچھلے ہفتہ",
- "current": "اس ہفتہ",
- "next": "اگلے ہفتہ",
- "past": "{0} ہفتے پہلے",
- "future": "{0} ہفتے میں"
- ],
- "day": [
- "previous": "گزشتہ کل",
- "current": "آج",
- "next": "آئندہ کل",
- "past": [
- "one": "{0} دن پہلے",
- "other": "{0} دنوں پہلے"
- ],
- "future": [
- "one": "{0} دن میں",
- "other": "{0} دنوں میں"
- ]
- ],
- "hour": [
- "current": "اس گھنٹے",
- "past": "{0} گھنٹے پہلے",
- "future": "{0} گھنٹے میں"
- ],
- "minute": [
- "current": "اس منٹ",
- "past": "{0} منٹ پہلے",
- "future": "{0} منٹ میں"
- ],
- "second": [
- "current": "اب",
- "past": "{0} سیکنڈ پہلے",
- "future": "{0} سیکنڈ میں"
- ],
- "now": "اب"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "گزشتہ سال",
- "current": "اس سال",
- "next": "اگلے سال",
- "past": "{0} سال پہلے",
- "future": "{0} سال میں"
- ],
- "quarter": [
- "previous": "گزشتہ سہ ماہی",
- "current": "اس سہ ماہی",
- "next": "اگلے سہ ماہی",
- "past": "{0} سہ ماہی پہلے",
- "future": "{0} سہ ماہی میں"
- ],
- "month": [
- "previous": "پچھلے مہینہ",
- "current": "اس مہینہ",
- "next": "اگلے مہینہ",
- "past": "{0} ماہ پہلے",
- "future": "{0} ماہ میں"
- ],
- "week": [
- "previous": "پچھلے ہفتہ",
- "current": "اس ہفتہ",
- "next": "اگلے ہفتہ",
- "past": [
- "one": "{0} ہفتہ پہلے",
- "other": "{0} ہفتے پہلے"
- ],
- "future": [
- "one": "{0} ہفتہ میں",
- "other": "{0} ہفتے میں"
- ]
- ],
- "day": [
- "previous": "گزشتہ کل",
- "current": "آج",
- "next": "آئندہ کل",
- "past": "{0} دن پہلے",
- "future": [
- "one": "{0} دن میں",
- "other": "{0} دنوں میں"
- ]
- ],
- "hour": [
- "current": "اس گھنٹے",
- "past": [
- "one": "{0} گھنٹہ پہلے",
- "other": "{0} گھنٹے پہلے"
- ],
- "future": [
- "one": "{0} گھنٹہ میں",
- "other": "{0} گھنٹوں میں"
- ]
- ],
- "minute": [
- "current": "اس منٹ",
- "past": "{0} منٹ پہلے",
- "future": "{0} منٹ میں"
- ],
- "second": [
- "current": "اب",
- "past": "{0} سیکنڈ پہلے",
- "future": "{0} سیکنڈ میں"
- ],
- "now": "اب"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "گزشتہ سال",
- "current": "اس سال",
- "next": "اگلے سال",
- "past": "{0} سال پہلے",
- "future": "{0} سال میں"
- ],
- "quarter": [
- "previous": "گزشتہ سہ ماہی",
- "current": "اس سہ ماہی",
- "next": "اگلے سہ ماہی",
- "past": "{0} سہ ماہی پہلے",
- "future": "{0} سہ ماہی میں"
- ],
- "month": [
- "previous": "پچھلا مہینہ",
- "current": "اس مہینہ",
- "next": "اگلا مہینہ",
- "past": [
- "one": "{0} مہینہ پہلے",
- "other": "{0} مہینے پہلے"
- ],
- "future": [
- "one": "{0} مہینہ میں",
- "other": "{0} مہینے میں"
- ]
- ],
- "week": [
- "previous": "پچھلے ہفتہ",
- "current": "اس ہفتہ",
- "next": "اگلے ہفتہ",
- "past": [
- "one": "{0} ہفتہ پہلے",
- "other": "{0} ہفتے پہلے"
- ],
- "future": [
- "one": "{0} ہفتہ میں",
- "other": "{0} ہفتے میں"
- ]
- ],
- "day": [
- "previous": "گزشتہ کل",
- "current": "آج",
- "next": "آئندہ کل",
- "past": [
- "one": "{0} دن پہلے",
- "other": "{0} دنوں پہلے"
- ],
- "future": [
- "one": "{0} دن میں",
- "other": "{0} دنوں میں"
- ]
- ],
- "hour": [
- "current": "اس گھنٹے",
- "past": [
- "one": "{0} گھنٹہ پہلے",
- "other": "{0} گھنٹے پہلے"
- ],
- "future": "{0} گھنٹے میں"
- ],
- "minute": [
- "current": "اس منٹ",
- "past": "{0} منٹ پہلے",
- "future": "{0} منٹ میں"
- ],
- "second": [
- "current": "اب",
- "past": "{0} سیکنڈ پہلے",
- "future": "{0} سیکنڈ میں"
- ],
- "now": "اب"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ur_IN.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ur_IN.swift
deleted file mode 100644
index 10487ff5..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_ur_IN.swift
+++ /dev/null
@@ -1,232 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_urIN: RelativeFormatterLang {
-
- /// Urdu (India)
- public static let identifier: String = "ur_IN"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "گزشتہ سال",
- "current": "اس سال",
- "next": "اگلے سال",
- "past": [
- "one": "{0} سال پہلے",
- "other": "{0} سالوں پہلے"
- ],
- "future": [
- "one": "{0} سال میں",
- "other": "{0} سالوں میں"
- ]
- ],
- "quarter": [
- "previous": "گزشتہ سہ ماہی",
- "current": "اس سہ ماہی",
- "next": "اگلے سہ ماہی",
- "past": "{0} سہ ماہی قبل",
- "future": "{0} سہ ماہی میں"
- ],
- "month": [
- "previous": "پچھلے مہینہ",
- "current": "اس مہینہ",
- "next": "اگلے مہینہ",
- "past": "{0} ماہ قبل",
- "future": "{0} ماہ میں"
- ],
- "week": [
- "previous": "پچھلے ہفتہ",
- "current": "اس ہفتہ",
- "next": "اگلے ہفتہ",
- "past": "{0} ہفتے قبل",
- "future": "{0} ہفتے میں"
- ],
- "day": [
- "previous": "گزشتہ کل",
- "current": "آج",
- "next": "آئندہ کل",
- "past": [
- "one": "{0} دن پہلے",
- "other": "{0} دنوں پہلے"
- ],
- "future": "{0} دنوں میں"
- ],
- "hour": [
- "current": "اس گھنٹے",
- "past": "{0} گھنٹے قبل",
- "future": "{0} گھنٹے میں"
- ],
- "minute": [
- "current": "اس منٹ",
- "past": "{0} منٹ قبل",
- "future": "{0} منٹ میں"
- ],
- "second": [
- "current": "اب",
- "past": "{0} سیکنڈ قبل",
- "future": "{0} سیکنڈ میں"
- ],
- "now": "اب"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "گزشتہ سال",
- "current": "اس سال",
- "next": "اگلے سال",
- "past": "{0} سال پہلے",
- "future": "{0} سال میں"
- ],
- "quarter": [
- "previous": "گزشتہ سہ ماہی",
- "current": "اس سہ ماہی",
- "next": "اگلے سہ ماہی",
- "past": "{0} سہ ماہی پہلے",
- "future": "{0} سہ ماہی میں"
- ],
- "month": [
- "previous": "پچھلے مہینہ",
- "current": "اس مہینہ",
- "next": "اگلے مہینہ",
- "past": "{0} ماہ قبل",
- "future": "{0} ماہ میں"
- ],
- "week": [
- "previous": "پچھلے ہفتہ",
- "current": "اس ہفتہ",
- "next": "اگلے ہفتہ",
- "past": [
- "one": "{0} ہفتہ قبل",
- "other": "{0} ہفتے قبل"
- ],
- "future": [
- "one": "{0} ہفتہ میں",
- "other": "{0} ہفتے میں"
- ]
- ],
- "day": [
- "previous": "گزشتہ کل",
- "current": "آج",
- "next": "آئندہ کل",
- "past": "{0} دن قبل",
- "future": [
- "one": "{0} دن میں",
- "other": "{0} دنوں میں"
- ]
- ],
- "hour": [
- "current": "اس گھنٹے",
- "past": [
- "one": "{0} گھنٹہ قبل",
- "other": "{0} گھنٹے قبل"
- ],
- "future": [
- "one": "{0} گھنٹہ میں",
- "other": "{0} گھنٹوں میں"
- ]
- ],
- "minute": [
- "current": "اس منٹ",
- "past": "{0} منٹ قبل",
- "future": "{0} منٹ میں"
- ],
- "second": [
- "current": "اب",
- "past": "{0} سیکنڈ قبل",
- "future": "{0} سیکنڈ میں"
- ],
- "now": "اب"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "گزشتہ سال",
- "current": "اس سال",
- "next": "اگلے سال",
- "past": "{0} سال پہلے",
- "future": [
- "one": "{0} سال میں",
- "other": "{0} سالوں میں"
- ]
- ],
- "quarter": [
- "previous": "گزشتہ سہ ماہی",
- "current": "اس سہ ماہی",
- "next": "اگلے سہ ماہی",
- "past": "{0} سہ ماہی پہلے",
- "future": "{0} سہ ماہی میں"
- ],
- "month": [
- "previous": "گزشتہ ماہ",
- "current": "اس ماہ",
- "next": "اگلے ماہ",
- "past": "{0} ماہ قبل",
- "future": "{0} ماہ میں"
- ],
- "week": [
- "previous": "گزشتہ ہفتہ",
- "current": "اس ہفتہ",
- "next": "اگلے ہفتہ",
- "past": [
- "one": "{0} ہفتہ قبل",
- "other": "{0} ہفتے قبل"
- ],
- "future": [
- "one": "{0} ہفتہ میں",
- "other": "{0} ہفتوں میں"
- ]
- ],
- "day": [
- "previous": "گزشتہ کل",
- "current": "آج",
- "next": "آئندہ کل",
- "past": [
- "one": "{0} دن پہلے",
- "other": "{0} دنوں پہلے"
- ],
- "future": [
- "one": "{0} دن میں",
- "other": "{0} دنوں میں"
- ]
- ],
- "hour": [
- "current": "اس گھنٹے",
- "past": [
- "one": "{0} گھنٹہ پہلے",
- "other": "{0} گھنٹے پہلے"
- ],
- "future": "{0} گھنٹے میں"
- ],
- "minute": [
- "current": "اس منٹ",
- "past": "{0} منٹ قبل",
- "future": "{0} منٹ میں"
- ],
- "second": [
- "current": "اب",
- "past": "{0} سیکنڈ قبل",
- "future": "{0} سیکنڈ میں"
- ],
- "now": "اب"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uz.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uz.swift
deleted file mode 100644
index 3d06e39b..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uz.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_uz: RelativeFormatterLang {
-
- /// Uzbek
- public static let identifier: String = "uz"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "oʻtgan yil",
- "current": "bu yil",
- "next": "keyingi yil",
- "past": "{0} yil oldin",
- "future": "{0} yildan keyin"
- ],
- "quarter": [
- "previous": "o‘tgan chorak",
- "current": "shu chorak",
- "next": "keyingi chorak",
- "past": "{0} chorak oldin",
- "future": "{0} chorakdan keyin"
- ],
- "month": [
- "previous": "o‘tgan oy",
- "current": "shu oy",
- "next": "keyingi oy",
- "past": "{0} oy oldin",
- "future": "{0} oydan keyin"
- ],
- "week": [
- "previous": "o‘tgan hafta",
- "current": "shu hafta",
- "next": "keyingi hafta",
- "past": "{0} hafta oldin",
- "future": "{0} haftadan keyin"
- ],
- "day": [
- "previous": "kecha",
- "current": "bugun",
- "next": "ertaga",
- "past": "{0} kun oldin",
- "future": "{0} kundan keyin"
- ],
- "hour": [
- "current": "shu soatda",
- "past": "{0} soat oldin",
- "future": "{0} soatdan keyin"
- ],
- "minute": [
- "current": "shu daqiqada",
- "past": "{0} daqiqa oldin",
- "future": "{0} daqiqadan keyin"
- ],
- "second": [
- "current": "hozir",
- "past": "{0} soniya oldin",
- "future": "{0} soniyadan keyin"
- ],
- "now": "hozir"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "oʻtgan yil",
- "current": "bu yil",
- "next": "keyingi yil",
- "past": "{0} yil oldin",
- "future": "{0} yildan keyin"
- ],
- "quarter": [
- "previous": "o‘tgan chorak",
- "current": "shu chorak",
- "next": "keyingi chorak",
- "past": "{0} chorak oldin",
- "future": "{0} chorakdan keyin"
- ],
- "month": [
- "previous": "o‘tgan oy",
- "current": "shu oy",
- "next": "keyingi oy",
- "past": "{0} oy oldin",
- "future": "{0} oydan keyin"
- ],
- "week": [
- "previous": "o‘tgan hafta",
- "current": "shu hafta",
- "next": "keyingi hafta",
- "past": "{0} hafta oldin",
- "future": "{0} haftadan keyin"
- ],
- "day": [
- "previous": "kecha",
- "current": "bugun",
- "next": "ertaga",
- "past": "{0} kun oldin",
- "future": "{0} kundan keyin"
- ],
- "hour": [
- "current": "shu soatda",
- "past": "{0} soat oldin",
- "future": "{0} soatdan keyin"
- ],
- "minute": [
- "current": "shu daqiqada",
- "past": "{0} daqiqa oldin",
- "future": "{0} daqiqadan keyin"
- ],
- "second": [
- "current": "hozir",
- "past": "{0} soniya oldin",
- "future": "{0} soniyadan keyin"
- ],
- "now": "hozir"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "o‘tgan yil",
- "current": "shu yil",
- "next": "keyingi yil",
- "past": "{0} yil oldin",
- "future": "{0} yildan keyin"
- ],
- "quarter": [
- "previous": "o‘tgan chorak",
- "current": "shu chorak",
- "next": "keyingi chorak",
- "past": "{0} chorak oldin",
- "future": "{0} chorakdan keyin"
- ],
- "month": [
- "previous": "o‘tgan oy",
- "current": "shu oy",
- "next": "keyingi oy",
- "past": "{0} oy oldin",
- "future": "{0} oydan keyin"
- ],
- "week": [
- "previous": "o‘tgan hafta",
- "current": "shu hafta",
- "next": "keyingi hafta",
- "past": "{0} hafta oldin",
- "future": "{0} haftadan keyin"
- ],
- "day": [
- "previous": "kecha",
- "current": "bugun",
- "next": "ertaga",
- "past": "{0} kun oldin",
- "future": "{0} kundan keyin"
- ],
- "hour": [
- "current": "shu soatda",
- "past": "{0} soat oldin",
- "future": "{0} soatdan keyin"
- ],
- "minute": [
- "current": "shu daqiqada",
- "past": "{0} daqiqa oldin",
- "future": "{0} daqiqadan keyin"
- ],
- "second": [
- "current": "hozir",
- "past": "{0} soniya oldin",
- "future": "{0} soniyadan keyin"
- ],
- "now": "hozir"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uz_Cyrl.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uz_Cyrl.swift
deleted file mode 100644
index 418db102..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_uz_Cyrl.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_uzCyrl: RelativeFormatterLang {
-
- /// Uzbek (Cyrillic)
- public static let identifier: String = "uz_Cyrl"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "ўтган йил",
- "current": "бу йил",
- "next": "кейинги йил",
- "past": "{0} йил аввал",
- "future": "{0} йилдан сўнг"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "ўтган ой",
- "current": "бу ой",
- "next": "кейинги ой",
- "past": "{0} ой аввал",
- "future": "{0} ойдан сўнг"
- ],
- "week": [
- "previous": "ўтган ҳафта",
- "current": "бу ҳафта",
- "next": "кейинги ҳафта",
- "past": "{0} ҳафта олдин",
- "future": "{0} ҳафтадан сўнг"
- ],
- "day": [
- "previous": "кеча",
- "current": "бугун",
- "next": "эртага",
- "past": "{0} кун олдин",
- "future": "{0} кундан сўнг"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} соат олдин",
- "future": "{0} соатдан сўнг"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} дақиқа олдин",
- "future": "{0} дақиқадан сўнг"
- ],
- "second": [
- "current": "ҳозир",
- "past": "{0} сония олдин",
- "future": "{0} сониядан сўнг"
- ],
- "now": "ҳозир"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "ўтган йил",
- "current": "бу йил",
- "next": "кейинги йил",
- "past": "{0} йил аввал",
- "future": "{0} йилдан сўнг"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "ўтган ой",
- "current": "бу ой",
- "next": "кейинги ой",
- "past": "{0} ой аввал",
- "future": "{0} ойдан сўнг"
- ],
- "week": [
- "previous": "ўтган ҳафта",
- "current": "бу ҳафта",
- "next": "кейинги ҳафта",
- "past": "{0} ҳафта олдин",
- "future": "{0} ҳафтадан сўнг"
- ],
- "day": [
- "previous": "кеча",
- "current": "бугун",
- "next": "эртага",
- "past": "{0} кун олдин",
- "future": "{0} кундан сўнг"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} соат олдин",
- "future": "{0} соатдан сўнг"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} дақиқа олдин",
- "future": "{0} дақиқадан сўнг"
- ],
- "second": [
- "current": "ҳозир",
- "past": "{0} сония олдин",
- "future": "{0} сониядан сўнг"
- ],
- "now": "ҳозир"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "ўтган йил",
- "current": "бу йил",
- "next": "кейинги йил",
- "past": "{0} йил аввал",
- "future": "{0} йилдан сўнг"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "ўтган ой",
- "current": "бу ой",
- "next": "кейинги ой",
- "past": "{0} ой аввал",
- "future": "{0} ойдан сўнг"
- ],
- "week": [
- "previous": "ўтган ҳафта",
- "current": "бу ҳафта",
- "next": "кейинги ҳафта",
- "past": "{0} ҳафта олдин",
- "future": "{0} ҳафтадан сўнг"
- ],
- "day": [
- "previous": "кеча",
- "current": "бугун",
- "next": "эртага",
- "past": "{0} кун олдин",
- "future": "{0} кундан сўнг"
- ],
- "hour": [
- "current": "this hour",
- "past": "{0} соат олдин",
- "future": "{0} соатдан сўнг"
- ],
- "minute": [
- "current": "this minute",
- "past": "{0} дақиқа олдин",
- "future": "{0} дақиқадан сўнг"
- ],
- "second": [
- "current": "ҳозир",
- "past": "{0} сония олдин",
- "future": "{0} сониядан сўнг"
- ],
- "now": "ҳозир"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_vi.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_vi.swift
deleted file mode 100644
index 6c6b159f..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_vi.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_vi: RelativeFormatterLang {
-
- /// Vietnamese
- public static let identifier: String = "vi"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "năm ngoái",
- "current": "năm nay",
- "next": "năm sau",
- "past": "{0} năm trước",
- "future": "sau {0} năm nữa"
- ],
- "quarter": [
- "previous": "quý trước",
- "current": "quý này",
- "next": "quý sau",
- "past": "{0} quý trước",
- "future": "sau {0} quý nữa"
- ],
- "month": [
- "previous": "tháng trước",
- "current": "tháng này",
- "next": "tháng sau",
- "past": "{0} tháng trước",
- "future": "sau {0} tháng nữa"
- ],
- "week": [
- "previous": "tuần trước",
- "current": "tuần này",
- "next": "tuần sau",
- "past": "{0} tuần trước",
- "future": "sau {0} tuần nữa"
- ],
- "day": [
- "previous": "Hôm qua",
- "current": "Hôm nay",
- "next": "Ngày mai",
- "past": "{0} ngày trước",
- "future": "sau {0} ngày nữa"
- ],
- "hour": [
- "current": "giờ này",
- "past": "{0} giờ trước",
- "future": "sau {0} giờ nữa"
- ],
- "minute": [
- "current": "phút này",
- "past": "{0} phút trước",
- "future": "sau {0} phút nữa"
- ],
- "second": [
- "current": "bây giờ",
- "past": "{0} giây trước",
- "future": "sau {0} giây nữa"
- ],
- "now": "bây giờ"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "năm ngoái",
- "current": "năm nay",
- "next": "năm sau",
- "past": "{0} năm trước",
- "future": "sau {0} năm nữa"
- ],
- "quarter": [
- "previous": "quý trước",
- "current": "quý này",
- "next": "quý sau",
- "past": "{0} quý trước",
- "future": "sau {0} quý nữa"
- ],
- "month": [
- "previous": "tháng trước",
- "current": "tháng này",
- "next": "tháng sau",
- "past": "{0} tháng trước",
- "future": "sau {0} tháng nữa"
- ],
- "week": [
- "previous": "tuần trước",
- "current": "tuần này",
- "next": "tuần sau",
- "past": "{0} tuần trước",
- "future": "sau {0} tuần nữa"
- ],
- "day": [
- "previous": "Hôm qua",
- "current": "Hôm nay",
- "next": "Ngày mai",
- "past": "{0} ngày trước",
- "future": "sau {0} ngày nữa"
- ],
- "hour": [
- "current": "giờ này",
- "past": "{0} giờ trước",
- "future": "sau {0} giờ nữa"
- ],
- "minute": [
- "current": "phút này",
- "past": "{0} phút trước",
- "future": "sau {0} phút nữa"
- ],
- "second": [
- "current": "bây giờ",
- "past": "{0} giây trước",
- "future": "sau {0} giây nữa"
- ],
- "now": "bây giờ"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "năm ngoái",
- "current": "năm nay",
- "next": "năm sau",
- "past": "{0} năm trước",
- "future": "sau {0} năm nữa"
- ],
- "quarter": [
- "previous": "quý trước",
- "current": "quý này",
- "next": "quý sau",
- "past": "{0} quý trước",
- "future": "sau {0} quý nữa"
- ],
- "month": [
- "previous": "tháng trước",
- "current": "tháng này",
- "next": "tháng sau",
- "past": "{0} tháng trước",
- "future": "sau {0} tháng nữa"
- ],
- "week": [
- "previous": "tuần trước",
- "current": "tuần này",
- "next": "tuần sau",
- "past": "{0} tuần trước",
- "future": "sau {0} tuần nữa"
- ],
- "day": [
- "previous": "Hôm qua",
- "current": "Hôm nay",
- "next": "Ngày mai",
- "past": "{0} ngày trước",
- "future": "sau {0} ngày nữa"
- ],
- "hour": [
- "current": "giờ này",
- "past": "{0} giờ trước",
- "future": "sau {0} giờ nữa"
- ],
- "minute": [
- "current": "phút này",
- "past": "{0} phút trước",
- "future": "sau {0} phút nữa"
- ],
- "second": [
- "current": "bây giờ",
- "past": "{0} giây trước",
- "future": "sau {0} giây nữa"
- ],
- "now": "bây giờ"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_wae.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_wae.swift
deleted file mode 100644
index 3b55a81d..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_wae.swift
+++ /dev/null
@@ -1,289 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_wae: RelativeFormatterLang {
-
- /// Walser
- public static let identifier: String = "wae"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "vor {0} jár",
- "other": "cor {0} jár"
- ],
- "future": "I {0} jár"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "vor {0} mánet",
- "future": "I {0} mánet"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "vor {0} wuča",
- "other": "cor {0} wučä"
- ],
- "future": [
- "one": "i {0} wuča",
- "other": "i {0} wučä"
- ]
- ],
- "day": [
- "previous": "Gešter",
- "current": "Hitte",
- "next": "Móre",
- "past": [
- "one": "vor {0} tag",
- "other": "vor {0} täg"
- ],
- "future": [
- "one": "i {0} tag",
- "other": "i {0} täg"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "vor {0} stund",
- "other": "vor {0} stunde"
- ],
- "future": [
- "one": "i {0} stund",
- "other": "i {0} stunde"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "vor {0} minüta",
- "other": "vor {0} minüte"
- ],
- "future": [
- "one": "i {0} minüta",
- "other": "i {0} minüte"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "vor {0} sekund",
- "other": "vor {0} sekunde"
- ],
- "future": [
- "one": "i {0} sekund",
- "other": "i {0} sekunde"
- ]
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "vor {0} jár",
- "other": "cor {0} jár"
- ],
- "future": "I {0} jár"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "vor {0} mánet",
- "future": "I {0} mánet"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "vor {0} wuča",
- "other": "cor {0} wučä"
- ],
- "future": [
- "one": "i {0} wuča",
- "other": "i {0} wučä"
- ]
- ],
- "day": [
- "previous": "Gešter",
- "current": "Hitte",
- "next": "Móre",
- "past": [
- "one": "vor {0} tag",
- "other": "vor {0} täg"
- ],
- "future": [
- "one": "i {0} tag",
- "other": "i {0} täg"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "vor {0} stund",
- "other": "vor {0} stunde"
- ],
- "future": [
- "one": "i {0} stund",
- "other": "i {0} stunde"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "vor {0} minüta",
- "other": "vor {0} minüte"
- ],
- "future": [
- "one": "i {0} minüta",
- "other": "i {0} minüte"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "vor {0} sekund",
- "other": "vor {0} sekunde"
- ],
- "future": [
- "one": "i {0} sekund",
- "other": "i {0} sekunde"
- ]
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "last year",
- "current": "this year",
- "next": "next year",
- "past": [
- "one": "vor {0} jár",
- "other": "cor {0} jár"
- ],
- "future": "I {0} jár"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "last month",
- "current": "this month",
- "next": "next month",
- "past": "vor {0} mánet",
- "future": "I {0} mánet"
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "next week",
- "past": [
- "one": "vor {0} wuča",
- "other": "cor {0} wučä"
- ],
- "future": [
- "one": "i {0} wuča",
- "other": "i {0} wučä"
- ]
- ],
- "day": [
- "previous": "Gešter",
- "current": "Hitte",
- "next": "Móre",
- "past": [
- "one": "vor {0} tag",
- "other": "vor {0} täg"
- ],
- "future": [
- "one": "i {0} tag",
- "other": "i {0} täg"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": [
- "one": "vor {0} stund",
- "other": "vor {0} stunde"
- ],
- "future": [
- "one": "i {0} stund",
- "other": "i {0} stunde"
- ]
- ],
- "minute": [
- "current": "this minute",
- "past": [
- "one": "vor {0} minüta",
- "other": "vor {0} minüte"
- ],
- "future": [
- "one": "i {0} minüta",
- "other": "i {0} minüte"
- ]
- ],
- "second": [
- "current": "now",
- "past": [
- "one": "vor {0} sekund",
- "other": "vor {0} sekunde"
- ],
- "future": [
- "one": "i {0} sekund",
- "other": "i {0} sekunde"
- ]
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yi.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yi.swift
deleted file mode 100644
index 1ee122f3..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yi.swift
+++ /dev/null
@@ -1,220 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_yi: RelativeFormatterLang {
-
- /// Yiddish
- public static let identifier: String = "yi"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value == 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "פֿאַראַיאָר",
- "current": "הײַ יאָר",
- "next": "איבער א יאָר",
- "past": "פֿאַר {0} יאָר",
- "future": [
- "one": "איבער א יאָר",
- "other": "איבער {0} יאָר"
- ]
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "פֿאַרגאנגענעם חודש",
- "current": "דעם חודש",
- "next": "קומענדיקן חודש",
- "past": [
- "one": "פֿאַר {0} חודש",
- "other": "פֿאַר {0} חדשים"
- ],
- "future": [
- "one": "איבער {0} חודש",
- "other": "איבער {0} חדשים"
- ]
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "איבער אַכט טאָג",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "נעכטן",
- "current": "היינט",
- "next": "מארגן",
- "past": "-{0} d",
- "future": [
- "one": "אין {0} טאָג אַרום",
- "other": "אין {0} טעג אַרום"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "פֿאַראַיאָר",
- "current": "הײַ יאָר",
- "next": "איבער א יאָר",
- "past": "פֿאַר {0} יאָר",
- "future": "איבער {0} יאָר"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "פֿאַרגאנגענעם חודש",
- "current": "דעם חודש",
- "next": "קומענדיקן חודש",
- "past": [
- "one": "פֿאַר {0} חודש",
- "other": "פֿאַר {0} חדשים"
- ],
- "future": [
- "one": "איבער {0} חודש",
- "other": "איבער {0} חדשים"
- ]
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "איבער אַכט טאָג",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "נעכטן",
- "current": "היינט",
- "next": "מארגן",
- "past": "-{0} d",
- "future": [
- "one": "אין {0} טאָג אַרום",
- "other": "אין {0} טעג אַרום"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "פֿאַראַיאָר",
- "current": "הײַ יאָר",
- "next": "איבער א יאָר",
- "past": "פֿאַר {0} יאָר",
- "future": "איבער {0} יאָר"
- ],
- "quarter": [
- "previous": "last quarter",
- "current": "this quarter",
- "next": "next quarter",
- "past": "-{0} Q",
- "future": "+{0} Q"
- ],
- "month": [
- "previous": "פֿאַרגאנגענעם חודש",
- "current": "דעם חודש",
- "next": "קומענדיקן חודש",
- "past": [
- "one": "פֿאַר {0} חודש",
- "other": "פֿאַר {0} חדשים"
- ],
- "future": [
- "one": "איבער {0} חודש",
- "other": "איבער {0} חדשים"
- ]
- ],
- "week": [
- "previous": "last week",
- "current": "this week",
- "next": "איבער אַכט טאָג",
- "past": "-{0} w",
- "future": "+{0} w"
- ],
- "day": [
- "previous": "נעכטן",
- "current": "היינט",
- "next": "מארגן",
- "past": "-{0} d",
- "future": [
- "one": "אין {0} טאָג אַרום",
- "other": "אין {0} טעג אַרום"
- ]
- ],
- "hour": [
- "current": "this hour",
- "past": "-{0} h",
- "future": "+{0} h"
- ],
- "minute": [
- "current": "this minute",
- "past": "-{0} min",
- "future": "+{0} min"
- ],
- "second": [
- "current": "now",
- "past": "-{0} s",
- "future": "+{0} s"
- ],
- "now": "now"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yue_Hans.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yue_Hans.swift
deleted file mode 100644
index fac0a675..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yue_Hans.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_yueHans: RelativeFormatterLang {
-
- /// Cantonese (Simplified)
- public static let identifier: String = "yue_Hans"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "旧年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年后"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "{0} 季前",
- "future": "{0} 季后"
- ],
- "month": [
- "previous": "上个月",
- "current": "今个月",
- "next": "下个月",
- "past": "{0} 个月前",
- "future": "{0} 个月后"
- ],
- "week": [
- "previous": "上星期",
- "current": "今个星期",
- "next": "下星期",
- "past": "{0} 个星期前",
- "future": "{0} 个星期后"
- ],
- "day": [
- "previous": "寻日",
- "current": "今日",
- "next": "听日",
- "past": "{0} 日前",
- "future": "{0} 日后"
- ],
- "hour": [
- "current": "呢个小时",
- "past": "{0} 小时前",
- "future": "{0} 小时后"
- ],
- "minute": [
- "current": "呢分钟",
- "past": "{0} 分钟前",
- "future": "{0} 分钟后"
- ],
- "second": [
- "current": "宜家",
- "past": "{0} 秒前",
- "future": "{0} 秒后"
- ],
- "now": "宜家"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "旧年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年后"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "{0} 季前",
- "future": "{0} 季后"
- ],
- "month": [
- "previous": "上个月",
- "current": "今个月",
- "next": "下个月",
- "past": "{0} 个月前",
- "future": "{0} 个月后"
- ],
- "week": [
- "previous": "上星期",
- "current": "今个星期",
- "next": "下星期",
- "past": "{0} 个星期前",
- "future": "{0} 个星期后"
- ],
- "day": [
- "previous": "寻日",
- "current": "今日",
- "next": "听日",
- "past": "{0} 日前",
- "future": "{0} 日后"
- ],
- "hour": [
- "current": "呢个小时",
- "past": "{0} 小时前",
- "future": "{0} 小时后"
- ],
- "minute": [
- "current": "呢分钟",
- "past": "{0} 分钟前",
- "future": "{0} 分钟后"
- ],
- "second": [
- "current": "宜家",
- "past": "{0} 秒前",
- "future": "{0} 秒后"
- ],
- "now": "宜家"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "旧年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年后"
- ],
- "quarter": [
- "previous": "上一季",
- "current": "今季",
- "next": "下一季",
- "past": "{0} 季前",
- "future": "{0} 季后"
- ],
- "month": [
- "previous": "上个月",
- "current": "今个月",
- "next": "下个月",
- "past": "{0} 个月前",
- "future": "{0} 个月后"
- ],
- "week": [
- "previous": "上星期",
- "current": "今个星期",
- "next": "下星期",
- "past": "{0} 个星期前",
- "future": "{0} 个星期后"
- ],
- "day": [
- "previous": "寻日",
- "current": "今日",
- "next": "听日",
- "past": "{0} 日前",
- "future": "{0} 日后"
- ],
- "hour": [
- "current": "呢个小时",
- "past": "{0} 小时前",
- "future": "{0} 小时后"
- ],
- "minute": [
- "current": "呢分钟",
- "past": "{0} 分钟前",
- "future": "{0} 分钟后"
- ],
- "second": [
- "current": "宜家",
- "past": "{0} 秒前",
- "future": "{0} 秒后"
- ],
- "now": "宜家"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yue_Hant.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yue_Hant.swift
deleted file mode 100644
index e3e616b9..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_yue_Hant.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_yueHant: RelativeFormatterLang {
-
- /// Cantonese (Traditional)
- public static let identifier: String = "yue_Hant"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "舊年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "今個月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "今個星期",
- "next": "下星期",
- "past": "{0} 個星期前",
- "future": "{0} 個星期後"
- ],
- "day": [
- "previous": "尋日",
- "current": "今日",
- "next": "聽日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "呢個小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "呢分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "宜家",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "宜家"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "舊年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "今個月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "今個星期",
- "next": "下星期",
- "past": "{0} 個星期前",
- "future": "{0} 個星期後"
- ],
- "day": [
- "previous": "尋日",
- "current": "今日",
- "next": "聽日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "呢個小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "呢分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "宜家",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "宜家"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "舊年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上一季",
- "current": "今季",
- "next": "下一季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "今個月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "今個星期",
- "next": "下星期",
- "past": "{0} 個星期前",
- "future": "{0} 個星期後"
- ],
- "day": [
- "previous": "尋日",
- "current": "今日",
- "next": "聽日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "呢個小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "呢分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "宜家",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "宜家"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh.swift
deleted file mode 100644
index 13c648ac..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zh: RelativeFormatterLang {
-
- /// Chinese
- public static let identifier: String = "zh"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0}年前",
- "future": "{0}年后"
- ],
- "quarter": [
- "previous": "上季度",
- "current": "本季度",
- "next": "下季度",
- "past": "{0}个季度前",
- "future": "{0}个季度后"
- ],
- "month": [
- "previous": "上个月",
- "current": "本月",
- "next": "下个月",
- "past": "{0}个月前",
- "future": "{0}个月后"
- ],
- "week": [
- "previous": "上周",
- "current": "本周",
- "next": "下周",
- "past": "{0}周前",
- "future": "{0}周后"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0}天前",
- "future": "{0}天后"
- ],
- "hour": [
- "current": "这一时间 / 此时",
- "past": "{0}小时前",
- "future": "{0}小时后"
- ],
- "minute": [
- "current": "此刻",
- "past": "{0}分钟前",
- "future": "{0}分钟后"
- ],
- "second": [
- "current": "现在",
- "past": "{0}秒前",
- "future": "{0}秒后"
- ],
- "now": "现在"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0}年前",
- "future": "{0}年后"
- ],
- "quarter": [
- "previous": "上季度",
- "current": "本季度",
- "next": "下季度",
- "past": "{0}个季度前",
- "future": "{0}个季度后"
- ],
- "month": [
- "previous": "上个月",
- "current": "本月",
- "next": "下个月",
- "past": "{0}个月前",
- "future": "{0}个月后"
- ],
- "week": [
- "previous": "上周",
- "current": "本周",
- "next": "下周",
- "past": "{0}周前",
- "future": "{0}周后"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0}天前",
- "future": "{0}天后"
- ],
- "hour": [
- "current": "这一时间 / 此时",
- "past": "{0}小时前",
- "future": "{0}小时后"
- ],
- "minute": [
- "current": "此刻",
- "past": "{0}分钟前",
- "future": "{0}分钟后"
- ],
- "second": [
- "current": "现在",
- "past": "{0}秒前",
- "future": "{0}秒后"
- ],
- "now": "现在"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0}年前",
- "future": "{0}年后"
- ],
- "quarter": [
- "previous": "上季度",
- "current": "本季度",
- "next": "下季度",
- "past": "{0}个季度前",
- "future": "{0}个季度后"
- ],
- "month": [
- "previous": "上个月",
- "current": "本月",
- "next": "下个月",
- "past": "{0}个月前",
- "future": "{0}个月后"
- ],
- "week": [
- "previous": "上周",
- "current": "本周",
- "next": "下周",
- "past": "{0}周前",
- "future": "{0}周后"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0}天前",
- "future": "{0}天后"
- ],
- "hour": [
- "current": "这一时间 / 此时",
- "past": "{0}小时前",
- "future": "{0}小时后"
- ],
- "minute": [
- "current": "此刻",
- "past": "{0}分钟前",
- "future": "{0}分钟后"
- ],
- "second": [
- "current": "现在",
- "past": "{0}秒钟前",
- "future": "{0}秒钟后"
- ],
- "now": "现在"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_HK.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_HK.swift
deleted file mode 100644
index 2a7cdfe1..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_HK.swift
+++ /dev/null
@@ -1,76 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zhHansHK: RelativeFormatterLang {
-
- /// Chinese (Simplified, Hong Kong [China])
- public static let identifier: String = "zh_Hans_HK"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0}年前",
- "future": "{0}年后"
- ],
- "quarter": [
- "previous": "上季度",
- "current": "本季度",
- "next": "下季度",
- "past": "{0}个季度前",
- "future": "{0}个季度后"
- ],
- "month": [
- "previous": "上个月",
- "current": "本月",
- "next": "下个月",
- "past": "{0}个月前",
- "future": "{0}个月后"
- ],
- "week": [
- "previous": "上周",
- "current": "本周",
- "next": "下周",
- "past": "{0}周前",
- "future": "{0}周后"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0}天前",
- "future": "{0}天后"
- ],
- "hour": [
- "current": "这一时间 / 此时",
- "past": "{0}小时前",
- "future": "{0}小时后"
- ],
- "minute": [
- "current": "此刻",
- "past": "{0}分钟前",
- "future": "{0}分钟后"
- ],
- "second": [
- "current": "现在",
- "past": "{0}秒前",
- "future": "{0}秒后"
- ],
- "now": "现在"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_MO.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_MO.swift
deleted file mode 100644
index 6859aefd..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_MO.swift
+++ /dev/null
@@ -1,76 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zhHansMO: RelativeFormatterLang {
-
- /// Chinese (Simplified, Macau [China])
- public static let identifier: String = "zh_Hans_MO"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0}年前",
- "future": "{0}年后"
- ],
- "quarter": [
- "previous": "上季度",
- "current": "本季度",
- "next": "下季度",
- "past": "{0}个季度前",
- "future": "{0}个季度后"
- ],
- "month": [
- "previous": "上个月",
- "current": "本月",
- "next": "下个月",
- "past": "{0}个月前",
- "future": "{0}个月后"
- ],
- "week": [
- "previous": "上周",
- "current": "本周",
- "next": "下周",
- "past": "{0}周前",
- "future": "{0}周后"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0}天前",
- "future": "{0}天后"
- ],
- "hour": [
- "current": "这一时间 / 此时",
- "past": "{0}小时前",
- "future": "{0}小时后"
- ],
- "minute": [
- "current": "此刻",
- "past": "{0}分钟前",
- "future": "{0}分钟后"
- ],
- "second": [
- "current": "现在",
- "past": "{0}秒前",
- "future": "{0}秒后"
- ],
- "now": "现在"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_SG.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_SG.swift
deleted file mode 100644
index 5ff89b59..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hans_SG.swift
+++ /dev/null
@@ -1,76 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zhHansSG: RelativeFormatterLang {
-
- /// Chinese (Simplified, Singapore)
- public static let identifier: String = "zh_Hans_SG"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long
- ]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0}年前",
- "future": "{0}年后"
- ],
- "quarter": [
- "previous": "上季度",
- "current": "本季度",
- "next": "下季度",
- "past": "{0}个季度前",
- "future": "{0}个季度后"
- ],
- "month": [
- "previous": "上个月",
- "current": "本月",
- "next": "下个月",
- "past": "{0}个月前",
- "future": "{0}个月后"
- ],
- "week": [
- "previous": "上周",
- "current": "本周",
- "next": "下周",
- "past": "{0}周前",
- "future": "{0}周后"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0}天前",
- "future": "{0}天后"
- ],
- "hour": [
- "current": "这一时间 / 此时",
- "past": "{0}小时前",
- "future": "{0}小时后"
- ],
- "minute": [
- "current": "此刻",
- "past": "{0}分钟前",
- "future": "{0}分钟后"
- ],
- "second": [
- "current": "现在",
- "past": "{0}秒前",
- "future": "{0}秒后"
- ],
- "now": "现在"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant.swift
deleted file mode 100644
index 7a249276..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zhHant: RelativeFormatterLang {
-
- /// Chinese (Traditional)
- public static let identifier: String = "zh_Hant"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上一季",
- "current": "這一季",
- "next": "下一季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上週",
- "current": "本週",
- "next": "下週",
- "past": "{0} 週前",
- "future": "{0} 週後"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0} 天前",
- "future": "{0} 天後"
- ],
- "hour": [
- "current": "這一小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "這一分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "現在",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "現在"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上一季",
- "current": "這一季",
- "next": "下一季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上週",
- "current": "本週",
- "next": "下週",
- "past": "{0} 週前",
- "future": "{0} 週後"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0} 天前",
- "future": "{0} 天後"
- ],
- "hour": [
- "current": "這一小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "這一分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "現在",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "現在"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "去年",
- "current": "今年",
- "next": "明年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上一季",
- "current": "這一季",
- "next": "下一季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上週",
- "current": "本週",
- "next": "下週",
- "past": "{0} 週前",
- "future": "{0} 週後"
- ],
- "day": [
- "previous": "昨天",
- "current": "今天",
- "next": "明天",
- "past": "{0} 天前",
- "future": "{0} 天後"
- ],
- "hour": [
- "current": "這一小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "這一分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "現在",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "現在"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant_HK.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant_HK.swift
deleted file mode 100644
index afd56890..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant_HK.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zhHantHK: RelativeFormatterLang {
-
- /// Chinese (Traditional, Hong Kong [China])
- public static let identifier: String = "zh_Hant_HK"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "上年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "本星期",
- "next": "下星期",
- "past": "{0} 星期前",
- "future": "{0} 星期後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "這個小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "這分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "現在",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "現在"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "上年",
- "current": "今年",
- "next": "下年",
- "past": "{0}年前",
- "future": "{0}年後"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "-{0}Q",
- "future": "+{0}Q"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0}個月前",
- "future": "{0}個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "本星期",
- "next": "下星期",
- "past": "{0}星期前",
- "future": "{0}星期後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0}日前",
- "future": "{0}日後"
- ],
- "hour": [
- "current": "這個小時",
- "past": "{0}小時前",
- "future": "{0}小時後"
- ],
- "minute": [
- "current": "這分鐘",
- "past": "{0}分前",
- "future": "{0}分後"
- ],
- "second": [
- "current": "現在",
- "past": "{0}秒前",
- "future": "{0}秒後"
- ],
- "now": "現在"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "上年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上一季",
- "current": "今季",
- "next": "下一季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "本星期",
- "next": "下星期",
- "past": "{0} 星期前",
- "future": "{0} 星期後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "這個小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "這分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "現在",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "現在"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant_MO.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant_MO.swift
deleted file mode 100644
index 64393ea2..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zh_Hant_MO.swift
+++ /dev/null
@@ -1,190 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zhHantMO: RelativeFormatterLang {
-
- /// Chinese (Traditional, Macau [China])
- public static let identifier: String = "zh_Hant_MO"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return .other
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "上年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "本星期",
- "next": "下星期",
- "past": "{0} 星期前",
- "future": "{0} 星期後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "這個小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "這分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "現在",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "現在"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "上年",
- "current": "今年",
- "next": "下年",
- "past": "{0}年前",
- "future": "{0}年後"
- ],
- "quarter": [
- "previous": "上季",
- "current": "今季",
- "next": "下季",
- "past": "-{0}Q",
- "future": "+{0}Q"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0}個月前",
- "future": "{0}個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "本星期",
- "next": "下星期",
- "past": "{0}星期前",
- "future": "{0}星期後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0}日前",
- "future": "{0}日後"
- ],
- "hour": [
- "current": "這個小時",
- "past": "{0}小時前",
- "future": "{0}小時後"
- ],
- "minute": [
- "current": "這分鐘",
- "past": "{0}分前",
- "future": "{0}分後"
- ],
- "second": [
- "current": "現在",
- "past": "{0}秒前",
- "future": "{0}秒後"
- ],
- "now": "現在"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "上年",
- "current": "今年",
- "next": "下年",
- "past": "{0} 年前",
- "future": "{0} 年後"
- ],
- "quarter": [
- "previous": "上一季",
- "current": "今季",
- "next": "下一季",
- "past": "{0} 季前",
- "future": "{0} 季後"
- ],
- "month": [
- "previous": "上個月",
- "current": "本月",
- "next": "下個月",
- "past": "{0} 個月前",
- "future": "{0} 個月後"
- ],
- "week": [
- "previous": "上星期",
- "current": "本星期",
- "next": "下星期",
- "past": "{0} 星期前",
- "future": "{0} 星期後"
- ],
- "day": [
- "previous": "昨日",
- "current": "今日",
- "next": "明日",
- "past": "{0} 日前",
- "future": "{0} 日後"
- ],
- "hour": [
- "current": "這個小時",
- "past": "{0} 小時前",
- "future": "{0} 小時後"
- ],
- "minute": [
- "current": "這分鐘",
- "past": "{0} 分鐘前",
- "future": "{0} 分鐘後"
- ],
- "second": [
- "current": "現在",
- "past": "{0} 秒前",
- "future": "{0} 秒後"
- ],
- "now": "現在"
-]
- }
-}
diff --git a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zu.swift b/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zu.swift
deleted file mode 100644
index eb8841b8..00000000
--- a/Sources/SwiftDate/Formatters/RelativeFormatter/languages/lang_zu.swift
+++ /dev/null
@@ -1,304 +0,0 @@
-import Foundation
-
-// swiftlint:disable type_name
-public class lang_zu: RelativeFormatterLang {
-
- /// Zulu
- public static let identifier: String = "zu"
-
- public required init() {}
-
- public func quantifyKey(forValue value: Double) -> RelativeFormatter.PluralForm? {
- return (value >= 0 && value <= 1 ? .one : .other)
- }
-
- public var flavours: [String: Any] {
- return [
- RelativeFormatter.Flavour.long.rawValue: _long,
- RelativeFormatter.Flavour.narrow.rawValue: _narrow,
- RelativeFormatter.Flavour.short.rawValue: _short
- ]
- }
-
- private var _short: [String: Any] {
- return [
- "year": [
- "previous": "onyakeni odlule",
- "current": "kulo nyaka",
- "next": "unyaka ozayo",
- "past": "{0} unyaka odlule",
- "future": [
- "one": "onyakeni ongu-{0} ozayo",
- "other": "eminyakeni engu-{0} ezayo"
- ]
- ],
- "quarter": [
- "previous": "ikota edlule",
- "current": "le kota",
- "next": "ikota ezayo",
- "past": [
- "one": "{0} amakota adlule",
- "other": "{0} amakota edlule"
- ],
- "future": [
- "one": "kwikota engu-{0} ezayo",
- "other": "kumakota angu-{0} ezayo"
- ]
- ],
- "month": [
- "previous": "inyanga edlule",
- "current": "le nyanga",
- "next": "inyanga ezayo",
- "past": "{0} izinyanga ezedlule",
- "future": "ezinyangeni ezingu-{0} ezizayo"
- ],
- "week": [
- "previous": "iviki eledlule",
- "current": "leli viki",
- "next": "iviki elizayo",
- "past": "amaviki angu-{0} edlule",
- "future": [
- "one": "evikini elingu-{0} elizayo",
- "other": "emavikini angu-{0} ezayo"
- ]
- ],
- "day": [
- "previous": "izolo",
- "current": "namhlanje",
- "next": "kusasa",
- "past": [
- "one": "{0} usuku olwedlule",
- "other": "{0} izinsuku ezedlule"
- ],
- "future": [
- "one": "osukwini olungu-{0} oluzayo",
- "other": "ezinsukwini ezingu-{0} ezizayo"
- ]
- ],
- "hour": [
- "current": "leli hora",
- "past": [
- "one": "{0} ihora eledlule",
- "other": "emahoreni angu-{0} edlule"
- ],
- "future": [
- "one": "ehoreni elingu-{0} elizayo",
- "other": "emahoreni angu-{0} ezayo"
- ]
- ],
- "minute": [
- "current": "leli minithi",
- "past": [
- "one": "{0} iminithi eledlule",
- "other": "{0} amaminithi edlule"
- ],
- "future": [
- "one": "kuminithi elingu-{0} elizayo",
- "other": "kumaminithi angu-{0} ezayo"
- ]
- ],
- "second": [
- "current": "manje",
- "past": [
- "one": "{0} isekhondi eledlule",
- "other": "{0} amasekhondi edlule"
- ],
- "future": [
- "one": "kusekhondi elingu-{0} elizayo",
- "other": "kumasekhondi angu-{0} ezayo"
- ]
- ],
- "now": "manje"
-]
- }
-
- private var _narrow: [String: Any] {
- return [
- "year": [
- "previous": "onyakeni odlule",
- "current": "kulo nyaka",
- "next": "unyaka ozayo",
- "past": "{0} unyaka odlule",
- "future": [
- "one": "onyakeni ongu-{0} ozayo",
- "other": "eminyakeni engu-{0} ezayo"
- ]
- ],
- "quarter": [
- "previous": "ikota edlule",
- "current": "le kota",
- "next": "ikota ezayo",
- "past": [
- "one": "{0} amakota adlule",
- "other": "{0} amakota edlule"
- ],
- "future": "kumakota angu-{0}"
- ],
- "month": [
- "previous": "inyanga edlule",
- "current": "le nyanga",
- "next": "inyanga ezayo",
- "past": "{0} izinyanga ezedlule",
- "future": "enyangeni engu-{0} ezayo"
- ],
- "week": [
- "previous": "iviki eledlule",
- "current": "leli viki",
- "next": "iviki elizayo",
- "past": "amaviki angu-{0} edlule",
- "future": "emavikini angu-{0} ezayo"
- ],
- "day": [
- "previous": "izolo",
- "current": "namhlanje",
- "next": "kusasa",
- "past": [
- "one": "{0} usuku olwedlule",
- "other": "{0} izinsuku ezedlule"
- ],
- "future": [
- "one": "osukwini olungu-{0} oluzayo",
- "other": "ezinsukwini ezingu-{0} ezizayo"
- ]
- ],
- "hour": [
- "current": "leli hora",
- "past": [
- "one": "{0} ihora eledlule",
- "other": "{0} amahora edlule"
- ],
- "future": [
- "one": "ehoreni elingu-{0} elizayo",
- "other": "emahoreni angu-{0} ezayo"
- ]
- ],
- "minute": [
- "current": "leli minithi",
- "past": [
- "one": "{0} iminithi eledlule",
- "other": "{0} amaminithi edlule"
- ],
- "future": [
- "one": "kuminithi elingu-{0} elizayo",
- "other": "kumaminithi angu-{0} ezayo"
- ]
- ],
- "second": [
- "current": "manje",
- "past": [
- "one": "{0} isekhondi eledlule",
- "other": "{0} amasekhondi edlule"
- ],
- "future": [
- "one": "kusekhondi elingu-{0} elizayo",
- "other": "kumasekhondi angu-{0} ezayo"
- ]
- ],
- "now": "manje"
-]
- }
-
- private var _long: [String: Any] {
- return [
- "year": [
- "previous": "onyakeni odlule",
- "current": "kulo nyaka",
- "next": "unyaka ozayo",
- "past": [
- "one": "{0} unyaka odlule",
- "other": "{0} iminyaka edlule"
- ],
- "future": [
- "one": "onyakeni ongu-{0} ozayo",
- "other": "eminyakeni engu-{0} ezayo"
- ]
- ],
- "quarter": [
- "previous": "ikota edlule",
- "current": "le kota",
- "next": "ikota ezayo",
- "past": [
- "one": "{0} ikota edlule",
- "other": "{0} amakota adlule"
- ],
- "future": [
- "one": "kwikota engu-{0} ezayo",
- "other": "kumakota angu-{0} ezayo"
- ]
- ],
- "month": [
- "previous": "inyanga edlule",
- "current": "le nyanga",
- "next": "inyanga ezayo",
- "past": [
- "one": "{0} inyanga edlule",
- "other": "{0} izinyanga ezedlule"
- ],
- "future": [
- "one": "enyangeni engu-{0}",
- "other": "ezinyangeni ezingu-{0} ezizayo"
- ]
- ],
- "week": [
- "previous": "iviki eledlule",
- "current": "leli viki",
- "next": "iviki elizayo",
- "past": [
- "one": "evikini elingu-{0} eledlule",
- "other": "amaviki angu-{0} edlule"
- ],
- "future": [
- "one": "evikini elingu-{0}",
- "other": "emavikini angu-{0}"
- ]
- ],
- "day": [
- "previous": "izolo",
- "current": "namhlanje",
- "next": "kusasa",
- "past": [
- "one": "osukwini olungu-{0} olwedlule",
- "other": "ezinsukwini ezingu-{0} ezedlule."
- ],
- "future": [
- "one": "osukwini olungu-{0} oluzayo",
- "other": "ezinsukwini ezingu-{0} ezizayo"
- ]
- ],
- "hour": [
- "current": "leli hora",
- "past": [
- "one": "{0} ihora eledlule",
- "other": "emahoreni angu-{0} edlule"
- ],
- "future": [
- "one": "ehoreni elingu-{0} elizayo",
- "other": "emahoreni angu-{0} ezayo"
- ]
- ],
- "minute": [
- "current": "leli minithi",
- "past": [
- "one": "{0} iminithi eledlule",
- "other": "{0} amaminithi edlule"
- ],
- "future": [
- "one": "kuminithi elingu-{0} elizayo",
- "other": "kumaminithi angu-{0} ezayo"
- ]
- ],
- "second": [
- "current": "manje",
- "past": [
- "one": "{0} isekhondi eledlule",
- "other": "{0} amasekhondi edlule"
- ],
- "future": [
- "one": "kusekhondi elingu-{0} elizayo",
- "other": "kumasekhondi angu-{0} ezayo"
- ]
- ],
- "now": "manje"
-]
- }
-}
diff --git a/Sources/SwiftDate/Foundation+Extras/DateComponents+Extras.swift b/Sources/SwiftDate/Foundation+Extras/DateComponents+Extras.swift
index 1c5cac0e..2df16565 100644
--- a/Sources/SwiftDate/Foundation+Extras/DateComponents+Extras.swift
+++ b/Sources/SwiftDate/Foundation+Extras/DateComponents+Extras.swift
@@ -1,9 +1,13 @@
//
-// DateComponents+Extras.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 07/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Foundation+Extras/Int+DateComponents.swift b/Sources/SwiftDate/Foundation+Extras/Int+DateComponents.swift
index c35d19a8..8ca8a8c1 100644
--- a/Sources/SwiftDate/Foundation+Extras/Int+DateComponents.swift
+++ b/Sources/SwiftDate/Foundation+Extras/Int+DateComponents.swift
@@ -1,9 +1,13 @@
//
-// DateComponents+Int.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 07/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Foundation+Extras/String+Parser.swift b/Sources/SwiftDate/Foundation+Extras/String+Parser.swift
index faf5967d..e9a2c2a3 100644
--- a/Sources/SwiftDate/Foundation+Extras/String+Parser.swift
+++ b/Sources/SwiftDate/Foundation+Extras/String+Parser.swift
@@ -1,9 +1,13 @@
//
-// DateInRegion+Parser.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -53,7 +57,7 @@ public protocol DateParsable {
/// - options: options of the parser
/// - region: region in which the date should be expressed in (timzone is ignored and evaluated automatically)
/// - Returns: date in region representation, `nil` if parse fails
- func toISODate(_ options: ISOParser.Options?, region: Region) -> DateInRegion?
+ func toISODate(_ options: ISOParser.Options?, region: Region?) -> DateInRegion?
/// Convert to date from a valid DOTNET string
///
@@ -94,7 +98,7 @@ extension String: DateParsable {
return style.toDate(self, region: region)
}
- public func toISODate(_ options: ISOParser.Options? = nil, region: Region = Region.ISO) -> DateInRegion? {
+ public func toISODate(_ options: ISOParser.Options? = nil, region: Region? = nil) -> DateInRegion? {
return ISOParser.parse(self, region: region, options: options)
}
diff --git a/Sources/SwiftDate/Foundation+Extras/TimeInterval+Formatter.swift b/Sources/SwiftDate/Foundation+Extras/TimeInterval+Formatter.swift
index 86f08952..c2408ef0 100644
--- a/Sources/SwiftDate/Foundation+Extras/TimeInterval+Formatter.swift
+++ b/Sources/SwiftDate/Foundation+Extras/TimeInterval+Formatter.swift
@@ -1,9 +1,13 @@
//
-// TimeInterval+Formatter.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -14,28 +18,23 @@ public extension TimeInterval {
/// Fractional units may be used when a value cannot be exactly represented using the available units.
/// For example, if minutes are not allowed, the value “1h 30m” could be formatted as “1.5h”.
- /// The default value of this property is false.
- public var allowsFractionalUnits: Bool = false
+ public var allowsFractionalUnits: Bool?
/// Specify the units that can be used in the output.
- /// By default `[.year, .month, .weekOfMonth, .day, .hour, .minute, .second]` are used.
- public var allowedUnits: NSCalendar.Unit = [.year, .month, .weekOfMonth, .day, .hour, .minute, .second]
+ public var allowedUnits: NSCalendar.Unit?
/// A Boolean value indicating whether to collapse the largest unit into smaller units when a certain threshold is met.
- /// By default is `false`.
- public var collapsesLargestUnit: Bool = false
+ public var collapsesLargestUnit: Bool?
/// The maximum number of time units to include in the output string.
- /// The default value of this property is 0, which does not cause the elimination of any units.
- public var maximumUnitCount: Int = 0
+ /// If 0 does not cause the elimination of any units.
+ public var maximumUnitCount: Int?
/// The formatting style for units whose value is 0.
- /// By default is `.default`
- public var zeroFormattingBehavior: DateComponentsFormatter.ZeroFormattingBehavior = .default
+ public var zeroFormattingBehavior: DateComponentsFormatter.ZeroFormattingBehavior?
/// The preferred style for units.
- /// By default is `.abbreviated`.
- public var unitsStyle: DateComponentsFormatter.UnitsStyle = .abbreviated
+ public var unitsStyle: DateComponentsFormatter.UnitsStyle?
/// Locale of the formatter
public var locale: LocaleConvertible? {
@@ -44,15 +43,29 @@ public extension TimeInterval {
}
/// Calendar
- public var calendar = Calendar.autoupdatingCurrent
+ public var calendar = Calendar.autoupdatingCurrent
public func apply(toFormatter formatter: DateComponentsFormatter) {
- formatter.allowsFractionalUnits = allowsFractionalUnits
- formatter.allowedUnits = allowedUnits
- formatter.collapsesLargestUnit = collapsesLargestUnit
- formatter.maximumUnitCount = maximumUnitCount
- formatter.unitsStyle = unitsStyle
- formatter.calendar = calendar
+ formatter.calendar = calendar
+
+ if let allowsFractionalUnits = self.allowsFractionalUnits {
+ formatter.allowsFractionalUnits = allowsFractionalUnits
+ }
+ if let allowedUnits = self.allowedUnits {
+ formatter.allowedUnits = allowedUnits
+ }
+ if let collapsesLargestUnit = self.collapsesLargestUnit {
+ formatter.collapsesLargestUnit = collapsesLargestUnit
+ }
+ if let maximumUnitCount = self.maximumUnitCount {
+ formatter.maximumUnitCount = maximumUnitCount
+ }
+ if let zeroFormattingBehavior = self.zeroFormattingBehavior {
+ formatter.zeroFormattingBehavior = zeroFormattingBehavior
+ }
+ if let unitsStyle = self.unitsStyle {
+ formatter.unitsStyle = unitsStyle
+ }
}
public init() {}
@@ -81,11 +94,20 @@ public extension TimeInterval {
/// - style: style of the units, by default is `.abbreviated`
/// - Returns: string representation
func toIntervalString(options callback: ((inout ComponentsFormatterOptions) -> Void)? = nil) -> String {
- let formatter = TimeInterval.sharedFormatter()
+ let formatter = DateComponentsFormatter()
var options = ComponentsFormatterOptions()
callback?(&options)
options.apply(toFormatter: formatter)
- return (formatter.string(from: self) ?? "")
+
+ let formattedValue = formatter.string(from: self)!
+ if options.zeroFormattingBehavior?.contains(.pad) ?? false {
+ // for some strange reason padding is not added at the very beginning positional item.
+ // we'll add it manually if necessaru
+ if let index = formattedValue.firstIndex(of: ":"), index.utf16Offset(in: formattedValue) < 2 {
+ return "0\(formattedValue)"
+ }
+ }
+ return formattedValue
}
/// Format a time interval in a string with desidered components with passed style.
@@ -102,9 +124,12 @@ public extension TimeInterval {
///
/// - Parameter zero: behaviour with zero.
/// - Returns: string representation
- func toClock(zero: DateComponentsFormatter.ZeroFormattingBehavior = .pad) -> String {
+ func toClock(zero: DateComponentsFormatter.ZeroFormattingBehavior = [.pad, .dropLeading]) -> String {
return toIntervalString(options: {
+ $0.collapsesLargestUnit = true
+ $0.maximumUnitCount = 0
$0.unitsStyle = .positional
+ $0.locale = Locales.englishUnitedStatesComputer
$0.zeroFormattingBehavior = zero
})
}
diff --git a/Sources/SwiftDate/Supports/AssociatedValues.swift b/Sources/SwiftDate/Supports/AssociatedValues.swift
index 2b08f7a3..4b671d85 100644
--- a/Sources/SwiftDate/Supports/AssociatedValues.swift
+++ b/Sources/SwiftDate/Supports/AssociatedValues.swift
@@ -1,32 +1,14 @@
//
-// SwiftRichString
-// Elegant Strings & Attributed Strings Toolkit for Swift
+// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti.
-// Copyright © 2018 Daniele Margutti. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
//
-// Web: http://www.danielemargutti.com
-// Email: hello@danielemargutti.com
-// Twitter: @danielemargutti
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
#if os(Linux)
diff --git a/Sources/SwiftDate/Supports/Calendars.swift b/Sources/SwiftDate/Supports/Calendars.swift
index 751b623c..9a6b11c8 100644
--- a/Sources/SwiftDate/Supports/Calendars.swift
+++ b/Sources/SwiftDate/Supports/Calendars.swift
@@ -1,9 +1,13 @@
//
-// CalendarConvertible.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Supports/Commons.swift b/Sources/SwiftDate/Supports/Commons.swift
index 2ab4833a..a805c958 100644
--- a/Sources/SwiftDate/Supports/Commons.swift
+++ b/Sources/SwiftDate/Supports/Commons.swift
@@ -1,10 +1,15 @@
//
-// DateFormatter.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
+//
+
import Foundation
public extension DateFormatter {
diff --git a/Sources/SwiftDate/Supports/Locales.swift b/Sources/SwiftDate/Supports/Locales.swift
index 7f46b1b7..d4caab3f 100644
--- a/Sources/SwiftDate/Supports/Locales.swift
+++ b/Sources/SwiftDate/Supports/Locales.swift
@@ -1,9 +1,13 @@
//
-// Locales.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
// swiftlint:disable file_length
diff --git a/Sources/SwiftDate/Supports/TimeStructures.swift b/Sources/SwiftDate/Supports/TimeStructures.swift
index 97130a42..448b611f 100644
--- a/Sources/SwiftDate/Supports/TimeStructures.swift
+++ b/Sources/SwiftDate/Supports/TimeStructures.swift
@@ -1,9 +1,13 @@
//
-// TimeStructures.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/Supports/Zones.swift b/Sources/SwiftDate/Supports/Zones.swift
index e576878a..09f18bca 100644
--- a/Sources/SwiftDate/Supports/Zones.swift
+++ b/Sources/SwiftDate/Supports/Zones.swift
@@ -1,9 +1,13 @@
//
-// TimeZones.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/SwiftDate.swift b/Sources/SwiftDate/SwiftDate.swift
index 51236086..fba34e46 100644
--- a/Sources/SwiftDate/SwiftDate.swift
+++ b/Sources/SwiftDate/SwiftDate.swift
@@ -1,9 +1,13 @@
//
-// Global.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 06/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/TimePeriod/Groups/TimePeriodChain.swift b/Sources/SwiftDate/TimePeriod/Groups/TimePeriodChain.swift
index bb76cb89..225f3292 100644
--- a/Sources/SwiftDate/TimePeriod/Groups/TimePeriodChain.swift
+++ b/Sources/SwiftDate/TimePeriod/Groups/TimePeriodChain.swift
@@ -1,9 +1,13 @@
//
-// TimePeriodChain.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/TimePeriod/Groups/TimePeriodCollection.swift b/Sources/SwiftDate/TimePeriod/Groups/TimePeriodCollection.swift
index c6deb7af..a77c022c 100644
--- a/Sources/SwiftDate/TimePeriod/Groups/TimePeriodCollection.swift
+++ b/Sources/SwiftDate/TimePeriod/Groups/TimePeriodCollection.swift
@@ -1,9 +1,13 @@
//
-// TimePeriodCollection.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/TimePeriod/Groups/TimePeriodGroup.swift b/Sources/SwiftDate/TimePeriod/Groups/TimePeriodGroup.swift
index aa25e7f6..45d1f6ac 100644
--- a/Sources/SwiftDate/TimePeriod/Groups/TimePeriodGroup.swift
+++ b/Sources/SwiftDate/TimePeriod/Groups/TimePeriodGroup.swift
@@ -1,9 +1,13 @@
//
-// TimePeriodGroupSequence.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/TimePeriod/TimePeriod+Support.swift b/Sources/SwiftDate/TimePeriod/TimePeriod+Support.swift
index e98f2187..73457568 100644
--- a/Sources/SwiftDate/TimePeriod/TimePeriod+Support.swift
+++ b/Sources/SwiftDate/TimePeriod/TimePeriod+Support.swift
@@ -1,9 +1,13 @@
//
-// TimePeriod+Support.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/Sources/SwiftDate/TimePeriod/TimePeriod.swift b/Sources/SwiftDate/TimePeriod/TimePeriod.swift
index 8df77953..4af7ee94 100644
--- a/Sources/SwiftDate/TimePeriod/TimePeriod.swift
+++ b/Sources/SwiftDate/TimePeriod/TimePeriod.swift
@@ -1,9 +1,13 @@
//
-// TimePeriod.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
@@ -173,3 +177,23 @@ open class TimePeriod: TimePeriodProtocol {
}
}
+
+public extension TimePeriod {
+
+ /// The start date of the time period
+ var startDate: Date? {
+ return start?.date
+ }
+
+ /// The end date of the time period
+ var endDate: Date? {
+ return end?.date
+ }
+
+ /// Create a new time period with the given start date, end date and region (default is UTC)
+ convenience init(startDate: Date, endDate: Date, region: Region = Region.UTC) {
+ let start = DateInRegion(startDate, region: region)
+ let end = DateInRegion(endDate, region: region)
+ self.init(start: start, end: end)
+ }
+}
diff --git a/Sources/SwiftDate/TimePeriod/TimePeriodProtocol.swift b/Sources/SwiftDate/TimePeriod/TimePeriodProtocol.swift
index d9d2b1a9..ed99c55b 100644
--- a/Sources/SwiftDate/TimePeriod/TimePeriodProtocol.swift
+++ b/Sources/SwiftDate/TimePeriod/TimePeriodProtocol.swift
@@ -1,9 +1,13 @@
//
-// TimePeriod.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 14/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import Foundation
diff --git a/SwiftDate.podspec b/SwiftDate.podspec
index bf65698f..b4a2f2e9 100644
--- a/SwiftDate.podspec
+++ b/SwiftDate.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "SwiftDate"
- s.version = "6.0.2"
+ s.version = "6.0.3"
s.summary = "The best way to deal with Dates & Time Zones in Swift"
s.homepage = "https://github.com/malcommac/SwiftDate.git"
s.license = { :type => "MIT", :file => "LICENSE" }
@@ -11,7 +11,8 @@ Pod::Spec.new do |s|
s.watchos.deployment_target = "2.0"
s.tvos.deployment_target = "9.0"
s.source = { :git => "https://github.com/malcommac/SwiftDate.git", :tag => s.version.to_s }
- s.source_files = "Sources/**/*"
+ s.source_files = 'Sources/**/*.swift'
s.frameworks = "Foundation"
s.swift_version = "5.0"
+ s.resources = 'Sources/SwiftDate/Formatters/RelativeFormatter/langs'
end
diff --git a/SwiftDate.xcodeproj/project.pbxproj b/SwiftDate.xcodeproj/project.pbxproj
index f64f980f..e1b67f16 100644
--- a/SwiftDate.xcodeproj/project.pbxproj
+++ b/SwiftDate.xcodeproj/project.pbxproj
@@ -52,626 +52,6 @@
6439232620D91D170098EC03 /* TestFormatters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6439232520D91D170098EC03 /* TestFormatters.swift */; };
6439232720D91D170098EC03 /* TestFormatters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6439232520D91D170098EC03 /* TestFormatters.swift */; };
6439232820D91D170098EC03 /* TestFormatters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6439232520D91D170098EC03 /* TestFormatters.swift */; };
- 6470DA9520D2720400BC2E74 /* lang_ca.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1920D271F900BC2E74 /* lang_ca.swift */; };
- 6470DA9620D2720400BC2E74 /* lang_ca.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1920D271F900BC2E74 /* lang_ca.swift */; };
- 6470DA9720D2720400BC2E74 /* lang_ca.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1920D271F900BC2E74 /* lang_ca.swift */; };
- 6470DA9820D2720400BC2E74 /* lang_ca.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1920D271F900BC2E74 /* lang_ca.swift */; };
- 6470DA9920D2720400BC2E74 /* lang_ca.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1920D271F900BC2E74 /* lang_ca.swift */; };
- 6470DA9A20D2720400BC2E74 /* lang_kl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1A20D271F900BC2E74 /* lang_kl.swift */; };
- 6470DA9B20D2720400BC2E74 /* lang_kl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1A20D271F900BC2E74 /* lang_kl.swift */; };
- 6470DA9C20D2720400BC2E74 /* lang_kl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1A20D271F900BC2E74 /* lang_kl.swift */; };
- 6470DA9D20D2720400BC2E74 /* lang_kl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1A20D271F900BC2E74 /* lang_kl.swift */; };
- 6470DA9E20D2720400BC2E74 /* lang_kl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1A20D271F900BC2E74 /* lang_kl.swift */; };
- 6470DA9F20D2720400BC2E74 /* lang_nb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1B20D271F900BC2E74 /* lang_nb.swift */; };
- 6470DAA020D2720400BC2E74 /* lang_nb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1B20D271F900BC2E74 /* lang_nb.swift */; };
- 6470DAA120D2720400BC2E74 /* lang_nb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1B20D271F900BC2E74 /* lang_nb.swift */; };
- 6470DAA220D2720400BC2E74 /* lang_nb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1B20D271F900BC2E74 /* lang_nb.swift */; };
- 6470DAA320D2720400BC2E74 /* lang_nb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1B20D271F900BC2E74 /* lang_nb.swift */; };
- 6470DAA420D2720400BC2E74 /* lang_fr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1C20D271FA00BC2E74 /* lang_fr.swift */; };
- 6470DAA520D2720400BC2E74 /* lang_fr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1C20D271FA00BC2E74 /* lang_fr.swift */; };
- 6470DAA620D2720400BC2E74 /* lang_fr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1C20D271FA00BC2E74 /* lang_fr.swift */; };
- 6470DAA720D2720400BC2E74 /* lang_fr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1C20D271FA00BC2E74 /* lang_fr.swift */; };
- 6470DAA820D2720400BC2E74 /* lang_fr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1C20D271FA00BC2E74 /* lang_fr.swift */; };
- 6470DAA920D2720400BC2E74 /* lang_ky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1D20D271FA00BC2E74 /* lang_ky.swift */; };
- 6470DAAA20D2720400BC2E74 /* lang_ky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1D20D271FA00BC2E74 /* lang_ky.swift */; };
- 6470DAAB20D2720400BC2E74 /* lang_ky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1D20D271FA00BC2E74 /* lang_ky.swift */; };
- 6470DAAC20D2720400BC2E74 /* lang_ky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1D20D271FA00BC2E74 /* lang_ky.swift */; };
- 6470DAAD20D2720400BC2E74 /* lang_ky.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1D20D271FA00BC2E74 /* lang_ky.swift */; };
- 6470DAAE20D2720400BC2E74 /* lang_zh_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1E20D271FA00BC2E74 /* lang_zh_Hant.swift */; };
- 6470DAAF20D2720400BC2E74 /* lang_zh_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1E20D271FA00BC2E74 /* lang_zh_Hant.swift */; };
- 6470DAB020D2720400BC2E74 /* lang_zh_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1E20D271FA00BC2E74 /* lang_zh_Hant.swift */; };
- 6470DAB120D2720400BC2E74 /* lang_zh_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1E20D271FA00BC2E74 /* lang_zh_Hant.swift */; };
- 6470DAB220D2720400BC2E74 /* lang_zh_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1E20D271FA00BC2E74 /* lang_zh_Hant.swift */; };
- 6470DAB320D2720400BC2E74 /* lang_ne.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1F20D271FA00BC2E74 /* lang_ne.swift */; };
- 6470DAB420D2720400BC2E74 /* lang_ne.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1F20D271FA00BC2E74 /* lang_ne.swift */; };
- 6470DAB520D2720400BC2E74 /* lang_ne.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1F20D271FA00BC2E74 /* lang_ne.swift */; };
- 6470DAB620D2720400BC2E74 /* lang_ne.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1F20D271FA00BC2E74 /* lang_ne.swift */; };
- 6470DAB720D2720400BC2E74 /* lang_ne.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA1F20D271FA00BC2E74 /* lang_ne.swift */; };
- 6470DAB820D2720400BC2E74 /* lang_sk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2020D271FA00BC2E74 /* lang_sk.swift */; };
- 6470DAB920D2720400BC2E74 /* lang_sk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2020D271FA00BC2E74 /* lang_sk.swift */; };
- 6470DABA20D2720400BC2E74 /* lang_sk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2020D271FA00BC2E74 /* lang_sk.swift */; };
- 6470DABB20D2720400BC2E74 /* lang_sk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2020D271FA00BC2E74 /* lang_sk.swift */; };
- 6470DABC20D2720400BC2E74 /* lang_sk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2020D271FA00BC2E74 /* lang_sk.swift */; };
- 6470DABD20D2720400BC2E74 /* lang_kok.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2120D271FA00BC2E74 /* lang_kok.swift */; };
- 6470DABE20D2720400BC2E74 /* lang_kok.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2120D271FA00BC2E74 /* lang_kok.swift */; };
- 6470DABF20D2720400BC2E74 /* lang_kok.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2120D271FA00BC2E74 /* lang_kok.swift */; };
- 6470DAC020D2720400BC2E74 /* lang_kok.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2120D271FA00BC2E74 /* lang_kok.swift */; };
- 6470DAC120D2720400BC2E74 /* lang_kok.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2120D271FA00BC2E74 /* lang_kok.swift */; };
- 6470DAC220D2720400BC2E74 /* lang_hr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2220D271FA00BC2E74 /* lang_hr.swift */; };
- 6470DAC320D2720400BC2E74 /* lang_hr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2220D271FA00BC2E74 /* lang_hr.swift */; };
- 6470DAC420D2720400BC2E74 /* lang_hr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2220D271FA00BC2E74 /* lang_hr.swift */; };
- 6470DAC520D2720400BC2E74 /* lang_hr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2220D271FA00BC2E74 /* lang_hr.swift */; };
- 6470DAC620D2720400BC2E74 /* lang_hr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2220D271FA00BC2E74 /* lang_hr.swift */; };
- 6470DAC720D2720400BC2E74 /* lang_lkt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2320D271FA00BC2E74 /* lang_lkt.swift */; };
- 6470DAC820D2720400BC2E74 /* lang_lkt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2320D271FA00BC2E74 /* lang_lkt.swift */; };
- 6470DAC920D2720400BC2E74 /* lang_lkt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2320D271FA00BC2E74 /* lang_lkt.swift */; };
- 6470DACA20D2720400BC2E74 /* lang_lkt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2320D271FA00BC2E74 /* lang_lkt.swift */; };
- 6470DACB20D2720400BC2E74 /* lang_lkt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2320D271FA00BC2E74 /* lang_lkt.swift */; };
- 6470DACC20D2720400BC2E74 /* lang_si.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2420D271FA00BC2E74 /* lang_si.swift */; };
- 6470DACD20D2720400BC2E74 /* lang_si.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2420D271FA00BC2E74 /* lang_si.swift */; };
- 6470DACE20D2720400BC2E74 /* lang_si.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2420D271FA00BC2E74 /* lang_si.swift */; };
- 6470DACF20D2720400BC2E74 /* lang_si.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2420D271FA00BC2E74 /* lang_si.swift */; };
- 6470DAD020D2720400BC2E74 /* lang_si.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2420D271FA00BC2E74 /* lang_si.swift */; };
- 6470DAD120D2720400BC2E74 /* lang_as.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2520D271FA00BC2E74 /* lang_as.swift */; };
- 6470DAD220D2720400BC2E74 /* lang_as.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2520D271FA00BC2E74 /* lang_as.swift */; };
- 6470DAD320D2720400BC2E74 /* lang_as.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2520D271FA00BC2E74 /* lang_as.swift */; };
- 6470DAD420D2720400BC2E74 /* lang_as.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2520D271FA00BC2E74 /* lang_as.swift */; };
- 6470DAD520D2720400BC2E74 /* lang_as.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2520D271FA00BC2E74 /* lang_as.swift */; };
- 6470DAD620D2720400BC2E74 /* lang_es_PY.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2620D271FA00BC2E74 /* lang_es_PY.swift */; };
- 6470DAD720D2720400BC2E74 /* lang_es_PY.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2620D271FA00BC2E74 /* lang_es_PY.swift */; };
- 6470DAD820D2720400BC2E74 /* lang_es_PY.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2620D271FA00BC2E74 /* lang_es_PY.swift */; };
- 6470DAD920D2720400BC2E74 /* lang_es_PY.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2620D271FA00BC2E74 /* lang_es_PY.swift */; };
- 6470DADA20D2720400BC2E74 /* lang_es_PY.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2620D271FA00BC2E74 /* lang_es_PY.swift */; };
- 6470DADB20D2720400BC2E74 /* lang_es_US.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2720D271FA00BC2E74 /* lang_es_US.swift */; };
- 6470DADC20D2720400BC2E74 /* lang_es_US.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2720D271FA00BC2E74 /* lang_es_US.swift */; };
- 6470DADD20D2720400BC2E74 /* lang_es_US.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2720D271FA00BC2E74 /* lang_es_US.swift */; };
- 6470DADE20D2720400BC2E74 /* lang_es_US.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2720D271FA00BC2E74 /* lang_es_US.swift */; };
- 6470DADF20D2720400BC2E74 /* lang_es_US.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2720D271FA00BC2E74 /* lang_es_US.swift */; };
- 6470DAE020D2720400BC2E74 /* lang_id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2820D271FA00BC2E74 /* lang_id.swift */; };
- 6470DAE120D2720400BC2E74 /* lang_id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2820D271FA00BC2E74 /* lang_id.swift */; };
- 6470DAE220D2720400BC2E74 /* lang_id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2820D271FA00BC2E74 /* lang_id.swift */; };
- 6470DAE320D2720400BC2E74 /* lang_id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2820D271FA00BC2E74 /* lang_id.swift */; };
- 6470DAE420D2720400BC2E74 /* lang_id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2820D271FA00BC2E74 /* lang_id.swift */; };
- 6470DAE520D2720400BC2E74 /* lang_tr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2920D271FA00BC2E74 /* lang_tr.swift */; };
- 6470DAE620D2720400BC2E74 /* lang_tr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2920D271FA00BC2E74 /* lang_tr.swift */; };
- 6470DAE720D2720400BC2E74 /* lang_tr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2920D271FA00BC2E74 /* lang_tr.swift */; };
- 6470DAE820D2720400BC2E74 /* lang_tr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2920D271FA00BC2E74 /* lang_tr.swift */; };
- 6470DAE920D2720400BC2E74 /* lang_tr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2920D271FA00BC2E74 /* lang_tr.swift */; };
- 6470DAEA20D2720400BC2E74 /* lang_lb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2A20D271FB00BC2E74 /* lang_lb.swift */; };
- 6470DAEB20D2720400BC2E74 /* lang_lb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2A20D271FB00BC2E74 /* lang_lb.swift */; };
- 6470DAEC20D2720400BC2E74 /* lang_lb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2A20D271FB00BC2E74 /* lang_lb.swift */; };
- 6470DAED20D2720400BC2E74 /* lang_lb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2A20D271FB00BC2E74 /* lang_lb.swift */; };
- 6470DAEE20D2720400BC2E74 /* lang_lb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2A20D271FB00BC2E74 /* lang_lb.swift */; };
- 6470DAEF20D2720400BC2E74 /* lang_sv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2B20D271FB00BC2E74 /* lang_sv.swift */; };
- 6470DAF020D2720400BC2E74 /* lang_sv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2B20D271FB00BC2E74 /* lang_sv.swift */; };
- 6470DAF120D2720400BC2E74 /* lang_sv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2B20D271FB00BC2E74 /* lang_sv.swift */; };
- 6470DAF220D2720400BC2E74 /* lang_sv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2B20D271FB00BC2E74 /* lang_sv.swift */; };
- 6470DAF320D2720400BC2E74 /* lang_sv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2B20D271FB00BC2E74 /* lang_sv.swift */; };
- 6470DAF420D2720400BC2E74 /* lang_es_AR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2C20D271FB00BC2E74 /* lang_es_AR.swift */; };
- 6470DAF520D2720400BC2E74 /* lang_es_AR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2C20D271FB00BC2E74 /* lang_es_AR.swift */; };
- 6470DAF620D2720400BC2E74 /* lang_es_AR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2C20D271FB00BC2E74 /* lang_es_AR.swift */; };
- 6470DAF720D2720400BC2E74 /* lang_es_AR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2C20D271FB00BC2E74 /* lang_es_AR.swift */; };
- 6470DAF820D2720400BC2E74 /* lang_es_AR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2C20D271FB00BC2E74 /* lang_es_AR.swift */; };
- 6470DAF920D2720400BC2E74 /* lang_ml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2D20D271FB00BC2E74 /* lang_ml.swift */; };
- 6470DAFA20D2720400BC2E74 /* lang_ml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2D20D271FB00BC2E74 /* lang_ml.swift */; };
- 6470DAFB20D2720400BC2E74 /* lang_ml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2D20D271FB00BC2E74 /* lang_ml.swift */; };
- 6470DAFC20D2720400BC2E74 /* lang_ml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2D20D271FB00BC2E74 /* lang_ml.swift */; };
- 6470DAFD20D2720400BC2E74 /* lang_ml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2D20D271FB00BC2E74 /* lang_ml.swift */; };
- 6470DAFE20D2720400BC2E74 /* lang_fy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2E20D271FB00BC2E74 /* lang_fy.swift */; };
- 6470DAFF20D2720400BC2E74 /* lang_fy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2E20D271FB00BC2E74 /* lang_fy.swift */; };
- 6470DB0020D2720400BC2E74 /* lang_fy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2E20D271FB00BC2E74 /* lang_fy.swift */; };
- 6470DB0120D2720400BC2E74 /* lang_fy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2E20D271FB00BC2E74 /* lang_fy.swift */; };
- 6470DB0220D2720400BC2E74 /* lang_fy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2E20D271FB00BC2E74 /* lang_fy.swift */; };
- 6470DB0320D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2F20D271FB00BC2E74 /* lang_zh_Hant_HK.swift */; };
- 6470DB0420D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2F20D271FB00BC2E74 /* lang_zh_Hant_HK.swift */; };
- 6470DB0520D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2F20D271FB00BC2E74 /* lang_zh_Hant_HK.swift */; };
- 6470DB0620D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2F20D271FB00BC2E74 /* lang_zh_Hant_HK.swift */; };
- 6470DB0720D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA2F20D271FB00BC2E74 /* lang_zh_Hant_HK.swift */; };
- 6470DB0820D2720400BC2E74 /* lang_de.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3020D271FB00BC2E74 /* lang_de.swift */; };
- 6470DB0920D2720400BC2E74 /* lang_de.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3020D271FB00BC2E74 /* lang_de.swift */; };
- 6470DB0A20D2720400BC2E74 /* lang_de.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3020D271FB00BC2E74 /* lang_de.swift */; };
- 6470DB0B20D2720400BC2E74 /* lang_de.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3020D271FB00BC2E74 /* lang_de.swift */; };
- 6470DB0C20D2720400BC2E74 /* lang_de.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3020D271FB00BC2E74 /* lang_de.swift */; };
- 6470DB0D20D2720400BC2E74 /* lang_hu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3120D271FB00BC2E74 /* lang_hu.swift */; };
- 6470DB0E20D2720400BC2E74 /* lang_hu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3120D271FB00BC2E74 /* lang_hu.swift */; };
- 6470DB0F20D2720400BC2E74 /* lang_hu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3120D271FB00BC2E74 /* lang_hu.swift */; };
- 6470DB1020D2720400BC2E74 /* lang_hu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3120D271FB00BC2E74 /* lang_hu.swift */; };
- 6470DB1120D2720400BC2E74 /* lang_hu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3120D271FB00BC2E74 /* lang_hu.swift */; };
- 6470DB1220D2720400BC2E74 /* lang_ta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3220D271FB00BC2E74 /* lang_ta.swift */; };
- 6470DB1320D2720400BC2E74 /* lang_ta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3220D271FB00BC2E74 /* lang_ta.swift */; };
- 6470DB1420D2720400BC2E74 /* lang_ta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3220D271FB00BC2E74 /* lang_ta.swift */; };
- 6470DB1520D2720400BC2E74 /* lang_ta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3220D271FB00BC2E74 /* lang_ta.swift */; };
- 6470DB1620D2720400BC2E74 /* lang_ta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3220D271FB00BC2E74 /* lang_ta.swift */; };
- 6470DB1720D2720400BC2E74 /* lang_en.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3320D271FB00BC2E74 /* lang_en.swift */; };
- 6470DB1820D2720400BC2E74 /* lang_en.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3320D271FB00BC2E74 /* lang_en.swift */; };
- 6470DB1920D2720400BC2E74 /* lang_en.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3320D271FB00BC2E74 /* lang_en.swift */; };
- 6470DB1A20D2720400BC2E74 /* lang_en.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3320D271FB00BC2E74 /* lang_en.swift */; };
- 6470DB1B20D2720400BC2E74 /* lang_en.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3320D271FB00BC2E74 /* lang_en.swift */; };
- 6470DB1C20D2720400BC2E74 /* lang_uz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3420D271FB00BC2E74 /* lang_uz.swift */; };
- 6470DB1D20D2720400BC2E74 /* lang_uz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3420D271FB00BC2E74 /* lang_uz.swift */; };
- 6470DB1E20D2720400BC2E74 /* lang_uz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3420D271FB00BC2E74 /* lang_uz.swift */; };
- 6470DB1F20D2720400BC2E74 /* lang_uz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3420D271FB00BC2E74 /* lang_uz.swift */; };
- 6470DB2020D2720400BC2E74 /* lang_uz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3420D271FB00BC2E74 /* lang_uz.swift */; };
- 6470DB2120D2720400BC2E74 /* lang_lv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3520D271FB00BC2E74 /* lang_lv.swift */; };
- 6470DB2220D2720400BC2E74 /* lang_lv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3520D271FB00BC2E74 /* lang_lv.swift */; };
- 6470DB2320D2720400BC2E74 /* lang_lv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3520D271FB00BC2E74 /* lang_lv.swift */; };
- 6470DB2420D2720400BC2E74 /* lang_lv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3520D271FB00BC2E74 /* lang_lv.swift */; };
- 6470DB2520D2720400BC2E74 /* lang_lv.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3520D271FB00BC2E74 /* lang_lv.swift */; };
- 6470DB2620D2720400BC2E74 /* lang_fil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3620D271FC00BC2E74 /* lang_fil.swift */; };
- 6470DB2720D2720400BC2E74 /* lang_fil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3620D271FC00BC2E74 /* lang_fil.swift */; };
- 6470DB2820D2720400BC2E74 /* lang_fil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3620D271FC00BC2E74 /* lang_fil.swift */; };
- 6470DB2920D2720400BC2E74 /* lang_fil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3620D271FC00BC2E74 /* lang_fil.swift */; };
- 6470DB2A20D2720400BC2E74 /* lang_fil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3620D271FC00BC2E74 /* lang_fil.swift */; };
- 6470DB2B20D2720400BC2E74 /* lang_da.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3720D271FC00BC2E74 /* lang_da.swift */; };
- 6470DB2C20D2720400BC2E74 /* lang_da.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3720D271FC00BC2E74 /* lang_da.swift */; };
- 6470DB2D20D2720400BC2E74 /* lang_da.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3720D271FC00BC2E74 /* lang_da.swift */; };
- 6470DB2E20D2720400BC2E74 /* lang_da.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3720D271FC00BC2E74 /* lang_da.swift */; };
- 6470DB2F20D2720400BC2E74 /* lang_da.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3720D271FC00BC2E74 /* lang_da.swift */; };
- 6470DB3020D2720400BC2E74 /* lang_yue_Hans.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3820D271FC00BC2E74 /* lang_yue_Hans.swift */; };
- 6470DB3120D2720400BC2E74 /* lang_yue_Hans.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3820D271FC00BC2E74 /* lang_yue_Hans.swift */; };
- 6470DB3220D2720400BC2E74 /* lang_yue_Hans.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3820D271FC00BC2E74 /* lang_yue_Hans.swift */; };
- 6470DB3320D2720400BC2E74 /* lang_yue_Hans.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3820D271FC00BC2E74 /* lang_yue_Hans.swift */; };
- 6470DB3420D2720400BC2E74 /* lang_yue_Hans.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3820D271FC00BC2E74 /* lang_yue_Hans.swift */; };
- 6470DB3520D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3920D271FC00BC2E74 /* lang_zh_Hans_MO.swift */; };
- 6470DB3620D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3920D271FC00BC2E74 /* lang_zh_Hans_MO.swift */; };
- 6470DB3720D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3920D271FC00BC2E74 /* lang_zh_Hans_MO.swift */; };
- 6470DB3820D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3920D271FC00BC2E74 /* lang_zh_Hans_MO.swift */; };
- 6470DB3920D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3920D271FC00BC2E74 /* lang_zh_Hans_MO.swift */; };
- 6470DB3A20D2720400BC2E74 /* lang_lt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3A20D271FC00BC2E74 /* lang_lt.swift */; };
- 6470DB3B20D2720400BC2E74 /* lang_lt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3A20D271FC00BC2E74 /* lang_lt.swift */; };
- 6470DB3C20D2720400BC2E74 /* lang_lt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3A20D271FC00BC2E74 /* lang_lt.swift */; };
- 6470DB3D20D2720400BC2E74 /* lang_lt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3A20D271FC00BC2E74 /* lang_lt.swift */; };
- 6470DB3E20D2720400BC2E74 /* lang_lt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3A20D271FC00BC2E74 /* lang_lt.swift */; };
- 6470DB3F20D2720400BC2E74 /* lang_ee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3B20D271FC00BC2E74 /* lang_ee.swift */; };
- 6470DB4020D2720400BC2E74 /* lang_ee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3B20D271FC00BC2E74 /* lang_ee.swift */; };
- 6470DB4120D2720400BC2E74 /* lang_ee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3B20D271FC00BC2E74 /* lang_ee.swift */; };
- 6470DB4220D2720400BC2E74 /* lang_ee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3B20D271FC00BC2E74 /* lang_ee.swift */; };
- 6470DB4320D2720400BC2E74 /* lang_ee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3B20D271FC00BC2E74 /* lang_ee.swift */; };
- 6470DB4420D2720400BC2E74 /* lang_zu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3C20D271FC00BC2E74 /* lang_zu.swift */; };
- 6470DB4520D2720400BC2E74 /* lang_zu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3C20D271FC00BC2E74 /* lang_zu.swift */; };
- 6470DB4620D2720400BC2E74 /* lang_zu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3C20D271FC00BC2E74 /* lang_zu.swift */; };
- 6470DB4720D2720400BC2E74 /* lang_zu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3C20D271FC00BC2E74 /* lang_zu.swift */; };
- 6470DB4820D2720400BC2E74 /* lang_zu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3C20D271FC00BC2E74 /* lang_zu.swift */; };
- 6470DB4920D2720400BC2E74 /* lang_ur_IN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3D20D271FD00BC2E74 /* lang_ur_IN.swift */; };
- 6470DB4A20D2720400BC2E74 /* lang_ur_IN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3D20D271FD00BC2E74 /* lang_ur_IN.swift */; };
- 6470DB4B20D2720400BC2E74 /* lang_ur_IN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3D20D271FD00BC2E74 /* lang_ur_IN.swift */; };
- 6470DB4C20D2720400BC2E74 /* lang_ur_IN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3D20D271FD00BC2E74 /* lang_ur_IN.swift */; };
- 6470DB4D20D2720400BC2E74 /* lang_ur_IN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3D20D271FD00BC2E74 /* lang_ur_IN.swift */; };
- 6470DB4E20D2720400BC2E74 /* lang_hsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3E20D271FD00BC2E74 /* lang_hsb.swift */; };
- 6470DB4F20D2720400BC2E74 /* lang_hsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3E20D271FD00BC2E74 /* lang_hsb.swift */; };
- 6470DB5020D2720400BC2E74 /* lang_hsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3E20D271FD00BC2E74 /* lang_hsb.swift */; };
- 6470DB5120D2720400BC2E74 /* lang_hsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3E20D271FD00BC2E74 /* lang_hsb.swift */; };
- 6470DB5220D2720400BC2E74 /* lang_hsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3E20D271FD00BC2E74 /* lang_hsb.swift */; };
- 6470DB5320D2720400BC2E74 /* lang_my.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3F20D271FD00BC2E74 /* lang_my.swift */; };
- 6470DB5420D2720400BC2E74 /* lang_my.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3F20D271FD00BC2E74 /* lang_my.swift */; };
- 6470DB5520D2720400BC2E74 /* lang_my.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3F20D271FD00BC2E74 /* lang_my.swift */; };
- 6470DB5620D2720400BC2E74 /* lang_my.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3F20D271FD00BC2E74 /* lang_my.swift */; };
- 6470DB5720D2720400BC2E74 /* lang_my.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA3F20D271FD00BC2E74 /* lang_my.swift */; };
- 6470DB5820D2720400BC2E74 /* lang_fr_CA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4020D271FD00BC2E74 /* lang_fr_CA.swift */; };
- 6470DB5920D2720400BC2E74 /* lang_fr_CA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4020D271FD00BC2E74 /* lang_fr_CA.swift */; };
- 6470DB5A20D2720400BC2E74 /* lang_fr_CA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4020D271FD00BC2E74 /* lang_fr_CA.swift */; };
- 6470DB5B20D2720400BC2E74 /* lang_fr_CA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4020D271FD00BC2E74 /* lang_fr_CA.swift */; };
- 6470DB5C20D2720400BC2E74 /* lang_fr_CA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4020D271FD00BC2E74 /* lang_fr_CA.swift */; };
- 6470DB5D20D2720400BC2E74 /* lang_mk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4120D271FD00BC2E74 /* lang_mk.swift */; };
- 6470DB5E20D2720400BC2E74 /* lang_mk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4120D271FD00BC2E74 /* lang_mk.swift */; };
- 6470DB5F20D2720400BC2E74 /* lang_mk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4120D271FD00BC2E74 /* lang_mk.swift */; };
- 6470DB6020D2720400BC2E74 /* lang_mk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4120D271FD00BC2E74 /* lang_mk.swift */; };
- 6470DB6120D2720400BC2E74 /* lang_mk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4120D271FD00BC2E74 /* lang_mk.swift */; };
- 6470DB6220D2720400BC2E74 /* lang_yue_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4220D271FD00BC2E74 /* lang_yue_Hant.swift */; };
- 6470DB6320D2720400BC2E74 /* lang_yue_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4220D271FD00BC2E74 /* lang_yue_Hant.swift */; };
- 6470DB6420D2720400BC2E74 /* lang_yue_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4220D271FD00BC2E74 /* lang_yue_Hant.swift */; };
- 6470DB6520D2720400BC2E74 /* lang_yue_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4220D271FD00BC2E74 /* lang_yue_Hant.swift */; };
- 6470DB6620D2720400BC2E74 /* lang_yue_Hant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4220D271FD00BC2E74 /* lang_yue_Hant.swift */; };
- 6470DB6720D2720400BC2E74 /* lang_or.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4320D271FD00BC2E74 /* lang_or.swift */; };
- 6470DB6820D2720400BC2E74 /* lang_or.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4320D271FD00BC2E74 /* lang_or.swift */; };
- 6470DB6920D2720400BC2E74 /* lang_or.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4320D271FD00BC2E74 /* lang_or.swift */; };
- 6470DB6A20D2720400BC2E74 /* lang_or.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4320D271FD00BC2E74 /* lang_or.swift */; };
- 6470DB6B20D2720400BC2E74 /* lang_or.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4320D271FD00BC2E74 /* lang_or.swift */; };
- 6470DB6C20D2720400BC2E74 /* lang_kk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4420D271FD00BC2E74 /* lang_kk.swift */; };
- 6470DB6D20D2720400BC2E74 /* lang_kk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4420D271FD00BC2E74 /* lang_kk.swift */; };
- 6470DB6E20D2720400BC2E74 /* lang_kk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4420D271FD00BC2E74 /* lang_kk.swift */; };
- 6470DB6F20D2720400BC2E74 /* lang_kk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4420D271FD00BC2E74 /* lang_kk.swift */; };
- 6470DB7020D2720400BC2E74 /* lang_kk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4420D271FD00BC2E74 /* lang_kk.swift */; };
- 6470DB7120D2720400BC2E74 /* lang_ksh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4520D271FE00BC2E74 /* lang_ksh.swift */; };
- 6470DB7220D2720400BC2E74 /* lang_ksh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4520D271FE00BC2E74 /* lang_ksh.swift */; };
- 6470DB7320D2720400BC2E74 /* lang_ksh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4520D271FE00BC2E74 /* lang_ksh.swift */; };
- 6470DB7420D2720400BC2E74 /* lang_ksh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4520D271FE00BC2E74 /* lang_ksh.swift */; };
- 6470DB7520D2720400BC2E74 /* lang_ksh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4520D271FE00BC2E74 /* lang_ksh.swift */; };
- 6470DB7620D2720400BC2E74 /* lang_sah.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4620D271FE00BC2E74 /* lang_sah.swift */; };
- 6470DB7720D2720400BC2E74 /* lang_sah.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4620D271FE00BC2E74 /* lang_sah.swift */; };
- 6470DB7820D2720400BC2E74 /* lang_sah.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4620D271FE00BC2E74 /* lang_sah.swift */; };
- 6470DB7920D2720400BC2E74 /* lang_sah.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4620D271FE00BC2E74 /* lang_sah.swift */; };
- 6470DB7A20D2720400BC2E74 /* lang_sah.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4620D271FE00BC2E74 /* lang_sah.swift */; };
- 6470DB7B20D2720400BC2E74 /* lang_cs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4720D271FE00BC2E74 /* lang_cs.swift */; };
- 6470DB7C20D2720400BC2E74 /* lang_cs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4720D271FE00BC2E74 /* lang_cs.swift */; };
- 6470DB7D20D2720400BC2E74 /* lang_cs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4720D271FE00BC2E74 /* lang_cs.swift */; };
- 6470DB7E20D2720400BC2E74 /* lang_cs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4720D271FE00BC2E74 /* lang_cs.swift */; };
- 6470DB7F20D2720400BC2E74 /* lang_cs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4720D271FE00BC2E74 /* lang_cs.swift */; };
- 6470DB8020D2720400BC2E74 /* lang_ro.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4820D271FE00BC2E74 /* lang_ro.swift */; };
- 6470DB8120D2720400BC2E74 /* lang_ro.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4820D271FE00BC2E74 /* lang_ro.swift */; };
- 6470DB8220D2720400BC2E74 /* lang_ro.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4820D271FE00BC2E74 /* lang_ro.swift */; };
- 6470DB8320D2720400BC2E74 /* lang_ro.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4820D271FE00BC2E74 /* lang_ro.swift */; };
- 6470DB8420D2720400BC2E74 /* lang_ro.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4820D271FE00BC2E74 /* lang_ro.swift */; };
- 6470DB8520D2720400BC2E74 /* lang_ar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4920D271FE00BC2E74 /* lang_ar.swift */; };
- 6470DB8620D2720400BC2E74 /* lang_ar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4920D271FE00BC2E74 /* lang_ar.swift */; };
- 6470DB8720D2720400BC2E74 /* lang_ar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4920D271FE00BC2E74 /* lang_ar.swift */; };
- 6470DB8820D2720400BC2E74 /* lang_ar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4920D271FE00BC2E74 /* lang_ar.swift */; };
- 6470DB8920D2720400BC2E74 /* lang_ar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4920D271FE00BC2E74 /* lang_ar.swift */; };
- 6470DB8A20D2720400BC2E74 /* lang_kea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4A20D271FE00BC2E74 /* lang_kea.swift */; };
- 6470DB8B20D2720400BC2E74 /* lang_kea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4A20D271FE00BC2E74 /* lang_kea.swift */; };
- 6470DB8C20D2720400BC2E74 /* lang_kea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4A20D271FE00BC2E74 /* lang_kea.swift */; };
- 6470DB8D20D2720400BC2E74 /* lang_kea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4A20D271FE00BC2E74 /* lang_kea.swift */; };
- 6470DB8E20D2720400BC2E74 /* lang_kea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4A20D271FE00BC2E74 /* lang_kea.swift */; };
- 6470DB8F20D2720400BC2E74 /* lang_af.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4B20D271FE00BC2E74 /* lang_af.swift */; };
- 6470DB9020D2720400BC2E74 /* lang_af.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4B20D271FE00BC2E74 /* lang_af.swift */; };
- 6470DB9120D2720400BC2E74 /* lang_af.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4B20D271FE00BC2E74 /* lang_af.swift */; };
- 6470DB9220D2720400BC2E74 /* lang_af.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4B20D271FE00BC2E74 /* lang_af.swift */; };
- 6470DB9320D2720400BC2E74 /* lang_af.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4B20D271FE00BC2E74 /* lang_af.swift */; };
- 6470DB9420D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4C20D271FE00BC2E74 /* lang_zh_Hans_HK.swift */; };
- 6470DB9520D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4C20D271FE00BC2E74 /* lang_zh_Hans_HK.swift */; };
- 6470DB9620D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4C20D271FE00BC2E74 /* lang_zh_Hans_HK.swift */; };
- 6470DB9720D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4C20D271FE00BC2E74 /* lang_zh_Hans_HK.swift */; };
- 6470DB9820D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4C20D271FE00BC2E74 /* lang_zh_Hans_HK.swift */; };
- 6470DB9920D2720400BC2E74 /* lang_se.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4D20D271FF00BC2E74 /* lang_se.swift */; };
- 6470DB9A20D2720400BC2E74 /* lang_se.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4D20D271FF00BC2E74 /* lang_se.swift */; };
- 6470DB9B20D2720400BC2E74 /* lang_se.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4D20D271FF00BC2E74 /* lang_se.swift */; };
- 6470DB9C20D2720400BC2E74 /* lang_se.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4D20D271FF00BC2E74 /* lang_se.swift */; };
- 6470DB9D20D2720400BC2E74 /* lang_se.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4D20D271FF00BC2E74 /* lang_se.swift */; };
- 6470DB9E20D2720400BC2E74 /* lang_el.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4E20D271FF00BC2E74 /* lang_el.swift */; };
- 6470DB9F20D2720400BC2E74 /* lang_el.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4E20D271FF00BC2E74 /* lang_el.swift */; };
- 6470DBA020D2720400BC2E74 /* lang_el.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4E20D271FF00BC2E74 /* lang_el.swift */; };
- 6470DBA120D2720400BC2E74 /* lang_el.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4E20D271FF00BC2E74 /* lang_el.swift */; };
- 6470DBA220D2720400BC2E74 /* lang_el.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4E20D271FF00BC2E74 /* lang_el.swift */; };
- 6470DBA320D2720400BC2E74 /* lang_ja.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4F20D271FF00BC2E74 /* lang_ja.swift */; };
- 6470DBA420D2720400BC2E74 /* lang_ja.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4F20D271FF00BC2E74 /* lang_ja.swift */; };
- 6470DBA520D2720400BC2E74 /* lang_ja.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4F20D271FF00BC2E74 /* lang_ja.swift */; };
- 6470DBA620D2720400BC2E74 /* lang_ja.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4F20D271FF00BC2E74 /* lang_ja.swift */; };
- 6470DBA720D2720400BC2E74 /* lang_ja.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA4F20D271FF00BC2E74 /* lang_ja.swift */; };
- 6470DBA820D2720400BC2E74 /* lang_mzn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5020D271FF00BC2E74 /* lang_mzn.swift */; };
- 6470DBA920D2720400BC2E74 /* lang_mzn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5020D271FF00BC2E74 /* lang_mzn.swift */; };
- 6470DBAA20D2720400BC2E74 /* lang_mzn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5020D271FF00BC2E74 /* lang_mzn.swift */; };
- 6470DBAB20D2720400BC2E74 /* lang_mzn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5020D271FF00BC2E74 /* lang_mzn.swift */; };
- 6470DBAC20D2720400BC2E74 /* lang_mzn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5020D271FF00BC2E74 /* lang_mzn.swift */; };
- 6470DBAD20D2720400BC2E74 /* lang_fur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5120D271FF00BC2E74 /* lang_fur.swift */; };
- 6470DBAE20D2720400BC2E74 /* lang_fur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5120D271FF00BC2E74 /* lang_fur.swift */; };
- 6470DBAF20D2720400BC2E74 /* lang_fur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5120D271FF00BC2E74 /* lang_fur.swift */; };
- 6470DBB020D2720400BC2E74 /* lang_fur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5120D271FF00BC2E74 /* lang_fur.swift */; };
- 6470DBB120D2720400BC2E74 /* lang_fur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5120D271FF00BC2E74 /* lang_fur.swift */; };
- 6470DBB220D2720400BC2E74 /* lang_it.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5220D271FF00BC2E74 /* lang_it.swift */; };
- 6470DBB320D2720400BC2E74 /* lang_it.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5220D271FF00BC2E74 /* lang_it.swift */; };
- 6470DBB420D2720400BC2E74 /* lang_it.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5220D271FF00BC2E74 /* lang_it.swift */; };
- 6470DBB520D2720400BC2E74 /* lang_it.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5220D271FF00BC2E74 /* lang_it.swift */; };
- 6470DBB620D2720400BC2E74 /* lang_it.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5220D271FF00BC2E74 /* lang_it.swift */; };
- 6470DBB720D2720400BC2E74 /* lang_tk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5320D271FF00BC2E74 /* lang_tk.swift */; };
- 6470DBB820D2720400BC2E74 /* lang_tk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5320D271FF00BC2E74 /* lang_tk.swift */; };
- 6470DBB920D2720400BC2E74 /* lang_tk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5320D271FF00BC2E74 /* lang_tk.swift */; };
- 6470DBBA20D2720400BC2E74 /* lang_tk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5320D271FF00BC2E74 /* lang_tk.swift */; };
- 6470DBBB20D2720400BC2E74 /* lang_tk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5320D271FF00BC2E74 /* lang_tk.swift */; };
- 6470DBBC20D2720400BC2E74 /* lang_is.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5420D271FF00BC2E74 /* lang_is.swift */; };
- 6470DBBD20D2720400BC2E74 /* lang_is.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5420D271FF00BC2E74 /* lang_is.swift */; };
- 6470DBBE20D2720400BC2E74 /* lang_is.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5420D271FF00BC2E74 /* lang_is.swift */; };
- 6470DBBF20D2720400BC2E74 /* lang_is.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5420D271FF00BC2E74 /* lang_is.swift */; };
- 6470DBC020D2720400BC2E74 /* lang_is.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5420D271FF00BC2E74 /* lang_is.swift */; };
- 6470DBC120D2720400BC2E74 /* lang_sl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5520D271FF00BC2E74 /* lang_sl.swift */; };
- 6470DBC220D2720400BC2E74 /* lang_sl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5520D271FF00BC2E74 /* lang_sl.swift */; };
- 6470DBC320D2720400BC2E74 /* lang_sl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5520D271FF00BC2E74 /* lang_sl.swift */; };
- 6470DBC420D2720400BC2E74 /* lang_sl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5520D271FF00BC2E74 /* lang_sl.swift */; };
- 6470DBC520D2720400BC2E74 /* lang_sl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5520D271FF00BC2E74 /* lang_sl.swift */; };
- 6470DBC620D2720400BC2E74 /* lang_ka.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5620D2720000BC2E74 /* lang_ka.swift */; };
- 6470DBC720D2720400BC2E74 /* lang_ka.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5620D2720000BC2E74 /* lang_ka.swift */; };
- 6470DBC820D2720400BC2E74 /* lang_ka.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5620D2720000BC2E74 /* lang_ka.swift */; };
- 6470DBC920D2720400BC2E74 /* lang_ka.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5620D2720000BC2E74 /* lang_ka.swift */; };
- 6470DBCA20D2720400BC2E74 /* lang_ka.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5620D2720000BC2E74 /* lang_ka.swift */; };
- 6470DBCB20D2720400BC2E74 /* lang_cy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5720D2720000BC2E74 /* lang_cy.swift */; };
- 6470DBCC20D2720400BC2E74 /* lang_cy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5720D2720000BC2E74 /* lang_cy.swift */; };
- 6470DBCD20D2720400BC2E74 /* lang_cy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5720D2720000BC2E74 /* lang_cy.swift */; };
- 6470DBCE20D2720400BC2E74 /* lang_cy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5720D2720000BC2E74 /* lang_cy.swift */; };
- 6470DBCF20D2720400BC2E74 /* lang_cy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5720D2720000BC2E74 /* lang_cy.swift */; };
- 6470DBD020D2720400BC2E74 /* lang_ur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5820D2720000BC2E74 /* lang_ur.swift */; };
- 6470DBD120D2720400BC2E74 /* lang_ur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5820D2720000BC2E74 /* lang_ur.swift */; };
- 6470DBD220D2720400BC2E74 /* lang_ur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5820D2720000BC2E74 /* lang_ur.swift */; };
- 6470DBD320D2720400BC2E74 /* lang_ur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5820D2720000BC2E74 /* lang_ur.swift */; };
- 6470DBD420D2720400BC2E74 /* lang_ur.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5820D2720000BC2E74 /* lang_ur.swift */; };
- 6470DBD520D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5920D2720000BC2E74 /* lang_uz_Cyrl.swift */; };
- 6470DBD620D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5920D2720000BC2E74 /* lang_uz_Cyrl.swift */; };
- 6470DBD720D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5920D2720000BC2E74 /* lang_uz_Cyrl.swift */; };
- 6470DBD820D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5920D2720000BC2E74 /* lang_uz_Cyrl.swift */; };
- 6470DBD920D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5920D2720000BC2E74 /* lang_uz_Cyrl.swift */; };
- 6470DBDA20D2720400BC2E74 /* lang_dz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5A20D2720000BC2E74 /* lang_dz.swift */; };
- 6470DBDB20D2720400BC2E74 /* lang_dz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5A20D2720000BC2E74 /* lang_dz.swift */; };
- 6470DBDC20D2720400BC2E74 /* lang_dz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5A20D2720000BC2E74 /* lang_dz.swift */; };
- 6470DBDD20D2720400BC2E74 /* lang_dz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5A20D2720000BC2E74 /* lang_dz.swift */; };
- 6470DBDE20D2720400BC2E74 /* lang_dz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5A20D2720000BC2E74 /* lang_dz.swift */; };
- 6470DBDF20D2720400BC2E74 /* lang_ms.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5B20D2720000BC2E74 /* lang_ms.swift */; };
- 6470DBE020D2720400BC2E74 /* lang_ms.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5B20D2720000BC2E74 /* lang_ms.swift */; };
- 6470DBE120D2720400BC2E74 /* lang_ms.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5B20D2720000BC2E74 /* lang_ms.swift */; };
- 6470DBE220D2720400BC2E74 /* lang_ms.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5B20D2720000BC2E74 /* lang_ms.swift */; };
- 6470DBE320D2720400BC2E74 /* lang_ms.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5B20D2720000BC2E74 /* lang_ms.swift */; };
- 6470DBE420D2720400BC2E74 /* lang_gd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5C20D2720000BC2E74 /* lang_gd.swift */; };
- 6470DBE520D2720400BC2E74 /* lang_gd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5C20D2720000BC2E74 /* lang_gd.swift */; };
- 6470DBE620D2720400BC2E74 /* lang_gd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5C20D2720000BC2E74 /* lang_gd.swift */; };
- 6470DBE720D2720400BC2E74 /* lang_gd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5C20D2720000BC2E74 /* lang_gd.swift */; };
- 6470DBE820D2720400BC2E74 /* lang_gd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5C20D2720000BC2E74 /* lang_gd.swift */; };
- 6470DBE920D2720400BC2E74 /* lang_ps.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5D20D2720000BC2E74 /* lang_ps.swift */; };
- 6470DBEA20D2720400BC2E74 /* lang_ps.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5D20D2720000BC2E74 /* lang_ps.swift */; };
- 6470DBEB20D2720400BC2E74 /* lang_ps.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5D20D2720000BC2E74 /* lang_ps.swift */; };
- 6470DBEC20D2720400BC2E74 /* lang_ps.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5D20D2720000BC2E74 /* lang_ps.swift */; };
- 6470DBED20D2720400BC2E74 /* lang_ps.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5D20D2720000BC2E74 /* lang_ps.swift */; };
- 6470DBEE20D2720400BC2E74 /* lang_uk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5E20D2720000BC2E74 /* lang_uk.swift */; };
- 6470DBEF20D2720400BC2E74 /* lang_uk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5E20D2720000BC2E74 /* lang_uk.swift */; };
- 6470DBF020D2720400BC2E74 /* lang_uk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5E20D2720000BC2E74 /* lang_uk.swift */; };
- 6470DBF120D2720400BC2E74 /* lang_uk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5E20D2720000BC2E74 /* lang_uk.swift */; };
- 6470DBF220D2720400BC2E74 /* lang_uk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5E20D2720000BC2E74 /* lang_uk.swift */; };
- 6470DBF320D2720400BC2E74 /* lang_pl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5F20D2720000BC2E74 /* lang_pl.swift */; };
- 6470DBF420D2720400BC2E74 /* lang_pl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5F20D2720000BC2E74 /* lang_pl.swift */; };
- 6470DBF520D2720400BC2E74 /* lang_pl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5F20D2720000BC2E74 /* lang_pl.swift */; };
- 6470DBF620D2720400BC2E74 /* lang_pl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5F20D2720000BC2E74 /* lang_pl.swift */; };
- 6470DBF720D2720400BC2E74 /* lang_pl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA5F20D2720000BC2E74 /* lang_pl.swift */; };
- 6470DBF820D2720400BC2E74 /* lang_az.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6020D2720000BC2E74 /* lang_az.swift */; };
- 6470DBF920D2720400BC2E74 /* lang_az.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6020D2720000BC2E74 /* lang_az.swift */; };
- 6470DBFA20D2720400BC2E74 /* lang_az.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6020D2720000BC2E74 /* lang_az.swift */; };
- 6470DBFB20D2720400BC2E74 /* lang_az.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6020D2720000BC2E74 /* lang_az.swift */; };
- 6470DBFC20D2720400BC2E74 /* lang_az.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6020D2720000BC2E74 /* lang_az.swift */; };
- 6470DBFD20D2720400BC2E74 /* lang_jgo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6120D2720100BC2E74 /* lang_jgo.swift */; };
- 6470DBFE20D2720400BC2E74 /* lang_jgo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6120D2720100BC2E74 /* lang_jgo.swift */; };
- 6470DBFF20D2720400BC2E74 /* lang_jgo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6120D2720100BC2E74 /* lang_jgo.swift */; };
- 6470DC0020D2720400BC2E74 /* lang_jgo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6120D2720100BC2E74 /* lang_jgo.swift */; };
- 6470DC0120D2720400BC2E74 /* lang_jgo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6120D2720100BC2E74 /* lang_jgo.swift */; };
- 6470DC0220D2720400BC2E74 /* lang_bg.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6220D2720100BC2E74 /* lang_bg.swift */; };
- 6470DC0320D2720400BC2E74 /* lang_bg.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6220D2720100BC2E74 /* lang_bg.swift */; };
- 6470DC0420D2720400BC2E74 /* lang_bg.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6220D2720100BC2E74 /* lang_bg.swift */; };
- 6470DC0520D2720400BC2E74 /* lang_bg.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6220D2720100BC2E74 /* lang_bg.swift */; };
- 6470DC0620D2720400BC2E74 /* lang_bg.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6220D2720100BC2E74 /* lang_bg.swift */; };
- 6470DC0720D2720400BC2E74 /* lang_to.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6320D2720100BC2E74 /* lang_to.swift */; };
- 6470DC0820D2720400BC2E74 /* lang_to.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6320D2720100BC2E74 /* lang_to.swift */; };
- 6470DC0920D2720400BC2E74 /* lang_to.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6320D2720100BC2E74 /* lang_to.swift */; };
- 6470DC0A20D2720400BC2E74 /* lang_to.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6320D2720100BC2E74 /* lang_to.swift */; };
- 6470DC0B20D2720400BC2E74 /* lang_to.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6320D2720100BC2E74 /* lang_to.swift */; };
- 6470DC0C20D2720400BC2E74 /* lang_yi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6420D2720100BC2E74 /* lang_yi.swift */; };
- 6470DC0D20D2720400BC2E74 /* lang_yi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6420D2720100BC2E74 /* lang_yi.swift */; };
- 6470DC0E20D2720400BC2E74 /* lang_yi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6420D2720100BC2E74 /* lang_yi.swift */; };
- 6470DC0F20D2720400BC2E74 /* lang_yi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6420D2720100BC2E74 /* lang_yi.swift */; };
- 6470DC1020D2720400BC2E74 /* lang_yi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6420D2720100BC2E74 /* lang_yi.swift */; };
- 6470DC1120D2720400BC2E74 /* lang_se_FI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6520D2720100BC2E74 /* lang_se_FI.swift */; };
- 6470DC1220D2720400BC2E74 /* lang_se_FI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6520D2720100BC2E74 /* lang_se_FI.swift */; };
- 6470DC1320D2720400BC2E74 /* lang_se_FI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6520D2720100BC2E74 /* lang_se_FI.swift */; };
- 6470DC1420D2720400BC2E74 /* lang_se_FI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6520D2720100BC2E74 /* lang_se_FI.swift */; };
- 6470DC1520D2720400BC2E74 /* lang_se_FI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6520D2720100BC2E74 /* lang_se_FI.swift */; };
- 6470DC1620D2720400BC2E74 /* lang_dsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6620D2720100BC2E74 /* lang_dsb.swift */; };
- 6470DC1720D2720400BC2E74 /* lang_dsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6620D2720100BC2E74 /* lang_dsb.swift */; };
- 6470DC1820D2720400BC2E74 /* lang_dsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6620D2720100BC2E74 /* lang_dsb.swift */; };
- 6470DC1920D2720400BC2E74 /* lang_dsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6620D2720100BC2E74 /* lang_dsb.swift */; };
- 6470DC1A20D2720400BC2E74 /* lang_dsb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6620D2720100BC2E74 /* lang_dsb.swift */; };
- 6470DC1B20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6720D2720100BC2E74 /* lang_bsCyrl.swift */; };
- 6470DC1C20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6720D2720100BC2E74 /* lang_bsCyrl.swift */; };
- 6470DC1D20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6720D2720100BC2E74 /* lang_bsCyrl.swift */; };
- 6470DC1E20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6720D2720100BC2E74 /* lang_bsCyrl.swift */; };
- 6470DC1F20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6720D2720100BC2E74 /* lang_bsCyrl.swift */; };
- 6470DC2020D2720400BC2E74 /* lang_mr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6820D2720100BC2E74 /* lang_mr.swift */; };
- 6470DC2120D2720400BC2E74 /* lang_mr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6820D2720100BC2E74 /* lang_mr.swift */; };
- 6470DC2220D2720400BC2E74 /* lang_mr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6820D2720100BC2E74 /* lang_mr.swift */; };
- 6470DC2320D2720400BC2E74 /* lang_mr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6820D2720100BC2E74 /* lang_mr.swift */; };
- 6470DC2420D2720400BC2E74 /* lang_mr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6820D2720100BC2E74 /* lang_mr.swift */; };
- 6470DC2520D2720400BC2E74 /* lang_nl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6920D2720100BC2E74 /* lang_nl.swift */; };
- 6470DC2620D2720400BC2E74 /* lang_nl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6920D2720100BC2E74 /* lang_nl.swift */; };
- 6470DC2720D2720400BC2E74 /* lang_nl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6920D2720100BC2E74 /* lang_nl.swift */; };
- 6470DC2820D2720400BC2E74 /* lang_nl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6920D2720100BC2E74 /* lang_nl.swift */; };
- 6470DC2920D2720400BC2E74 /* lang_nl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6920D2720100BC2E74 /* lang_nl.swift */; };
- 6470DC2A20D2720400BC2E74 /* lang_vi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6A20D2720100BC2E74 /* lang_vi.swift */; };
- 6470DC2B20D2720400BC2E74 /* lang_vi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6A20D2720100BC2E74 /* lang_vi.swift */; };
- 6470DC2C20D2720400BC2E74 /* lang_vi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6A20D2720100BC2E74 /* lang_vi.swift */; };
- 6470DC2D20D2720400BC2E74 /* lang_vi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6A20D2720100BC2E74 /* lang_vi.swift */; };
- 6470DC2E20D2720400BC2E74 /* lang_vi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6A20D2720100BC2E74 /* lang_vi.swift */; };
- 6470DC2F20D2720400BC2E74 /* lang_am.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6B20D2720100BC2E74 /* lang_am.swift */; };
- 6470DC3020D2720400BC2E74 /* lang_am.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6B20D2720100BC2E74 /* lang_am.swift */; };
- 6470DC3120D2720400BC2E74 /* lang_am.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6B20D2720100BC2E74 /* lang_am.swift */; };
- 6470DC3220D2720400BC2E74 /* lang_am.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6B20D2720100BC2E74 /* lang_am.swift */; };
- 6470DC3320D2720400BC2E74 /* lang_am.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6B20D2720100BC2E74 /* lang_am.swift */; };
- 6470DC3420D2720400BC2E74 /* lang_pa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6C20D2720100BC2E74 /* lang_pa.swift */; };
- 6470DC3520D2720400BC2E74 /* lang_pa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6C20D2720100BC2E74 /* lang_pa.swift */; };
- 6470DC3620D2720400BC2E74 /* lang_pa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6C20D2720100BC2E74 /* lang_pa.swift */; };
- 6470DC3720D2720400BC2E74 /* lang_pa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6C20D2720100BC2E74 /* lang_pa.swift */; };
- 6470DC3820D2720400BC2E74 /* lang_pa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6C20D2720100BC2E74 /* lang_pa.swift */; };
- 6470DC3920D2720400BC2E74 /* lang_wae.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6D20D2720100BC2E74 /* lang_wae.swift */; };
- 6470DC3A20D2720400BC2E74 /* lang_wae.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6D20D2720100BC2E74 /* lang_wae.swift */; };
- 6470DC3B20D2720400BC2E74 /* lang_wae.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6D20D2720100BC2E74 /* lang_wae.swift */; };
- 6470DC3C20D2720400BC2E74 /* lang_wae.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6D20D2720100BC2E74 /* lang_wae.swift */; };
- 6470DC3D20D2720400BC2E74 /* lang_wae.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6D20D2720100BC2E74 /* lang_wae.swift */; };
- 6470DC3E20D2720400BC2E74 /* lang_be.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6E20D2720100BC2E74 /* lang_be.swift */; };
- 6470DC3F20D2720400BC2E74 /* lang_be.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6E20D2720100BC2E74 /* lang_be.swift */; };
- 6470DC4020D2720400BC2E74 /* lang_be.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6E20D2720100BC2E74 /* lang_be.swift */; };
- 6470DC4120D2720400BC2E74 /* lang_be.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6E20D2720100BC2E74 /* lang_be.swift */; };
- 6470DC4220D2720400BC2E74 /* lang_be.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6E20D2720100BC2E74 /* lang_be.swift */; };
- 6470DC4320D2720400BC2E74 /* lang_ga.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6F20D2720100BC2E74 /* lang_ga.swift */; };
- 6470DC4420D2720400BC2E74 /* lang_ga.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6F20D2720100BC2E74 /* lang_ga.swift */; };
- 6470DC4520D2720400BC2E74 /* lang_ga.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6F20D2720100BC2E74 /* lang_ga.swift */; };
- 6470DC4620D2720400BC2E74 /* lang_ga.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6F20D2720100BC2E74 /* lang_ga.swift */; };
- 6470DC4720D2720400BC2E74 /* lang_ga.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA6F20D2720100BC2E74 /* lang_ga.swift */; };
- 6470DC4820D2720400BC2E74 /* lang_gl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7020D2720200BC2E74 /* lang_gl.swift */; };
- 6470DC4920D2720400BC2E74 /* lang_gl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7020D2720200BC2E74 /* lang_gl.swift */; };
- 6470DC4A20D2720400BC2E74 /* lang_gl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7020D2720200BC2E74 /* lang_gl.swift */; };
- 6470DC4B20D2720400BC2E74 /* lang_gl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7020D2720200BC2E74 /* lang_gl.swift */; };
- 6470DC4C20D2720400BC2E74 /* lang_gl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7020D2720200BC2E74 /* lang_gl.swift */; };
- 6470DC4D20D2720400BC2E74 /* lang_gu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7120D2720200BC2E74 /* lang_gu.swift */; };
- 6470DC4E20D2720400BC2E74 /* lang_gu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7120D2720200BC2E74 /* lang_gu.swift */; };
- 6470DC4F20D2720400BC2E74 /* lang_gu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7120D2720200BC2E74 /* lang_gu.swift */; };
- 6470DC5020D2720400BC2E74 /* lang_gu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7120D2720200BC2E74 /* lang_gu.swift */; };
- 6470DC5120D2720400BC2E74 /* lang_gu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7120D2720200BC2E74 /* lang_gu.swift */; };
- 6470DC5220D2720400BC2E74 /* lang_ar_AE.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7220D2720200BC2E74 /* lang_ar_AE.swift */; };
- 6470DC5320D2720400BC2E74 /* lang_ar_AE.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7220D2720200BC2E74 /* lang_ar_AE.swift */; };
- 6470DC5420D2720400BC2E74 /* lang_ar_AE.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7220D2720200BC2E74 /* lang_ar_AE.swift */; };
- 6470DC5520D2720400BC2E74 /* lang_ar_AE.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7220D2720200BC2E74 /* lang_ar_AE.swift */; };
- 6470DC5620D2720400BC2E74 /* lang_ar_AE.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7220D2720200BC2E74 /* lang_ar_AE.swift */; };
- 6470DC5720D2720400BC2E74 /* lang_lo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7320D2720200BC2E74 /* lang_lo.swift */; };
- 6470DC5820D2720400BC2E74 /* lang_lo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7320D2720200BC2E74 /* lang_lo.swift */; };
- 6470DC5920D2720400BC2E74 /* lang_lo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7320D2720200BC2E74 /* lang_lo.swift */; };
- 6470DC5A20D2720400BC2E74 /* lang_lo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7320D2720200BC2E74 /* lang_lo.swift */; };
- 6470DC5B20D2720400BC2E74 /* lang_lo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7320D2720200BC2E74 /* lang_lo.swift */; };
- 6470DC5C20D2720400BC2E74 /* lang_mt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7420D2720200BC2E74 /* lang_mt.swift */; };
- 6470DC5D20D2720400BC2E74 /* lang_mt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7420D2720200BC2E74 /* lang_mt.swift */; };
- 6470DC5E20D2720400BC2E74 /* lang_mt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7420D2720200BC2E74 /* lang_mt.swift */; };
- 6470DC5F20D2720400BC2E74 /* lang_mt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7420D2720200BC2E74 /* lang_mt.swift */; };
- 6470DC6020D2720400BC2E74 /* lang_mt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7420D2720200BC2E74 /* lang_mt.swift */; };
- 6470DC6120D2720400BC2E74 /* lang_fi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7520D2720200BC2E74 /* lang_fi.swift */; };
- 6470DC6220D2720400BC2E74 /* lang_fi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7520D2720200BC2E74 /* lang_fi.swift */; };
- 6470DC6320D2720400BC2E74 /* lang_fi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7520D2720200BC2E74 /* lang_fi.swift */; };
- 6470DC6420D2720400BC2E74 /* lang_fi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7520D2720200BC2E74 /* lang_fi.swift */; };
- 6470DC6520D2720400BC2E74 /* lang_fi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7520D2720200BC2E74 /* lang_fi.swift */; };
- 6470DC6620D2720400BC2E74 /* lang_br.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7620D2720200BC2E74 /* lang_br.swift */; };
- 6470DC6720D2720400BC2E74 /* lang_br.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7620D2720200BC2E74 /* lang_br.swift */; };
- 6470DC6820D2720400BC2E74 /* lang_br.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7620D2720200BC2E74 /* lang_br.swift */; };
- 6470DC6920D2720400BC2E74 /* lang_br.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7620D2720200BC2E74 /* lang_br.swift */; };
- 6470DC6A20D2720400BC2E74 /* lang_br.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7620D2720200BC2E74 /* lang_br.swift */; };
- 6470DC6B20D2720400BC2E74 /* lang_sr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7720D2720200BC2E74 /* lang_sr.swift */; };
- 6470DC6C20D2720400BC2E74 /* lang_sr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7720D2720200BC2E74 /* lang_sr.swift */; };
- 6470DC6D20D2720400BC2E74 /* lang_sr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7720D2720200BC2E74 /* lang_sr.swift */; };
- 6470DC6E20D2720400BC2E74 /* lang_sr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7720D2720200BC2E74 /* lang_sr.swift */; };
- 6470DC6F20D2720400BC2E74 /* lang_sr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7720D2720200BC2E74 /* lang_sr.swift */; };
- 6470DC7020D2720400BC2E74 /* lang_mn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7820D2720200BC2E74 /* lang_mn.swift */; };
- 6470DC7120D2720400BC2E74 /* lang_mn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7820D2720200BC2E74 /* lang_mn.swift */; };
- 6470DC7220D2720400BC2E74 /* lang_mn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7820D2720200BC2E74 /* lang_mn.swift */; };
- 6470DC7320D2720400BC2E74 /* lang_mn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7820D2720200BC2E74 /* lang_mn.swift */; };
- 6470DC7420D2720400BC2E74 /* lang_mn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7820D2720200BC2E74 /* lang_mn.swift */; };
- 6470DC7520D2720400BC2E74 /* lang_th.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7920D2720200BC2E74 /* lang_th.swift */; };
- 6470DC7620D2720400BC2E74 /* lang_th.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7920D2720200BC2E74 /* lang_th.swift */; };
- 6470DC7720D2720400BC2E74 /* lang_th.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7920D2720200BC2E74 /* lang_th.swift */; };
- 6470DC7820D2720400BC2E74 /* lang_th.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7920D2720200BC2E74 /* lang_th.swift */; };
- 6470DC7920D2720400BC2E74 /* lang_th.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7920D2720200BC2E74 /* lang_th.swift */; };
- 6470DC7A20D2720400BC2E74 /* lang_et.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7A20D2720200BC2E74 /* lang_et.swift */; };
- 6470DC7B20D2720400BC2E74 /* lang_et.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7A20D2720200BC2E74 /* lang_et.swift */; };
- 6470DC7C20D2720400BC2E74 /* lang_et.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7A20D2720200BC2E74 /* lang_et.swift */; };
- 6470DC7D20D2720400BC2E74 /* lang_et.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7A20D2720200BC2E74 /* lang_et.swift */; };
- 6470DC7E20D2720400BC2E74 /* lang_et.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7A20D2720200BC2E74 /* lang_et.swift */; };
- 6470DC7F20D2720400BC2E74 /* lang_he.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7B20D2720200BC2E74 /* lang_he.swift */; };
- 6470DC8020D2720400BC2E74 /* lang_he.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7B20D2720200BC2E74 /* lang_he.swift */; };
- 6470DC8120D2720400BC2E74 /* lang_he.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7B20D2720200BC2E74 /* lang_he.swift */; };
- 6470DC8220D2720400BC2E74 /* lang_he.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7B20D2720200BC2E74 /* lang_he.swift */; };
- 6470DC8320D2720400BC2E74 /* lang_he.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7B20D2720200BC2E74 /* lang_he.swift */; };
- 6470DC8420D2720400BC2E74 /* lang_ti.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7C20D2720200BC2E74 /* lang_ti.swift */; };
- 6470DC8520D2720400BC2E74 /* lang_ti.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7C20D2720200BC2E74 /* lang_ti.swift */; };
- 6470DC8620D2720400BC2E74 /* lang_ti.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7C20D2720200BC2E74 /* lang_ti.swift */; };
- 6470DC8720D2720400BC2E74 /* lang_ti.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7C20D2720200BC2E74 /* lang_ti.swift */; };
- 6470DC8820D2720400BC2E74 /* lang_ti.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7C20D2720200BC2E74 /* lang_ti.swift */; };
- 6470DC8920D2720400BC2E74 /* lang_hy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7D20D2720200BC2E74 /* lang_hy.swift */; };
- 6470DC8A20D2720400BC2E74 /* lang_hy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7D20D2720200BC2E74 /* lang_hy.swift */; };
- 6470DC8B20D2720400BC2E74 /* lang_hy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7D20D2720200BC2E74 /* lang_hy.swift */; };
- 6470DC8C20D2720400BC2E74 /* lang_hy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7D20D2720200BC2E74 /* lang_hy.swift */; };
- 6470DC8D20D2720400BC2E74 /* lang_hy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7D20D2720200BC2E74 /* lang_hy.swift */; };
- 6470DC8E20D2720400BC2E74 /* lang_sd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7E20D2720200BC2E74 /* lang_sd.swift */; };
- 6470DC8F20D2720400BC2E74 /* lang_sd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7E20D2720200BC2E74 /* lang_sd.swift */; };
- 6470DC9020D2720400BC2E74 /* lang_sd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7E20D2720200BC2E74 /* lang_sd.swift */; };
- 6470DC9120D2720400BC2E74 /* lang_sd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7E20D2720200BC2E74 /* lang_sd.swift */; };
- 6470DC9220D2720400BC2E74 /* lang_sd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7E20D2720200BC2E74 /* lang_sd.swift */; };
- 6470DC9320D2720400BC2E74 /* lang_bn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7F20D2720200BC2E74 /* lang_bn.swift */; };
- 6470DC9420D2720400BC2E74 /* lang_bn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7F20D2720200BC2E74 /* lang_bn.swift */; };
- 6470DC9520D2720400BC2E74 /* lang_bn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7F20D2720200BC2E74 /* lang_bn.swift */; };
- 6470DC9620D2720400BC2E74 /* lang_bn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7F20D2720200BC2E74 /* lang_bn.swift */; };
- 6470DC9720D2720400BC2E74 /* lang_bn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA7F20D2720200BC2E74 /* lang_bn.swift */; };
- 6470DC9820D2720400BC2E74 /* lang_eu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8020D2720300BC2E74 /* lang_eu.swift */; };
- 6470DC9920D2720400BC2E74 /* lang_eu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8020D2720300BC2E74 /* lang_eu.swift */; };
- 6470DC9A20D2720400BC2E74 /* lang_eu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8020D2720300BC2E74 /* lang_eu.swift */; };
- 6470DC9B20D2720400BC2E74 /* lang_eu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8020D2720300BC2E74 /* lang_eu.swift */; };
- 6470DC9C20D2720400BC2E74 /* lang_eu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8020D2720300BC2E74 /* lang_eu.swift */; };
- 6470DC9D20D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8120D2720300BC2E74 /* lang_zh_Hans_SG.swift */; };
- 6470DC9E20D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8120D2720300BC2E74 /* lang_zh_Hans_SG.swift */; };
- 6470DC9F20D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8120D2720300BC2E74 /* lang_zh_Hans_SG.swift */; };
- 6470DCA020D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8120D2720300BC2E74 /* lang_zh_Hans_SG.swift */; };
- 6470DCA120D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8120D2720300BC2E74 /* lang_zh_Hans_SG.swift */; };
- 6470DCA220D2720400BC2E74 /* lang_ug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8220D2720300BC2E74 /* lang_ug.swift */; };
- 6470DCA320D2720400BC2E74 /* lang_ug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8220D2720300BC2E74 /* lang_ug.swift */; };
- 6470DCA420D2720400BC2E74 /* lang_ug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8220D2720300BC2E74 /* lang_ug.swift */; };
- 6470DCA520D2720400BC2E74 /* lang_ug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8220D2720300BC2E74 /* lang_ug.swift */; };
- 6470DCA620D2720400BC2E74 /* lang_ug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8220D2720300BC2E74 /* lang_ug.swift */; };
- 6470DCA720D2720400BC2E74 /* lang_kn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8320D2720300BC2E74 /* lang_kn.swift */; };
- 6470DCA820D2720400BC2E74 /* lang_kn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8320D2720300BC2E74 /* lang_kn.swift */; };
- 6470DCA920D2720400BC2E74 /* lang_kn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8320D2720300BC2E74 /* lang_kn.swift */; };
- 6470DCAA20D2720400BC2E74 /* lang_kn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8320D2720300BC2E74 /* lang_kn.swift */; };
- 6470DCAB20D2720400BC2E74 /* lang_kn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8320D2720300BC2E74 /* lang_kn.swift */; };
- 6470DCAC20D2720400BC2E74 /* lang_sw.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8420D2720300BC2E74 /* lang_sw.swift */; };
- 6470DCAD20D2720400BC2E74 /* lang_sw.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8420D2720300BC2E74 /* lang_sw.swift */; };
- 6470DCAE20D2720400BC2E74 /* lang_sw.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8420D2720300BC2E74 /* lang_sw.swift */; };
- 6470DCAF20D2720400BC2E74 /* lang_sw.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8420D2720300BC2E74 /* lang_sw.swift */; };
- 6470DCB020D2720400BC2E74 /* lang_sw.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8420D2720300BC2E74 /* lang_sw.swift */; };
- 6470DCB120D2720400BC2E74 /* lang_km.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8520D2720300BC2E74 /* lang_km.swift */; };
- 6470DCB220D2720400BC2E74 /* lang_km.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8520D2720300BC2E74 /* lang_km.swift */; };
- 6470DCB320D2720400BC2E74 /* lang_km.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8520D2720300BC2E74 /* lang_km.swift */; };
- 6470DCB420D2720400BC2E74 /* lang_km.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8520D2720300BC2E74 /* lang_km.swift */; };
- 6470DCB520D2720400BC2E74 /* lang_km.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8520D2720300BC2E74 /* lang_km.swift */; };
- 6470DCB620D2720400BC2E74 /* lang_nn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8620D2720300BC2E74 /* lang_nn.swift */; };
- 6470DCB720D2720400BC2E74 /* lang_nn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8620D2720300BC2E74 /* lang_nn.swift */; };
- 6470DCB820D2720400BC2E74 /* lang_nn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8620D2720300BC2E74 /* lang_nn.swift */; };
- 6470DCB920D2720400BC2E74 /* lang_nn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8620D2720300BC2E74 /* lang_nn.swift */; };
- 6470DCBA20D2720400BC2E74 /* lang_nn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8620D2720300BC2E74 /* lang_nn.swift */; };
- 6470DCBB20D2720400BC2E74 /* lang_es_MX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8720D2720300BC2E74 /* lang_es_MX.swift */; };
- 6470DCBC20D2720400BC2E74 /* lang_es_MX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8720D2720300BC2E74 /* lang_es_MX.swift */; };
- 6470DCBD20D2720400BC2E74 /* lang_es_MX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8720D2720300BC2E74 /* lang_es_MX.swift */; };
- 6470DCBE20D2720400BC2E74 /* lang_es_MX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8720D2720300BC2E74 /* lang_es_MX.swift */; };
- 6470DCBF20D2720400BC2E74 /* lang_es_MX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8720D2720300BC2E74 /* lang_es_MX.swift */; };
- 6470DCC020D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8820D2720300BC2E74 /* lang_zh_Hant_MO.swift */; };
- 6470DCC120D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8820D2720300BC2E74 /* lang_zh_Hant_MO.swift */; };
- 6470DCC220D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8820D2720300BC2E74 /* lang_zh_Hant_MO.swift */; };
- 6470DCC320D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8820D2720300BC2E74 /* lang_zh_Hant_MO.swift */; };
- 6470DCC420D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8820D2720300BC2E74 /* lang_zh_Hant_MO.swift */; };
- 6470DCC520D2720400BC2E74 /* lang_te.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8920D2720300BC2E74 /* lang_te.swift */; };
- 6470DCC620D2720400BC2E74 /* lang_te.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8920D2720300BC2E74 /* lang_te.swift */; };
- 6470DCC720D2720400BC2E74 /* lang_te.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8920D2720300BC2E74 /* lang_te.swift */; };
- 6470DCC820D2720400BC2E74 /* lang_te.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8920D2720300BC2E74 /* lang_te.swift */; };
- 6470DCC920D2720400BC2E74 /* lang_te.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8920D2720300BC2E74 /* lang_te.swift */; };
- 6470DCCA20D2720400BC2E74 /* lang_zh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8A20D2720300BC2E74 /* lang_zh.swift */; };
- 6470DCCB20D2720400BC2E74 /* lang_zh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8A20D2720300BC2E74 /* lang_zh.swift */; };
- 6470DCCC20D2720400BC2E74 /* lang_zh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8A20D2720300BC2E74 /* lang_zh.swift */; };
- 6470DCCD20D2720400BC2E74 /* lang_zh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8A20D2720300BC2E74 /* lang_zh.swift */; };
- 6470DCCE20D2720400BC2E74 /* lang_zh.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8A20D2720300BC2E74 /* lang_zh.swift */; };
- 6470DCCF20D2720400BC2E74 /* lang_sq.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8B20D2720300BC2E74 /* lang_sq.swift */; };
- 6470DCD020D2720400BC2E74 /* lang_sq.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8B20D2720300BC2E74 /* lang_sq.swift */; };
- 6470DCD120D2720400BC2E74 /* lang_sq.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8B20D2720300BC2E74 /* lang_sq.swift */; };
- 6470DCD220D2720400BC2E74 /* lang_sq.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8B20D2720300BC2E74 /* lang_sq.swift */; };
- 6470DCD320D2720400BC2E74 /* lang_sq.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8B20D2720300BC2E74 /* lang_sq.swift */; };
- 6470DCD420D2720400BC2E74 /* lang_ko.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8C20D2720300BC2E74 /* lang_ko.swift */; };
- 6470DCD520D2720400BC2E74 /* lang_ko.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8C20D2720300BC2E74 /* lang_ko.swift */; };
- 6470DCD620D2720400BC2E74 /* lang_ko.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8C20D2720300BC2E74 /* lang_ko.swift */; };
- 6470DCD720D2720400BC2E74 /* lang_ko.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8C20D2720300BC2E74 /* lang_ko.swift */; };
- 6470DCD820D2720400BC2E74 /* lang_ko.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8C20D2720300BC2E74 /* lang_ko.swift */; };
- 6470DCD920D2720400BC2E74 /* lang_es.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8D20D2720400BC2E74 /* lang_es.swift */; };
- 6470DCDA20D2720400BC2E74 /* lang_es.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8D20D2720400BC2E74 /* lang_es.swift */; };
- 6470DCDB20D2720400BC2E74 /* lang_es.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8D20D2720400BC2E74 /* lang_es.swift */; };
- 6470DCDC20D2720400BC2E74 /* lang_es.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8D20D2720400BC2E74 /* lang_es.swift */; };
- 6470DCDD20D2720400BC2E74 /* lang_es.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8D20D2720400BC2E74 /* lang_es.swift */; };
- 6470DCDE20D2720400BC2E74 /* lang_fo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8E20D2720400BC2E74 /* lang_fo.swift */; };
- 6470DCDF20D2720400BC2E74 /* lang_fo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8E20D2720400BC2E74 /* lang_fo.swift */; };
- 6470DCE020D2720500BC2E74 /* lang_fo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8E20D2720400BC2E74 /* lang_fo.swift */; };
- 6470DCE120D2720500BC2E74 /* lang_fo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8E20D2720400BC2E74 /* lang_fo.swift */; };
- 6470DCE220D2720500BC2E74 /* lang_fo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8E20D2720400BC2E74 /* lang_fo.swift */; };
- 6470DCE320D2720500BC2E74 /* lang_bs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8F20D2720400BC2E74 /* lang_bs.swift */; };
- 6470DCE420D2720500BC2E74 /* lang_bs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8F20D2720400BC2E74 /* lang_bs.swift */; };
- 6470DCE520D2720500BC2E74 /* lang_bs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8F20D2720400BC2E74 /* lang_bs.swift */; };
- 6470DCE620D2720500BC2E74 /* lang_bs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8F20D2720400BC2E74 /* lang_bs.swift */; };
- 6470DCE720D2720500BC2E74 /* lang_bs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA8F20D2720400BC2E74 /* lang_bs.swift */; };
- 6470DCE820D2720500BC2E74 /* lang_sr_Latn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9020D2720400BC2E74 /* lang_sr_Latn.swift */; };
- 6470DCE920D2720500BC2E74 /* lang_sr_Latn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9020D2720400BC2E74 /* lang_sr_Latn.swift */; };
- 6470DCEA20D2720500BC2E74 /* lang_sr_Latn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9020D2720400BC2E74 /* lang_sr_Latn.swift */; };
- 6470DCEB20D2720500BC2E74 /* lang_sr_Latn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9020D2720400BC2E74 /* lang_sr_Latn.swift */; };
- 6470DCEC20D2720500BC2E74 /* lang_sr_Latn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9020D2720400BC2E74 /* lang_sr_Latn.swift */; };
- 6470DCED20D2720500BC2E74 /* lang_ru.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9120D2720400BC2E74 /* lang_ru.swift */; };
- 6470DCEE20D2720500BC2E74 /* lang_ru.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9120D2720400BC2E74 /* lang_ru.swift */; };
- 6470DCEF20D2720500BC2E74 /* lang_ru.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9120D2720400BC2E74 /* lang_ru.swift */; };
- 6470DCF020D2720500BC2E74 /* lang_ru.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9120D2720400BC2E74 /* lang_ru.swift */; };
- 6470DCF120D2720500BC2E74 /* lang_ru.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9120D2720400BC2E74 /* lang_ru.swift */; };
- 6470DCF220D2720500BC2E74 /* lang_pt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9220D2720400BC2E74 /* lang_pt.swift */; };
- 6470DCF320D2720500BC2E74 /* lang_pt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9220D2720400BC2E74 /* lang_pt.swift */; };
- 6470DCF420D2720500BC2E74 /* lang_pt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9220D2720400BC2E74 /* lang_pt.swift */; };
- 6470DCF520D2720500BC2E74 /* lang_pt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9220D2720400BC2E74 /* lang_pt.swift */; };
- 6470DCF620D2720500BC2E74 /* lang_pt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9220D2720400BC2E74 /* lang_pt.swift */; };
- 6470DCF720D2720500BC2E74 /* lang_fa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9320D2720400BC2E74 /* lang_fa.swift */; };
- 6470DCF820D2720500BC2E74 /* lang_fa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9320D2720400BC2E74 /* lang_fa.swift */; };
- 6470DCF920D2720500BC2E74 /* lang_fa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9320D2720400BC2E74 /* lang_fa.swift */; };
- 6470DCFA20D2720500BC2E74 /* lang_fa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9320D2720400BC2E74 /* lang_fa.swift */; };
- 6470DCFB20D2720500BC2E74 /* lang_fa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9320D2720400BC2E74 /* lang_fa.swift */; };
- 6470DCFC20D2720500BC2E74 /* lang_hi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9420D2720400BC2E74 /* lang_hi.swift */; };
- 6470DCFD20D2720500BC2E74 /* lang_hi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9420D2720400BC2E74 /* lang_hi.swift */; };
- 6470DCFE20D2720500BC2E74 /* lang_hi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9420D2720400BC2E74 /* lang_hi.swift */; };
- 6470DCFF20D2720500BC2E74 /* lang_hi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9420D2720400BC2E74 /* lang_hi.swift */; };
- 6470DD0020D2720500BC2E74 /* lang_hi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DA9420D2720400BC2E74 /* lang_hi.swift */; };
6470DD1420D27AF500BC2E74 /* String+Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DD1320D27AF500BC2E74 /* String+Parser.swift */; };
6470DD1520D27AF500BC2E74 /* String+Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DD1320D27AF500BC2E74 /* String+Parser.swift */; };
6470DD1620D27AF500BC2E74 /* String+Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6470DD1320D27AF500BC2E74 /* String+Parser.swift */; };
@@ -700,6 +80,16 @@
647AD65C21F4851F00CF787E /* TestDataStructures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647AD65B21F4851F00CF787E /* TestDataStructures.swift */; };
647AD65D21F4851F00CF787E /* TestDataStructures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647AD65B21F4851F00CF787E /* TestDataStructures.swift */; };
647AD65E21F4851F00CF787E /* TestDataStructures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647AD65B21F4851F00CF787E /* TestDataStructures.swift */; };
+ 64990AF82286FC31006C427D /* langs in Resources */ = {isa = PBXBuildFile; fileRef = 64990AF72286FC31006C427D /* langs */; };
+ 64990AF92286FC31006C427D /* langs in Resources */ = {isa = PBXBuildFile; fileRef = 64990AF72286FC31006C427D /* langs */; };
+ 64990AFA2286FC31006C427D /* langs in Resources */ = {isa = PBXBuildFile; fileRef = 64990AF72286FC31006C427D /* langs */; };
+ 64990AFB2286FC31006C427D /* langs in Resources */ = {isa = PBXBuildFile; fileRef = 64990AF72286FC31006C427D /* langs */; };
+ 64990AFC2286FC31006C427D /* langs in Resources */ = {isa = PBXBuildFile; fileRef = 64990AF72286FC31006C427D /* langs */; };
+ 649D0E032287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D0E022287412C0056D42E /* RelativeFormatterLanguage.swift */; };
+ 649D0E042287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D0E022287412C0056D42E /* RelativeFormatterLanguage.swift */; };
+ 649D0E052287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D0E022287412C0056D42E /* RelativeFormatterLanguage.swift */; };
+ 649D0E062287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D0E022287412C0056D42E /* RelativeFormatterLanguage.swift */; };
+ 649D0E072287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D0E022287412C0056D42E /* RelativeFormatterLanguage.swift */; };
649D473B20C81A2A00513A67 /* DateRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D473A20C81A2A00513A67 /* DateRepresentable.swift */; };
649D473C20C81A2A00513A67 /* DateRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D473A20C81A2A00513A67 /* DateRepresentable.swift */; };
649D473D20C81A2A00513A67 /* DateRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 649D473A20C81A2A00513A67 /* DateRepresentable.swift */; };
@@ -890,130 +280,6 @@
6439231D20D90CB10098EC03 /* TestDateInRegion+Components.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TestDateInRegion+Components.swift"; sourceTree = ""; };
6439232120D912670098EC03 /* TestDateInRegion+Math.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TestDateInRegion+Math.swift"; sourceTree = ""; };
6439232520D91D170098EC03 /* TestFormatters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestFormatters.swift; sourceTree = ""; };
- 6470DA1920D271F900BC2E74 /* lang_ca.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ca.swift; sourceTree = ""; };
- 6470DA1A20D271F900BC2E74 /* lang_kl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_kl.swift; sourceTree = ""; };
- 6470DA1B20D271F900BC2E74 /* lang_nb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_nb.swift; sourceTree = ""; };
- 6470DA1C20D271FA00BC2E74 /* lang_fr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fr.swift; sourceTree = ""; };
- 6470DA1D20D271FA00BC2E74 /* lang_ky.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ky.swift; sourceTree = ""; };
- 6470DA1E20D271FA00BC2E74 /* lang_zh_Hant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zh_Hant.swift; sourceTree = ""; };
- 6470DA1F20D271FA00BC2E74 /* lang_ne.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ne.swift; sourceTree = ""; };
- 6470DA2020D271FA00BC2E74 /* lang_sk.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sk.swift; sourceTree = ""; };
- 6470DA2120D271FA00BC2E74 /* lang_kok.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_kok.swift; sourceTree = ""; };
- 6470DA2220D271FA00BC2E74 /* lang_hr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_hr.swift; sourceTree = ""; };
- 6470DA2320D271FA00BC2E74 /* lang_lkt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_lkt.swift; sourceTree = ""; };
- 6470DA2420D271FA00BC2E74 /* lang_si.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_si.swift; sourceTree = ""; };
- 6470DA2520D271FA00BC2E74 /* lang_as.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_as.swift; sourceTree = ""; };
- 6470DA2620D271FA00BC2E74 /* lang_es_PY.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_es_PY.swift; sourceTree = ""; };
- 6470DA2720D271FA00BC2E74 /* lang_es_US.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_es_US.swift; sourceTree = ""; };
- 6470DA2820D271FA00BC2E74 /* lang_id.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_id.swift; sourceTree = ""; };
- 6470DA2920D271FA00BC2E74 /* lang_tr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_tr.swift; sourceTree = ""; };
- 6470DA2A20D271FB00BC2E74 /* lang_lb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_lb.swift; sourceTree = ""; };
- 6470DA2B20D271FB00BC2E74 /* lang_sv.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sv.swift; sourceTree = ""; };
- 6470DA2C20D271FB00BC2E74 /* lang_es_AR.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_es_AR.swift; sourceTree = ""; };
- 6470DA2D20D271FB00BC2E74 /* lang_ml.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ml.swift; sourceTree = ""; };
- 6470DA2E20D271FB00BC2E74 /* lang_fy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fy.swift; sourceTree = ""; };
- 6470DA2F20D271FB00BC2E74 /* lang_zh_Hant_HK.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zh_Hant_HK.swift; sourceTree = ""; };
- 6470DA3020D271FB00BC2E74 /* lang_de.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_de.swift; sourceTree = ""; };
- 6470DA3120D271FB00BC2E74 /* lang_hu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_hu.swift; sourceTree = ""; };
- 6470DA3220D271FB00BC2E74 /* lang_ta.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ta.swift; sourceTree = ""; };
- 6470DA3320D271FB00BC2E74 /* lang_en.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_en.swift; sourceTree = ""; };
- 6470DA3420D271FB00BC2E74 /* lang_uz.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_uz.swift; sourceTree = ""; };
- 6470DA3520D271FB00BC2E74 /* lang_lv.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_lv.swift; sourceTree = ""; };
- 6470DA3620D271FC00BC2E74 /* lang_fil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fil.swift; sourceTree = ""; };
- 6470DA3720D271FC00BC2E74 /* lang_da.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_da.swift; sourceTree = ""; };
- 6470DA3820D271FC00BC2E74 /* lang_yue_Hans.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_yue_Hans.swift; sourceTree = ""; };
- 6470DA3920D271FC00BC2E74 /* lang_zh_Hans_MO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zh_Hans_MO.swift; sourceTree = ""; };
- 6470DA3A20D271FC00BC2E74 /* lang_lt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_lt.swift; sourceTree = ""; };
- 6470DA3B20D271FC00BC2E74 /* lang_ee.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ee.swift; sourceTree = ""; };
- 6470DA3C20D271FC00BC2E74 /* lang_zu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zu.swift; sourceTree = ""; };
- 6470DA3D20D271FD00BC2E74 /* lang_ur_IN.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ur_IN.swift; sourceTree = ""; };
- 6470DA3E20D271FD00BC2E74 /* lang_hsb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_hsb.swift; sourceTree = ""; };
- 6470DA3F20D271FD00BC2E74 /* lang_my.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_my.swift; sourceTree = ""; };
- 6470DA4020D271FD00BC2E74 /* lang_fr_CA.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fr_CA.swift; sourceTree = ""; };
- 6470DA4120D271FD00BC2E74 /* lang_mk.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_mk.swift; sourceTree = ""; };
- 6470DA4220D271FD00BC2E74 /* lang_yue_Hant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_yue_Hant.swift; sourceTree = ""; };
- 6470DA4320D271FD00BC2E74 /* lang_or.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_or.swift; sourceTree = ""; };
- 6470DA4420D271FD00BC2E74 /* lang_kk.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_kk.swift; sourceTree = ""; };
- 6470DA4520D271FE00BC2E74 /* lang_ksh.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ksh.swift; sourceTree = ""; };
- 6470DA4620D271FE00BC2E74 /* lang_sah.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sah.swift; sourceTree = ""; };
- 6470DA4720D271FE00BC2E74 /* lang_cs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_cs.swift; sourceTree = ""; };
- 6470DA4820D271FE00BC2E74 /* lang_ro.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ro.swift; sourceTree = ""; };
- 6470DA4920D271FE00BC2E74 /* lang_ar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ar.swift; sourceTree = ""; };
- 6470DA4A20D271FE00BC2E74 /* lang_kea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_kea.swift; sourceTree = ""; };
- 6470DA4B20D271FE00BC2E74 /* lang_af.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_af.swift; sourceTree = ""; };
- 6470DA4C20D271FE00BC2E74 /* lang_zh_Hans_HK.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zh_Hans_HK.swift; sourceTree = ""; };
- 6470DA4D20D271FF00BC2E74 /* lang_se.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_se.swift; sourceTree = ""; };
- 6470DA4E20D271FF00BC2E74 /* lang_el.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_el.swift; sourceTree = ""; };
- 6470DA4F20D271FF00BC2E74 /* lang_ja.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ja.swift; sourceTree = ""; };
- 6470DA5020D271FF00BC2E74 /* lang_mzn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_mzn.swift; sourceTree = ""; };
- 6470DA5120D271FF00BC2E74 /* lang_fur.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fur.swift; sourceTree = ""; };
- 6470DA5220D271FF00BC2E74 /* lang_it.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_it.swift; sourceTree = ""; };
- 6470DA5320D271FF00BC2E74 /* lang_tk.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_tk.swift; sourceTree = ""; };
- 6470DA5420D271FF00BC2E74 /* lang_is.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_is.swift; sourceTree = ""; };
- 6470DA5520D271FF00BC2E74 /* lang_sl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sl.swift; sourceTree = ""; };
- 6470DA5620D2720000BC2E74 /* lang_ka.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ka.swift; sourceTree = ""; };
- 6470DA5720D2720000BC2E74 /* lang_cy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_cy.swift; sourceTree = ""; };
- 6470DA5820D2720000BC2E74 /* lang_ur.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ur.swift; sourceTree = ""; };
- 6470DA5920D2720000BC2E74 /* lang_uz_Cyrl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_uz_Cyrl.swift; sourceTree = ""; };
- 6470DA5A20D2720000BC2E74 /* lang_dz.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_dz.swift; sourceTree = ""; };
- 6470DA5B20D2720000BC2E74 /* lang_ms.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ms.swift; sourceTree = ""; };
- 6470DA5C20D2720000BC2E74 /* lang_gd.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_gd.swift; sourceTree = ""; };
- 6470DA5D20D2720000BC2E74 /* lang_ps.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ps.swift; sourceTree = ""; };
- 6470DA5E20D2720000BC2E74 /* lang_uk.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_uk.swift; sourceTree = ""; };
- 6470DA5F20D2720000BC2E74 /* lang_pl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_pl.swift; sourceTree = ""; };
- 6470DA6020D2720000BC2E74 /* lang_az.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_az.swift; sourceTree = ""; };
- 6470DA6120D2720100BC2E74 /* lang_jgo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_jgo.swift; sourceTree = ""; };
- 6470DA6220D2720100BC2E74 /* lang_bg.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_bg.swift; sourceTree = ""; };
- 6470DA6320D2720100BC2E74 /* lang_to.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_to.swift; sourceTree = ""; };
- 6470DA6420D2720100BC2E74 /* lang_yi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_yi.swift; sourceTree = ""; };
- 6470DA6520D2720100BC2E74 /* lang_se_FI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_se_FI.swift; sourceTree = ""; };
- 6470DA6620D2720100BC2E74 /* lang_dsb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_dsb.swift; sourceTree = ""; };
- 6470DA6720D2720100BC2E74 /* lang_bsCyrl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_bsCyrl.swift; sourceTree = ""; };
- 6470DA6820D2720100BC2E74 /* lang_mr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_mr.swift; sourceTree = ""; };
- 6470DA6920D2720100BC2E74 /* lang_nl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_nl.swift; sourceTree = ""; };
- 6470DA6A20D2720100BC2E74 /* lang_vi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_vi.swift; sourceTree = ""; };
- 6470DA6B20D2720100BC2E74 /* lang_am.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_am.swift; sourceTree = ""; };
- 6470DA6C20D2720100BC2E74 /* lang_pa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_pa.swift; sourceTree = ""; };
- 6470DA6D20D2720100BC2E74 /* lang_wae.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_wae.swift; sourceTree = ""; };
- 6470DA6E20D2720100BC2E74 /* lang_be.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_be.swift; sourceTree = ""; };
- 6470DA6F20D2720100BC2E74 /* lang_ga.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ga.swift; sourceTree = ""; };
- 6470DA7020D2720200BC2E74 /* lang_gl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_gl.swift; sourceTree = ""; };
- 6470DA7120D2720200BC2E74 /* lang_gu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_gu.swift; sourceTree = ""; };
- 6470DA7220D2720200BC2E74 /* lang_ar_AE.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ar_AE.swift; sourceTree = ""; };
- 6470DA7320D2720200BC2E74 /* lang_lo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_lo.swift; sourceTree = ""; };
- 6470DA7420D2720200BC2E74 /* lang_mt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_mt.swift; sourceTree = ""; };
- 6470DA7520D2720200BC2E74 /* lang_fi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fi.swift; sourceTree = ""; };
- 6470DA7620D2720200BC2E74 /* lang_br.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_br.swift; sourceTree = ""; };
- 6470DA7720D2720200BC2E74 /* lang_sr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sr.swift; sourceTree = ""; };
- 6470DA7820D2720200BC2E74 /* lang_mn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_mn.swift; sourceTree = ""; };
- 6470DA7920D2720200BC2E74 /* lang_th.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_th.swift; sourceTree = ""; };
- 6470DA7A20D2720200BC2E74 /* lang_et.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_et.swift; sourceTree = ""; };
- 6470DA7B20D2720200BC2E74 /* lang_he.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_he.swift; sourceTree = ""; };
- 6470DA7C20D2720200BC2E74 /* lang_ti.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ti.swift; sourceTree = ""; };
- 6470DA7D20D2720200BC2E74 /* lang_hy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_hy.swift; sourceTree = ""; };
- 6470DA7E20D2720200BC2E74 /* lang_sd.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sd.swift; sourceTree = ""; };
- 6470DA7F20D2720200BC2E74 /* lang_bn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_bn.swift; sourceTree = ""; };
- 6470DA8020D2720300BC2E74 /* lang_eu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_eu.swift; sourceTree = ""; };
- 6470DA8120D2720300BC2E74 /* lang_zh_Hans_SG.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zh_Hans_SG.swift; sourceTree = ""; };
- 6470DA8220D2720300BC2E74 /* lang_ug.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ug.swift; sourceTree = ""; };
- 6470DA8320D2720300BC2E74 /* lang_kn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_kn.swift; sourceTree = ""; };
- 6470DA8420D2720300BC2E74 /* lang_sw.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sw.swift; sourceTree = ""; };
- 6470DA8520D2720300BC2E74 /* lang_km.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_km.swift; sourceTree = ""; };
- 6470DA8620D2720300BC2E74 /* lang_nn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_nn.swift; sourceTree = ""; };
- 6470DA8720D2720300BC2E74 /* lang_es_MX.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_es_MX.swift; sourceTree = ""; };
- 6470DA8820D2720300BC2E74 /* lang_zh_Hant_MO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zh_Hant_MO.swift; sourceTree = ""; };
- 6470DA8920D2720300BC2E74 /* lang_te.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_te.swift; sourceTree = ""; };
- 6470DA8A20D2720300BC2E74 /* lang_zh.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_zh.swift; sourceTree = ""; };
- 6470DA8B20D2720300BC2E74 /* lang_sq.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sq.swift; sourceTree = ""; };
- 6470DA8C20D2720300BC2E74 /* lang_ko.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ko.swift; sourceTree = ""; };
- 6470DA8D20D2720400BC2E74 /* lang_es.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_es.swift; sourceTree = ""; };
- 6470DA8E20D2720400BC2E74 /* lang_fo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fo.swift; sourceTree = ""; };
- 6470DA8F20D2720400BC2E74 /* lang_bs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_bs.swift; sourceTree = ""; };
- 6470DA9020D2720400BC2E74 /* lang_sr_Latn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_sr_Latn.swift; sourceTree = ""; };
- 6470DA9120D2720400BC2E74 /* lang_ru.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_ru.swift; sourceTree = ""; };
- 6470DA9220D2720400BC2E74 /* lang_pt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_pt.swift; sourceTree = ""; };
- 6470DA9320D2720400BC2E74 /* lang_fa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_fa.swift; sourceTree = ""; };
- 6470DA9420D2720400BC2E74 /* lang_hi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = lang_hi.swift; sourceTree = ""; };
6470DD1320D27AF500BC2E74 /* String+Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Parser.swift"; sourceTree = ""; };
6470DD1920D296EA00BC2E74 /* TimeInterval+Formatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TimeInterval+Formatter.swift"; sourceTree = ""; };
6470DD2020D2A55300BC2E74 /* TimePeriodProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimePeriodProtocol.swift; sourceTree = ""; };
@@ -1021,6 +287,8 @@
647AD65521F4826100CF787E /* TimeStructures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeStructures.swift; sourceTree = ""; };
647AD65B21F4851F00CF787E /* TestDataStructures.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestDataStructures.swift; sourceTree = ""; };
647DA61A20D3FAB800E20E8C /* Documentation */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Documentation; sourceTree = ""; };
+ 64990AF72286FC31006C427D /* langs */ = {isa = PBXFileReference; lastKnownFileType = folder; path = langs; sourceTree = ""; };
+ 649D0E022287412C0056D42E /* RelativeFormatterLanguage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelativeFormatterLanguage.swift; sourceTree = ""; };
649D473A20C81A2A00513A67 /* DateRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DateRepresentable.swift; path = SwiftDate/DateRepresentable.swift; sourceTree = ""; };
649D474020C81A4200513A67 /* Date.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Date.swift; sourceTree = ""; };
649D474720C8241C00513A67 /* Commons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Commons.swift; sourceTree = ""; };
@@ -1254,142 +522,12 @@
children = (
649D47E020CAAB7400513A67 /* RelativeFormatter.swift */,
649D47ED20CAB96D00513A67 /* RelativeFormatter+Style.swift */,
- 64B38AEE20D1487B00C330DD /* languages */,
+ 649D0E022287412C0056D42E /* RelativeFormatterLanguage.swift */,
+ 64990AF72286FC31006C427D /* langs */,
);
path = RelativeFormatter;
sourceTree = "";
};
- 64B38AEE20D1487B00C330DD /* languages */ = {
- isa = PBXGroup;
- children = (
- 6470DA4B20D271FE00BC2E74 /* lang_af.swift */,
- 6470DA6B20D2720100BC2E74 /* lang_am.swift */,
- 6470DA7220D2720200BC2E74 /* lang_ar_AE.swift */,
- 6470DA4920D271FE00BC2E74 /* lang_ar.swift */,
- 6470DA2520D271FA00BC2E74 /* lang_as.swift */,
- 6470DA6020D2720000BC2E74 /* lang_az.swift */,
- 6470DA6E20D2720100BC2E74 /* lang_be.swift */,
- 6470DA6220D2720100BC2E74 /* lang_bg.swift */,
- 6470DA7F20D2720200BC2E74 /* lang_bn.swift */,
- 6470DA7620D2720200BC2E74 /* lang_br.swift */,
- 6470DA8F20D2720400BC2E74 /* lang_bs.swift */,
- 6470DA6720D2720100BC2E74 /* lang_bsCyrl.swift */,
- 6470DA1920D271F900BC2E74 /* lang_ca.swift */,
- 6470DA4720D271FE00BC2E74 /* lang_cs.swift */,
- 6470DA5720D2720000BC2E74 /* lang_cy.swift */,
- 6470DA3720D271FC00BC2E74 /* lang_da.swift */,
- 6470DA3020D271FB00BC2E74 /* lang_de.swift */,
- 6470DA6620D2720100BC2E74 /* lang_dsb.swift */,
- 6470DA5A20D2720000BC2E74 /* lang_dz.swift */,
- 6470DA3B20D271FC00BC2E74 /* lang_ee.swift */,
- 6470DA4E20D271FF00BC2E74 /* lang_el.swift */,
- 6470DA3320D271FB00BC2E74 /* lang_en.swift */,
- 6470DA2C20D271FB00BC2E74 /* lang_es_AR.swift */,
- 6470DA8720D2720300BC2E74 /* lang_es_MX.swift */,
- 6470DA2620D271FA00BC2E74 /* lang_es_PY.swift */,
- 6470DA2720D271FA00BC2E74 /* lang_es_US.swift */,
- 6470DA8D20D2720400BC2E74 /* lang_es.swift */,
- 6470DA7A20D2720200BC2E74 /* lang_et.swift */,
- 6470DA8020D2720300BC2E74 /* lang_eu.swift */,
- 6470DA9320D2720400BC2E74 /* lang_fa.swift */,
- 6470DA7520D2720200BC2E74 /* lang_fi.swift */,
- 6470DA3620D271FC00BC2E74 /* lang_fil.swift */,
- 6470DA8E20D2720400BC2E74 /* lang_fo.swift */,
- 6470DA4020D271FD00BC2E74 /* lang_fr_CA.swift */,
- 6470DA1C20D271FA00BC2E74 /* lang_fr.swift */,
- 6470DA5120D271FF00BC2E74 /* lang_fur.swift */,
- 6470DA2E20D271FB00BC2E74 /* lang_fy.swift */,
- 6470DA6F20D2720100BC2E74 /* lang_ga.swift */,
- 6470DA5C20D2720000BC2E74 /* lang_gd.swift */,
- 6470DA7020D2720200BC2E74 /* lang_gl.swift */,
- 6470DA7120D2720200BC2E74 /* lang_gu.swift */,
- 6470DA7B20D2720200BC2E74 /* lang_he.swift */,
- 6470DA9420D2720400BC2E74 /* lang_hi.swift */,
- 6470DA2220D271FA00BC2E74 /* lang_hr.swift */,
- 6470DA3E20D271FD00BC2E74 /* lang_hsb.swift */,
- 6470DA3120D271FB00BC2E74 /* lang_hu.swift */,
- 6470DA7D20D2720200BC2E74 /* lang_hy.swift */,
- 6470DA2820D271FA00BC2E74 /* lang_id.swift */,
- 6470DA5420D271FF00BC2E74 /* lang_is.swift */,
- 6470DA5220D271FF00BC2E74 /* lang_it.swift */,
- 6470DA4F20D271FF00BC2E74 /* lang_ja.swift */,
- 6470DA6120D2720100BC2E74 /* lang_jgo.swift */,
- 6470DA5620D2720000BC2E74 /* lang_ka.swift */,
- 6470DA4A20D271FE00BC2E74 /* lang_kea.swift */,
- 6470DA4420D271FD00BC2E74 /* lang_kk.swift */,
- 6470DA1A20D271F900BC2E74 /* lang_kl.swift */,
- 6470DA8520D2720300BC2E74 /* lang_km.swift */,
- 6470DA8320D2720300BC2E74 /* lang_kn.swift */,
- 6470DA8C20D2720300BC2E74 /* lang_ko.swift */,
- 6470DA2120D271FA00BC2E74 /* lang_kok.swift */,
- 6470DA4520D271FE00BC2E74 /* lang_ksh.swift */,
- 6470DA1D20D271FA00BC2E74 /* lang_ky.swift */,
- 6470DA2A20D271FB00BC2E74 /* lang_lb.swift */,
- 6470DA2320D271FA00BC2E74 /* lang_lkt.swift */,
- 6470DA7320D2720200BC2E74 /* lang_lo.swift */,
- 6470DA3A20D271FC00BC2E74 /* lang_lt.swift */,
- 6470DA3520D271FB00BC2E74 /* lang_lv.swift */,
- 6470DA4120D271FD00BC2E74 /* lang_mk.swift */,
- 6470DA2D20D271FB00BC2E74 /* lang_ml.swift */,
- 6470DA7820D2720200BC2E74 /* lang_mn.swift */,
- 6470DA6820D2720100BC2E74 /* lang_mr.swift */,
- 6470DA5B20D2720000BC2E74 /* lang_ms.swift */,
- 6470DA7420D2720200BC2E74 /* lang_mt.swift */,
- 6470DA3F20D271FD00BC2E74 /* lang_my.swift */,
- 6470DA5020D271FF00BC2E74 /* lang_mzn.swift */,
- 6470DA1B20D271F900BC2E74 /* lang_nb.swift */,
- 6470DA1F20D271FA00BC2E74 /* lang_ne.swift */,
- 6470DA6920D2720100BC2E74 /* lang_nl.swift */,
- 6470DA8620D2720300BC2E74 /* lang_nn.swift */,
- 6470DA4320D271FD00BC2E74 /* lang_or.swift */,
- 6470DA6C20D2720100BC2E74 /* lang_pa.swift */,
- 6470DA5F20D2720000BC2E74 /* lang_pl.swift */,
- 6470DA5D20D2720000BC2E74 /* lang_ps.swift */,
- 6470DA9220D2720400BC2E74 /* lang_pt.swift */,
- 6470DA4820D271FE00BC2E74 /* lang_ro.swift */,
- 6470DA9120D2720400BC2E74 /* lang_ru.swift */,
- 6470DA4620D271FE00BC2E74 /* lang_sah.swift */,
- 6470DA7E20D2720200BC2E74 /* lang_sd.swift */,
- 6470DA6520D2720100BC2E74 /* lang_se_FI.swift */,
- 6470DA4D20D271FF00BC2E74 /* lang_se.swift */,
- 6470DA2420D271FA00BC2E74 /* lang_si.swift */,
- 6470DA2020D271FA00BC2E74 /* lang_sk.swift */,
- 6470DA5520D271FF00BC2E74 /* lang_sl.swift */,
- 6470DA8B20D2720300BC2E74 /* lang_sq.swift */,
- 6470DA9020D2720400BC2E74 /* lang_sr_Latn.swift */,
- 6470DA7720D2720200BC2E74 /* lang_sr.swift */,
- 6470DA2B20D271FB00BC2E74 /* lang_sv.swift */,
- 6470DA8420D2720300BC2E74 /* lang_sw.swift */,
- 6470DA3220D271FB00BC2E74 /* lang_ta.swift */,
- 6470DA8920D2720300BC2E74 /* lang_te.swift */,
- 6470DA7920D2720200BC2E74 /* lang_th.swift */,
- 6470DA7C20D2720200BC2E74 /* lang_ti.swift */,
- 6470DA5320D271FF00BC2E74 /* lang_tk.swift */,
- 6470DA6320D2720100BC2E74 /* lang_to.swift */,
- 6470DA2920D271FA00BC2E74 /* lang_tr.swift */,
- 6470DA8220D2720300BC2E74 /* lang_ug.swift */,
- 6470DA5E20D2720000BC2E74 /* lang_uk.swift */,
- 6470DA3D20D271FD00BC2E74 /* lang_ur_IN.swift */,
- 6470DA5820D2720000BC2E74 /* lang_ur.swift */,
- 6470DA5920D2720000BC2E74 /* lang_uz_Cyrl.swift */,
- 6470DA3420D271FB00BC2E74 /* lang_uz.swift */,
- 6470DA6A20D2720100BC2E74 /* lang_vi.swift */,
- 6470DA6D20D2720100BC2E74 /* lang_wae.swift */,
- 6470DA6420D2720100BC2E74 /* lang_yi.swift */,
- 6470DA3820D271FC00BC2E74 /* lang_yue_Hans.swift */,
- 6470DA4220D271FD00BC2E74 /* lang_yue_Hant.swift */,
- 6470DA4C20D271FE00BC2E74 /* lang_zh_Hans_HK.swift */,
- 6470DA3920D271FC00BC2E74 /* lang_zh_Hans_MO.swift */,
- 6470DA8120D2720300BC2E74 /* lang_zh_Hans_SG.swift */,
- 6470DA2F20D271FB00BC2E74 /* lang_zh_Hant_HK.swift */,
- 6470DA8820D2720300BC2E74 /* lang_zh_Hant_MO.swift */,
- 6470DA1E20D271FA00BC2E74 /* lang_zh_Hant.swift */,
- 6470DA8A20D2720300BC2E74 /* lang_zh.swift */,
- 6470DA3C20D271FC00BC2E74 /* lang_zu.swift */,
- );
- path = languages;
- sourceTree = "";
- };
64B5E25E20D309210067EDC1 /* Groups */ = {
isa = PBXGroup;
children = (
@@ -1703,6 +841,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 64990AF82286FC31006C427D /* langs in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1717,6 +856,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 64990AFA2286FC31006C427D /* langs in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1724,6 +864,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 64990AFB2286FC31006C427D /* langs in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1731,6 +872,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 64990AF92286FC31006C427D /* langs in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1740,6 +882,7 @@
files = (
6434DD9920C809B4007626EF /* LaunchScreen.storyboard in Resources */,
6434DD9620C809B4007626EF /* Assets.xcassets in Resources */,
+ 64990AFC2286FC31006C427D /* langs in Resources */,
6434DD9420C809B3007626EF /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -1782,165 +925,42 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 6470DB7620D2720400BC2E74 /* lang_sah.swift in Sources */,
- 6470DB7B20D2720400BC2E74 /* lang_cs.swift in Sources */,
- 6470DCFC20D2720500BC2E74 /* lang_hi.swift in Sources */,
- 6470DCB120D2720400BC2E74 /* lang_km.swift in Sources */,
- 6470DAD620D2720400BC2E74 /* lang_es_PY.swift in Sources */,
64B5E26020D30AE40067EDC1 /* TimePeriodCollection.swift in Sources */,
649D473B20C81A2A00513A67 /* DateRepresentable.swift in Sources */,
- 6470DAA420D2720400BC2E74 /* lang_fr.swift in Sources */,
- 6470DB9920D2720400BC2E74 /* lang_se.swift in Sources */,
6470DD1420D27AF500BC2E74 /* String+Parser.swift in Sources */,
- 6470DBDF20D2720400BC2E74 /* lang_ms.swift in Sources */,
649D47E120CAAB7400513A67 /* RelativeFormatter.swift in Sources */,
6470DD2E20D2B64200BC2E74 /* TimePeriod+Support.swift in Sources */,
64B5E26620D30E620067EDC1 /* TimePeriodChain.swift in Sources */,
- 6470DCF220D2720500BC2E74 /* lang_pt.swift in Sources */,
- 6470DC7020D2720400BC2E74 /* lang_mn.swift in Sources */,
- 6470DC6B20D2720400BC2E74 /* lang_sr.swift in Sources */,
- 6470DB6220D2720400BC2E74 /* lang_yue_Hant.swift in Sources */,
- 6470DCAC20D2720400BC2E74 /* lang_sw.swift in Sources */,
649D474120C81A4200513A67 /* Date.swift in Sources */,
- 6470DC7520D2720400BC2E74 /* lang_th.swift in Sources */,
- 6470DC0220D2720400BC2E74 /* lang_bg.swift in Sources */,
649D476D20C85C7100513A67 /* ISOParser.swift in Sources */,
- 6470DB0D20D2720400BC2E74 /* lang_hu.swift in Sources */,
- 6470DB0820D2720400BC2E74 /* lang_de.swift in Sources */,
6434DD7C20C803EF007626EF /* SwiftDate.swift in Sources */,
- 6470DBB720D2720400BC2E74 /* lang_tk.swift in Sources */,
- 6470DAE520D2720400BC2E74 /* lang_tr.swift in Sources */,
+ 649D0E032287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */,
649D47BC20C959F500513A67 /* Date+Math.swift in Sources */,
649D47AA20C91C0B00513A67 /* Date+Compare.swift in Sources */,
6434DD7220C80126007626EF /* Calendars.swift in Sources */,
649D478520C8861200513A67 /* DateInRegion+Components.swift in Sources */,
- 6470DBE420D2720400BC2E74 /* lang_gd.swift in Sources */,
- 6470DBD520D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */,
- 6470DB6C20D2720400BC2E74 /* lang_kk.swift in Sources */,
- 6470DBAD20D2720400BC2E74 /* lang_fur.swift in Sources */,
- 6470DC8920D2720400BC2E74 /* lang_hy.swift in Sources */,
- 6470DCB620D2720400BC2E74 /* lang_nn.swift in Sources */,
- 6470DBBC20D2720400BC2E74 /* lang_is.swift in Sources */,
- 6470DC7F20D2720400BC2E74 /* lang_he.swift in Sources */,
- 6470DC6120D2720400BC2E74 /* lang_fi.swift in Sources */,
- 6470DC5C20D2720400BC2E74 /* lang_mt.swift in Sources */,
649D477920C877C300513A67 /* DateInRegion+Create.swift in Sources */,
647AD65621F4826100CF787E /* TimeStructures.swift in Sources */,
64B5E25320D306220067EDC1 /* TimePeriod.swift in Sources */,
- 6470DC6620D2720400BC2E74 /* lang_br.swift in Sources */,
- 6470DB5820D2720400BC2E74 /* lang_fr_CA.swift in Sources */,
- 6470DB3A20D2720400BC2E74 /* lang_lt.swift in Sources */,
- 6470DC2F20D2720400BC2E74 /* lang_am.swift in Sources */,
- 6470DB6720D2720400BC2E74 /* lang_or.swift in Sources */,
- 6470DB5D20D2720400BC2E74 /* lang_mk.swift in Sources */,
- 6470DBCB20D2720400BC2E74 /* lang_cy.swift in Sources */,
649D477F20C880DC00513A67 /* Date+Create.swift in Sources */,
- 6470DC3E20D2720400BC2E74 /* lang_be.swift in Sources */,
- 6470DB1C20D2720400BC2E74 /* lang_uz.swift in Sources */,
6470DD2120D2A55300BC2E74 /* TimePeriodProtocol.swift in Sources */,
- 6470DC9D20D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */,
- 6470DAFE20D2720400BC2E74 /* lang_fy.swift in Sources */,
649D474E20C827C400513A67 /* AssociatedValues.swift in Sources */,
- 6470DAE020D2720400BC2E74 /* lang_id.swift in Sources */,
- 6470DCD420D2720400BC2E74 /* lang_ko.swift in Sources */,
- 6470DACC20D2720400BC2E74 /* lang_si.swift in Sources */,
- 6470DC1B20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */,
- 6470DAEF20D2720400BC2E74 /* lang_sv.swift in Sources */,
- 6470DB9420D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */,
- 6470DB5320D2720400BC2E74 /* lang_my.swift in Sources */,
- 6470DBB220D2720400BC2E74 /* lang_it.swift in Sources */,
- 6470DB4920D2720400BC2E74 /* lang_ur_IN.swift in Sources */,
- 6470DA9A20D2720400BC2E74 /* lang_kl.swift in Sources */,
- 6470DB4420D2720400BC2E74 /* lang_zu.swift in Sources */,
- 6470DB0320D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */,
- 6470DB4E20D2720400BC2E74 /* lang_hsb.swift in Sources */,
- 6470DCA220D2720400BC2E74 /* lang_ug.swift in Sources */,
- 6470DCDE20D2720400BC2E74 /* lang_fo.swift in Sources */,
649D476120C8529500513A67 /* Formatter+Protocols.swift in Sources */,
- 6470DAB320D2720400BC2E74 /* lang_ne.swift in Sources */,
- 6470DB3F20D2720400BC2E74 /* lang_ee.swift in Sources */,
649D474820C8241C00513A67 /* Commons.swift in Sources */,
- 6470DAF420D2720400BC2E74 /* lang_es_AR.swift in Sources */,
- 6470DB7120D2720400BC2E74 /* lang_ksh.swift in Sources */,
6434DD7720C80263007626EF /* Locales.swift in Sources */,
- 6470DAF920D2720400BC2E74 /* lang_ml.swift in Sources */,
- 6470DC5720D2720400BC2E74 /* lang_lo.swift in Sources */,
- 6470DC3420D2720400BC2E74 /* lang_pa.swift in Sources */,
- 6470DB3020D2720400BC2E74 /* lang_yue_Hans.swift in Sources */,
- 6470DB1720D2720400BC2E74 /* lang_en.swift in Sources */,
- 6470DC9320D2720400BC2E74 /* lang_bn.swift in Sources */,
64B5E25920D3090A0067EDC1 /* TimePeriodGroup.swift in Sources */,
- 6470DC8420D2720400BC2E74 /* lang_ti.swift in Sources */,
- 6470DC3920D2720400BC2E74 /* lang_wae.swift in Sources */,
- 6470DCCF20D2720400BC2E74 /* lang_sq.swift in Sources */,
- 6470DBF320D2720400BC2E74 /* lang_pl.swift in Sources */,
- 6470DC4820D2720400BC2E74 /* lang_gl.swift in Sources */,
- 6470DC4D20D2720400BC2E74 /* lang_gu.swift in Sources */,
649D477320C872DA00513A67 /* DotNetParserFormatter.swift in Sources */,
6434DD6120C7FAF6007626EF /* DateInRegion.swift in Sources */,
- 6470DADB20D2720400BC2E74 /* lang_es_US.swift in Sources */,
- 6470DCE320D2720500BC2E74 /* lang_bs.swift in Sources */,
- 6470DB8020D2720400BC2E74 /* lang_ro.swift in Sources */,
- 6470DC1620D2720400BC2E74 /* lang_dsb.swift in Sources */,
- 6470DBEE20D2720400BC2E74 /* lang_uk.swift in Sources */,
- 6470DBFD20D2720400BC2E74 /* lang_jgo.swift in Sources */,
- 6470DCBB20D2720400BC2E74 /* lang_es_MX.swift in Sources */,
- 6470DAC220D2720400BC2E74 /* lang_hr.swift in Sources */,
- 6470DB8520D2720400BC2E74 /* lang_ar.swift in Sources */,
- 6470DB1220D2720400BC2E74 /* lang_ta.swift in Sources */,
- 6470DB2620D2720400BC2E74 /* lang_fil.swift in Sources */,
- 6470DC2520D2720400BC2E74 /* lang_nl.swift in Sources */,
- 6470DC5220D2720400BC2E74 /* lang_ar_AE.swift in Sources */,
- 6470DBDA20D2720400BC2E74 /* lang_dz.swift in Sources */,
- 6470DC0720D2720400BC2E74 /* lang_to.swift in Sources */,
- 6470DAD120D2720400BC2E74 /* lang_as.swift in Sources */,
- 6470DAAE20D2720400BC2E74 /* lang_zh_Hant.swift in Sources */,
- 6470DC2A20D2720400BC2E74 /* lang_vi.swift in Sources */,
- 6470DCE820D2720500BC2E74 /* lang_sr_Latn.swift in Sources */,
- 6470DCCA20D2720400BC2E74 /* lang_zh.swift in Sources */,
649D47B620C9586500513A67 /* DateInRegion+Math.swift in Sources */,
- 6470DAB820D2720400BC2E74 /* lang_sk.swift in Sources */,
- 6470DBF820D2720400BC2E74 /* lang_az.swift in Sources */,
- 6470DB3520D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */,
649D479220C913E200513A67 /* Date+Components.swift in Sources */,
- 6470DCC520D2720400BC2E74 /* lang_te.swift in Sources */,
- 6470DC2020D2720400BC2E74 /* lang_mr.swift in Sources */,
649D47EE20CAB96D00513A67 /* RelativeFormatter+Style.swift in Sources */,
- 6470DBE920D2720400BC2E74 /* lang_ps.swift in Sources */,
- 6470DC4320D2720400BC2E74 /* lang_ga.swift in Sources */,
- 6470DAC720D2720400BC2E74 /* lang_lkt.swift in Sources */,
6470DD1A20D296EA00BC2E74 /* TimeInterval+Formatter.swift in Sources */,
- 6470DB8F20D2720400BC2E74 /* lang_af.swift in Sources */,
- 6470DCC020D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */,
- 6470DB2120D2720400BC2E74 /* lang_lv.swift in Sources */,
- 6470DC0C20D2720400BC2E74 /* lang_yi.swift in Sources */,
- 6470DB2B20D2720400BC2E74 /* lang_da.swift in Sources */,
- 6470DCD920D2720400BC2E74 /* lang_es.swift in Sources */,
- 6470DABD20D2720400BC2E74 /* lang_kok.swift in Sources */,
6434DD6720C7FC6A007626EF /* Region.swift in Sources */,
- 6470DC9820D2720400BC2E74 /* lang_eu.swift in Sources */,
- 6470DAA920D2720400BC2E74 /* lang_ky.swift in Sources */,
- 6470DC7A20D2720400BC2E74 /* lang_et.swift in Sources */,
649D47A420C91BEA00513A67 /* DateInRegion+Compare.swift in Sources */,
649D47C220C964E000513A67 /* Int+DateComponents.swift in Sources */,
- 6470DAEA20D2720400BC2E74 /* lang_lb.swift in Sources */,
649D47B020C9276400513A67 /* DateComponents+Extras.swift in Sources */,
- 6470DB9E20D2720400BC2E74 /* lang_el.swift in Sources */,
- 6470DC8E20D2720400BC2E74 /* lang_sd.swift in Sources */,
- 6470DB8A20D2720400BC2E74 /* lang_kea.swift in Sources */,
- 6470DA9520D2720400BC2E74 /* lang_ca.swift in Sources */,
649D475A20C84FAC00513A67 /* ISOFormatter.swift in Sources */,
- 6470DBA320D2720400BC2E74 /* lang_ja.swift in Sources */,
6434DD6D20C7FEED007626EF /* Zones.swift in Sources */,
- 6470DC1120D2720400BC2E74 /* lang_se_FI.swift in Sources */,
- 6470DCF720D2720500BC2E74 /* lang_fa.swift in Sources */,
- 6470DCED20D2720500BC2E74 /* lang_ru.swift in Sources */,
- 6470DA9F20D2720400BC2E74 /* lang_nb.swift in Sources */,
- 6470DBD020D2720400BC2E74 /* lang_ur.swift in Sources */,
- 6470DBC620D2720400BC2E74 /* lang_ka.swift in Sources */,
- 6470DCA720D2720400BC2E74 /* lang_kn.swift in Sources */,
- 6470DBA820D2720400BC2E74 /* lang_mzn.swift in Sources */,
- 6470DBC120D2720400BC2E74 /* lang_sl.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1965,165 +985,42 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 6470DB7820D2720400BC2E74 /* lang_sah.swift in Sources */,
- 6470DB7D20D2720400BC2E74 /* lang_cs.swift in Sources */,
- 6470DCFE20D2720500BC2E74 /* lang_hi.swift in Sources */,
- 6470DCB320D2720400BC2E74 /* lang_km.swift in Sources */,
- 6470DAD820D2720400BC2E74 /* lang_es_PY.swift in Sources */,
64B5E26220D30AE40067EDC1 /* TimePeriodCollection.swift in Sources */,
649D473D20C81A2A00513A67 /* DateRepresentable.swift in Sources */,
- 6470DAA620D2720400BC2E74 /* lang_fr.swift in Sources */,
- 6470DB9B20D2720400BC2E74 /* lang_se.swift in Sources */,
6470DD1620D27AF500BC2E74 /* String+Parser.swift in Sources */,
- 6470DBE120D2720400BC2E74 /* lang_ms.swift in Sources */,
649D47E320CAAB7400513A67 /* RelativeFormatter.swift in Sources */,
6470DD3020D2B64200BC2E74 /* TimePeriod+Support.swift in Sources */,
64B5E26820D30E620067EDC1 /* TimePeriodChain.swift in Sources */,
- 6470DCF420D2720500BC2E74 /* lang_pt.swift in Sources */,
- 6470DC7220D2720400BC2E74 /* lang_mn.swift in Sources */,
- 6470DC6D20D2720400BC2E74 /* lang_sr.swift in Sources */,
- 6470DB6420D2720400BC2E74 /* lang_yue_Hant.swift in Sources */,
- 6470DCAE20D2720400BC2E74 /* lang_sw.swift in Sources */,
649D474320C81A4200513A67 /* Date.swift in Sources */,
- 6470DC7720D2720400BC2E74 /* lang_th.swift in Sources */,
- 6470DC0420D2720400BC2E74 /* lang_bg.swift in Sources */,
649D476F20C85C7100513A67 /* ISOParser.swift in Sources */,
- 6470DB0F20D2720400BC2E74 /* lang_hu.swift in Sources */,
- 6470DB0A20D2720400BC2E74 /* lang_de.swift in Sources */,
6434DD7E20C803EF007626EF /* SwiftDate.swift in Sources */,
- 6470DBB920D2720400BC2E74 /* lang_tk.swift in Sources */,
- 6470DAE720D2720400BC2E74 /* lang_tr.swift in Sources */,
+ 649D0E052287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */,
649D47BE20C959F500513A67 /* Date+Math.swift in Sources */,
649D47AC20C91C0B00513A67 /* Date+Compare.swift in Sources */,
6434DD7420C80126007626EF /* Calendars.swift in Sources */,
649D478720C8861200513A67 /* DateInRegion+Components.swift in Sources */,
- 6470DBE620D2720400BC2E74 /* lang_gd.swift in Sources */,
- 6470DBD720D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */,
- 6470DB6E20D2720400BC2E74 /* lang_kk.swift in Sources */,
- 6470DBAF20D2720400BC2E74 /* lang_fur.swift in Sources */,
- 6470DC8B20D2720400BC2E74 /* lang_hy.swift in Sources */,
- 6470DCB820D2720400BC2E74 /* lang_nn.swift in Sources */,
- 6470DBBE20D2720400BC2E74 /* lang_is.swift in Sources */,
- 6470DC8120D2720400BC2E74 /* lang_he.swift in Sources */,
- 6470DC6320D2720400BC2E74 /* lang_fi.swift in Sources */,
- 6470DC5E20D2720400BC2E74 /* lang_mt.swift in Sources */,
649D477B20C877C300513A67 /* DateInRegion+Create.swift in Sources */,
647AD65821F4826100CF787E /* TimeStructures.swift in Sources */,
64B5E25520D306220067EDC1 /* TimePeriod.swift in Sources */,
- 6470DC6820D2720400BC2E74 /* lang_br.swift in Sources */,
- 6470DB5A20D2720400BC2E74 /* lang_fr_CA.swift in Sources */,
- 6470DB3C20D2720400BC2E74 /* lang_lt.swift in Sources */,
- 6470DC3120D2720400BC2E74 /* lang_am.swift in Sources */,
- 6470DB6920D2720400BC2E74 /* lang_or.swift in Sources */,
- 6470DB5F20D2720400BC2E74 /* lang_mk.swift in Sources */,
- 6470DBCD20D2720400BC2E74 /* lang_cy.swift in Sources */,
649D478120C880DC00513A67 /* Date+Create.swift in Sources */,
- 6470DC4020D2720400BC2E74 /* lang_be.swift in Sources */,
- 6470DB1E20D2720400BC2E74 /* lang_uz.swift in Sources */,
6470DD2320D2A55300BC2E74 /* TimePeriodProtocol.swift in Sources */,
- 6470DC9F20D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */,
- 6470DB0020D2720400BC2E74 /* lang_fy.swift in Sources */,
649D475020C827C400513A67 /* AssociatedValues.swift in Sources */,
- 6470DAE220D2720400BC2E74 /* lang_id.swift in Sources */,
- 6470DCD620D2720400BC2E74 /* lang_ko.swift in Sources */,
- 6470DACE20D2720400BC2E74 /* lang_si.swift in Sources */,
- 6470DC1D20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */,
- 6470DAF120D2720400BC2E74 /* lang_sv.swift in Sources */,
- 6470DB9620D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */,
- 6470DB5520D2720400BC2E74 /* lang_my.swift in Sources */,
- 6470DBB420D2720400BC2E74 /* lang_it.swift in Sources */,
- 6470DB4B20D2720400BC2E74 /* lang_ur_IN.swift in Sources */,
- 6470DA9C20D2720400BC2E74 /* lang_kl.swift in Sources */,
- 6470DB4620D2720400BC2E74 /* lang_zu.swift in Sources */,
- 6470DB0520D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */,
- 6470DB5020D2720400BC2E74 /* lang_hsb.swift in Sources */,
- 6470DCA420D2720400BC2E74 /* lang_ug.swift in Sources */,
- 6470DCE020D2720500BC2E74 /* lang_fo.swift in Sources */,
649D476320C8529500513A67 /* Formatter+Protocols.swift in Sources */,
- 6470DAB520D2720400BC2E74 /* lang_ne.swift in Sources */,
- 6470DB4120D2720400BC2E74 /* lang_ee.swift in Sources */,
649D474A20C8241C00513A67 /* Commons.swift in Sources */,
- 6470DAF620D2720400BC2E74 /* lang_es_AR.swift in Sources */,
- 6470DB7320D2720400BC2E74 /* lang_ksh.swift in Sources */,
6434DD7920C80263007626EF /* Locales.swift in Sources */,
- 6470DAFB20D2720400BC2E74 /* lang_ml.swift in Sources */,
- 6470DC5920D2720400BC2E74 /* lang_lo.swift in Sources */,
- 6470DC3620D2720400BC2E74 /* lang_pa.swift in Sources */,
- 6470DB3220D2720400BC2E74 /* lang_yue_Hans.swift in Sources */,
- 6470DB1920D2720400BC2E74 /* lang_en.swift in Sources */,
- 6470DC9520D2720400BC2E74 /* lang_bn.swift in Sources */,
64B5E25B20D3090A0067EDC1 /* TimePeriodGroup.swift in Sources */,
- 6470DC8620D2720400BC2E74 /* lang_ti.swift in Sources */,
- 6470DC3B20D2720400BC2E74 /* lang_wae.swift in Sources */,
- 6470DCD120D2720400BC2E74 /* lang_sq.swift in Sources */,
- 6470DBF520D2720400BC2E74 /* lang_pl.swift in Sources */,
- 6470DC4A20D2720400BC2E74 /* lang_gl.swift in Sources */,
- 6470DC4F20D2720400BC2E74 /* lang_gu.swift in Sources */,
649D477520C872DA00513A67 /* DotNetParserFormatter.swift in Sources */,
6434DD6320C7FAF6007626EF /* DateInRegion.swift in Sources */,
- 6470DADD20D2720400BC2E74 /* lang_es_US.swift in Sources */,
- 6470DCE520D2720500BC2E74 /* lang_bs.swift in Sources */,
- 6470DB8220D2720400BC2E74 /* lang_ro.swift in Sources */,
- 6470DC1820D2720400BC2E74 /* lang_dsb.swift in Sources */,
- 6470DBF020D2720400BC2E74 /* lang_uk.swift in Sources */,
- 6470DBFF20D2720400BC2E74 /* lang_jgo.swift in Sources */,
- 6470DCBD20D2720400BC2E74 /* lang_es_MX.swift in Sources */,
- 6470DAC420D2720400BC2E74 /* lang_hr.swift in Sources */,
- 6470DB8720D2720400BC2E74 /* lang_ar.swift in Sources */,
- 6470DB1420D2720400BC2E74 /* lang_ta.swift in Sources */,
- 6470DB2820D2720400BC2E74 /* lang_fil.swift in Sources */,
- 6470DC2720D2720400BC2E74 /* lang_nl.swift in Sources */,
- 6470DC5420D2720400BC2E74 /* lang_ar_AE.swift in Sources */,
- 6470DBDC20D2720400BC2E74 /* lang_dz.swift in Sources */,
- 6470DC0920D2720400BC2E74 /* lang_to.swift in Sources */,
- 6470DAD320D2720400BC2E74 /* lang_as.swift in Sources */,
- 6470DAB020D2720400BC2E74 /* lang_zh_Hant.swift in Sources */,
- 6470DC2C20D2720400BC2E74 /* lang_vi.swift in Sources */,
- 6470DCEA20D2720500BC2E74 /* lang_sr_Latn.swift in Sources */,
- 6470DCCC20D2720400BC2E74 /* lang_zh.swift in Sources */,
649D47B820C9586500513A67 /* DateInRegion+Math.swift in Sources */,
- 6470DABA20D2720400BC2E74 /* lang_sk.swift in Sources */,
- 6470DBFA20D2720400BC2E74 /* lang_az.swift in Sources */,
- 6470DB3720D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */,
649D479420C913E200513A67 /* Date+Components.swift in Sources */,
- 6470DCC720D2720400BC2E74 /* lang_te.swift in Sources */,
- 6470DC2220D2720400BC2E74 /* lang_mr.swift in Sources */,
649D47F020CAB96D00513A67 /* RelativeFormatter+Style.swift in Sources */,
- 6470DBEB20D2720400BC2E74 /* lang_ps.swift in Sources */,
- 6470DC4520D2720400BC2E74 /* lang_ga.swift in Sources */,
- 6470DAC920D2720400BC2E74 /* lang_lkt.swift in Sources */,
6470DD1C20D296EA00BC2E74 /* TimeInterval+Formatter.swift in Sources */,
- 6470DB9120D2720400BC2E74 /* lang_af.swift in Sources */,
- 6470DCC220D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */,
- 6470DB2320D2720400BC2E74 /* lang_lv.swift in Sources */,
- 6470DC0E20D2720400BC2E74 /* lang_yi.swift in Sources */,
- 6470DB2D20D2720400BC2E74 /* lang_da.swift in Sources */,
- 6470DCDB20D2720400BC2E74 /* lang_es.swift in Sources */,
- 6470DABF20D2720400BC2E74 /* lang_kok.swift in Sources */,
6434DD6920C7FC6A007626EF /* Region.swift in Sources */,
- 6470DC9A20D2720400BC2E74 /* lang_eu.swift in Sources */,
- 6470DAAB20D2720400BC2E74 /* lang_ky.swift in Sources */,
- 6470DC7C20D2720400BC2E74 /* lang_et.swift in Sources */,
649D47A620C91BEA00513A67 /* DateInRegion+Compare.swift in Sources */,
649D47C420C964E000513A67 /* Int+DateComponents.swift in Sources */,
- 6470DAEC20D2720400BC2E74 /* lang_lb.swift in Sources */,
649D47B220C9276400513A67 /* DateComponents+Extras.swift in Sources */,
- 6470DBA020D2720400BC2E74 /* lang_el.swift in Sources */,
- 6470DC9020D2720400BC2E74 /* lang_sd.swift in Sources */,
- 6470DB8C20D2720400BC2E74 /* lang_kea.swift in Sources */,
- 6470DA9720D2720400BC2E74 /* lang_ca.swift in Sources */,
649D475C20C84FAC00513A67 /* ISOFormatter.swift in Sources */,
- 6470DBA520D2720400BC2E74 /* lang_ja.swift in Sources */,
6434DD6F20C7FEED007626EF /* Zones.swift in Sources */,
- 6470DC1320D2720400BC2E74 /* lang_se_FI.swift in Sources */,
- 6470DCF920D2720500BC2E74 /* lang_fa.swift in Sources */,
- 6470DCEF20D2720500BC2E74 /* lang_ru.swift in Sources */,
- 6470DAA120D2720400BC2E74 /* lang_nb.swift in Sources */,
- 6470DBD220D2720400BC2E74 /* lang_ur.swift in Sources */,
- 6470DBC820D2720400BC2E74 /* lang_ka.swift in Sources */,
- 6470DCA920D2720400BC2E74 /* lang_kn.swift in Sources */,
- 6470DBAA20D2720400BC2E74 /* lang_mzn.swift in Sources */,
- 6470DBC320D2720400BC2E74 /* lang_sl.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2131,165 +1028,42 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 6470DB7920D2720400BC2E74 /* lang_sah.swift in Sources */,
- 6470DB7E20D2720400BC2E74 /* lang_cs.swift in Sources */,
- 6470DCFF20D2720500BC2E74 /* lang_hi.swift in Sources */,
- 6470DCB420D2720400BC2E74 /* lang_km.swift in Sources */,
- 6470DAD920D2720400BC2E74 /* lang_es_PY.swift in Sources */,
64B5E26320D30AE40067EDC1 /* TimePeriodCollection.swift in Sources */,
649D473E20C81A2A00513A67 /* DateRepresentable.swift in Sources */,
- 6470DAA720D2720400BC2E74 /* lang_fr.swift in Sources */,
- 6470DB9C20D2720400BC2E74 /* lang_se.swift in Sources */,
6470DD1720D27AF500BC2E74 /* String+Parser.swift in Sources */,
- 6470DBE220D2720400BC2E74 /* lang_ms.swift in Sources */,
649D47E420CAAB7400513A67 /* RelativeFormatter.swift in Sources */,
6470DD3120D2B64200BC2E74 /* TimePeriod+Support.swift in Sources */,
64B5E26920D30E620067EDC1 /* TimePeriodChain.swift in Sources */,
- 6470DCF520D2720500BC2E74 /* lang_pt.swift in Sources */,
- 6470DC7320D2720400BC2E74 /* lang_mn.swift in Sources */,
- 6470DC6E20D2720400BC2E74 /* lang_sr.swift in Sources */,
- 6470DB6520D2720400BC2E74 /* lang_yue_Hant.swift in Sources */,
- 6470DCAF20D2720400BC2E74 /* lang_sw.swift in Sources */,
649D474420C81A4200513A67 /* Date.swift in Sources */,
- 6470DC7820D2720400BC2E74 /* lang_th.swift in Sources */,
- 6470DC0520D2720400BC2E74 /* lang_bg.swift in Sources */,
649D477020C85C7100513A67 /* ISOParser.swift in Sources */,
- 6470DB1020D2720400BC2E74 /* lang_hu.swift in Sources */,
- 6470DB0B20D2720400BC2E74 /* lang_de.swift in Sources */,
6434DD7F20C803EF007626EF /* SwiftDate.swift in Sources */,
- 6470DBBA20D2720400BC2E74 /* lang_tk.swift in Sources */,
- 6470DAE820D2720400BC2E74 /* lang_tr.swift in Sources */,
+ 649D0E062287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */,
649D47BF20C959F500513A67 /* Date+Math.swift in Sources */,
649D47AD20C91C0B00513A67 /* Date+Compare.swift in Sources */,
6434DD7520C80126007626EF /* Calendars.swift in Sources */,
649D478820C8861200513A67 /* DateInRegion+Components.swift in Sources */,
- 6470DBE720D2720400BC2E74 /* lang_gd.swift in Sources */,
- 6470DBD820D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */,
- 6470DB6F20D2720400BC2E74 /* lang_kk.swift in Sources */,
- 6470DBB020D2720400BC2E74 /* lang_fur.swift in Sources */,
- 6470DC8C20D2720400BC2E74 /* lang_hy.swift in Sources */,
- 6470DCB920D2720400BC2E74 /* lang_nn.swift in Sources */,
- 6470DBBF20D2720400BC2E74 /* lang_is.swift in Sources */,
- 6470DC8220D2720400BC2E74 /* lang_he.swift in Sources */,
- 6470DC6420D2720400BC2E74 /* lang_fi.swift in Sources */,
- 6470DC5F20D2720400BC2E74 /* lang_mt.swift in Sources */,
649D477C20C877C300513A67 /* DateInRegion+Create.swift in Sources */,
647AD65921F4826100CF787E /* TimeStructures.swift in Sources */,
64B5E25620D306220067EDC1 /* TimePeriod.swift in Sources */,
- 6470DC6920D2720400BC2E74 /* lang_br.swift in Sources */,
- 6470DB5B20D2720400BC2E74 /* lang_fr_CA.swift in Sources */,
- 6470DB3D20D2720400BC2E74 /* lang_lt.swift in Sources */,
- 6470DC3220D2720400BC2E74 /* lang_am.swift in Sources */,
- 6470DB6A20D2720400BC2E74 /* lang_or.swift in Sources */,
- 6470DB6020D2720400BC2E74 /* lang_mk.swift in Sources */,
- 6470DBCE20D2720400BC2E74 /* lang_cy.swift in Sources */,
649D478220C880DC00513A67 /* Date+Create.swift in Sources */,
- 6470DC4120D2720400BC2E74 /* lang_be.swift in Sources */,
- 6470DB1F20D2720400BC2E74 /* lang_uz.swift in Sources */,
6470DD2420D2A55300BC2E74 /* TimePeriodProtocol.swift in Sources */,
- 6470DCA020D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */,
- 6470DB0120D2720400BC2E74 /* lang_fy.swift in Sources */,
649D475120C827C400513A67 /* AssociatedValues.swift in Sources */,
- 6470DAE320D2720400BC2E74 /* lang_id.swift in Sources */,
- 6470DCD720D2720400BC2E74 /* lang_ko.swift in Sources */,
- 6470DACF20D2720400BC2E74 /* lang_si.swift in Sources */,
- 6470DC1E20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */,
- 6470DAF220D2720400BC2E74 /* lang_sv.swift in Sources */,
- 6470DB9720D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */,
- 6470DB5620D2720400BC2E74 /* lang_my.swift in Sources */,
- 6470DBB520D2720400BC2E74 /* lang_it.swift in Sources */,
- 6470DB4C20D2720400BC2E74 /* lang_ur_IN.swift in Sources */,
- 6470DA9D20D2720400BC2E74 /* lang_kl.swift in Sources */,
- 6470DB4720D2720400BC2E74 /* lang_zu.swift in Sources */,
- 6470DB0620D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */,
- 6470DB5120D2720400BC2E74 /* lang_hsb.swift in Sources */,
- 6470DCA520D2720400BC2E74 /* lang_ug.swift in Sources */,
- 6470DCE120D2720500BC2E74 /* lang_fo.swift in Sources */,
649D476420C8529500513A67 /* Formatter+Protocols.swift in Sources */,
- 6470DAB620D2720400BC2E74 /* lang_ne.swift in Sources */,
- 6470DB4220D2720400BC2E74 /* lang_ee.swift in Sources */,
649D474B20C8241C00513A67 /* Commons.swift in Sources */,
- 6470DAF720D2720400BC2E74 /* lang_es_AR.swift in Sources */,
- 6470DB7420D2720400BC2E74 /* lang_ksh.swift in Sources */,
6434DD7A20C80263007626EF /* Locales.swift in Sources */,
- 6470DAFC20D2720400BC2E74 /* lang_ml.swift in Sources */,
- 6470DC5A20D2720400BC2E74 /* lang_lo.swift in Sources */,
- 6470DC3720D2720400BC2E74 /* lang_pa.swift in Sources */,
- 6470DB3320D2720400BC2E74 /* lang_yue_Hans.swift in Sources */,
- 6470DB1A20D2720400BC2E74 /* lang_en.swift in Sources */,
- 6470DC9620D2720400BC2E74 /* lang_bn.swift in Sources */,
64B5E25C20D3090A0067EDC1 /* TimePeriodGroup.swift in Sources */,
- 6470DC8720D2720400BC2E74 /* lang_ti.swift in Sources */,
- 6470DC3C20D2720400BC2E74 /* lang_wae.swift in Sources */,
- 6470DCD220D2720400BC2E74 /* lang_sq.swift in Sources */,
- 6470DBF620D2720400BC2E74 /* lang_pl.swift in Sources */,
- 6470DC4B20D2720400BC2E74 /* lang_gl.swift in Sources */,
- 6470DC5020D2720400BC2E74 /* lang_gu.swift in Sources */,
649D477620C872DA00513A67 /* DotNetParserFormatter.swift in Sources */,
6434DD6420C7FAF6007626EF /* DateInRegion.swift in Sources */,
- 6470DADE20D2720400BC2E74 /* lang_es_US.swift in Sources */,
- 6470DCE620D2720500BC2E74 /* lang_bs.swift in Sources */,
- 6470DB8320D2720400BC2E74 /* lang_ro.swift in Sources */,
- 6470DC1920D2720400BC2E74 /* lang_dsb.swift in Sources */,
- 6470DBF120D2720400BC2E74 /* lang_uk.swift in Sources */,
- 6470DC0020D2720400BC2E74 /* lang_jgo.swift in Sources */,
- 6470DCBE20D2720400BC2E74 /* lang_es_MX.swift in Sources */,
- 6470DAC520D2720400BC2E74 /* lang_hr.swift in Sources */,
- 6470DB8820D2720400BC2E74 /* lang_ar.swift in Sources */,
- 6470DB1520D2720400BC2E74 /* lang_ta.swift in Sources */,
- 6470DB2920D2720400BC2E74 /* lang_fil.swift in Sources */,
- 6470DC2820D2720400BC2E74 /* lang_nl.swift in Sources */,
- 6470DC5520D2720400BC2E74 /* lang_ar_AE.swift in Sources */,
- 6470DBDD20D2720400BC2E74 /* lang_dz.swift in Sources */,
- 6470DC0A20D2720400BC2E74 /* lang_to.swift in Sources */,
- 6470DAD420D2720400BC2E74 /* lang_as.swift in Sources */,
- 6470DAB120D2720400BC2E74 /* lang_zh_Hant.swift in Sources */,
- 6470DC2D20D2720400BC2E74 /* lang_vi.swift in Sources */,
- 6470DCEB20D2720500BC2E74 /* lang_sr_Latn.swift in Sources */,
- 6470DCCD20D2720400BC2E74 /* lang_zh.swift in Sources */,
649D47B920C9586500513A67 /* DateInRegion+Math.swift in Sources */,
- 6470DABB20D2720400BC2E74 /* lang_sk.swift in Sources */,
- 6470DBFB20D2720400BC2E74 /* lang_az.swift in Sources */,
- 6470DB3820D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */,
649D479520C913E200513A67 /* Date+Components.swift in Sources */,
- 6470DCC820D2720400BC2E74 /* lang_te.swift in Sources */,
- 6470DC2320D2720400BC2E74 /* lang_mr.swift in Sources */,
649D47F120CAB96D00513A67 /* RelativeFormatter+Style.swift in Sources */,
- 6470DBEC20D2720400BC2E74 /* lang_ps.swift in Sources */,
- 6470DC4620D2720400BC2E74 /* lang_ga.swift in Sources */,
- 6470DACA20D2720400BC2E74 /* lang_lkt.swift in Sources */,
6470DD1D20D296EA00BC2E74 /* TimeInterval+Formatter.swift in Sources */,
- 6470DB9220D2720400BC2E74 /* lang_af.swift in Sources */,
- 6470DCC320D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */,
- 6470DB2420D2720400BC2E74 /* lang_lv.swift in Sources */,
- 6470DC0F20D2720400BC2E74 /* lang_yi.swift in Sources */,
- 6470DB2E20D2720400BC2E74 /* lang_da.swift in Sources */,
- 6470DCDC20D2720400BC2E74 /* lang_es.swift in Sources */,
- 6470DAC020D2720400BC2E74 /* lang_kok.swift in Sources */,
6434DD6A20C7FC6A007626EF /* Region.swift in Sources */,
- 6470DC9B20D2720400BC2E74 /* lang_eu.swift in Sources */,
- 6470DAAC20D2720400BC2E74 /* lang_ky.swift in Sources */,
- 6470DC7D20D2720400BC2E74 /* lang_et.swift in Sources */,
649D47A720C91BEA00513A67 /* DateInRegion+Compare.swift in Sources */,
649D47C520C964E000513A67 /* Int+DateComponents.swift in Sources */,
- 6470DAED20D2720400BC2E74 /* lang_lb.swift in Sources */,
649D47B320C9276400513A67 /* DateComponents+Extras.swift in Sources */,
- 6470DBA120D2720400BC2E74 /* lang_el.swift in Sources */,
- 6470DC9120D2720400BC2E74 /* lang_sd.swift in Sources */,
- 6470DB8D20D2720400BC2E74 /* lang_kea.swift in Sources */,
- 6470DA9820D2720400BC2E74 /* lang_ca.swift in Sources */,
649D475D20C84FAC00513A67 /* ISOFormatter.swift in Sources */,
- 6470DBA620D2720400BC2E74 /* lang_ja.swift in Sources */,
6434DD7020C7FEED007626EF /* Zones.swift in Sources */,
- 6470DC1420D2720400BC2E74 /* lang_se_FI.swift in Sources */,
- 6470DCFA20D2720500BC2E74 /* lang_fa.swift in Sources */,
- 6470DCF020D2720500BC2E74 /* lang_ru.swift in Sources */,
- 6470DAA220D2720400BC2E74 /* lang_nb.swift in Sources */,
- 6470DBD320D2720400BC2E74 /* lang_ur.swift in Sources */,
- 6470DBC920D2720400BC2E74 /* lang_ka.swift in Sources */,
- 6470DCAA20D2720400BC2E74 /* lang_kn.swift in Sources */,
- 6470DBAB20D2720400BC2E74 /* lang_mzn.swift in Sources */,
- 6470DBC420D2720400BC2E74 /* lang_sl.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2297,165 +1071,42 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 6470DB7720D2720400BC2E74 /* lang_sah.swift in Sources */,
- 6470DB7C20D2720400BC2E74 /* lang_cs.swift in Sources */,
- 6470DCFD20D2720500BC2E74 /* lang_hi.swift in Sources */,
- 6470DCB220D2720400BC2E74 /* lang_km.swift in Sources */,
- 6470DAD720D2720400BC2E74 /* lang_es_PY.swift in Sources */,
64B5E26120D30AE40067EDC1 /* TimePeriodCollection.swift in Sources */,
649D473C20C81A2A00513A67 /* DateRepresentable.swift in Sources */,
- 6470DAA520D2720400BC2E74 /* lang_fr.swift in Sources */,
- 6470DB9A20D2720400BC2E74 /* lang_se.swift in Sources */,
6470DD1520D27AF500BC2E74 /* String+Parser.swift in Sources */,
- 6470DBE020D2720400BC2E74 /* lang_ms.swift in Sources */,
649D47E220CAAB7400513A67 /* RelativeFormatter.swift in Sources */,
6470DD2F20D2B64200BC2E74 /* TimePeriod+Support.swift in Sources */,
64B5E26720D30E620067EDC1 /* TimePeriodChain.swift in Sources */,
- 6470DCF320D2720500BC2E74 /* lang_pt.swift in Sources */,
- 6470DC7120D2720400BC2E74 /* lang_mn.swift in Sources */,
- 6470DC6C20D2720400BC2E74 /* lang_sr.swift in Sources */,
- 6470DB6320D2720400BC2E74 /* lang_yue_Hant.swift in Sources */,
- 6470DCAD20D2720400BC2E74 /* lang_sw.swift in Sources */,
649D474220C81A4200513A67 /* Date.swift in Sources */,
- 6470DC7620D2720400BC2E74 /* lang_th.swift in Sources */,
- 6470DC0320D2720400BC2E74 /* lang_bg.swift in Sources */,
649D476E20C85C7100513A67 /* ISOParser.swift in Sources */,
- 6470DB0E20D2720400BC2E74 /* lang_hu.swift in Sources */,
- 6470DB0920D2720400BC2E74 /* lang_de.swift in Sources */,
6434DD7D20C803EF007626EF /* SwiftDate.swift in Sources */,
- 6470DBB820D2720400BC2E74 /* lang_tk.swift in Sources */,
- 6470DAE620D2720400BC2E74 /* lang_tr.swift in Sources */,
+ 649D0E042287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */,
649D47BD20C959F500513A67 /* Date+Math.swift in Sources */,
649D47AB20C91C0B00513A67 /* Date+Compare.swift in Sources */,
6434DD7320C80126007626EF /* Calendars.swift in Sources */,
649D478620C8861200513A67 /* DateInRegion+Components.swift in Sources */,
- 6470DBE520D2720400BC2E74 /* lang_gd.swift in Sources */,
- 6470DBD620D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */,
- 6470DB6D20D2720400BC2E74 /* lang_kk.swift in Sources */,
- 6470DBAE20D2720400BC2E74 /* lang_fur.swift in Sources */,
- 6470DC8A20D2720400BC2E74 /* lang_hy.swift in Sources */,
- 6470DCB720D2720400BC2E74 /* lang_nn.swift in Sources */,
- 6470DBBD20D2720400BC2E74 /* lang_is.swift in Sources */,
- 6470DC8020D2720400BC2E74 /* lang_he.swift in Sources */,
- 6470DC6220D2720400BC2E74 /* lang_fi.swift in Sources */,
- 6470DC5D20D2720400BC2E74 /* lang_mt.swift in Sources */,
649D477A20C877C300513A67 /* DateInRegion+Create.swift in Sources */,
647AD65721F4826100CF787E /* TimeStructures.swift in Sources */,
64B5E25420D306220067EDC1 /* TimePeriod.swift in Sources */,
- 6470DC6720D2720400BC2E74 /* lang_br.swift in Sources */,
- 6470DB5920D2720400BC2E74 /* lang_fr_CA.swift in Sources */,
- 6470DB3B20D2720400BC2E74 /* lang_lt.swift in Sources */,
- 6470DC3020D2720400BC2E74 /* lang_am.swift in Sources */,
- 6470DB6820D2720400BC2E74 /* lang_or.swift in Sources */,
- 6470DB5E20D2720400BC2E74 /* lang_mk.swift in Sources */,
- 6470DBCC20D2720400BC2E74 /* lang_cy.swift in Sources */,
649D478020C880DC00513A67 /* Date+Create.swift in Sources */,
- 6470DC3F20D2720400BC2E74 /* lang_be.swift in Sources */,
- 6470DB1D20D2720400BC2E74 /* lang_uz.swift in Sources */,
6470DD2220D2A55300BC2E74 /* TimePeriodProtocol.swift in Sources */,
- 6470DC9E20D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */,
- 6470DAFF20D2720400BC2E74 /* lang_fy.swift in Sources */,
649D474F20C827C400513A67 /* AssociatedValues.swift in Sources */,
- 6470DAE120D2720400BC2E74 /* lang_id.swift in Sources */,
- 6470DCD520D2720400BC2E74 /* lang_ko.swift in Sources */,
- 6470DACD20D2720400BC2E74 /* lang_si.swift in Sources */,
- 6470DC1C20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */,
- 6470DAF020D2720400BC2E74 /* lang_sv.swift in Sources */,
- 6470DB9520D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */,
- 6470DB5420D2720400BC2E74 /* lang_my.swift in Sources */,
- 6470DBB320D2720400BC2E74 /* lang_it.swift in Sources */,
- 6470DB4A20D2720400BC2E74 /* lang_ur_IN.swift in Sources */,
- 6470DA9B20D2720400BC2E74 /* lang_kl.swift in Sources */,
- 6470DB4520D2720400BC2E74 /* lang_zu.swift in Sources */,
- 6470DB0420D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */,
- 6470DB4F20D2720400BC2E74 /* lang_hsb.swift in Sources */,
- 6470DCA320D2720400BC2E74 /* lang_ug.swift in Sources */,
- 6470DCDF20D2720400BC2E74 /* lang_fo.swift in Sources */,
649D476220C8529500513A67 /* Formatter+Protocols.swift in Sources */,
- 6470DAB420D2720400BC2E74 /* lang_ne.swift in Sources */,
- 6470DB4020D2720400BC2E74 /* lang_ee.swift in Sources */,
649D474920C8241C00513A67 /* Commons.swift in Sources */,
- 6470DAF520D2720400BC2E74 /* lang_es_AR.swift in Sources */,
- 6470DB7220D2720400BC2E74 /* lang_ksh.swift in Sources */,
6434DD7820C80263007626EF /* Locales.swift in Sources */,
- 6470DAFA20D2720400BC2E74 /* lang_ml.swift in Sources */,
- 6470DC5820D2720400BC2E74 /* lang_lo.swift in Sources */,
- 6470DC3520D2720400BC2E74 /* lang_pa.swift in Sources */,
- 6470DB3120D2720400BC2E74 /* lang_yue_Hans.swift in Sources */,
- 6470DB1820D2720400BC2E74 /* lang_en.swift in Sources */,
- 6470DC9420D2720400BC2E74 /* lang_bn.swift in Sources */,
64B5E25A20D3090A0067EDC1 /* TimePeriodGroup.swift in Sources */,
- 6470DC8520D2720400BC2E74 /* lang_ti.swift in Sources */,
- 6470DC3A20D2720400BC2E74 /* lang_wae.swift in Sources */,
- 6470DCD020D2720400BC2E74 /* lang_sq.swift in Sources */,
- 6470DBF420D2720400BC2E74 /* lang_pl.swift in Sources */,
- 6470DC4920D2720400BC2E74 /* lang_gl.swift in Sources */,
- 6470DC4E20D2720400BC2E74 /* lang_gu.swift in Sources */,
649D477420C872DA00513A67 /* DotNetParserFormatter.swift in Sources */,
6434DD6220C7FAF6007626EF /* DateInRegion.swift in Sources */,
- 6470DADC20D2720400BC2E74 /* lang_es_US.swift in Sources */,
- 6470DCE420D2720500BC2E74 /* lang_bs.swift in Sources */,
- 6470DB8120D2720400BC2E74 /* lang_ro.swift in Sources */,
- 6470DC1720D2720400BC2E74 /* lang_dsb.swift in Sources */,
- 6470DBEF20D2720400BC2E74 /* lang_uk.swift in Sources */,
- 6470DBFE20D2720400BC2E74 /* lang_jgo.swift in Sources */,
- 6470DCBC20D2720400BC2E74 /* lang_es_MX.swift in Sources */,
- 6470DAC320D2720400BC2E74 /* lang_hr.swift in Sources */,
- 6470DB8620D2720400BC2E74 /* lang_ar.swift in Sources */,
- 6470DB1320D2720400BC2E74 /* lang_ta.swift in Sources */,
- 6470DB2720D2720400BC2E74 /* lang_fil.swift in Sources */,
- 6470DC2620D2720400BC2E74 /* lang_nl.swift in Sources */,
- 6470DC5320D2720400BC2E74 /* lang_ar_AE.swift in Sources */,
- 6470DBDB20D2720400BC2E74 /* lang_dz.swift in Sources */,
- 6470DC0820D2720400BC2E74 /* lang_to.swift in Sources */,
- 6470DAD220D2720400BC2E74 /* lang_as.swift in Sources */,
- 6470DAAF20D2720400BC2E74 /* lang_zh_Hant.swift in Sources */,
- 6470DC2B20D2720400BC2E74 /* lang_vi.swift in Sources */,
- 6470DCE920D2720500BC2E74 /* lang_sr_Latn.swift in Sources */,
- 6470DCCB20D2720400BC2E74 /* lang_zh.swift in Sources */,
649D47B720C9586500513A67 /* DateInRegion+Math.swift in Sources */,
- 6470DAB920D2720400BC2E74 /* lang_sk.swift in Sources */,
- 6470DBF920D2720400BC2E74 /* lang_az.swift in Sources */,
- 6470DB3620D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */,
649D479320C913E200513A67 /* Date+Components.swift in Sources */,
- 6470DCC620D2720400BC2E74 /* lang_te.swift in Sources */,
- 6470DC2120D2720400BC2E74 /* lang_mr.swift in Sources */,
649D47EF20CAB96D00513A67 /* RelativeFormatter+Style.swift in Sources */,
- 6470DBEA20D2720400BC2E74 /* lang_ps.swift in Sources */,
- 6470DC4420D2720400BC2E74 /* lang_ga.swift in Sources */,
- 6470DAC820D2720400BC2E74 /* lang_lkt.swift in Sources */,
6470DD1B20D296EA00BC2E74 /* TimeInterval+Formatter.swift in Sources */,
- 6470DB9020D2720400BC2E74 /* lang_af.swift in Sources */,
- 6470DCC120D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */,
- 6470DB2220D2720400BC2E74 /* lang_lv.swift in Sources */,
- 6470DC0D20D2720400BC2E74 /* lang_yi.swift in Sources */,
- 6470DB2C20D2720400BC2E74 /* lang_da.swift in Sources */,
- 6470DCDA20D2720400BC2E74 /* lang_es.swift in Sources */,
- 6470DABE20D2720400BC2E74 /* lang_kok.swift in Sources */,
6434DD6820C7FC6A007626EF /* Region.swift in Sources */,
- 6470DC9920D2720400BC2E74 /* lang_eu.swift in Sources */,
- 6470DAAA20D2720400BC2E74 /* lang_ky.swift in Sources */,
- 6470DC7B20D2720400BC2E74 /* lang_et.swift in Sources */,
649D47A520C91BEA00513A67 /* DateInRegion+Compare.swift in Sources */,
649D47C320C964E000513A67 /* Int+DateComponents.swift in Sources */,
- 6470DAEB20D2720400BC2E74 /* lang_lb.swift in Sources */,
649D47B120C9276400513A67 /* DateComponents+Extras.swift in Sources */,
- 6470DB9F20D2720400BC2E74 /* lang_el.swift in Sources */,
- 6470DC8F20D2720400BC2E74 /* lang_sd.swift in Sources */,
- 6470DB8B20D2720400BC2E74 /* lang_kea.swift in Sources */,
- 6470DA9620D2720400BC2E74 /* lang_ca.swift in Sources */,
649D475B20C84FAC00513A67 /* ISOFormatter.swift in Sources */,
- 6470DBA420D2720400BC2E74 /* lang_ja.swift in Sources */,
6434DD6E20C7FEED007626EF /* Zones.swift in Sources */,
- 6470DC1220D2720400BC2E74 /* lang_se_FI.swift in Sources */,
- 6470DCF820D2720500BC2E74 /* lang_fa.swift in Sources */,
- 6470DCEE20D2720500BC2E74 /* lang_ru.swift in Sources */,
- 6470DAA020D2720400BC2E74 /* lang_nb.swift in Sources */,
- 6470DBD120D2720400BC2E74 /* lang_ur.swift in Sources */,
- 6470DBC720D2720400BC2E74 /* lang_ka.swift in Sources */,
- 6470DCA820D2720400BC2E74 /* lang_kn.swift in Sources */,
- 6470DBA920D2720400BC2E74 /* lang_mzn.swift in Sources */,
- 6470DBC220D2720400BC2E74 /* lang_sl.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2463,167 +1114,44 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 6470DA9E20D2720400BC2E74 /* lang_kl.swift in Sources */,
- 6470DC9C20D2720400BC2E74 /* lang_eu.swift in Sources */,
- 6470DADF20D2720400BC2E74 /* lang_es_US.swift in Sources */,
- 6470DB2F20D2720400BC2E74 /* lang_da.swift in Sources */,
+ 649D0E072287412C0056D42E /* RelativeFormatterLanguage.swift in Sources */,
649D475E20C84FAC00513A67 /* ISOFormatter.swift in Sources */,
64B5E26A20D30E620067EDC1 /* TimePeriodChain.swift in Sources */,
6434DDA020C809C2007626EF /* Calendars.swift in Sources */,
- 6470DAC620D2720400BC2E74 /* lang_hr.swift in Sources */,
- 6470DCD820D2720400BC2E74 /* lang_ko.swift in Sources */,
- 6470DBA220D2720400BC2E74 /* lang_el.swift in Sources */,
- 6470DC2920D2720400BC2E74 /* lang_nl.swift in Sources */,
- 6470DCE220D2720500BC2E74 /* lang_fo.swift in Sources */,
- 6470DC2E20D2720400BC2E74 /* lang_vi.swift in Sources */,
- 6470DADA20D2720400BC2E74 /* lang_es_PY.swift in Sources */,
- 6470DAE420D2720400BC2E74 /* lang_id.swift in Sources */,
- 6470DB9820D2720400BC2E74 /* lang_zh_Hans_HK.swift in Sources */,
- 6470DC8820D2720400BC2E74 /* lang_ti.swift in Sources */,
- 6470DB8420D2720400BC2E74 /* lang_ro.swift in Sources */,
- 6470DC7920D2720400BC2E74 /* lang_th.swift in Sources */,
649D47E520CAAB7400513A67 /* RelativeFormatter.swift in Sources */,
- 6470DC5B20D2720400BC2E74 /* lang_lo.swift in Sources */,
- 6470DBE820D2720400BC2E74 /* lang_gd.swift in Sources */,
- 6470DC8D20D2720400BC2E74 /* lang_hy.swift in Sources */,
- 6470DB3E20D2720400BC2E74 /* lang_lt.swift in Sources */,
- 6470DC4220D2720400BC2E74 /* lang_be.swift in Sources */,
- 6470DBC020D2720400BC2E74 /* lang_is.swift in Sources */,
6470DD1820D27AF500BC2E74 /* String+Parser.swift in Sources */,
- 6470DCB020D2720400BC2E74 /* lang_sw.swift in Sources */,
649D475220C827C400513A67 /* AssociatedValues.swift in Sources */,
- 6470DB5720D2720400BC2E74 /* lang_my.swift in Sources */,
- 6470DCC420D2720400BC2E74 /* lang_zh_Hant_MO.swift in Sources */,
- 6470DCF620D2720500BC2E74 /* lang_pt.swift in Sources */,
6434DDA120C809C2007626EF /* Locales.swift in Sources */,
- 6470DB7520D2720400BC2E74 /* lang_ksh.swift in Sources */,
649D476520C8529500513A67 /* Formatter+Protocols.swift in Sources */,
- 6470DB9D20D2720400BC2E74 /* lang_se.swift in Sources */,
- 6470DCE720D2720500BC2E74 /* lang_bs.swift in Sources */,
- 6470DAA820D2720400BC2E74 /* lang_fr.swift in Sources */,
- 6470DC7420D2720400BC2E74 /* lang_mn.swift in Sources */,
- 6470DC0B20D2720400BC2E74 /* lang_to.swift in Sources */,
- 6470DB3920D2720400BC2E74 /* lang_zh_Hans_MO.swift in Sources */,
- 6470DC0120D2720400BC2E74 /* lang_jgo.swift in Sources */,
6470DD2520D2A55300BC2E74 /* TimePeriodProtocol.swift in Sources */,
- 6470DAB720D2720400BC2E74 /* lang_ne.swift in Sources */,
647AD65A21F4826100CF787E /* TimeStructures.swift in Sources */,
- 6470DC4720D2720400BC2E74 /* lang_ga.swift in Sources */,
- 6470DC1F20D2720400BC2E74 /* lang_bsCyrl.swift in Sources */,
- 6470DB4820D2720400BC2E74 /* lang_zu.swift in Sources */,
- 6470DC0620D2720400BC2E74 /* lang_bg.swift in Sources */,
- 6470DCB520D2720400BC2E74 /* lang_km.swift in Sources */,
6434DD9F20C809C2007626EF /* Zones.swift in Sources */,
6434DDA520C809C2007626EF /* Region.swift in Sources */,
- 6470DB6620D2720400BC2E74 /* lang_yue_Hant.swift in Sources */,
- 6470DA9920D2720400BC2E74 /* lang_ca.swift in Sources */,
- 6470DBAC20D2720400BC2E74 /* lang_mzn.swift in Sources */,
- 6470DCDD20D2720400BC2E74 /* lang_es.swift in Sources */,
649D474C20C8241C00513A67 /* Commons.swift in Sources */,
- 6470DAFD20D2720400BC2E74 /* lang_ml.swift in Sources */,
- 6470DCC920D2720400BC2E74 /* lang_te.swift in Sources */,
- 6470DC6A20D2720400BC2E74 /* lang_br.swift in Sources */,
- 6470DB0C20D2720400BC2E74 /* lang_de.swift in Sources */,
- 6470DB7020D2720400BC2E74 /* lang_kk.swift in Sources */,
- 6470DAE920D2720400BC2E74 /* lang_tr.swift in Sources */,
6470DD3220D2B64200BC2E74 /* TimePeriod+Support.swift in Sources */,
649D47BA20C9586500513A67 /* DateInRegion+Math.swift in Sources */,
- 6470DB6B20D2720400BC2E74 /* lang_or.swift in Sources */,
- 6470DCAB20D2720400BC2E74 /* lang_kn.swift in Sources */,
- 6470DBF220D2720400BC2E74 /* lang_uk.swift in Sources */,
- 6470DB1620D2720400BC2E74 /* lang_ta.swift in Sources */,
- 6470DBED20D2720400BC2E74 /* lang_ps.swift in Sources */,
649D479620C913E200513A67 /* Date+Components.swift in Sources */,
- 6470DC3820D2720400BC2E74 /* lang_pa.swift in Sources */,
- 6470DBDE20D2720400BC2E74 /* lang_dz.swift in Sources */,
- 6470DB3420D2720400BC2E74 /* lang_yue_Hans.swift in Sources */,
- 6470DB1120D2720400BC2E74 /* lang_hu.swift in Sources */,
649D477D20C877C300513A67 /* DateInRegion+Create.swift in Sources */,
- 6470DCBA20D2720400BC2E74 /* lang_nn.swift in Sources */,
- 6470DCD320D2720400BC2E74 /* lang_sq.swift in Sources */,
649D47B420C9276400513A67 /* DateComponents+Extras.swift in Sources */,
- 6470DB2520D2720400BC2E74 /* lang_lv.swift in Sources */,
- 6470DC1020D2720400BC2E74 /* lang_yi.swift in Sources */,
- 6470DB7F20D2720400BC2E74 /* lang_cs.swift in Sources */,
- 6470DB8920D2720400BC2E74 /* lang_ar.swift in Sources */,
- 6470DC3D20D2720400BC2E74 /* lang_wae.swift in Sources */,
- 6470DCEC20D2720500BC2E74 /* lang_sr_Latn.swift in Sources */,
- 6470DAEE20D2720400BC2E74 /* lang_lb.swift in Sources */,
- 6470DC7E20D2720400BC2E74 /* lang_et.swift in Sources */,
- 6470DAD520D2720400BC2E74 /* lang_as.swift in Sources */,
- 6470DCBF20D2720400BC2E74 /* lang_es_MX.swift in Sources */,
- 6470DB8E20D2720400BC2E74 /* lang_kea.swift in Sources */,
- 6470DAF320D2720400BC2E74 /* lang_sv.swift in Sources */,
- 6470DACB20D2720400BC2E74 /* lang_lkt.swift in Sources */,
649D47C020C959F500513A67 /* Date+Math.swift in Sources */,
649D47AE20C91C0B00513A67 /* Date+Compare.swift in Sources */,
649D477720C872DA00513A67 /* DotNetParserFormatter.swift in Sources */,
- 6470DC6020D2720400BC2E74 /* lang_mt.swift in Sources */,
- 6470DCFB20D2720500BC2E74 /* lang_fa.swift in Sources */,
- 6470DBA720D2720400BC2E74 /* lang_ja.swift in Sources */,
- 6470DBBB20D2720400BC2E74 /* lang_tk.swift in Sources */,
649D477120C85C7100513A67 /* ISOParser.swift in Sources */,
- 6470DBCA20D2720400BC2E74 /* lang_ka.swift in Sources */,
- 6470DCF120D2720500BC2E74 /* lang_ru.swift in Sources */,
- 6470DBFC20D2720400BC2E74 /* lang_az.swift in Sources */,
- 6470DBD420D2720400BC2E74 /* lang_ur.swift in Sources */,
649D47C620C964E000513A67 /* Int+DateComponents.swift in Sources */,
- 6470DC5620D2720400BC2E74 /* lang_ar_AE.swift in Sources */,
- 6470DB1B20D2720400BC2E74 /* lang_en.swift in Sources */,
- 6470DC3320D2720400BC2E74 /* lang_am.swift in Sources */,
- 6470DB5220D2720400BC2E74 /* lang_hsb.swift in Sources */,
- 6470DC6F20D2720400BC2E74 /* lang_sr.swift in Sources */,
- 6470DAB220D2720400BC2E74 /* lang_zh_Hant.swift in Sources */,
6434DDA420C809C2007626EF /* DateInRegion.swift in Sources */,
6434DD9120C809B3007626EF /* ViewController.swift in Sources */,
- 6470DC9220D2720400BC2E74 /* lang_sd.swift in Sources */,
- 6470DB2A20D2720400BC2E74 /* lang_fil.swift in Sources */,
- 6470DC8320D2720400BC2E74 /* lang_he.swift in Sources */,
- 6470DB0220D2720400BC2E74 /* lang_fy.swift in Sources */,
649D47A820C91BEA00513A67 /* DateInRegion+Compare.swift in Sources */,
- 6470DBF720D2720400BC2E74 /* lang_pl.swift in Sources */,
- 6470DAD020D2720400BC2E74 /* lang_si.swift in Sources */,
649D474520C81A4200513A67 /* Date.swift in Sources */,
- 6470DCA620D2720400BC2E74 /* lang_ug.swift in Sources */,
- 6470DB4D20D2720400BC2E74 /* lang_ur_IN.swift in Sources */,
- 6470DB4320D2720400BC2E74 /* lang_ee.swift in Sources */,
- 6470DBB120D2720400BC2E74 /* lang_fur.swift in Sources */,
64B5E26420D30AE40067EDC1 /* TimePeriodCollection.swift in Sources */,
- 6470DAA320D2720400BC2E74 /* lang_nb.swift in Sources */,
- 6470DC6520D2720400BC2E74 /* lang_fi.swift in Sources */,
649D473F20C81A2A00513A67 /* DateRepresentable.swift in Sources */,
649D478320C880DC00513A67 /* Date+Create.swift in Sources */,
- 6470DB0720D2720400BC2E74 /* lang_zh_Hant_HK.swift in Sources */,
- 6470DBCF20D2720400BC2E74 /* lang_cy.swift in Sources */,
- 6470DABC20D2720400BC2E74 /* lang_sk.swift in Sources */,
- 6470DC9720D2720400BC2E74 /* lang_bn.swift in Sources */,
64B5E25720D306220067EDC1 /* TimePeriod.swift in Sources */,
- 6470DB9320D2720400BC2E74 /* lang_af.swift in Sources */,
- 6470DAF820D2720400BC2E74 /* lang_es_AR.swift in Sources */,
6470DD1E20D296EA00BC2E74 /* TimeInterval+Formatter.swift in Sources */,
- 6470DC1520D2720400BC2E74 /* lang_se_FI.swift in Sources */,
- 6470DB2020D2720400BC2E74 /* lang_uz.swift in Sources */,
- 6470DB7A20D2720400BC2E74 /* lang_sah.swift in Sources */,
- 6470DD0020D2720500BC2E74 /* lang_hi.swift in Sources */,
- 6470DBE320D2720400BC2E74 /* lang_ms.swift in Sources */,
- 6470DAC120D2720400BC2E74 /* lang_kok.swift in Sources */,
- 6470DB6120D2720400BC2E74 /* lang_mk.swift in Sources */,
6434DD8F20C809B3007626EF /* AppDelegate.swift in Sources */,
- 6470DBD920D2720400BC2E74 /* lang_uz_Cyrl.swift in Sources */,
- 6470DBC520D2720400BC2E74 /* lang_sl.swift in Sources */,
649D478920C8861200513A67 /* DateInRegion+Components.swift in Sources */,
- 6470DAAD20D2720400BC2E74 /* lang_ky.swift in Sources */,
- 6470DB5C20D2720400BC2E74 /* lang_fr_CA.swift in Sources */,
649D47F220CAB96D00513A67 /* RelativeFormatter+Style.swift in Sources */,
- 6470DC2420D2720400BC2E74 /* lang_mr.swift in Sources */,
- 6470DCA120D2720400BC2E74 /* lang_zh_Hans_SG.swift in Sources */,
- 6470DBB620D2720400BC2E74 /* lang_it.swift in Sources */,
- 6470DCCE20D2720400BC2E74 /* lang_zh.swift in Sources */,
- 6470DC5120D2720400BC2E74 /* lang_gu.swift in Sources */,
6434DD9E20C809C2007626EF /* SwiftDate.swift in Sources */,
- 6470DC4C20D2720400BC2E74 /* lang_gl.swift in Sources */,
64B5E25D20D3090A0067EDC1 /* TimePeriodGroup.swift in Sources */,
- 6470DC1A20D2720400BC2E74 /* lang_dsb.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Tests/SwiftDateTests/TestDataStructures.swift b/Tests/SwiftDateTests/TestDataStructures.swift
index ad0d3bea..4cb1fbf1 100644
--- a/Tests/SwiftDateTests/TestDataStructures.swift
+++ b/Tests/SwiftDateTests/TestDataStructures.swift
@@ -1,9 +1,13 @@
//
-// TestDataStructures.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 20/01/2019.
-// Copyright © 2019 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
diff --git a/Tests/SwiftDateTests/TestDateInRegion+Compare.swift b/Tests/SwiftDateTests/TestDateInRegion+Compare.swift
index c259c7c5..7b65cd8b 100644
--- a/Tests/SwiftDateTests/TestDateInRegion+Compare.swift
+++ b/Tests/SwiftDateTests/TestDateInRegion+Compare.swift
@@ -1,9 +1,13 @@
//
-// TestDateInRegion+Compare.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 17/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
diff --git a/Tests/SwiftDateTests/TestDateInRegion+Components.swift b/Tests/SwiftDateTests/TestDateInRegion+Components.swift
index f1ef7ec7..a580febe 100644
--- a/Tests/SwiftDateTests/TestDateInRegion+Components.swift
+++ b/Tests/SwiftDateTests/TestDateInRegion+Components.swift
@@ -1,9 +1,13 @@
//
-// TestDateInRegion+Components.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 19/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
diff --git a/Tests/SwiftDateTests/TestDateInRegion+Create.swift b/Tests/SwiftDateTests/TestDateInRegion+Create.swift
index b3db06f7..d15c8a2b 100644
--- a/Tests/SwiftDateTests/TestDateInRegion+Create.swift
+++ b/Tests/SwiftDateTests/TestDateInRegion+Create.swift
@@ -1,9 +1,13 @@
//
-// TestDateInRegion+Create.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 17/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
@@ -116,7 +120,7 @@ class TestDateInRegion_Create: XCTestCase {
}
}
- func testDateInRegion_EnumareDates() {
+ func testDateInRegion_EnumerateDates() {
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
// TEST DATE #1
diff --git a/Tests/SwiftDateTests/TestDateInRegion+Langs.swift b/Tests/SwiftDateTests/TestDateInRegion+Langs.swift
index 91e2dbda..f13f98a6 100644
--- a/Tests/SwiftDateTests/TestDateInRegion+Langs.swift
+++ b/Tests/SwiftDateTests/TestDateInRegion+Langs.swift
@@ -1,9 +1,13 @@
//
-// TestDateInRegion+Langs.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 29/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
@@ -13,12 +17,11 @@ class TestDateInRegion_Langs: XCTestCase {
public func testLanguages() {
- RelativeFormatter.allLanguages.forEach { langType in
- XCTAssert((langType.identifier.isEmpty == false), "Language \(langType) has not a valid identifier")
- let langInstance = langType.init()
- langInstance.flavours.forEach({ (key, value) in
+ RelativeFormatter.allLanguages.forEach { lang in
+ XCTAssert((lang.identifier.isEmpty == false), "Language \(lang.identifier) has not a valid identifier")
+ lang.flavours.forEach({ (key, value) in
if RelativeFormatter.Flavour(rawValue: key) == nil {
- XCTFail("Flavour '\(key)' is not supported by the library (lang '\(langType.identifier)'")
+ XCTFail("Flavour '\(key)' is not supported by the library (lang '\(lang.identifier)')")
return
}
guard let flavourDict = value as? [String: Any] else {
@@ -35,4 +38,22 @@ class TestDateInRegion_Langs: XCTestCase {
}
}
+ public func testValues() {
+ let ago5Mins = DateInRegion() - 5.minutes
+ let value1 = ago5Mins.toRelative(style: RelativeFormatter.defaultStyle(), locale: Locales.italian) // "5 minuti fa"
+ XCTAssert(value1 == "5 minuti fa", "Failed to get relative date in default style")
+
+ let justNow2 = DateInRegion() - 2.hours
+ let value2 = justNow2.toRelative(style: RelativeFormatter.twitterStyle(), locale: Locales.italian) // "2h fa"
+ XCTAssert(value2 == "2h fa", "Failed to get relative date in twitter style")
+
+ let justNow = DateInRegion() - 10.seconds
+ let value3 = justNow.toRelative(style: RelativeFormatter.twitterStyle(), locale: Locales.italian) // "ora"
+ XCTAssert(value3 == "ora", "Failed to get relative date in twitter style")
+
+ let value4 = justNow.toRelative(style: RelativeFormatter.twitterStyle(), locale: Locales.english) // "now"
+ XCTAssert(value4 == "now", "Failed to get relative date in twitter style")
+
+ }
+
}
diff --git a/Tests/SwiftDateTests/TestDateInRegion+Math.swift b/Tests/SwiftDateTests/TestDateInRegion+Math.swift
index e7b2b28d..c070a295 100644
--- a/Tests/SwiftDateTests/TestDateInRegion+Math.swift
+++ b/Tests/SwiftDateTests/TestDateInRegion+Math.swift
@@ -1,9 +1,13 @@
//
-// TestDateInRegion+Math.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 19/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
@@ -94,6 +98,24 @@ class TestDateInRegion_Math: XCTestCase {
let finalDate5 = (date1 + [Calendar.Component.day: 20, Calendar.Component.hour: 10]).toFormat(dateFormat)
XCTAssert( (finalDate5 == "2017-08-11 10:00:00"), "Failed to add components dict and get the exact final date")
- }
+ }
+
+ func testNextWeekday() {
+ let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
+ let dateFormat = "yyyy-MM-dd HH:mm:ss"
+
+ let date1 = DateInRegion("2019-05-11 00:00:00", format: dateFormat, region: regionRome)!
+ let nextFriday = date1.nextWeekday(.friday)
+ XCTAssert(nextFriday.toISO() == "2019-05-17T00:00:00+02:00", "Failed to get the next weekday from date")
+ }
+
+ func testDateAtWeekdayOrdinal() {
+ let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
+ let dateFormat = "yyyy-MM-dd HH:mm:ss"
+
+ let date1 = DateInRegion("2019-05-11 00:00:00", format: dateFormat, region: regionRome)!
+ let result = date1.dateAt(weekdayOrdinal: 3, weekday: .friday, monthNumber: date1.month + 1)
+ XCTAssert(result.toISO() == "2019-06-21T00:00:00+02:00", "Failed to get the next weekday from date")
+ }
}
diff --git a/Tests/SwiftDateTests/TestDateInRegion.swift b/Tests/SwiftDateTests/TestDateInRegion.swift
index 99a43e56..9126b583 100644
--- a/Tests/SwiftDateTests/TestDateInRegion.swift
+++ b/Tests/SwiftDateTests/TestDateInRegion.swift
@@ -1,9 +1,13 @@
//
-// TestDateInRegion.swift
-// SwiftDate-iOS Tests
+// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 16/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
diff --git a/Tests/SwiftDateTests/TestFormatters.swift b/Tests/SwiftDateTests/TestFormatters.swift
index 3f69a167..a67d677f 100644
--- a/Tests/SwiftDateTests/TestFormatters.swift
+++ b/Tests/SwiftDateTests/TestFormatters.swift
@@ -1,9 +1,13 @@
//
-// TestFormatters.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 19/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
@@ -434,8 +438,8 @@ class TestFormatters: XCTestCase {
}
func testTZInISOParser() {
- let gmtTimezone = "2017-08-05T16:04:03".toISODate(region: Region.ISO)!
- let timezoneInDate = "2017-08-05T16:04:03+02:00".toISODate(region: Region.ISO)!
+ let gmtTimezone = "2017-08-05T16:04:03".toISODate(region: Region.ISO)! // force timezone
+ let timezoneInDate = "2017-08-05T16:04:03+02:00".toISODate()! // parse from iso
XCTAssert(gmtTimezone.region.timeZone.secondsFromGMT() == 0, "ISO Date does not contains timezone (is gmt)")
XCTAssert(timezoneInDate.region.timeZone.secondsFromGMT() == 7200, "ISO Date does not contains timezone (is gmt)")
}
@@ -451,14 +455,14 @@ class TestFormatters: XCTestCase {
func testTimeInterval_Clock() {
let value = (2.hours + 5.minutes).timeInterval.toClock()
- XCTAssert(value == "2:05:00", "Failed to format clock")
+ XCTAssert(value == "02:05:00", "Failed to format clock")
#if os(Linux)
let zeroBehavior = DateComponentsFormatter.ZeroFormattingBehavior(rawValue: 14)
let value2 = (4.minutes + 50.minutes).timeInterval.toClock(zero: zeroBehavior)
XCTAssert(value2 == "54:00", "Failed to format clock")
#else
let value2 = (4.minutes + 50.minutes).timeInterval.toClock(zero: DateComponentsFormatter.ZeroFormattingBehavior.dropAll)
- XCTAssert(value2 == "54:00", "Failed to format clock")
+ XCTAssert(value2 == "54", "Failed to format clock")
#endif
}
@@ -512,11 +516,11 @@ class TestFormatters: XCTestCase {
let justNow3 = DateInRegion() - 1.minutes
let r5 = justNow3.toRelative(style: RelativeFormatter.twitterStyle(), locale: Locales.english)
- XCTAssert(r5 == "1m", "Failed to use colloquial formatter")
+ XCTAssert(r5 == "1 min. ago", "Failed to use colloquial formatter")
let justNow4 = DateInRegion() - 51.seconds
let r6 = justNow4.toRelative(style: RelativeFormatter.twitterStyle(), locale: Locales.english)
- XCTAssert(r6 == "1m", "Failed to use colloquial formatter")
+ XCTAssert(r6 == "1 min. ago", "Failed to use colloquial formatter")
}
func testISOParser() {
diff --git a/Tests/SwiftDateTests/TestRegion.swift b/Tests/SwiftDateTests/TestRegion.swift
index 8c3e1042..55ac170b 100644
--- a/Tests/SwiftDateTests/TestRegion.swift
+++ b/Tests/SwiftDateTests/TestRegion.swift
@@ -1,9 +1,13 @@
//
-// TestRegion.swift
-// SwiftDate-iOS Tests
+// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 16/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate
diff --git a/Tests/SwiftDateTests/TestSwiftDate.swift b/Tests/SwiftDateTests/TestSwiftDate.swift
index 9e21f5e3..fc308b4e 100644
--- a/Tests/SwiftDateTests/TestSwiftDate.swift
+++ b/Tests/SwiftDateTests/TestSwiftDate.swift
@@ -1,9 +1,13 @@
//
-// TestSwiftDate.swift
// SwiftDate
+// Parse, validate, manipulate, and display dates, time and timezones in Swift
//
-// Created by Daniele Margutti on 29/06/2018.
-// Copyright © 2018 SwiftDate. All rights reserved.
+// Created by Daniele Margutti
+// - Web: https://www.danielemargutti.com
+// - Twitter: https://twitter.com/danielemargutti
+// - Mail: hello@danielemargutti.com
+//
+// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
//
import SwiftDate