├── .gitignore ├── README.md └── SampleProjectDashboard ├── SampleProjectDashboard.xcodeproj ├── project.pbxproj └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist └── SampleProjectDashboard ├── AppDelegate.swift ├── Assets.xcassets ├── AppIcon.appiconset │ └── Contents.json └── Contents.json ├── Base.lproj └── LaunchScreen.storyboard ├── Classes ├── Data │ └── ProjectData.swift ├── Model │ └── Project.swift ├── Module │ ├── ProjectDetails │ │ └── ProjectDetails.swift │ ├── ProjectList │ │ ├── ProjectList.swift │ │ └── ProjectListRow.swift │ └── ProjectWizard │ │ └── ProjectWizard.swift └── Vendor │ └── Fakery │ ├── Config.swift │ ├── Data │ ├── Parser.swift │ └── Provider.swift │ ├── Extensions │ └── ArrayExtension.swift │ ├── Faker.swift │ ├── Generators │ ├── Address.swift │ ├── App.swift │ ├── Bank.swift │ ├── Business.swift │ ├── Car.swift │ ├── Cat.swift │ ├── Commerce.swift │ ├── Company.swift │ ├── Date.swift │ ├── Gender.swift │ ├── Generator.swift │ ├── Ham.swift │ ├── Internet.swift │ ├── Lorem.swift │ ├── Name.swift │ ├── Number.swift │ ├── PhoneNumber.swift │ ├── ProgrammingLanguage.swift │ ├── Team.swift │ ├── Vehicle.swift │ └── Zelda.swift │ └── Locales │ ├── de-AT.json │ ├── de-CH.json │ ├── de.json │ ├── en-AU.json │ ├── en-CA.json │ ├── en-GB.json │ ├── en-IND.json │ ├── en-TEST.json │ ├── en-US.json │ ├── en.json │ ├── es.json │ ├── fa.json │ ├── fr.json │ ├── it.json │ ├── ja.json │ ├── ko.json │ ├── nb-NO.json │ ├── nl.json │ ├── pl.json │ ├── pt-BR.json │ ├── ru.json │ ├── sk.json │ ├── sv.json │ ├── tr-TR.json │ ├── uk.json │ ├── zh-CN.json │ └── zh-TW.json ├── Info.plist ├── Preview Content └── Preview Assets.xcassets │ └── Contents.json └── SceneDelegate.swift /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xccheckout 23 | *.xcscmblueprint 24 | 25 | ## Obj-C/Swift specific 26 | *.hmap 27 | *.ipa 28 | *.dSYM.zip 29 | *.dSYM 30 | 31 | ## Playgrounds 32 | timeline.xctimeline 33 | playground.xcworkspace 34 | 35 | # Swift Package Manager 36 | # 37 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 38 | # Packages/ 39 | # Package.pins 40 | # Package.resolved 41 | .build/ 42 | 43 | # CocoaPods 44 | # 45 | # We recommend against adding the Pods directory to your .gitignore. However 46 | # you should judge for yourself, the pros and cons are mentioned at: 47 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 48 | # 49 | # Pods/ 50 | 51 | # Carthage 52 | # 53 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 54 | # Carthage/Checkouts 55 | 56 | Carthage/Build 57 | 58 | # fastlane 59 | # 60 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 61 | # screenshots whenever they are needed. 62 | # For more information about the recommended setup visit: 63 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 64 | 65 | fastlane/report.xml 66 | fastlane/Preview.html 67 | fastlane/screenshots/**/*.png 68 | fastlane/test_output 69 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SwiftUIExamples 2 | Some SwiftUI examples 3 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // SampleProjectDashboard 4 | // 5 | // Created by Bruno Bilescky on 05/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 17 | // Override point for customization after application launch. 18 | return true 19 | } 20 | 21 | func applicationWillTerminate(_ application: UIApplication) { 22 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 23 | } 24 | 25 | // MARK: UISceneSession Lifecycle 26 | 27 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { 28 | // Called when a new scene session is being created. 29 | // Use this method to select a configuration to create the new scene with. 30 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 31 | } 32 | 33 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { 34 | // Called when the user discards a scene session. 35 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 36 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 37 | } 38 | 39 | 40 | } 41 | 42 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Data/ProjectData.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ProjectData.swift 3 | // FastIDE 4 | // 5 | // Created by Bruno Bilescky on 05/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import Combine 10 | import SwiftUI 11 | 12 | class ProjectData: BindableObject { 13 | 14 | private var index: Int { projects.count } 15 | private let colors: [Color] = [.blue, .red, .green, .orange, .yellow, .purple, .gray, .pink] 16 | 17 | let didChange = PassthroughSubject() 18 | 19 | var projects: [Project] { 20 | didSet { 21 | didChange.send(self) 22 | } 23 | } 24 | 25 | init() { 26 | self.projects = [] 27 | let numberOfRandomProjects = Int.random(in: 1..<10) 28 | for _ in 0...numberOfRandomProjects { 29 | self.insertRandomProject() 30 | } 31 | } 32 | 33 | func insertRandomProject() { 34 | let faker = Faker(locale: "en_GB") 35 | let color = colors.randomElement()! 36 | let project = Project(id: index, name: faker.company.name(), color: color) 37 | self.projects.insert(project, at: 0) 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Model/Project.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Project.swift 3 | // FastIDE 4 | // 5 | // Created by Bruno Bilescky on 04/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import SwiftUI 11 | 12 | struct Project: Hashable { 13 | static func == (lhs: Project, rhs: Project) -> Bool { 14 | return lhs.id == rhs.id 15 | } 16 | 17 | func hash(into hasher: inout Hasher) { 18 | hasher.combine(id) 19 | hasher.combine(name) 20 | hasher.combine(color) 21 | } 22 | 23 | var id: Int 24 | var name: String 25 | var color: Color 26 | var createdAt: Date = Date() 27 | var updatedAt: Date = Date() 28 | 29 | } 30 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Module/ProjectDetails/ProjectDetails.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ProjectDetails.swift 3 | // FastIDE 4 | // 5 | // Created by Bruno Bilescky on 05/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct ProjectDetails : View { 12 | 13 | var project: Project 14 | 15 | var body: some View { 16 | Text(project.name) 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Module/ProjectList/ProjectList.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ProjectListView.swift 3 | // FastIDE 4 | // 5 | // Created by Bruno Bilescky on 04/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct ProjectList : View { 12 | 13 | @EnvironmentObject private var projectData: ProjectData 14 | 15 | var wizard: ProjectWizard { ProjectWizard() } 16 | 17 | var body: some View { 18 | NavigationView { 19 | List(projectData.projects.identified(by: \.id)) { project in 20 | ProjectListRow(project: project) 21 | } 22 | .navigationBarTitle(Text("Projects")) 23 | .navigationBarItems(trailing: 24 | HStack(spacing: 20) { 25 | Button(action: { 26 | self.projectData.insertRandomProject() 27 | }) { 28 | Image(systemName: "plus") 29 | .font(.title) 30 | } 31 | PresentationButton(destination: ProjectWizard()) { 32 | Image(systemName: "person.crop.square") 33 | .font(.title) 34 | } 35 | } 36 | ) 37 | } 38 | } 39 | } 40 | 41 | #if DEBUG 42 | struct ProjectListView_Previews : PreviewProvider { 43 | static var previews: some View { 44 | ProjectList() 45 | } 46 | } 47 | #endif 48 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Module/ProjectList/ProjectListRow.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ProjectListRow.swift 3 | // FastIDE 4 | // 5 | // Created by Bruno Bilescky on 04/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct ProjectListRow : View { 12 | var project: Project 13 | 14 | var body: some View { 15 | NavigationButton(destination: ProjectDetails(project: project)) { 16 | HStack(spacing: 40) { 17 | project.color 18 | .frame(width: 400) 19 | VStack(alignment: .leading) { 20 | Spacer(minLength: 40) 21 | Image(systemName: "gift.fill") 22 | .font(.largeTitle) 23 | .foregroundColor(project.color) 24 | Spacer(minLength: 40) 25 | Text(project.name) 26 | .font(.title) 27 | Spacer() 28 | HStack { 29 | Image(systemName: "clock") 30 | .font(.footnote) 31 | Text("updated today") 32 | .font(.footnote) 33 | } 34 | HStack { 35 | Image(systemName: "calendar") 36 | .font(.footnote) 37 | Text("created on 10/01/2019") 38 | .font(.footnote) 39 | } 40 | Spacer(minLength: 40) 41 | } 42 | Spacer() 43 | } 44 | } 45 | .overlay( 46 | Image(systemName: "star") 47 | .padding([.top], 10), 48 | alignment: .topTrailing) 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Module/ProjectWizard/ProjectWizard.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ProjectWizard.swift 3 | // FastIDE 4 | // 5 | // Created by Bruno Bilescky on 05/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import SwiftUI 10 | 11 | struct ProjectWizard : View { 12 | var body: some View { 13 | VStack { 14 | Image(systemName: "plus.circle.fill") 15 | .font(.largeTitle) 16 | } 17 | .background(Color.white) 18 | } 19 | } 20 | 21 | #if DEBUG 22 | struct ProjectWizard_Previews : PreviewProvider { 23 | static var previews: some View { 24 | ProjectWizard() 25 | } 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Config.swift: -------------------------------------------------------------------------------- 1 | public struct Config { 2 | public static let defaultLocale: String = "en" 3 | public static let pathExtension: String = "json" 4 | public static var dirPath: String = "Resources/Locales" 5 | public static var dirFrameworkPath: String = "" 6 | public static var dirResourcePath: String = "" 7 | } 8 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Data/Parser.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Parser { 4 | public var locale: String { 5 | didSet { 6 | if locale != oldValue { 7 | loadData(forLocale: locale) 8 | } 9 | } 10 | } 11 | 12 | private var data = [String: Any]() 13 | let provider: Provider 14 | 15 | // MARK: - Initialization 16 | 17 | public init(locale: String = Config.defaultLocale) { 18 | self.locale = locale 19 | provider = Provider() 20 | loadData(forLocale: locale) 21 | 22 | if locale != Config.defaultLocale { 23 | loadData(forLocale: Config.defaultLocale) 24 | } 25 | } 26 | 27 | // MARK: - Parsing 28 | 29 | public func fetch(_ key: String) -> String { 30 | var parsed = "" 31 | 32 | guard let keyData = fetchRaw(key) else { 33 | return parsed 34 | } 35 | 36 | let subject = getSubject(key) 37 | 38 | if let value = keyData as? String { 39 | parsed = value 40 | } else if let array = keyData as? [String], let item = array.random() { 41 | parsed = item 42 | } 43 | 44 | if parsed.range(of: "#{") != nil { 45 | parsed = parse(parsed, forSubject: subject) 46 | } 47 | 48 | return parsed 49 | } 50 | 51 | public func fetchRaw(_ key: String) -> Any? { 52 | let result = fetchRaw(key, forLocale: locale) 53 | 54 | guard locale != Config.defaultLocale else { 55 | return result 56 | } 57 | 58 | return result ?? fetchRaw(key, forLocale: Config.defaultLocale) 59 | } 60 | 61 | func parse(_ template: String, forSubject subject: String) -> String { 62 | var text = "" 63 | let string = NSString(string: template) 64 | var regex: NSRegularExpression 65 | 66 | do { 67 | try regex = NSRegularExpression(pattern: "(\\(?)#\\{([A-Za-z]+\\.)?([^\\}]+)\\}([^#]+)?", 68 | options: .caseInsensitive) 69 | 70 | let matches = regex.matches(in: template, 71 | options: .reportCompletion, 72 | range: NSRange(location: 0, length: string.length)) 73 | 74 | guard !matches.isEmpty else { 75 | return template 76 | } 77 | 78 | for match in matches { 79 | if match.numberOfRanges < 4 { 80 | continue 81 | } 82 | 83 | let prefixRange = match.range(at: 1) 84 | let subjectRange = match.range(at: 2) 85 | let methodRange = match.range(at: 3) 86 | let otherRange = match.range(at: 4) 87 | 88 | if prefixRange.length > 0 { 89 | text += string.substring(with: prefixRange) 90 | } 91 | 92 | var subjectWithDot = subject + "." 93 | 94 | if subjectRange.length > 0 { 95 | subjectWithDot = string.substring(with: subjectRange) 96 | } 97 | 98 | if methodRange.length > 0 { 99 | let key = subjectWithDot.lowercased() + string.substring(with: methodRange) 100 | text += fetch(key) 101 | } 102 | 103 | if otherRange.length > 0 { 104 | text += string.substring(with: otherRange) 105 | } 106 | } 107 | } catch {} 108 | 109 | return text 110 | } 111 | 112 | private func fetchRaw(_ key: String, forLocale locale: String) -> Any? { 113 | let parts = key.components(separatedBy: ".") 114 | 115 | guard let localeData = data[locale] as? [String: Any], 116 | var parsed = localeData["faker"] as? [String: Any], 117 | !parts.isEmpty else { return nil } 118 | 119 | var result: Any? 120 | 121 | for part in parts { 122 | guard let parsedPart = parsed[part] as? [String: Any] else { 123 | result = parsed[part] 124 | continue 125 | } 126 | 127 | parsed = parsedPart 128 | result = parsedPart 129 | } 130 | 131 | return result 132 | } 133 | 134 | private func getSubject(_ key: String) -> String { 135 | var subject: String = "" 136 | var parts = key.components(separatedBy: ".") 137 | 138 | if !parts.isEmpty { 139 | subject = parts[0] 140 | } 141 | 142 | return subject 143 | } 144 | 145 | // MARK: - Data loading 146 | 147 | private func loadData(forLocale locale: String) { 148 | guard let localeData = provider.dataForLocale(locale), 149 | let parsedData = try? JSONSerialization.jsonObject(with: localeData, options: .allowFragments), 150 | let json = parsedData as? [String: Any], 151 | let localeJson = json[locale] else { 152 | print("JSON file for '\(locale)' locale was not found.") 153 | return 154 | } 155 | 156 | data[locale] = localeJson 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Data/Provider.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Provider { 4 | var translations: [String: Data] = [:] 5 | 6 | // MARK: - Locale data 7 | 8 | public func dataForLocale(_ locale: String) -> Data? { 9 | var translation: Data? 10 | 11 | if let translationData = translations[locale] { 12 | translation = translationData 13 | } else { 14 | let bundle = Bundle(for: Provider.self) 15 | 16 | var path = bundle.path(forResource: locale, 17 | ofType: Config.pathExtension, 18 | inDirectory: Config.dirPath) ?? 19 | bundle.path(forResource: locale, 20 | ofType: Config.pathExtension, 21 | inDirectory: Config.dirFrameworkPath) 22 | 23 | if !Config.dirResourcePath.isEmpty { 24 | path = "\(Config.dirResourcePath)/\(locale).\(Config.pathExtension)" 25 | } 26 | 27 | if let resourcePath = Bundle(for: Provider.self).resourcePath { 28 | let bundlePath = resourcePath + "/Faker.bundle" 29 | 30 | if let bundle = Bundle(path: bundlePath) { 31 | path = bundle.path(forResource: locale, ofType: Config.pathExtension) 32 | } 33 | } 34 | 35 | if let path = path { 36 | let fileURL = URL(fileURLWithPath: path) 37 | 38 | if let data = try? Data(contentsOf: fileURL) { 39 | translation = data 40 | translations[locale] = data 41 | } 42 | } 43 | } 44 | 45 | return translation 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Extensions/ArrayExtension.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | extension Array { 4 | func at(_ index: Int?) -> Element? { 5 | guard let index = index, index >= 0 && index < endIndex else { 6 | return nil 7 | } 8 | 9 | return self[index] 10 | } 11 | 12 | func random() -> Element? { 13 | // swiftlint:disable empty_count 14 | guard count > 0 else { 15 | return nil 16 | } 17 | #if swift(>=4.2) 18 | return self.randomElement() 19 | #else 20 | return self[Int(arc4random_uniform(UInt32(count)))] 21 | #endif 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Faker.swift: -------------------------------------------------------------------------------- 1 | public final class Faker { 2 | public var locale: String { 3 | didSet { 4 | if locale != oldValue { 5 | parser.locale = locale 6 | } 7 | } 8 | } 9 | 10 | public let address: Address 11 | public let app: App 12 | public let zelda: Zelda 13 | public let business: Business 14 | public let cat: Cat 15 | public let company: Company 16 | public let commerce: Commerce 17 | public let gender: Gender 18 | public let internet: Internet 19 | public let lorem: Lorem 20 | public let name: Name 21 | public let phoneNumber: PhoneNumber 22 | public let team: Team 23 | public let number: Number 24 | public let bank: Bank 25 | public let date: Date 26 | public let car: Car 27 | public let programmingLanguage: ProgrammingLanguage 28 | public let vehicle: Vehicle 29 | public let ham: Ham 30 | 31 | let parser: Parser 32 | 33 | // MARK: - Initialization 34 | 35 | public init(locale: String = Config.defaultLocale) { 36 | self.locale = locale 37 | parser = Parser(locale: self.locale) 38 | address = Address(parser: parser) 39 | app = App(parser: parser) 40 | zelda = Zelda(parser: parser) 41 | business = Business(parser: parser) 42 | cat = Cat(parser: parser) 43 | company = Company(parser: parser) 44 | commerce = Commerce(parser: parser) 45 | gender = Gender(parser: parser) 46 | internet = Internet(parser: parser) 47 | lorem = Lorem(parser: parser) 48 | name = Name(parser: parser) 49 | phoneNumber = PhoneNumber(parser: parser) 50 | team = Team(parser: parser) 51 | number = Number() 52 | bank = Bank(parser: parser) 53 | date = Date() 54 | car = Car(parser: parser) 55 | programmingLanguage = ProgrammingLanguage(parser: parser) 56 | vehicle = Vehicle(parser: parser) 57 | ham = Ham(parser: parser) 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Address.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | #if os(Linux) 3 | public struct Location { 4 | let latitude: Double 5 | let longitude: Double 6 | } 7 | #else 8 | import CoreLocation 9 | public typealias Location = CLLocationCoordinate2D 10 | #endif 11 | 12 | public final class Address: Generator { 13 | public func city() -> String { 14 | return generate("address.city") 15 | } 16 | 17 | public func streetName() -> String { 18 | return generate("address.street_name") 19 | } 20 | 21 | public func secondaryAddress() -> String { 22 | return numerify(generate("address.secondary_address")) 23 | } 24 | 25 | public func streetAddress(includeSecondary: Bool = false) -> String { 26 | var streetAddress = numerify(generate("address.street_address")) 27 | 28 | if includeSecondary { 29 | streetAddress += " " + secondaryAddress() 30 | } 31 | 32 | return streetAddress 33 | } 34 | 35 | public func buildingNumber() -> String { 36 | return bothify(generate("address.building_number")) 37 | } 38 | 39 | public func postcode(stateAbbreviation: String = "") -> String { 40 | if stateAbbreviation.isEmpty { 41 | return bothify(generate("address.postcode")) 42 | } 43 | 44 | return bothify(generate("address.postcode_by_state.\(stateAbbreviation)")) 45 | } 46 | 47 | public func timeZone() -> String { 48 | return generate("address.time_zone") 49 | } 50 | 51 | public func streetSuffix() -> String { 52 | return generate("address.street_suffix") 53 | } 54 | 55 | public func citySuffix() -> String { 56 | return generate("address.city_suffix") 57 | } 58 | 59 | public func cityPrefix() -> String { 60 | return generate("address.city_prefix") 61 | } 62 | 63 | public func stateAbbreviation() -> String { 64 | return generate("address.state_abbr") 65 | } 66 | 67 | public func state() -> String { 68 | return generate("address.state") 69 | } 70 | 71 | public func county() -> String { 72 | return generate("address.county") 73 | } 74 | 75 | public func country() -> String { 76 | return generate("address.country") 77 | } 78 | 79 | public func countryCode() -> String { 80 | return generate("address.country_code") 81 | } 82 | 83 | public func latitude() -> Double { 84 | return drand48() * 180.0 - 90.0 85 | } 86 | 87 | public func longitude() -> Double { 88 | return drand48() * 360.0 - 180.0 89 | } 90 | 91 | public func coordinate(inRadius radius: Double, fromCenter center: Location) -> Location { 92 | let y0 = center.latitude 93 | let x0 = center.longitude 94 | 95 | // Convert meters to degrees for radius 96 | let radiusInDegrees = radius / 111300.0 97 | 98 | // Random point in circle 99 | #if swift(>=4.2) 100 | let u = Double.random(in: 0.. String { 3 | return generate("app.name") 4 | } 5 | 6 | public func version() -> String { 7 | return numerify(generate("app.version")) 8 | } 9 | 10 | public func author() -> String { 11 | return generate("app.author") 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Bank.swift: -------------------------------------------------------------------------------- 1 | public final class Bank: Generator { 2 | public func name() -> String { 3 | return generate("bank.name") 4 | } 5 | 6 | public func swiftBic() -> String { 7 | return generate("bank.swiftBic") 8 | } 9 | 10 | public func iban() -> String { 11 | let bankCountryCode = generate("bank.ibanDetails.bankCountryCode") 12 | let bankCountryString = numerify("##") 13 | let ibanLetterCode = letterify(generate("bank.ibanDetails.ibanLetterCode")) 14 | let iban = numerify(generate("bank.ibanDetails.ibanDigits")) 15 | 16 | return bankCountryCode + bankCountryString + ibanLetterCode + iban 17 | } 18 | 19 | public func bban() -> String { 20 | let ibanLetterCode: String = letterify(generate("bank.ibanDetails.ibanLetterCode")) 21 | let iban: String = numerify(generate("bank.ibanDetails.ibanDigits")) 22 | 23 | return ibanLetterCode + iban 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Business.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Business: Generator { 4 | public func creditCardNumber() -> String { 5 | return generate("business.credit_card_numbers") 6 | } 7 | 8 | public func creditCardType() -> String { 9 | return generate("business.credit_card_types") 10 | } 11 | 12 | public func creditCardExpiryDate() -> Foundation.Date? { 13 | let dateString = generate("business.credit_card_expiry_dates") 14 | return dateFormatter.date(from: dateString) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Car.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Car: Generator { 4 | public func brand() -> String { 5 | return generate("car.brand") 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Cat.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Cat: Generator { 4 | public func name() -> String { 5 | return generate("cat.name") 6 | } 7 | 8 | public func breed() -> String { 9 | return generate("cat.breed") 10 | } 11 | 12 | public func registry() -> String { 13 | return generate("cat.registry") 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Commerce.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Commerce: Generator { 4 | public func color() -> String { 5 | return generate("commerce.color") 6 | } 7 | 8 | public func department(maximum: Int = 3, fixedAmount: Bool = false) -> String { 9 | #if swift(>=4.2) 10 | let amount = fixedAmount ? maximum : 1 + Int.random(in: 0.. 1 { 20 | department = merge(categories: fetchedCategories) 21 | } else if count == 1 { 22 | department = fetchedCategories[0] 23 | } 24 | 25 | return department 26 | } 27 | 28 | public func productName() -> String { 29 | return generate("commerce.product_name.adjective") + " " 30 | + generate("commerce.product_name.material") + " " 31 | + generate("commerce.product_name.product") 32 | } 33 | 34 | public func price() -> Double { 35 | let arc4randoMax: Double = 0x100000000 36 | #if swift(>=4.2) 37 | return floor(Double((Double(UInt32.random(in: 0.. [String] { 46 | var categories: [String] = [] 47 | 48 | while categories.count < amount { 49 | let category = generate("commerce.department") 50 | 51 | if !categories.contains(category) { 52 | categories.append(category) 53 | } 54 | } 55 | 56 | return categories 57 | } 58 | 59 | public func merge(categories: [String]) -> String { 60 | let separator = generate("separator") 61 | let commaSeparated = categories[0.. String { 5 | return generate("company.name") 6 | } 7 | 8 | public func suffix() -> String { 9 | return generate("company.suffix") 10 | } 11 | 12 | public func catchPhrase() -> String { 13 | return randomWordsFromKey("company.buzzwords") 14 | } 15 | 16 | public func bs() -> String { 17 | return randomWordsFromKey("company.bs") 18 | } 19 | 20 | public func logo() -> String { 21 | #if swift(>=4.2) 22 | let number = Int.random(in: 0..<13) + 1 23 | #else 24 | let number = Int(arc4random_uniform(13)) + 1 25 | #endif 26 | return "https://pigment.github.io/fake-logos/logos/medium/color/\(number).png" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Date.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Date { 4 | public func backward(days: Int) -> Foundation.Date { 5 | return todayAddingDays(-days) 6 | } 7 | 8 | public func forward(_ days: Int) -> Foundation.Date { 9 | return todayAddingDays(days) 10 | } 11 | 12 | public func between(_ from: Foundation.Date, _ to: Foundation.Date) -> Foundation.Date { 13 | let fromInSeconds = from.timeIntervalSince1970 14 | let toInSeconds = to.timeIntervalSince1970 15 | let targetInSeconds = Number().randomDouble(min: fromInSeconds, max: toInSeconds) 16 | return Foundation.Date(timeIntervalSince1970: targetInSeconds) 17 | } 18 | 19 | public func birthday(_ minAge: Int, _ maxAge: Int) -> Foundation.Date { 20 | let olderAgeBirthDate = todayAddingYears(-maxAge) 21 | let earlierAgeBirthDate = todayAddingYears(-minAge) 22 | return between(earlierAgeBirthDate, olderAgeBirthDate) 23 | } 24 | 25 | private func todayAddingDays(_ days: Int) -> Foundation.Date { 26 | var dateComponents = DateComponents() 27 | dateComponents.day = days 28 | return todayAdding(dateComponents) 29 | } 30 | 31 | private func todayAddingYears(_ years: Int) -> Foundation.Date { 32 | var dateComponents = DateComponents() 33 | dateComponents.year = years 34 | return todayAdding(dateComponents) 35 | } 36 | 37 | private func todayAdding(_ dateComponents: DateComponents) -> Foundation.Date { 38 | let calendar = Calendar.current 39 | 40 | let todayDate = Foundation.Date() 41 | return calendar.date(byAdding: dateComponents, to: todayDate)! 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Gender.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Gender: Generator { 4 | public func type() -> String { 5 | return generate("gender.type") 6 | } 7 | 8 | public func binaryType() -> String { 9 | return generate("gender.binary_type") 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Generator.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public class Generator { 4 | public struct Constants { 5 | public static let uppercaseLetters = Array("ABCDEFGHIJKLMNOPQRSTUVWXYZ") 6 | public static let letters = Array("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") 7 | public static let numbers = Array("0123456789") 8 | } 9 | 10 | let parser: Parser 11 | let dateFormatter: DateFormatter 12 | 13 | public required init(parser: Parser) { 14 | self.parser = parser 15 | dateFormatter = DateFormatter() 16 | dateFormatter.dateFormat = "yyyy-MM-dd" 17 | } 18 | 19 | public func generate(_ key: String) -> String { 20 | return parser.fetch(key) 21 | } 22 | 23 | // MARK: - Filling 24 | 25 | public func numerify(_ string: String) -> String { 26 | let count = UInt32(Constants.numbers.count) 27 | 28 | return String(string.enumerated().map { (index, item) in 29 | #if swift(>=4.2) 30 | let numberIndex = index == 0 ? UInt32.random(in: 0..<(count - 1)) : UInt32.random(in: 0.. String { 40 | return String(string.enumerated().map { _, item in 41 | #if swift(>=4.2) 42 | let char = Constants.uppercaseLetters.randomElement() ?? Character("") 43 | #else 44 | let count = UInt32(Constants.uppercaseLetters.count) 45 | let char = Constants.uppercaseLetters[Int(arc4random_uniform(count))] 46 | #endif 47 | return String(item) == "?" ? char : item 48 | }) 49 | } 50 | 51 | public func bothify(_ string: String) -> String { 52 | return letterify(numerify(string)) 53 | } 54 | 55 | public func alphaNumerify(_ string: String) -> String { 56 | return string.replacingOccurrences(of: "[^A-Za-z0-9_]", 57 | with: "", 58 | options: .regularExpression, 59 | range: nil) 60 | } 61 | 62 | public func randomWordsFromKey(_ key: String) -> String { 63 | var string = "" 64 | 65 | var list = [String]() 66 | if let wordsList = parser.fetchRaw(key) as? [[String]] { 67 | for words in wordsList { 68 | if let item = words.random() { 69 | list.append(item) 70 | } 71 | } 72 | 73 | string = list.joined(separator: " ") 74 | } 75 | 76 | return string 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Ham.swift: -------------------------------------------------------------------------------- 1 | public final class Ham: Generator { 2 | public func name() -> String { 3 | return generate("ham.name") 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Internet.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Internet: Generator { 4 | private let lorem: Lorem 5 | 6 | public required init(parser: Parser) { 7 | self.lorem = Lorem(parser: parser) 8 | super.init(parser: parser) 9 | } 10 | 11 | public func username(separator: String? = nil) -> String { 12 | #if swift(>=4.2) 13 | let lastRandomComponent = Int.random(in: 0..<10000) 14 | #else 15 | let lastRandomComponent = arc4random_uniform(10000) 16 | #endif 17 | var components: [String] = [ 18 | generate("name.first_name"), 19 | generate("name.last_name"), 20 | "\(lastRandomComponent)" 21 | ] 22 | 23 | let randomCount = components.count - 1 24 | #if swift(>=4.2) 25 | let count = Int.random(in: 0.. String { 41 | return domainWord(alphaNumericOnly: alphaNumericOnly) + "." + domainSuffix() 42 | } 43 | 44 | public func domainWord(alphaNumericOnly: Bool = true) -> String { 45 | let nameParts = generate("company.name").components(separatedBy: " ") 46 | var name = "" 47 | 48 | if let first = nameParts.first { 49 | name = first 50 | } else { 51 | name = letterify("?????") 52 | } 53 | 54 | let result = alphaNumericOnly ? alphaNumerify(name) : name 55 | 56 | return result.lowercased() 57 | } 58 | 59 | public func domainSuffix() -> String { 60 | return generate("internet.domain_suffix") 61 | } 62 | 63 | public func email() -> String { 64 | return [username(), domainName()].joined(separator: "@") 65 | } 66 | 67 | public func freeEmail() -> String { 68 | return [username(), generate("internet.free_email")].joined(separator: "@") 69 | } 70 | 71 | public func safeEmail() -> String { 72 | let topLevelDomains = ["org", "com", "net"] 73 | #if swift(>=4.2) 74 | let topLevelDomain = topLevelDomains.randomElement() ?? "" 75 | #else 76 | let count = UInt32(topLevelDomains.count) 77 | let topLevelDomain = topLevelDomains[Int(arc4random_uniform(count))] 78 | #endif 79 | 80 | return [username(), "example." + topLevelDomain].joined(separator: "@") 81 | } 82 | 83 | public func password(minimumLength: Int = 8, maximumLength: Int = 16) -> String { 84 | var temp = lorem.characters(amount: minimumLength) 85 | let diffLength = maximumLength - minimumLength 86 | 87 | if diffLength > 0 { 88 | #if swift(>=4.2) 89 | let diffRandom = Int.random(in: 0.. String { 100 | #if swift(>=4.2) 101 | let randomNumber = UInt32.random(in: 0.. String { 113 | #if swift(>=4.2) 114 | let randomNumber = UInt32.random(in: 0.. String { 129 | return "https://\(domainName())/\(username())" 130 | } 131 | 132 | public func image(width: Int = 320, height: Int = 200) -> String { 133 | return "https://lorempixel.com/\(width)/\(height)" 134 | } 135 | 136 | public func templateImage(width: Int = 320, height: Int = 200, 137 | backColorHex: String = "000000", frontColorHex: String = "ffffff") -> String { 138 | return "https://dummyimage.com/\(width)x\(height)/\(backColorHex)/\(frontColorHex)" 139 | } 140 | 141 | public func hashtag() -> String { 142 | return generate("internet.hashtag") 143 | } 144 | 145 | // @ToDo - slug 146 | } 147 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Lorem.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public final class Lorem: Generator { 4 | public func word() -> String { 5 | return generate("lorem.words") 6 | } 7 | 8 | public func words(amount: Int = 3) -> String { 9 | var words: [String] = [] 10 | 11 | for _ in 0.. String { 19 | return characters(amount: 1) 20 | } 21 | 22 | public func characters(amount: Int = 255) -> String { 23 | var chars = "" 24 | 25 | if amount > 0 { 26 | for _ in 0..=4.2) 28 | let char = Character(UnicodeScalar(Int.random(in: 0.. String { 40 | var sentence = words(amount: wordsAmount) + "." 41 | sentence.replaceSubrange(sentence.startIndex...sentence.startIndex, 42 | with: String(sentence[sentence.startIndex]).capitalized) 43 | return sentence 44 | } 45 | 46 | public func sentences(amount: Int = 3) -> String { 47 | var sentences: [String] = [] 48 | 49 | for _ in 0.. String { 57 | return sentences(amount: sentencesAmount) 58 | } 59 | 60 | public func paragraphs(amount: Int = 3) -> String { 61 | var paragraphs: [String] = [] 62 | 63 | for _ in 0.. String { 3 | return generate("name.name") 4 | } 5 | 6 | public func firstName() -> String { 7 | return generate("name.first_name") 8 | } 9 | 10 | public func lastName() -> String { 11 | return generate("name.last_name") 12 | } 13 | 14 | public func prefix() -> String { 15 | return generate("name.prefix") 16 | } 17 | 18 | public func suffix() -> String { 19 | return generate("name.suffix") 20 | } 21 | 22 | public func title() -> String { 23 | return generate("name.title.descriptor") + " " 24 | + generate("name.title.level") + " " 25 | + generate("name.title.job") 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Number.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | #if !os(Linux) 3 | import CoreGraphics 4 | #endif 5 | 6 | public final class Number { 7 | fileprivate var lastUsedId: Int64 = 0 8 | 9 | public func randomBool() -> Bool { 10 | return randomInt() % 2 == 0 11 | } 12 | 13 | public func randomInt(min: Int = 0, max: Int = 1000) -> Int { 14 | var i: Int = 0 15 | #if swift(>=4.2) 16 | i = Int.random(in: i..= 0 && max - Int.max >= min { 23 | return min + i 24 | } 25 | 26 | return min + (i % (max - min)) 27 | } 28 | 29 | public func randomFloat(min: Float = 0, max: Float = 1000) -> Float { 30 | #if swift(>=4.2) 31 | return (Float.random(in: 0.. CGFloat { 38 | return CGFloat(Float(arc4random()) / Float(UInt32.max)) * (max - min) + min 39 | } 40 | #endif 41 | 42 | public func randomDouble(min: Double = 0, max: Double = 1000) -> Double { 43 | #if swift(>=4.2) 44 | return (Double.random(in: 0.. Int { 51 | #if os(Linux) 52 | // increasing just by one on linux due to the lack of an method like OSAtomicIncrement64 53 | lastUsedId += 1 54 | #else 55 | OSAtomicIncrement64(&lastUsedId) 56 | #endif 57 | return Int(lastUsedId) 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/PhoneNumber.swift: -------------------------------------------------------------------------------- 1 | public final class PhoneNumber: Generator { 2 | public func phoneNumber() -> String { 3 | return numerify(generate("phone_number.formats")) 4 | } 5 | 6 | public func cellPhone() -> String { 7 | return numerify(generate("cell_phone.formats")) 8 | } 9 | 10 | // US only 11 | public func areaCode() -> String { 12 | return generate("phone_number.area_code") 13 | } 14 | 15 | // US only 16 | public func exchangeCode() -> String { 17 | return generate("phone_number.exchange_code") 18 | } 19 | 20 | // US only 21 | public func subscriberNumber() -> String { 22 | return numerify("####") 23 | } 24 | 25 | public func numberExtension(_ length: Int) -> String { 26 | var template = "" 27 | 28 | for _ in 1...length { 29 | template += "#" 30 | } 31 | 32 | return numerify(template) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/ProgrammingLanguage.swift: -------------------------------------------------------------------------------- 1 | public final class ProgrammingLanguage: Generator { 2 | public func name() -> String { 3 | return generate("programming_language.name") 4 | } 5 | 6 | public func creator() -> String { 7 | return generate("programming_language.creator") 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Team.swift: -------------------------------------------------------------------------------- 1 | public final class Team: Generator { 2 | public func name() -> String { 3 | return generate("team.name") 4 | } 5 | 6 | public func creature() -> String { 7 | return generate("team.creature") 8 | } 9 | 10 | public func state() -> String { 11 | return generate("address.state").capitalized 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Vehicle.swift: -------------------------------------------------------------------------------- 1 | public final class Vehicle: Generator { 2 | public func manufacture() -> String { 3 | return generate("vehicle.manufacture") 4 | } 5 | 6 | public func make() -> String { 7 | return generate("vehicle.makes") 8 | } 9 | 10 | public func colors() -> String { 11 | return generate("vehicle.colors") 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Generators/Zelda.swift: -------------------------------------------------------------------------------- 1 | public final class Zelda: Generator { 2 | public func game() -> String { 3 | return generate("zelda.game") 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/de-CH.json: -------------------------------------------------------------------------------- 1 | { 2 | "de-CH": { 3 | "faker": { 4 | "address": { 5 | "country_code": [ 6 | "CH", 7 | "CH", 8 | "CH", 9 | "DE", 10 | "AT", 11 | "US", 12 | "LI", 13 | "US", 14 | "HK", 15 | "VN" 16 | ], 17 | "postcode": [ 18 | "1###", 19 | "2###", 20 | "3###", 21 | "4###", 22 | "5###", 23 | "6###", 24 | "7###", 25 | "8###", 26 | "9###" 27 | ], 28 | "default_country": [ 29 | "Schweiz" 30 | ] 31 | }, 32 | "company": { 33 | "suffix": [ 34 | "AG", 35 | "GmbH", 36 | "und Söhne", 37 | "und Partner", 38 | "& Co.", 39 | "Gruppe", 40 | "LLC", 41 | "Inc." 42 | ], 43 | "name": [ 44 | "#{Name.last_name} #{suffix}", 45 | "#{Name.last_name}-#{Name.last_name}", 46 | "#{Name.last_name}, #{Name.last_name} und #{Name.last_name}" 47 | ] 48 | }, 49 | "internet": { 50 | "domain_suffix": [ 51 | "com", 52 | "net", 53 | "biz", 54 | "ch", 55 | "de", 56 | "li", 57 | "at", 58 | "ch", 59 | "ch" 60 | ] 61 | }, 62 | "phone_number": { 63 | "formats": [ 64 | "0800 ### ###", 65 | "0800 ## ## ##", 66 | "0## ### ## ##", 67 | "0## ### ## ##", 68 | "+41 ## ### ## ##", 69 | "0900 ### ###", 70 | "076 ### ## ##", 71 | "+4178 ### ## ##", 72 | "0041 79 ### ## ##" 73 | ] 74 | } 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/en-AU.json: -------------------------------------------------------------------------------- 1 | { 2 | "en-AU": { 3 | "faker": { 4 | "name": { 5 | "first_name": [ 6 | "William", 7 | "Jack", 8 | "Oliver", 9 | "Joshua", 10 | "Thomas", 11 | "Lachlan", 12 | "Cooper", 13 | "Noah", 14 | "Ethan", 15 | "Lucas", 16 | "James", 17 | "Samuel", 18 | "Jacob", 19 | "Liam", 20 | "Alexander", 21 | "Benjamin", 22 | "Max", 23 | "Isaac", 24 | "Daniel", 25 | "Riley", 26 | "Ryan", 27 | "Charlie", 28 | "Tyler", 29 | "Jake", 30 | "Matthew", 31 | "Xavier", 32 | "Harry", 33 | "Jayden", 34 | "Nicholas", 35 | "Harrison", 36 | "Levi", 37 | "Luke", 38 | "Adam", 39 | "Henry", 40 | "Aiden", 41 | "Dylan", 42 | "Oscar", 43 | "Michael", 44 | "Jackson", 45 | "Logan", 46 | "Joseph", 47 | "Blake", 48 | "Nathan", 49 | "Connor", 50 | "Elijah", 51 | "Nate", 52 | "Archie", 53 | "Bailey", 54 | "Marcus", 55 | "Cameron", 56 | "Jordan", 57 | "Zachary", 58 | "Caleb", 59 | "Hunter", 60 | "Ashton", 61 | "Toby", 62 | "Aidan", 63 | "Hayden", 64 | "Mason", 65 | "Hamish", 66 | "Edward", 67 | "Angus", 68 | "Eli", 69 | "Sebastian", 70 | "Christian", 71 | "Patrick", 72 | "Andrew", 73 | "Anthony", 74 | "Luca", 75 | "Kai", 76 | "Beau", 77 | "Alex", 78 | "George", 79 | "Callum", 80 | "Finn", 81 | "Zac", 82 | "Mitchell", 83 | "Jett", 84 | "Jesse", 85 | "Gabriel", 86 | "Leo", 87 | "Declan", 88 | "Charles", 89 | "Jasper", 90 | "Jonathan", 91 | "Aaron", 92 | "Hugo", 93 | "David", 94 | "Christopher", 95 | "Chase", 96 | "Owen", 97 | "Justin", 98 | "Ali", 99 | "Darcy", 100 | "Lincoln", 101 | "Cody", 102 | "Phoenix", 103 | "Sam", 104 | "John", 105 | "Joel", 106 | "Isabella", 107 | "Ruby", 108 | "Chloe", 109 | "Olivia", 110 | "Charlotte", 111 | "Mia", 112 | "Lily", 113 | "Emily", 114 | "Ella", 115 | "Sienna", 116 | "Sophie", 117 | "Amelia", 118 | "Grace", 119 | "Ava", 120 | "Zoe", 121 | "Emma", 122 | "Sophia", 123 | "Matilda", 124 | "Hannah", 125 | "Jessica", 126 | "Lucy", 127 | "Georgia", 128 | "Sarah", 129 | "Abigail", 130 | "Zara", 131 | "Eva", 132 | "Scarlett", 133 | "Jasmine", 134 | "Chelsea", 135 | "Lilly", 136 | "Ivy", 137 | "Isla", 138 | "Evie", 139 | "Isabelle", 140 | "Maddison", 141 | "Layla", 142 | "Summer", 143 | "Annabelle", 144 | "Alexis", 145 | "Elizabeth", 146 | "Bella", 147 | "Holly", 148 | "Lara", 149 | "Madison", 150 | "Alyssa", 151 | "Maya", 152 | "Tahlia", 153 | "Claire", 154 | "Hayley", 155 | "Imogen", 156 | "Jade", 157 | "Ellie", 158 | "Sofia", 159 | "Addison", 160 | "Molly", 161 | "Phoebe", 162 | "Alice", 163 | "Savannah", 164 | "Gabriella", 165 | "Kayla", 166 | "Mikayla", 167 | "Abbey", 168 | "Eliza", 169 | "Willow", 170 | "Alexandra", 171 | "Poppy", 172 | "Samantha", 173 | "Stella", 174 | "Amy", 175 | "Amelie", 176 | "Anna", 177 | "Piper", 178 | "Gemma", 179 | "Isabel", 180 | "Victoria", 181 | "Stephanie", 182 | "Caitlin", 183 | "Heidi", 184 | "Paige", 185 | "Rose", 186 | "Amber", 187 | "Audrey", 188 | "Claudia", 189 | "Taylor", 190 | "Madeline", 191 | "Angelina", 192 | "Natalie", 193 | "Charli", 194 | "Lauren", 195 | "Ashley", 196 | "Violet", 197 | "Mackenzie", 198 | "Abby", 199 | "Skye", 200 | "Lillian", 201 | "Alana", 202 | "Lola", 203 | "Leah", 204 | "Eve", 205 | "Kiara" 206 | ], 207 | "last_name": [ 208 | "Smith", 209 | "Jones", 210 | "Williams", 211 | "Brown", 212 | "Wilson", 213 | "Taylor", 214 | "Johnson", 215 | "White", 216 | "Martin", 217 | "Anderson", 218 | "Thompson", 219 | "Nguyen", 220 | "Thomas", 221 | "Walker", 222 | "Harris", 223 | "Lee", 224 | "Ryan", 225 | "Robinson", 226 | "Kelly", 227 | "King", 228 | "Davis", 229 | "Wright", 230 | "Evans", 231 | "Roberts", 232 | "Green", 233 | "Hall", 234 | "Wood", 235 | "Jackson", 236 | "Clarke", 237 | "Patel", 238 | "Khan", 239 | "Lewis", 240 | "James", 241 | "Phillips", 242 | "Mason", 243 | "Mitchell", 244 | "Rose", 245 | "Davies", 246 | "Rodriguez", 247 | "Cox", 248 | "Alexander", 249 | "Garden", 250 | "Campbell", 251 | "Johnston", 252 | "Moore", 253 | "Smyth", 254 | "O'neill", 255 | "Doherty", 256 | "Stewart", 257 | "Quinn", 258 | "Murphy", 259 | "Graham", 260 | "Mclaughlin", 261 | "Hamilton", 262 | "Murray", 263 | "Hughes", 264 | "Robertson", 265 | "Thomson", 266 | "Scott", 267 | "Macdonald", 268 | "Reid", 269 | "Clark", 270 | "Ross", 271 | "Young", 272 | "Watson", 273 | "Paterson", 274 | "Morrison", 275 | "Morgan", 276 | "Griffiths", 277 | "Edwards", 278 | "Rees", 279 | "Jenkins", 280 | "Owen", 281 | "Price", 282 | "Moss", 283 | "Richards", 284 | "Abbott", 285 | "Adams", 286 | "Armstrong", 287 | "Bahringer", 288 | "Bailey", 289 | "Barrows", 290 | "Bartell", 291 | "Bartoletti", 292 | "Barton", 293 | "Bauch", 294 | "Baumbach", 295 | "Bayer", 296 | "Beahan", 297 | "Beatty", 298 | "Becker", 299 | "Beier", 300 | "Berge", 301 | "Bergstrom", 302 | "Bode", 303 | "Bogan", 304 | "Borer", 305 | "Bosco", 306 | "Botsford", 307 | "Boyer", 308 | "Boyle", 309 | "Braun", 310 | "Bruen", 311 | "Carroll", 312 | "Carter", 313 | "Cartwright", 314 | "Casper", 315 | "Cassin", 316 | "Champlin", 317 | "Christiansen", 318 | "Cole", 319 | "Collier", 320 | "Collins", 321 | "Connelly", 322 | "Conroy", 323 | "Corkery", 324 | "Cormier", 325 | "Corwin", 326 | "Cronin", 327 | "Crooks", 328 | "Cruickshank", 329 | "Cummings", 330 | "D'amore", 331 | "Daniel", 332 | "Dare", 333 | "Daugherty", 334 | "Dickens", 335 | "Dickinson", 336 | "Dietrich", 337 | "Donnelly", 338 | "Dooley", 339 | "Douglas", 340 | "Doyle", 341 | "Durgan", 342 | "Ebert", 343 | "Emard", 344 | "Emmerich", 345 | "Erdman", 346 | "Ernser", 347 | "Fadel", 348 | "Fahey", 349 | "Farrell", 350 | "Fay", 351 | "Feeney", 352 | "Feil", 353 | "Ferry", 354 | "Fisher", 355 | "Flatley", 356 | "Gibson", 357 | "Gleason", 358 | "Glover", 359 | "Goldner", 360 | "Goodwin", 361 | "Grady", 362 | "Grant", 363 | "Greenfelder", 364 | "Greenholt", 365 | "Grimes", 366 | "Gutmann", 367 | "Hackett", 368 | "Hahn", 369 | "Haley", 370 | "Hammes", 371 | "Hand", 372 | "Hane", 373 | "Hansen", 374 | "Harber", 375 | "Hartmann", 376 | "Harvey", 377 | "Hayes", 378 | "Heaney", 379 | "Heathcote", 380 | "Heller", 381 | "Hermann", 382 | "Hermiston", 383 | "Hessel", 384 | "Hettinger", 385 | "Hickle", 386 | "Hill", 387 | "Hills", 388 | "Hoppe", 389 | "Howe", 390 | "Howell", 391 | "Hudson", 392 | "Huel", 393 | "Hyatt", 394 | "Jacobi", 395 | "Jacobs", 396 | "Jacobson", 397 | "Jerde", 398 | "Johns", 399 | "Keeling", 400 | "Kemmer", 401 | "Kessler", 402 | "Kiehn", 403 | "Kirlin", 404 | "Klein", 405 | "Koch", 406 | "Koelpin", 407 | "Kohler", 408 | "Koss", 409 | "Kovacek", 410 | "Kreiger", 411 | "Kris", 412 | "Kuhlman", 413 | "Kuhn", 414 | "Kulas", 415 | "Kunde", 416 | "Kutch", 417 | "Lakin", 418 | "Lang", 419 | "Langworth", 420 | "Larkin", 421 | "Larson", 422 | "Leannon", 423 | "Leffler", 424 | "Little", 425 | "Lockman", 426 | "Lowe", 427 | "Lynch", 428 | "Mann", 429 | "Marks", 430 | "Marvin", 431 | "Mayer", 432 | "Mccullough", 433 | "Mcdermott", 434 | "Mckenzie", 435 | "Miller", 436 | "Mills", 437 | "Monahan", 438 | "Morissette", 439 | "Mueller", 440 | "Muller", 441 | "Nader", 442 | "Nicolas", 443 | "Nolan", 444 | "O'connell", 445 | "O'conner", 446 | "O'hara", 447 | "O'keefe", 448 | "Olson", 449 | "O'reilly", 450 | "Parisian", 451 | "Parker", 452 | "Quigley", 453 | "Reilly", 454 | "Reynolds", 455 | "Rice", 456 | "Ritchie", 457 | "Rohan", 458 | "Rolfson", 459 | "Rowe", 460 | "Russel", 461 | "Rutherford", 462 | "Sanford", 463 | "Sauer", 464 | "Schmidt", 465 | "Schmitt", 466 | "Schneider", 467 | "Schroeder", 468 | "Schultz", 469 | "Shields", 470 | "Smitham", 471 | "Spencer", 472 | "Stanton", 473 | "Stark", 474 | "Stokes", 475 | "Swift", 476 | "Tillman", 477 | "Towne", 478 | "Tremblay", 479 | "Tromp", 480 | "Turcotte", 481 | "Turner", 482 | "Walsh", 483 | "Walter", 484 | "Ward", 485 | "Waters", 486 | "Weber", 487 | "Welch", 488 | "West", 489 | "Wilderman", 490 | "Wilkinson", 491 | "Williamson", 492 | "Windler", 493 | "Wolf" 494 | ] 495 | }, 496 | "company": { 497 | "suffix": [ 498 | "Pty Ltd", 499 | "and Sons", 500 | "Corp", 501 | "Group", 502 | "Brothers", 503 | "Partners" 504 | ] 505 | }, 506 | "internet": { 507 | "domain_suffix": [ 508 | "com.au", 509 | "com", 510 | "net.au", 511 | "net", 512 | "org.au", 513 | "org" 514 | ] 515 | }, 516 | "address": { 517 | "state_abbr": [ 518 | "NSW", 519 | "QLD", 520 | "NT", 521 | "SA", 522 | "WA", 523 | "TAS", 524 | "ACT", 525 | "VIC" 526 | ], 527 | "state": [ 528 | "New South Wales", 529 | "Queensland", 530 | "Northern Territory", 531 | "South Australia", 532 | "Western Australia", 533 | "Tasmania", 534 | "Australian Capital Territory", 535 | "Victoria" 536 | ], 537 | "postcode": [ 538 | "0###", 539 | "2###", 540 | "3###", 541 | "4###", 542 | "5###", 543 | "6###", 544 | "7###" 545 | ], 546 | "building_number": [ 547 | "####", 548 | "###", 549 | "##" 550 | ], 551 | "street_suffix": [ 552 | "Avenue", 553 | "Boulevard", 554 | "Circle", 555 | "Circuit", 556 | "Court", 557 | "Crescent", 558 | "Crest", 559 | "Drive", 560 | "Estate Dr", 561 | "Grove", 562 | "Hill", 563 | "Island", 564 | "Junction", 565 | "Knoll", 566 | "Lane", 567 | "Loop", 568 | "Mall", 569 | "Manor", 570 | "Meadow", 571 | "Mews", 572 | "Parade", 573 | "Parkway", 574 | "Pass", 575 | "Place", 576 | "Plaza", 577 | "Ridge", 578 | "Road", 579 | "Run", 580 | "Square", 581 | "Station St", 582 | "Street", 583 | "Summit", 584 | "Terrace", 585 | "Track", 586 | "Trail", 587 | "View Rd", 588 | "Way" 589 | ], 590 | "default_country": [ 591 | "Australia" 592 | ] 593 | }, 594 | "phone_number": { 595 | "formats": [ 596 | "0# #### ####", 597 | "+61 # #### ####", 598 | "04## ### ###", 599 | "+61 4## ### ###" 600 | ] 601 | }, 602 | "team": { 603 | "sport": [ 604 | "basketball", 605 | "football", 606 | "footy", 607 | "netball", 608 | "rugby" 609 | ] 610 | } 611 | } 612 | } 613 | } 614 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/en-CA.json: -------------------------------------------------------------------------------- 1 | { 2 | "en-CA": { 3 | "faker": { 4 | "address": { 5 | "postcode": "/[A-CEJ-NPR-TVXY][0-9][A-CEJ-NPR-TV-Z] ?[0-9][A-CEJ-NPR-TV-Z][0-9]/", 6 | "state": [ 7 | "Alberta", 8 | "British Columbia", 9 | "Manitoba", 10 | "New Brunswick", 11 | "Newfoundland and Labrador", 12 | "Nova Scotia", 13 | "Northwest Territories", 14 | "Nunavut", 15 | "Ontario", 16 | "Prince Edward Island", 17 | "Quebec", 18 | "Saskatchewan", 19 | "Yukon" 20 | ], 21 | "state_abbr": [ 22 | "AB", 23 | "BC", 24 | "MB", 25 | "NB", 26 | "NL", 27 | "NS", 28 | "NU", 29 | "NT", 30 | "ON", 31 | "PE", 32 | "QC", 33 | "SK", 34 | "YT" 35 | ], 36 | "default_country": [ 37 | "Canada" 38 | ] 39 | }, 40 | "internet": { 41 | "free_email": [ 42 | "gmail.com", 43 | "yahoo.ca", 44 | "hotmail.com" 45 | ], 46 | "domain_suffix": [ 47 | "ca", 48 | "com", 49 | "biz", 50 | "info", 51 | "name", 52 | "net", 53 | "org" 54 | ] 55 | }, 56 | "phone_number": { 57 | "formats": [ 58 | "###-###-####", 59 | "(###)###-####", 60 | "###.###.####", 61 | "1-###-###-####", 62 | "###-###-#### x###", 63 | "(###)###-#### x###", 64 | "1-###-###-#### x###", 65 | "###.###.#### x###", 66 | "###-###-#### x####", 67 | "(###)###-#### x####", 68 | "1-###-###-#### x####", 69 | "###.###.#### x####", 70 | "###-###-#### x#####", 71 | "(###)###-#### x#####", 72 | "1-###-###-#### x#####", 73 | "###.###.#### x#####" 74 | ] 75 | } 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/en-GB.json: -------------------------------------------------------------------------------- 1 | { 2 | "en-GB": { 3 | "faker": { 4 | "address": { 5 | "postcode": "/[A-PR-UWYZ][A-HK-Y]?[0-9][ABEHMNPRVWXY0-9]? [0-9][ABD-HJLN-UW-Z]{2}/", 6 | "county": [ 7 | "Avon", 8 | "Bedfordshire", 9 | "Berkshire", 10 | "Borders", 11 | "Buckinghamshire", 12 | "Cambridgeshire", 13 | "Central", 14 | "Cheshire", 15 | "Cleveland", 16 | "Clwyd", 17 | "Cornwall", 18 | "County Antrim", 19 | "County Armagh", 20 | "County Down", 21 | "County Fermanagh", 22 | "County Londonderry", 23 | "County Tyrone", 24 | "Cumbria", 25 | "Derbyshire", 26 | "Devon", 27 | "Dorset", 28 | "Dumfries and Galloway", 29 | "Durham", 30 | "Dyfed", 31 | "East Sussex", 32 | "Essex", 33 | "Fife", 34 | "Gloucestershire", 35 | "Grampian", 36 | "Greater Manchester", 37 | "Gwent", 38 | "Gwynedd County", 39 | "Hampshire", 40 | "Herefordshire", 41 | "Hertfordshire", 42 | "Highlands and Islands", 43 | "Humberside", 44 | "Isle of Wight", 45 | "Kent", 46 | "Lancashire", 47 | "Leicestershire", 48 | "Lincolnshire", 49 | "Lothian", 50 | "Merseyside", 51 | "Mid Glamorgan", 52 | "Norfolk", 53 | "North Yorkshire", 54 | "Northamptonshire", 55 | "Northumberland", 56 | "Nottinghamshire", 57 | "Oxfordshire", 58 | "Powys", 59 | "Rutland", 60 | "Shropshire", 61 | "Somerset", 62 | "South Glamorgan", 63 | "South Yorkshire", 64 | "Staffordshire", 65 | "Strathclyde", 66 | "Suffolk", 67 | "Surrey", 68 | "Tayside", 69 | "Tyne and Wear", 70 | "Warwickshire", 71 | "West Glamorgan", 72 | "West Midlands", 73 | "West Sussex", 74 | "West Yorkshire", 75 | "Wiltshire", 76 | "Worcestershire" 77 | ], 78 | "uk_country": [ 79 | "England", 80 | "Scotland", 81 | "Wales", 82 | "Northern Ireland" 83 | ], 84 | "default_country": [ 85 | "England", 86 | "Scotland", 87 | "Wales", 88 | "Northern Ireland" 89 | ] 90 | }, 91 | "internet": { 92 | "domain_suffix": [ 93 | "co.uk", 94 | "com", 95 | "biz", 96 | "info", 97 | "name" 98 | ] 99 | }, 100 | "phone_number": { 101 | "formats": [ 102 | "01#### #####", 103 | "01### ######", 104 | "01#1 ### ####", 105 | "011# ### ####", 106 | "02# #### ####", 107 | "03## ### ####", 108 | "055 #### ####", 109 | "056 #### ####", 110 | "0800 ### ####", 111 | "08## ### ####", 112 | "09## ### ####", 113 | "016977 ####", 114 | "01### #####", 115 | "0500 ######", 116 | "0800 ######" 117 | ] 118 | }, 119 | "cell_phone": { 120 | "formats": [ 121 | "074## ######", 122 | "075## ######", 123 | "076## ######", 124 | "077## ######", 125 | "078## ######", 126 | "079## ######" 127 | ] 128 | } 129 | } 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/en-IND.json: -------------------------------------------------------------------------------- 1 | { 2 | "en-IND": { 3 | "faker": { 4 | "name": { 5 | "first_name": [ 6 | "Aadrika", 7 | "Aanandinii", 8 | "Aaratrika", 9 | "Aarya", 10 | "Arya", 11 | "Aashritha", 12 | "Aatmaja", 13 | "Atmaja", 14 | "Abhaya", 15 | "Adwitiya", 16 | "Agrata", 17 | "Ahilya", 18 | "Ahalya", 19 | "Aishani", 20 | "Akshainie", 21 | "Akshata", 22 | "Akshita", 23 | "Akula", 24 | "Ambar", 25 | "Amodini", 26 | "Amrita", 27 | "Amritambu", 28 | "Anala", 29 | "Anamika", 30 | "Ananda", 31 | "Anandamayi", 32 | "Ananta", 33 | "Anila", 34 | "Anjali", 35 | "Anjushri", 36 | "Anjushree", 37 | "Annapurna", 38 | "Anshula", 39 | "Anuja", 40 | "Anusuya", 41 | "Anasuya", 42 | "Anasooya", 43 | "Anwesha", 44 | "Apsara", 45 | "Aruna", 46 | "Asha", 47 | "Aasa", 48 | "Aasha", 49 | "Aslesha", 50 | "Atreyi", 51 | "Atreyee", 52 | "Avani", 53 | "Abani", 54 | "Avantika", 55 | "Ayushmati", 56 | "Baidehi", 57 | "Vaidehi", 58 | "Bala", 59 | "Baala", 60 | "Balamani", 61 | "Basanti", 62 | "Vasanti", 63 | "Bela", 64 | "Bhadra", 65 | "Bhagirathi", 66 | "Bhagwanti", 67 | "Bhagwati", 68 | "Bhamini", 69 | "Bhanumati", 70 | "Bhaanumati", 71 | "Bhargavi", 72 | "Bhavani", 73 | "Bhilangana", 74 | "Bilwa", 75 | "Bilva", 76 | "Buddhana", 77 | "Chakrika", 78 | "Chanda", 79 | "Chandi", 80 | "Chandni", 81 | "Chandini", 82 | "Chandani", 83 | "Chandra", 84 | "Chandira", 85 | "Chandrabhaga", 86 | "Chandrakala", 87 | "Chandrakin", 88 | "Chandramani", 89 | "Chandrani", 90 | "Chandraprabha", 91 | "Chandraswaroopa", 92 | "Chandravati", 93 | "Chapala", 94 | "Charumati", 95 | "Charvi", 96 | "Chatura", 97 | "Chitrali", 98 | "Chitramala", 99 | "Chitrangada", 100 | "Daksha", 101 | "Dakshayani", 102 | "Damayanti", 103 | "Darshwana", 104 | "Deepali", 105 | "Dipali", 106 | "Deeptimoyee", 107 | "Deeptimayee", 108 | "Devangana", 109 | "Devani", 110 | "Devasree", 111 | "Devi", 112 | "Daevi", 113 | "Devika", 114 | "Daevika", 115 | "Dhaanyalakshmi", 116 | "Dhanalakshmi", 117 | "Dhana", 118 | "Dhanadeepa", 119 | "Dhara", 120 | "Dharani", 121 | "Dharitri", 122 | "Dhatri", 123 | "Diksha", 124 | "Deeksha", 125 | "Divya", 126 | "Draupadi", 127 | "Dulari", 128 | "Durga", 129 | "Durgeshwari", 130 | "Ekaparnika", 131 | "Elakshi", 132 | "Enakshi", 133 | "Esha", 134 | "Eshana", 135 | "Eshita", 136 | "Gautami", 137 | "Gayatri", 138 | "Geeta", 139 | "Geetanjali", 140 | "Gitanjali", 141 | "Gemine", 142 | "Gemini", 143 | "Girja", 144 | "Girija", 145 | "Gita", 146 | "Hamsini", 147 | "Harinakshi", 148 | "Harita", 149 | "Heema", 150 | "Himadri", 151 | "Himani", 152 | "Hiranya", 153 | "Indira", 154 | "Jaimini", 155 | "Jaya", 156 | "Jyoti", 157 | "Jyotsana", 158 | "Kali", 159 | "Kalinda", 160 | "Kalpana", 161 | "Kalyani", 162 | "Kama", 163 | "Kamala", 164 | "Kamla", 165 | "Kanchan", 166 | "Kanishka", 167 | "Kanti", 168 | "Kashyapi", 169 | "Kumari", 170 | "Kumuda", 171 | "Lakshmi", 172 | "Laxmi", 173 | "Lalita", 174 | "Lavanya", 175 | "Leela", 176 | "Lila", 177 | "Leela", 178 | "Madhuri", 179 | "Malti", 180 | "Malati", 181 | "Mandakini", 182 | "Mandaakin", 183 | "Mangala", 184 | "Mangalya", 185 | "Mani", 186 | "Manisha", 187 | "Manjusha", 188 | "Meena", 189 | "Mina", 190 | "Meenakshi", 191 | "Minakshi", 192 | "Menka", 193 | "Menaka", 194 | "Mohana", 195 | "Mohini", 196 | "Nalini", 197 | "Nikita", 198 | "Ojaswini", 199 | "Omana", 200 | "Oormila", 201 | "Urmila", 202 | "Opalina", 203 | "Opaline", 204 | "Padma", 205 | "Parvati", 206 | "Poornima", 207 | "Purnima", 208 | "Pramila", 209 | "Prasanna", 210 | "Preity", 211 | "Prema", 212 | "Priya", 213 | "Priyala", 214 | "Pushti", 215 | "Radha", 216 | "Rageswari", 217 | "Rageshwari", 218 | "Rajinder", 219 | "Ramaa", 220 | "Rati", 221 | "Rita", 222 | "Rohana", 223 | "Rukhmani", 224 | "Rukmin", 225 | "Rupinder", 226 | "Sanya", 227 | "Sarada", 228 | "Sharda", 229 | "Sarala", 230 | "Sarla", 231 | "Saraswati", 232 | "Sarisha", 233 | "Saroja", 234 | "Shakti", 235 | "Shakuntala", 236 | "Shanti", 237 | "Sharmila", 238 | "Shashi", 239 | "Shashikala", 240 | "Sheela", 241 | "Shivakari", 242 | "Shobhana", 243 | "Shresth", 244 | "Shresthi", 245 | "Shreya", 246 | "Shreyashi", 247 | "Shridevi", 248 | "Shrishti", 249 | "Shubha", 250 | "Shubhaprada", 251 | "Siddhi", 252 | "Sitara", 253 | "Sloka", 254 | "Smita", 255 | "Smriti", 256 | "Soma", 257 | "Subhashini", 258 | "Subhasini", 259 | "Sucheta", 260 | "Sudeva", 261 | "Sujata", 262 | "Sukanya", 263 | "Suma", 264 | "Suma", 265 | "Sumitra", 266 | "Sunita", 267 | "Suryakantam", 268 | "Sushma", 269 | "Swara", 270 | "Swarnalata", 271 | "Sweta", 272 | "Shwet", 273 | "Tanirika", 274 | "Tanushree", 275 | "Tanushri", 276 | "Tanushri", 277 | "Tanya", 278 | "Tara", 279 | "Trisha", 280 | "Uma", 281 | "Usha", 282 | "Vaijayanti", 283 | "Vaijayanthi", 284 | "Baijayanti", 285 | "Vaishvi", 286 | "Vaishnavi", 287 | "Vaishno", 288 | "Varalakshmi", 289 | "Vasudha", 290 | "Vasundhara", 291 | "Veda", 292 | "Vedanshi", 293 | "Vidya", 294 | "Vimala", 295 | "Vrinda", 296 | "Vrund", 297 | "Aadi", 298 | "Aadidev", 299 | "Aadinath", 300 | "Aaditya", 301 | "Aagam", 302 | "Aagney", 303 | "Aamod", 304 | "Aanandaswarup", 305 | "Anand Swarup", 306 | "Aanjaneya", 307 | "Anjaneya", 308 | "Aaryan", 309 | "Aryan", 310 | "Aatmaj", 311 | "Aatreya", 312 | "Aayushmaan", 313 | "Aayushman", 314 | "Abhaidev", 315 | "Abhaya", 316 | "Abhirath", 317 | "Abhisyanta", 318 | "Acaryatanaya", 319 | "Achalesvara", 320 | "Acharyanandana", 321 | "Acharyasuta", 322 | "Achintya", 323 | "Achyut", 324 | "Adheesh", 325 | "Adhiraj", 326 | "Adhrit", 327 | "Adikavi", 328 | "Adinath", 329 | "Aditeya", 330 | "Aditya", 331 | "Adityanandan", 332 | "Adityanandana", 333 | "Adripathi", 334 | "Advaya", 335 | "Agasti", 336 | "Agastya", 337 | "Agneya", 338 | "Aagneya", 339 | "Agnimitra", 340 | "Agniprava", 341 | "Agnivesh", 342 | "Agrata", 343 | "Ajit", 344 | "Ajeet", 345 | "Akroor", 346 | "Akshaj", 347 | "Akshat", 348 | "Akshayakeerti", 349 | "Alok", 350 | "Aalok", 351 | "Amaranaath", 352 | "Amarnath", 353 | "Amaresh", 354 | "Ambar", 355 | "Ameyatma", 356 | "Amish", 357 | "Amogh", 358 | "Amrit", 359 | "Anaadi", 360 | "Anagh", 361 | "Anal", 362 | "Anand", 363 | "Aanand", 364 | "Anang", 365 | "Anil", 366 | "Anilaabh", 367 | "Anilabh", 368 | "Anish", 369 | "Ankal", 370 | "Anunay", 371 | "Anurag", 372 | "Anuraag", 373 | "Archan", 374 | "Arindam", 375 | "Arjun", 376 | "Arnesh", 377 | "Arun", 378 | "Ashlesh", 379 | "Ashok", 380 | "Atmanand", 381 | "Atmananda", 382 | "Avadhesh", 383 | "Baalaaditya", 384 | "Baladitya", 385 | "Baalagopaal", 386 | "Balgopal", 387 | "Balagopal", 388 | "Bahula", 389 | "Bakula", 390 | "Bala", 391 | "Balaaditya", 392 | "Balachandra", 393 | "Balagovind", 394 | "Bandhu", 395 | "Bandhul", 396 | "Bankim", 397 | "Bankimchandra", 398 | "Bhadrak", 399 | "Bhadraksh", 400 | "Bhadran", 401 | "Bhagavaan", 402 | "Bhagvan", 403 | "Bharadwaj", 404 | "Bhardwaj", 405 | "Bharat", 406 | "Bhargava", 407 | "Bhasvan", 408 | "Bhaasvan", 409 | "Bhaswar", 410 | "Bhaaswar", 411 | "Bhaumik", 412 | "Bhaves", 413 | "Bheeshma", 414 | "Bhisham", 415 | "Bhishma", 416 | "Bhima", 417 | "Bhoj", 418 | "Bhramar", 419 | "Bhudev", 420 | "Bhudeva", 421 | "Bhupati", 422 | "Bhoopati", 423 | "Bhoopat", 424 | "Bhupen", 425 | "Bhushan", 426 | "Bhooshan", 427 | "Bhushit", 428 | "Bhooshit", 429 | "Bhuvanesh", 430 | "Bhuvaneshwar", 431 | "Bilva", 432 | "Bodhan", 433 | "Brahma", 434 | "Brahmabrata", 435 | "Brahmanandam", 436 | "Brahmaanand", 437 | "Brahmdev", 438 | "Brajendra", 439 | "Brajesh", 440 | "Brijesh", 441 | "Birjesh", 442 | "Budhil", 443 | "Chakor", 444 | "Chakradhar", 445 | "Chakravartee", 446 | "Chakravarti", 447 | "Chanakya", 448 | "Chaanakya", 449 | "Chandak", 450 | "Chandan", 451 | "Chandra", 452 | "Chandraayan", 453 | "Chandrabhan", 454 | "Chandradev", 455 | "Chandraketu", 456 | "Chandramauli", 457 | "Chandramohan", 458 | "Chandran", 459 | "Chandranath", 460 | "Chapal", 461 | "Charak", 462 | "Charuchandra", 463 | "Chaaruchandra", 464 | "Charuvrat", 465 | "Chatur", 466 | "Chaturaanan", 467 | "Chaturbhuj", 468 | "Chetan", 469 | "Chaten", 470 | "Chaitan", 471 | "Chetanaanand", 472 | "Chidaakaash", 473 | "Chidaatma", 474 | "Chidambar", 475 | "Chidambaram", 476 | "Chidananda", 477 | "Chinmayanand", 478 | "Chinmayananda", 479 | "Chiranjeev", 480 | "Chiranjeeve", 481 | "Chitraksh", 482 | "Daiwik", 483 | "Daksha", 484 | "Damodara", 485 | "Dandak", 486 | "Dandapaani", 487 | "Darshan", 488 | "Datta", 489 | "Dayaamay", 490 | "Dayamayee", 491 | "Dayaananda", 492 | "Dayaanidhi", 493 | "Kin", 494 | "Deenabandhu", 495 | "Deepan", 496 | "Deepankar", 497 | "Dipankar", 498 | "Deependra", 499 | "Dipendra", 500 | "Deepesh", 501 | "Dipesh", 502 | "Deeptanshu", 503 | "Deeptendu", 504 | "Diptendu", 505 | "Deeptiman", 506 | "Deeptimoy", 507 | "Deeptimay", 508 | "Dev", 509 | "Deb", 510 | "Devadatt", 511 | "Devagya", 512 | "Devajyoti", 513 | "Devak", 514 | "Devdan", 515 | "Deven", 516 | "Devesh", 517 | "Deveshwar", 518 | "Devi", 519 | "Devvrat", 520 | "Dhananjay", 521 | "Dhanapati", 522 | "Dhanpati", 523 | "Dhanesh", 524 | "Dhanu", 525 | "Dhanvin", 526 | "Dharmaketu", 527 | "Dhruv", 528 | "Dhyanesh", 529 | "Dhyaneshwar", 530 | "Digambar", 531 | "Digambara", 532 | "Dinakar", 533 | "Dinkar", 534 | "Dinesh", 535 | "Divaakar", 536 | "Divakar", 537 | "Deevakar", 538 | "Divjot", 539 | "Dron", 540 | "Drona", 541 | "Dwaipayan", 542 | "Dwaipayana", 543 | "Eekalabya", 544 | "Ekalavya", 545 | "Ekaksh", 546 | "Ekaaksh", 547 | "Ekaling", 548 | "Ekdant", 549 | "Ekadant", 550 | "Gajaadhar", 551 | "Gajadhar", 552 | "Gajbaahu", 553 | "Gajabahu", 554 | "Ganak", 555 | "Ganaka", 556 | "Ganapati", 557 | "Gandharv", 558 | "Gandharva", 559 | "Ganesh", 560 | "Gangesh", 561 | "Garud", 562 | "Garuda", 563 | "Gati", 564 | "Gatik", 565 | "Gaurang", 566 | "Gauraang", 567 | "Gauranga", 568 | "Gouranga", 569 | "Gautam", 570 | "Gautama", 571 | "Goutam", 572 | "Ghanaanand", 573 | "Ghanshyam", 574 | "Ghanashyam", 575 | "Giri", 576 | "Girik", 577 | "Girika", 578 | "Girindra", 579 | "Giriraaj", 580 | "Giriraj", 581 | "Girish", 582 | "Gopal", 583 | "Gopaal", 584 | "Gopi", 585 | "Gopee", 586 | "Gorakhnath", 587 | "Gorakhanatha", 588 | "Goswamee", 589 | "Goswami", 590 | "Gotum", 591 | "Gautam", 592 | "Govinda", 593 | "Gobinda", 594 | "Gudakesha", 595 | "Gudakesa", 596 | "Gurdev", 597 | "Guru", 598 | "Hari", 599 | "Harinarayan", 600 | "Harit", 601 | "Himadri", 602 | "Hiranmay", 603 | "Hiranmaya", 604 | "Hiranya", 605 | "Inder", 606 | "Indra", 607 | "Indra", 608 | "Jagadish", 609 | "Jagadisha", 610 | "Jagathi", 611 | "Jagdeep", 612 | "Jagdish", 613 | "Jagmeet", 614 | "Jahnu", 615 | "Jai", 616 | "Javas", 617 | "Jay", 618 | "Jitendra", 619 | "Jitender", 620 | "Jyotis", 621 | "Kailash", 622 | "Kama", 623 | "Kamalesh", 624 | "Kamlesh", 625 | "Kanak", 626 | "Kanaka", 627 | "Kannan", 628 | "Kannen", 629 | "Karan", 630 | "Karthik", 631 | "Kartik", 632 | "Karunanidhi", 633 | "Kashyap", 634 | "Kiran", 635 | "Kirti", 636 | "Keerti", 637 | "Krishna", 638 | "Krishnadas", 639 | "Krishnadasa", 640 | "Kumar", 641 | "Lai", 642 | "Lakshman", 643 | "Laxman", 644 | "Lakshmidhar", 645 | "Lakshminath", 646 | "Lal", 647 | "Laal", 648 | "Mahendra", 649 | "Mohinder", 650 | "Mahesh", 651 | "Maheswar", 652 | "Mani", 653 | "Manik", 654 | "Manikya", 655 | "Manoj", 656 | "Marut", 657 | "Mayoor", 658 | "Meghnad", 659 | "Meghnath", 660 | "Mohan", 661 | "Mukesh", 662 | "Mukul", 663 | "Nagabhushanam", 664 | "Nanda", 665 | "Narayan", 666 | "Narendra", 667 | "Narinder", 668 | "Naveen", 669 | "Navin", 670 | "Nawal", 671 | "Naval", 672 | "Nimit", 673 | "Niranjan", 674 | "Nirbhay", 675 | "Niro", 676 | "Param", 677 | "Paramartha", 678 | "Pran", 679 | "Pranay", 680 | "Prasad", 681 | "Prathamesh", 682 | "Prayag", 683 | "Prem", 684 | "Puneet", 685 | "Purushottam", 686 | "Rahul", 687 | "Raj", 688 | "Rajan", 689 | "Rajendra", 690 | "Rajinder", 691 | "Rajiv", 692 | "Rakesh", 693 | "Ramesh", 694 | "Rameshwar", 695 | "Ranjit", 696 | "Ranjeet", 697 | "Ravi", 698 | "Ritesh", 699 | "Rohan", 700 | "Rohit", 701 | "Rudra", 702 | "Sachin", 703 | "Sameer", 704 | "Samir", 705 | "Sanjay", 706 | "Sanka", 707 | "Sarvin", 708 | "Satish", 709 | "Satyen", 710 | "Shankar", 711 | "Shantanu", 712 | "Shashi", 713 | "Sher", 714 | "Shiv", 715 | "Siddarth", 716 | "Siddhran", 717 | "Som", 718 | "Somu", 719 | "Somnath", 720 | "Subhash", 721 | "Subodh", 722 | "Suman", 723 | "Suresh", 724 | "Surya", 725 | "Suryakant", 726 | "Suryakanta", 727 | "Sushil", 728 | "Susheel", 729 | "Swami", 730 | "Swapnil", 731 | "Tapan", 732 | "Tara", 733 | "Tarun", 734 | "Tej", 735 | "Tejas", 736 | "Trilochan", 737 | "Trilochana", 738 | "Trilok", 739 | "Trilokesh", 740 | "Triloki", 741 | "Triloki Nath", 742 | "Trilokanath", 743 | "Tushar", 744 | "Udai", 745 | "Udit", 746 | "Ujjawal", 747 | "Ujjwal", 748 | "Umang", 749 | "Upendra", 750 | "Uttam", 751 | "Vasudev", 752 | "Vasudeva", 753 | "Vedang", 754 | "Vedanga", 755 | "Vidhya", 756 | "Vidur", 757 | "Vidhur", 758 | "Vijay", 759 | "Vimal", 760 | "Vinay", 761 | "Vishnu", 762 | "Bishnu", 763 | "Vishwamitra", 764 | "Vyas", 765 | "Yogendra", 766 | "Yoginder", 767 | "Yogesh" 768 | ], 769 | "last_name": [ 770 | "Abbott", 771 | "Achari", 772 | "Acharya", 773 | "Adiga", 774 | "Agarwal", 775 | "Ahluwalia", 776 | "Ahuja", 777 | "Arora", 778 | "Asan", 779 | "Bandopadhyay", 780 | "Banerjee", 781 | "Bharadwaj", 782 | "Bhat", 783 | "Butt", 784 | "Bhattacharya", 785 | "Bhattathiri", 786 | "Chaturvedi", 787 | "Chattopadhyay", 788 | "Chopra", 789 | "Desai", 790 | "Deshpande", 791 | "Devar", 792 | "Dhawan", 793 | "Dubashi", 794 | "Dutta", 795 | "Dwivedi", 796 | "Embranthiri", 797 | "Ganaka", 798 | "Gandhi", 799 | "Gill", 800 | "Gowda", 801 | "Guha", 802 | "Guneta", 803 | "Gupta", 804 | "Iyer", 805 | "Iyengar", 806 | "Jain", 807 | "Jha", 808 | "Johar", 809 | "Joshi", 810 | "Kakkar", 811 | "Kaniyar", 812 | "Kapoor", 813 | "Kaul", 814 | "Kaur", 815 | "Khan", 816 | "Khanna", 817 | "Khatri", 818 | "Kocchar", 819 | "Mahajan", 820 | "Malik", 821 | "Marar", 822 | "Menon", 823 | "Mehra", 824 | "Mehrotra", 825 | "Mishra", 826 | "Mukhopadhyay", 827 | "Nayar", 828 | "Naik", 829 | "Nair", 830 | "Nambeesan", 831 | "Namboothiri", 832 | "Nehru", 833 | "Pandey", 834 | "Panicker", 835 | "Patel", 836 | "Patil", 837 | "Pilla", 838 | "Pillai", 839 | "Pothuvaal", 840 | "Prajapat", 841 | "Rana", 842 | "Reddy", 843 | "Saini", 844 | "Sethi", 845 | "Shah", 846 | "Sharma", 847 | "Shukla", 848 | "Singh", 849 | "Sinha", 850 | "Somayaji", 851 | "Tagore", 852 | "Talwar", 853 | "Tandon", 854 | "Trivedi", 855 | "Varrier", 856 | "Varma", 857 | "Varman", 858 | "Verma" 859 | ] 860 | }, 861 | "address": { 862 | "postcode": [ 863 | "?#? #?#" 864 | ], 865 | "state": [ 866 | "Andra Pradesh", 867 | "Arunachal Pradesh", 868 | "Assam", 869 | "Bihar", 870 | "Chhattisgarh", 871 | "Goa", 872 | "Gujarat", 873 | "Haryana", 874 | "Himachal Pradesh", 875 | "Jammu and Kashmir", 876 | "Jharkhand", 877 | "Karnataka", 878 | "Kerala", 879 | "Madya Pradesh", 880 | "Maharashtra", 881 | "Manipur", 882 | "Meghalaya", 883 | "Mizoram", 884 | "Nagaland", 885 | "Orissa", 886 | "Punjab", 887 | "Rajasthan", 888 | "Sikkim", 889 | "Tamil Nadu", 890 | "Tripura", 891 | "Uttaranchal", 892 | "Uttar Pradesh", 893 | "West Bengal", 894 | "Andaman and Nicobar Islands", 895 | "Chandigarh", 896 | "Dadar and Nagar Haveli", 897 | "Daman and Diu", 898 | "Delhi", 899 | "Lakshadweep", 900 | "Pondicherry" 901 | ], 902 | "state_abbr": [ 903 | "AP", 904 | "AR", 905 | "AS", 906 | "BR", 907 | "CG", 908 | "DL", 909 | "GA", 910 | "GJ", 911 | "HR", 912 | "HP", 913 | "JK", 914 | "JS", 915 | "KA", 916 | "KL", 917 | "MP", 918 | "MH", 919 | "MN", 920 | "ML", 921 | "MZ", 922 | "NL", 923 | "OR", 924 | "PB", 925 | "RJ", 926 | "SK", 927 | "TN", 928 | "TR", 929 | "UK", 930 | "UP", 931 | "WB", 932 | "AN", 933 | "CH", 934 | "DN", 935 | "DD", 936 | "LD", 937 | "PY" 938 | ], 939 | "default_country": [ 940 | "India", 941 | "Indian Republic", 942 | "Bharat", 943 | "Hindustan" 944 | ] 945 | }, 946 | "internet": { 947 | "free_email": [ 948 | "gmail.com", 949 | "yahoo.co.in", 950 | "hotmail.com" 951 | ], 952 | "domain_suffix": [ 953 | "in", 954 | "com", 955 | "biz", 956 | "info", 957 | "name", 958 | "net", 959 | "org", 960 | "co.in" 961 | ] 962 | }, 963 | "company": { 964 | "suffix": [ 965 | "Pvt Ltd", 966 | "Limited", 967 | "Ltd", 968 | "and Sons", 969 | "Corp", 970 | "Group", 971 | "Brothers" 972 | ] 973 | }, 974 | "phone_number": { 975 | "formats": [ 976 | "+91###-###-####", 977 | "+91##########", 978 | "+91-###-#######" 979 | ] 980 | } 981 | } 982 | } 983 | } 984 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/en-TEST.json: -------------------------------------------------------------------------------- 1 | { 2 | "en-TEST": { 3 | "faker": { 4 | "separator": " & ", 5 | "address": { 6 | "city_prefix": ["North"], 7 | "city_suffix": ["town"], 8 | "county": ["Autauga County"], 9 | "country": ["United States of America"], 10 | "country_code": ["US"], 11 | "building_number": ["#####"], 12 | "street_suffix": ["Avenue"], 13 | "secondary_address": ["Apt. ###"], 14 | "postcode": ["#####-####"], 15 | "postcode_by_state": { 16 | "CA": "900##" 17 | }, 18 | "state": ["California"], 19 | "state_abbr": ["CA"], 20 | "time_zone": ["America/Los_Angeles"], 21 | "city": ["#{city_prefix} #{Name.first_name}#{city_suffix}"], 22 | "street_name": ["#{Name.first_name} #{street_suffix}"], 23 | "street_address": ["#{building_number} #{street_name}"], 24 | "default_country": ["United States of America"] 25 | }, 26 | "cat": { 27 | "name": ["Shadow"], 28 | "breed": ["British Semipi-longhair"], 29 | "registry": ["American Cat Fanciers Association"] 30 | }, 31 | "credit_card": { 32 | "visa": ["/4###########L/"], 33 | "mastercard": ["/5[1-5]##-####-####-###L/"], 34 | "discover": ["/6011-####-####-###L/"], 35 | "american_express": ["/34##-######-####L/"], 36 | "diners_club": ["/30[0-5]#-######-###L/"], 37 | "jcb": ["/3528-####-####-###L/"], 38 | "switch": ["/6759-####-####-###L/"], 39 | "solo": ["/6767-####-####-###L/"], 40 | "dankort": "/5019-####-####-###L/", 41 | "maestro": ["/50#{9,16}L/"], 42 | "forbrugsforeningen": "/6007-22##-####-###L/", 43 | "laser": ["/6304###########L/"] 44 | }, 45 | "company": { 46 | "suffix": ["Inc"], 47 | "buzzwords": [ 48 | ["Universal"], 49 | ["24 hour"], 50 | ["software"] 51 | ], 52 | "bs": [ 53 | ["implement"], 54 | ["innovative"], 55 | ["methodologies"] 56 | ], 57 | "name": ["#{Name.last_name} #{suffix}"] 58 | }, 59 | "internet": { 60 | "free_email": ["gmail.com"], 61 | "domain_suffix": ["com"], 62 | "hashtag": ["#art"] 63 | }, 64 | "lorem": { 65 | "words": ["alias"], 66 | "supplemental": ["abbas"] 67 | }, 68 | "name": { 69 | "first_name": ["Vadym"], 70 | "last_name": ["Markov"], 71 | "prefix": ["Mr."], 72 | "suffix": ["I"], 73 | "title": { 74 | "descriptor": ["Lead"], 75 | "level": ["Mobility"], 76 | "job": ["Engineer"] 77 | }, 78 | "name": ["#{prefix} #{first_name} #{last_name}"] 79 | }, 80 | "phone_number": { 81 | "area_code": ["201"], 82 | "exchange_code": ["201"], 83 | "formats": ["###-###-####"] 84 | }, 85 | "cell_phone": { 86 | "formats": ["(###) ###-####"] 87 | }, 88 | "business": { 89 | "credit_card_numbers": ["1234-2121-1221-1211"], 90 | "credit_card_expiry_dates": ["2020-10-12"], 91 | "credit_card_types": ["visa"] 92 | }, 93 | "commerce": { 94 | "color": ["black"], 95 | "department": ["Music", "Video", "Development"], 96 | "product_name": { 97 | "adjective": ["Awesome"], 98 | "material": ["Wooden"], 99 | "product": ["Hat"] 100 | } 101 | }, 102 | "team": { 103 | "creature": ["owls"], 104 | "name": ["#{Address.state} #{creature}"] 105 | }, 106 | "hacker": { 107 | "abbreviation": ["TCP"], 108 | "adjective": ["open-source"], 109 | "noun": ["matrix"], 110 | "verb": ["hack"], 111 | "ingverb": ["bypassing"] 112 | }, 113 | "app": { 114 | "name": ["Namfix"], 115 | "version": ["0.#.#"], 116 | "author": ["#{Name.name}"] 117 | }, 118 | "bank": { 119 | "name": ["ABN AMRO CORPORATE FINANCE LIMITED"], 120 | "swiftBic": ["AAFMGB21"], 121 | "ibanDetails": { 122 | "bankCountryCode": ["EN"], 123 | "ibanLetterCode": ["????"], 124 | "ibanDigits": ["############"] 125 | } 126 | }, 127 | "programming_language": { 128 | "name": ["Elixir"], 129 | "creator": ["José Valim"] 130 | }, 131 | "vehicle": { 132 | "manufacture": [ 133 | "Volkswagen" 134 | ], 135 | "makes": [ 136 | "BMW" 137 | ], 138 | "models_by_make": { 139 | "BMW": [ 140 | "328i" 141 | ] 142 | }, 143 | "colors": [ 144 | "Red" 145 | ], 146 | "transmissions": [ 147 | "Automanual" 148 | ], 149 | "drive_types": [ 150 | "4x2/2-wheel drive" 151 | ], 152 | "fuel_types": [ 153 | "Compressed Natural Gas" 154 | ], 155 | "styles": [ 156 | "XL" 157 | ], 158 | "car_types": [ 159 | "Cargo Van" 160 | ], 161 | "car_options": [ 162 | "A/C: Front" 163 | ], 164 | "doors": [ 165 | 1 166 | ], 167 | "engine_sizes": [ 168 | 4 169 | ] 170 | }, 171 | "ham": { 172 | "name": ["Smithfield Ham"] 173 | }, 174 | "gender": { 175 | "type": ["Non-binary"], 176 | "binary_type": ["Male"] 177 | }, 178 | "car": { 179 | "brand": ["BMW"] 180 | }, 181 | "zelda": { 182 | "game": ["Ocarina of Time"] 183 | } 184 | } 185 | } 186 | } -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "en-US": { 3 | "faker": { 4 | "internet": { 5 | "domain_suffix": [ 6 | "com", 7 | "us", 8 | "biz", 9 | "info", 10 | "name", 11 | "net", 12 | "org" 13 | ] 14 | }, 15 | "address": { 16 | "default_country": [ 17 | "United States", 18 | "United States of America", 19 | "USA" 20 | ], 21 | "postcode_by_state": { 22 | "AL": "350##", 23 | "AK": "995##", 24 | "AS": "967##", 25 | "AZ": "850##", 26 | "AR": "717##", 27 | "CA": "900##", 28 | "CO": "800##", 29 | "CT": "061##", 30 | "DC": "204##", 31 | "DE": "198##", 32 | "FL": "322##", 33 | "GA": "301##", 34 | "HI": "967##", 35 | "ID": "832##", 36 | "IL": "600##", 37 | "IN": "463##", 38 | "IA": "510##", 39 | "KS": "666##", 40 | "KY": "404##", 41 | "LA": "701##", 42 | "ME": "042##", 43 | "MD": "210##", 44 | "MA": "026##", 45 | "MI": "480##", 46 | "MN": "555##", 47 | "MS": "387##", 48 | "MO": "650##", 49 | "MT": "590##", 50 | "NE": "688##", 51 | "NV": "898##", 52 | "NH": "036##", 53 | "NJ": "076##", 54 | "NM": "880##", 55 | "NY": "122##", 56 | "NC": "288##", 57 | "ND": "586##", 58 | "OH": "444##", 59 | "OK": "730##", 60 | "OR": "979##", 61 | "PA": "186##", 62 | "RI": "029##", 63 | "SC": "299##", 64 | "SD": "577##", 65 | "TN": "383##", 66 | "TX": "798##", 67 | "UT": "847##", 68 | "VT": "050##", 69 | "VA": "222##", 70 | "WA": "990##", 71 | "WV": "247##", 72 | "WI": "549##", 73 | "WY": "831##" 74 | } 75 | }, 76 | "phone_number": { 77 | "area_code": [ 78 | "201", 79 | "202", 80 | "203", 81 | "205", 82 | "206", 83 | "207", 84 | "208", 85 | "209", 86 | "210", 87 | "212", 88 | "213", 89 | "214", 90 | "215", 91 | "216", 92 | "217", 93 | "218", 94 | "219", 95 | "224", 96 | "225", 97 | "227", 98 | "228", 99 | "229", 100 | "231", 101 | "234", 102 | "239", 103 | "240", 104 | "248", 105 | "251", 106 | "252", 107 | "253", 108 | "254", 109 | "256", 110 | "260", 111 | "262", 112 | "267", 113 | "269", 114 | "270", 115 | "276", 116 | "281", 117 | "283", 118 | "301", 119 | "302", 120 | "303", 121 | "304", 122 | "305", 123 | "307", 124 | "308", 125 | "309", 126 | "310", 127 | "312", 128 | "313", 129 | "314", 130 | "315", 131 | "316", 132 | "317", 133 | "318", 134 | "319", 135 | "320", 136 | "321", 137 | "323", 138 | "330", 139 | "331", 140 | "334", 141 | "336", 142 | "337", 143 | "339", 144 | "347", 145 | "351", 146 | "352", 147 | "360", 148 | "361", 149 | "386", 150 | "401", 151 | "402", 152 | "404", 153 | "405", 154 | "406", 155 | "407", 156 | "408", 157 | "409", 158 | "410", 159 | "412", 160 | "413", 161 | "414", 162 | "415", 163 | "417", 164 | "419", 165 | "423", 166 | "424", 167 | "425", 168 | "434", 169 | "435", 170 | "440", 171 | "443", 172 | "445", 173 | "464", 174 | "469", 175 | "470", 176 | "475", 177 | "478", 178 | "479", 179 | "480", 180 | "484", 181 | "501", 182 | "502", 183 | "503", 184 | "504", 185 | "505", 186 | "507", 187 | "508", 188 | "509", 189 | "510", 190 | "512", 191 | "513", 192 | "515", 193 | "516", 194 | "517", 195 | "518", 196 | "520", 197 | "530", 198 | "540", 199 | "541", 200 | "551", 201 | "557", 202 | "559", 203 | "561", 204 | "562", 205 | "563", 206 | "564", 207 | "567", 208 | "570", 209 | "571", 210 | "573", 211 | "574", 212 | "580", 213 | "585", 214 | "586", 215 | "601", 216 | "602", 217 | "603", 218 | "605", 219 | "606", 220 | "607", 221 | "608", 222 | "609", 223 | "610", 224 | "612", 225 | "614", 226 | "615", 227 | "616", 228 | "617", 229 | "618", 230 | "619", 231 | "620", 232 | "623", 233 | "626", 234 | "630", 235 | "631", 236 | "636", 237 | "641", 238 | "646", 239 | "650", 240 | "651", 241 | "660", 242 | "661", 243 | "662", 244 | "667", 245 | "678", 246 | "682", 247 | "701", 248 | "702", 249 | "703", 250 | "704", 251 | "706", 252 | "707", 253 | "708", 254 | "712", 255 | "713", 256 | "714", 257 | "715", 258 | "716", 259 | "717", 260 | "718", 261 | "719", 262 | "720", 263 | "724", 264 | "727", 265 | "731", 266 | "732", 267 | "734", 268 | "737", 269 | "740", 270 | "754", 271 | "757", 272 | "760", 273 | "763", 274 | "765", 275 | "770", 276 | "772", 277 | "773", 278 | "774", 279 | "775", 280 | "781", 281 | "785", 282 | "786", 283 | "801", 284 | "802", 285 | "803", 286 | "804", 287 | "805", 288 | "806", 289 | "808", 290 | "810", 291 | "812", 292 | "813", 293 | "814", 294 | "815", 295 | "816", 296 | "817", 297 | "818", 298 | "828", 299 | "830", 300 | "831", 301 | "832", 302 | "835", 303 | "843", 304 | "845", 305 | "847", 306 | "848", 307 | "850", 308 | "856", 309 | "857", 310 | "858", 311 | "859", 312 | "860", 313 | "862", 314 | "863", 315 | "864", 316 | "865", 317 | "870", 318 | "872", 319 | "878", 320 | "901", 321 | "903", 322 | "904", 323 | "906", 324 | "907", 325 | "908", 326 | "909", 327 | "910", 328 | "912", 329 | "913", 330 | "914", 331 | "915", 332 | "916", 333 | "917", 334 | "918", 335 | "919", 336 | "920", 337 | "925", 338 | "928", 339 | "931", 340 | "936", 341 | "937", 342 | "940", 343 | "941", 344 | "947", 345 | "949", 346 | "952", 347 | "954", 348 | "956", 349 | "959", 350 | "970", 351 | "971", 352 | "972", 353 | "973", 354 | "975", 355 | "978", 356 | "979", 357 | "980", 358 | "984", 359 | "985", 360 | "989" 361 | ], 362 | "exchange_code": [ 363 | "201", 364 | "202", 365 | "203", 366 | "205", 367 | "206", 368 | "207", 369 | "208", 370 | "209", 371 | "210", 372 | "212", 373 | "213", 374 | "214", 375 | "215", 376 | "216", 377 | "217", 378 | "218", 379 | "219", 380 | "224", 381 | "225", 382 | "227", 383 | "228", 384 | "229", 385 | "231", 386 | "234", 387 | "239", 388 | "240", 389 | "248", 390 | "251", 391 | "252", 392 | "253", 393 | "254", 394 | "256", 395 | "260", 396 | "262", 397 | "267", 398 | "269", 399 | "270", 400 | "276", 401 | "281", 402 | "283", 403 | "301", 404 | "302", 405 | "303", 406 | "304", 407 | "305", 408 | "307", 409 | "308", 410 | "309", 411 | "310", 412 | "312", 413 | "313", 414 | "314", 415 | "315", 416 | "316", 417 | "317", 418 | "318", 419 | "319", 420 | "320", 421 | "321", 422 | "323", 423 | "330", 424 | "331", 425 | "334", 426 | "336", 427 | "337", 428 | "339", 429 | "347", 430 | "351", 431 | "352", 432 | "360", 433 | "361", 434 | "386", 435 | "401", 436 | "402", 437 | "404", 438 | "405", 439 | "406", 440 | "407", 441 | "408", 442 | "409", 443 | "410", 444 | "412", 445 | "413", 446 | "414", 447 | "415", 448 | "417", 449 | "419", 450 | "423", 451 | "424", 452 | "425", 453 | "434", 454 | "435", 455 | "440", 456 | "443", 457 | "445", 458 | "464", 459 | "469", 460 | "470", 461 | "475", 462 | "478", 463 | "479", 464 | "480", 465 | "484", 466 | "501", 467 | "502", 468 | "503", 469 | "504", 470 | "505", 471 | "507", 472 | "508", 473 | "509", 474 | "510", 475 | "512", 476 | "513", 477 | "515", 478 | "516", 479 | "517", 480 | "518", 481 | "520", 482 | "530", 483 | "540", 484 | "541", 485 | "551", 486 | "557", 487 | "559", 488 | "561", 489 | "562", 490 | "563", 491 | "564", 492 | "567", 493 | "570", 494 | "571", 495 | "573", 496 | "574", 497 | "580", 498 | "585", 499 | "586", 500 | "601", 501 | "602", 502 | "603", 503 | "605", 504 | "606", 505 | "607", 506 | "608", 507 | "609", 508 | "610", 509 | "612", 510 | "614", 511 | "615", 512 | "616", 513 | "617", 514 | "618", 515 | "619", 516 | "620", 517 | "623", 518 | "626", 519 | "630", 520 | "631", 521 | "636", 522 | "641", 523 | "646", 524 | "650", 525 | "651", 526 | "660", 527 | "661", 528 | "662", 529 | "667", 530 | "678", 531 | "682", 532 | "701", 533 | "702", 534 | "703", 535 | "704", 536 | "706", 537 | "707", 538 | "708", 539 | "712", 540 | "713", 541 | "714", 542 | "715", 543 | "716", 544 | "717", 545 | "718", 546 | "719", 547 | "720", 548 | "724", 549 | "727", 550 | "731", 551 | "732", 552 | "734", 553 | "737", 554 | "740", 555 | "754", 556 | "757", 557 | "760", 558 | "763", 559 | "765", 560 | "770", 561 | "772", 562 | "773", 563 | "774", 564 | "775", 565 | "781", 566 | "785", 567 | "786", 568 | "801", 569 | "802", 570 | "803", 571 | "804", 572 | "805", 573 | "806", 574 | "808", 575 | "810", 576 | "812", 577 | "813", 578 | "814", 579 | "815", 580 | "816", 581 | "817", 582 | "818", 583 | "828", 584 | "830", 585 | "831", 586 | "832", 587 | "835", 588 | "843", 589 | "845", 590 | "847", 591 | "848", 592 | "850", 593 | "856", 594 | "857", 595 | "858", 596 | "859", 597 | "860", 598 | "862", 599 | "863", 600 | "864", 601 | "865", 602 | "870", 603 | "872", 604 | "878", 605 | "901", 606 | "903", 607 | "904", 608 | "906", 609 | "907", 610 | "908", 611 | "909", 612 | "910", 613 | "912", 614 | "913", 615 | "914", 616 | "915", 617 | "916", 618 | "917", 619 | "918", 620 | "919", 621 | "920", 622 | "925", 623 | "928", 624 | "931", 625 | "936", 626 | "937", 627 | "940", 628 | "941", 629 | "947", 630 | "949", 631 | "952", 632 | "954", 633 | "956", 634 | "959", 635 | "970", 636 | "971", 637 | "972", 638 | "973", 639 | "975", 640 | "978", 641 | "979", 642 | "980", 643 | "984", 644 | "985", 645 | "989" 646 | ], 647 | "formats": [ 648 | "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}", 649 | "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}", 650 | "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}", 651 | "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number}", 652 | "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}", 653 | "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}", 654 | "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}", 655 | "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number}", 656 | "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 657 | "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 658 | "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 659 | "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 660 | "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 661 | "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 662 | "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 663 | "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 664 | "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 665 | "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 666 | "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}", 667 | "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}" 668 | ] 669 | } 670 | } 671 | } 672 | } 673 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/fa.json: -------------------------------------------------------------------------------- 1 | { 2 | "fa": { 3 | "faker": { 4 | "name": { 5 | "first_name": [ 6 | "آبان دخت", 7 | "آبتین", 8 | "آتوسا", 9 | "آفر", 10 | "آفره دخت", 11 | "آذرنوش‌", 12 | "آذین", 13 | "آراه", 14 | "آرزو", 15 | "آرش", 16 | "آرتین", 17 | "آرتام", 18 | "آرتمن", 19 | "آرشام", 20 | "آرمان", 21 | "آرمین", 22 | "آرمیتا", 23 | "آریا فر", 24 | "آریا", 25 | "آریا مهر", 26 | "آرین", 27 | "آزاده", 28 | "آزرم", 29 | "آزرمدخت", 30 | "آزیتا", 31 | "آناهیتا", 32 | "آونگ", 33 | "آهو", 34 | "آیدا", 35 | "اتسز", 36 | "اختر", 37 | "ارد", 38 | "ارد شیر", 39 | "اردوان", 40 | "ارژن", 41 | "ارژنگ", 42 | "ارسلان", 43 | "ارغوان", 44 | "ارمغان", 45 | "ارنواز", 46 | "اروانه", 47 | "استر", 48 | "اسفندیار", 49 | "اشکان", 50 | "اشکبوس", 51 | "افسانه", 52 | "افسون", 53 | "افشین", 54 | "امید", 55 | "انوش (‌ آنوشا )", 56 | "انوشروان", 57 | "اورنگ", 58 | "اوژن", 59 | "اوستا", 60 | "اهورا", 61 | "ایاز", 62 | "ایران", 63 | "ایراندخت", 64 | "ایرج", 65 | "ایزدیار", 66 | "بابک", 67 | "باپوک", 68 | "باربد", 69 | "بارمان", 70 | "بامداد", 71 | "بامشاد", 72 | "بانو", 73 | "بختیار", 74 | "برانوش", 75 | "بردیا", 76 | "برزو", 77 | "برزویه", 78 | "برزین", 79 | "برمک", 80 | "بزرگمهر", 81 | "بنفشه", 82 | "بوژان", 83 | "بویان", 84 | "بهار", 85 | "بهارک", 86 | "بهاره", 87 | "بهتاش", 88 | "بهداد", 89 | "بهرام", 90 | "بهدیس", 91 | "بهرخ", 92 | "بهرنگ", 93 | "بهروز", 94 | "بهزاد", 95 | "بهشاد", 96 | "بهمن", 97 | "بهناز", 98 | "بهنام", 99 | "بهنود", 100 | "بهنوش", 101 | "بیتا", 102 | "بیژن", 103 | "پارسا", 104 | "پاکان", 105 | "پاکتن", 106 | "پاکدخت", 107 | "پانته آ", 108 | "پدرام", 109 | "پرتو", 110 | "پرشنگ", 111 | "پرتو", 112 | "پرستو", 113 | "پرویز", 114 | "پردیس", 115 | "پرهام", 116 | "پژمان", 117 | "پژوا", 118 | "پرنیا", 119 | "پشنگ", 120 | "پروانه", 121 | "پروین", 122 | "پری", 123 | "پریچهر", 124 | "پریدخت", 125 | "پریسا", 126 | "پرناز", 127 | "پریوش", 128 | "پریا", 129 | "پوپک", 130 | "پوران", 131 | "پوراندخت", 132 | "پوریا", 133 | "پولاد", 134 | "پویا", 135 | "پونه", 136 | "پیام", 137 | "پیروز", 138 | "پیمان", 139 | "تابان", 140 | "تاباندخت", 141 | "تاجی", 142 | "تارا", 143 | "تاویار", 144 | "ترانه", 145 | "تناز", 146 | "توران", 147 | "توراندخت", 148 | "تورج", 149 | "تورتک", 150 | "توفان", 151 | "توژال", 152 | "تیر داد", 153 | "تینا", 154 | "تینو", 155 | "جابان", 156 | "جامین", 157 | "جاوید", 158 | "جریره", 159 | "جمشید", 160 | "جوان", 161 | "جویا", 162 | "جهان", 163 | "جهانبخت", 164 | "جهانبخش", 165 | "جهاندار", 166 | "جهانگیر", 167 | "جهان بانو", 168 | "جهاندخت", 169 | "جهان ناز", 170 | "جیران", 171 | "چابک", 172 | "چالاک", 173 | "چاوش", 174 | "چترا", 175 | "چوبین", 176 | "چهرزاد", 177 | "خاوردخت", 178 | "خداداد", 179 | "خدایار", 180 | "خرم", 181 | "خرمدخت", 182 | "خسرو", 183 | "خشایار", 184 | "خورشید", 185 | "دادمهر", 186 | "دارا", 187 | "داراب", 188 | "داریا", 189 | "داریوش", 190 | "دانوش", 191 | "داور‌", 192 | "دایان", 193 | "دریا", 194 | "دل آرا", 195 | "دل آویز", 196 | "دلارام", 197 | "دل انگیز", 198 | "دلبر", 199 | "دلبند", 200 | "دلربا", 201 | "دلشاد", 202 | "دلکش", 203 | "دلناز", 204 | "دلنواز", 205 | "دورشاسب", 206 | "دنیا", 207 | "دیااکو", 208 | "دیانوش", 209 | "دیبا", 210 | "دیبا دخت", 211 | "رابو", 212 | "رابین", 213 | "رادبانو", 214 | "رادمان", 215 | "رازبان", 216 | "راژانه", 217 | "راسا", 218 | "رامتین", 219 | "رامش", 220 | "رامشگر", 221 | "رامونا", 222 | "رامیار", 223 | "رامیلا", 224 | "رامین", 225 | "راویار", 226 | "رژینا", 227 | "رخپاک", 228 | "رخسار", 229 | "رخشانه", 230 | "رخشنده", 231 | "رزمیار", 232 | "رستم", 233 | "رکسانا", 234 | "روبینا", 235 | "رودابه", 236 | "روزبه", 237 | "روشنک", 238 | "روناک", 239 | "رهام", 240 | "رهی", 241 | "ریبار", 242 | "راسپینا", 243 | "زادبخت", 244 | "زاد به", 245 | "زاد چهر", 246 | "زاد فر", 247 | "زال", 248 | "زادماسب", 249 | "زاوا", 250 | "زردشت", 251 | "زرنگار", 252 | "زری", 253 | "زرین", 254 | "زرینه", 255 | "زمانه", 256 | "زونا", 257 | "زیبا", 258 | "زیبار", 259 | "زیما", 260 | "زینو", 261 | "ژاله", 262 | "ژالان", 263 | "ژیار", 264 | "ژینا", 265 | "ژیوار", 266 | "سارا", 267 | "سارک", 268 | "سارنگ", 269 | "ساره", 270 | "ساسان", 271 | "ساغر", 272 | "سام", 273 | "سامان", 274 | "سانا", 275 | "ساناز", 276 | "سانیار", 277 | "ساویز", 278 | "ساهی", 279 | "ساینا", 280 | "سایه", 281 | "سپنتا", 282 | "سپند", 283 | "سپهر", 284 | "سپهرداد", 285 | "سپیدار", 286 | "سپید بانو", 287 | "سپیده", 288 | "ستاره", 289 | "ستی", 290 | "سرافراز", 291 | "سرور", 292 | "سروش", 293 | "سرور", 294 | "سوبا", 295 | "سوبار", 296 | "سنبله", 297 | "سودابه", 298 | "سوری", 299 | "سورن", 300 | "سورنا", 301 | "سوزان", 302 | "سوزه", 303 | "سوسن", 304 | "سومار", 305 | "سولان", 306 | "سولماز", 307 | "سوگند", 308 | "سهراب", 309 | "سهره", 310 | "سهند", 311 | "سیامک", 312 | "سیاوش", 313 | "سیبوبه ‌", 314 | "سیما", 315 | "سیمدخت", 316 | "سینا", 317 | "سیمین", 318 | "سیمین دخت", 319 | "شاپرک", 320 | "شادی", 321 | "شادمهر", 322 | "شاران", 323 | "شاهپور", 324 | "شاهدخت", 325 | "شاهرخ", 326 | "شاهین", 327 | "شاهیندخت", 328 | "شایسته", 329 | "شباهنگ", 330 | "شب بو", 331 | "شبدیز", 332 | "شبنم", 333 | "شراره", 334 | "شرمین", 335 | "شروین", 336 | "شکوفه", 337 | "شکفته", 338 | "شمشاد", 339 | "شمین", 340 | "شوان", 341 | "شمیلا", 342 | "شورانگیز", 343 | "شوری", 344 | "شهاب", 345 | "شهبار", 346 | "شهباز", 347 | "شهبال", 348 | "شهپر", 349 | "شهداد", 350 | "شهرآرا", 351 | "شهرام", 352 | "شهربانو", 353 | "شهرزاد", 354 | "شهرناز", 355 | "شهرنوش", 356 | "شهره", 357 | "شهریار", 358 | "شهرزاد", 359 | "شهلا", 360 | "شهنواز", 361 | "شهین", 362 | "شیبا", 363 | "شیدا", 364 | "شیده", 365 | "شیردل", 366 | "شیرزاد", 367 | "شیرنگ", 368 | "شیرو", 369 | "شیرین دخت", 370 | "شیما", 371 | "شینا", 372 | "شیرین", 373 | "شیوا", 374 | "طوس", 375 | "طوطی", 376 | "طهماسب", 377 | "طهمورث", 378 | "غوغا", 379 | "غنچه", 380 | "فتانه", 381 | "فدا", 382 | "فراز", 383 | "فرامرز", 384 | "فرانک", 385 | "فراهان", 386 | "فربد", 387 | "فربغ", 388 | "فرجاد", 389 | "فرخ", 390 | "فرخ پی", 391 | "فرخ داد", 392 | "فرخ رو", 393 | "فرخ زاد", 394 | "فرخ لقا", 395 | "فرخ مهر", 396 | "فرداد", 397 | "فردیس", 398 | "فرین", 399 | "فرزاد", 400 | "فرزام", 401 | "فرزان", 402 | "فرزانه", 403 | "فرزین", 404 | "فرشاد", 405 | "فرشته", 406 | "فرشید", 407 | "فرمان", 408 | "فرناز", 409 | "فرنگیس", 410 | "فرنود", 411 | "فرنوش", 412 | "فرنیا", 413 | "فروتن", 414 | "فرود", 415 | "فروز", 416 | "فروزان", 417 | "فروزش", 418 | "فروزنده", 419 | "فروغ", 420 | "فرهاد", 421 | "فرهنگ", 422 | "فرهود", 423 | "فربار", 424 | "فریبا", 425 | "فرید", 426 | "فریدخت", 427 | "فریدون", 428 | "فریمان", 429 | "فریناز", 430 | "فرینوش", 431 | "فریوش", 432 | "فیروز", 433 | "فیروزه", 434 | "قابوس", 435 | "قباد", 436 | "قدسی", 437 | "کابان", 438 | "کابوک", 439 | "کارا", 440 | "کارو", 441 | "کاراکو", 442 | "کامبخت", 443 | "کامبخش", 444 | "کامبیز", 445 | "کامجو", 446 | "کامدین", 447 | "کامران", 448 | "کامراوا", 449 | "کامک", 450 | "کامنوش", 451 | "کامیار", 452 | "کانیار", 453 | "کاووس", 454 | "کاوه", 455 | "کتایون", 456 | "کرشمه", 457 | "کسری", 458 | "کلاله", 459 | "کمبوجیه", 460 | "کوشا", 461 | "کهبد", 462 | "کهرام", 463 | "کهزاد", 464 | "کیارش", 465 | "کیان", 466 | "کیانا", 467 | "کیانچهر", 468 | "کیاندخت", 469 | "کیانوش", 470 | "کیاوش", 471 | "کیخسرو", 472 | "کیقباد", 473 | "کیکاووس", 474 | "کیوان", 475 | "کیوان دخت", 476 | "کیومرث", 477 | "کیهان", 478 | "کیاندخت", 479 | "کیهانه", 480 | "گرد آفرید", 481 | "گردان", 482 | "گرشا", 483 | "گرشاسب", 484 | "گرشین", 485 | "گرگین", 486 | "گزل", 487 | "گشتاسب", 488 | "گشسب", 489 | "گشسب بانو", 490 | "گل", 491 | "گل آذین", 492 | "گل آرا‌", 493 | "گلاره", 494 | "گل افروز", 495 | "گلاله", 496 | "گل اندام", 497 | "گلاویز", 498 | "گلباد", 499 | "گلبار", 500 | "گلبام", 501 | "گلبان", 502 | "گلبانو", 503 | "گلبرگ", 504 | "گلبو", 505 | "گلبهار", 506 | "گلبیز", 507 | "گلپاره", 508 | "گلپر", 509 | "گلپری", 510 | "گلپوش", 511 | "گل پونه", 512 | "گلچین", 513 | "گلدخت", 514 | "گلدیس", 515 | "گلربا", 516 | "گلرخ", 517 | "گلرنگ", 518 | "گلرو", 519 | "گلشن", 520 | "گلریز", 521 | "گلزاد", 522 | "گلزار", 523 | "گلسا", 524 | "گلشید", 525 | "گلنار", 526 | "گلناز", 527 | "گلنسا", 528 | "گلنواز", 529 | "گلنوش", 530 | "گلی", 531 | "گودرز", 532 | "گوماتو", 533 | "گهر چهر", 534 | "گوهر ناز", 535 | "گیتی", 536 | "گیسو", 537 | "گیلدا", 538 | "گیو", 539 | "لادن", 540 | "لاله", 541 | "لاله رخ", 542 | "لاله دخت", 543 | "لبخند", 544 | "لقاء", 545 | "لومانا", 546 | "لهراسب", 547 | "مارال", 548 | "ماری", 549 | "مازیار", 550 | "ماکان", 551 | "مامک", 552 | "مانا", 553 | "ماندانا", 554 | "مانوش", 555 | "مانی", 556 | "مانیا", 557 | "ماهان", 558 | "ماهاندخت", 559 | "ماه برزین", 560 | "ماه جهان", 561 | "ماهچهر", 562 | "ماهدخت", 563 | "ماهور", 564 | "ماهرخ", 565 | "ماهزاد", 566 | "مردآویز", 567 | "مرداس", 568 | "مرزبان", 569 | "مرمر", 570 | "مزدک", 571 | "مژده", 572 | "مژگان", 573 | "مستان", 574 | "مستانه", 575 | "مشکاندخت", 576 | "مشکناز", 577 | "مشکین دخت", 578 | "منیژه", 579 | "منوچهر", 580 | "مهبانو", 581 | "مهبد", 582 | "مه داد", 583 | "مهتاب", 584 | "مهدیس", 585 | "مه جبین", 586 | "مه دخت", 587 | "مهر آذر", 588 | "مهر آرا", 589 | "مهر آسا", 590 | "مهر آفاق", 591 | "مهر افرین", 592 | "مهرآب", 593 | "مهرداد", 594 | "مهر افزون", 595 | "مهرام", 596 | "مهران", 597 | "مهراندخت", 598 | "مهراندیش", 599 | "مهرانفر", 600 | "مهرانگیز", 601 | "مهرداد", 602 | "مهر دخت", 603 | "مهرزاده ‌", 604 | "مهرناز", 605 | "مهرنوش", 606 | "مهرنکار", 607 | "مهرنیا", 608 | "مهروز", 609 | "مهری", 610 | "مهریار", 611 | "مهسا", 612 | "مهستی", 613 | "مه سیما", 614 | "مهشاد", 615 | "مهشید", 616 | "مهنام", 617 | "مهناز", 618 | "مهنوش", 619 | "مهوش", 620 | "مهیار", 621 | "مهین", 622 | "مهین دخت", 623 | "میترا", 624 | "میخک", 625 | "مینا", 626 | "مینا دخت", 627 | "مینو", 628 | "مینودخت", 629 | "مینو فر", 630 | "نادر", 631 | "ناز آفرین", 632 | "نازبانو", 633 | "نازپرور", 634 | "نازچهر", 635 | "نازفر", 636 | "نازلی", 637 | "نازی", 638 | "نازیدخت", 639 | "نامور", 640 | "ناهید", 641 | "ندا", 642 | "نرسی", 643 | "نرگس", 644 | "نرمک", 645 | "نرمین", 646 | "نریمان", 647 | "نسترن", 648 | "نسرین", 649 | "نسرین دخت", 650 | "نسرین نوش", 651 | "نکیسا", 652 | "نگار", 653 | "نگاره", 654 | "نگارین", 655 | "نگین", 656 | "نوا", 657 | "نوش", 658 | "نوش آذر", 659 | "نوش آور", 660 | "نوشا", 661 | "نوش آفرین", 662 | "نوشدخت", 663 | "نوشروان", 664 | "نوشفر", 665 | "نوشناز", 666 | "نوشین", 667 | "نوید", 668 | "نوین", 669 | "نوین دخت", 670 | "نیش ا", 671 | "نیک بین", 672 | "نیک پی", 673 | "نیک چهر", 674 | "نیک خواه", 675 | "نیکداد", 676 | "نیکدخت", 677 | "نیکدل", 678 | "نیکزاد", 679 | "نیلوفر", 680 | "نیما", 681 | "وامق", 682 | "ورجاوند", 683 | "وریا", 684 | "وشمگیر", 685 | "وهرز", 686 | "وهسودان", 687 | "ویدا", 688 | "ویس", 689 | "ویشتاسب", 690 | "ویگن", 691 | "هژیر", 692 | "هخامنش", 693 | "هربد( هیربد )", 694 | "هرمز", 695 | "همایون", 696 | "هما", 697 | "همادخت", 698 | "همدم", 699 | "همراز", 700 | "همراه", 701 | "هنگامه", 702 | "هوتن", 703 | "هور", 704 | "هورتاش", 705 | "هورچهر", 706 | "هورداد", 707 | "هوردخت", 708 | "هورزاد", 709 | "هورمند", 710 | "هوروش", 711 | "هوشنگ", 712 | "هوشیار", 713 | "هومان", 714 | "هومن", 715 | "هونام", 716 | "هویدا", 717 | "هیتاسب", 718 | "هیرمند", 719 | "هیما", 720 | "هیوا", 721 | "یادگار", 722 | "یاسمن ( یاسمین )", 723 | "یاشار", 724 | "یاور", 725 | "یزدان", 726 | "یگانه", 727 | "یوشیتا" 728 | ], 729 | "last_name": [ 730 | "عارف", 731 | "عاشوری", 732 | "عالی", 733 | "عبادی", 734 | "عبدالکریمی", 735 | "عبدالملکی", 736 | "عراقی", 737 | "عزیزی", 738 | "عصار", 739 | "عقیلی", 740 | "علم", 741 | "علم‌الهدی", 742 | "علی عسگری", 743 | "علی‌آبادی", 744 | "علیا", 745 | "علی‌پور", 746 | "علی‌زمانی", 747 | "عنایت", 748 | "غضنفری", 749 | "غنی", 750 | "فارسی", 751 | "فاطمی", 752 | "فانی", 753 | "فتاحی", 754 | "فرامرزی", 755 | "فرج", 756 | "فرشیدورد", 757 | "فرمانفرمائیان", 758 | "فروتن", 759 | "فرهنگ", 760 | "فریاد", 761 | "فنایی", 762 | "فنی‌زاده", 763 | "فولادوند", 764 | "فهمیده", 765 | "قاضی", 766 | "قانعی", 767 | "قانونی", 768 | "قمیشی", 769 | "قنبری", 770 | "قهرمان", 771 | "قهرمانی", 772 | "قهرمانیان", 773 | "قهستانی", 774 | "کاشی", 775 | "کاکاوند", 776 | "کامکار", 777 | "کاملی", 778 | "کاویانی", 779 | "کدیور", 780 | "کردبچه", 781 | "کرمانی", 782 | "کریمی", 783 | "کلباسی", 784 | "کمالی", 785 | "کوشکی", 786 | "کهنمویی", 787 | "کیان", 788 | "کیانی (نام خانوادگی)", 789 | "کیمیایی", 790 | "گل محمدی", 791 | "گلپایگانی", 792 | "گنجی", 793 | "لاجوردی", 794 | "لاچینی", 795 | "لاهوتی", 796 | "لنکرانی", 797 | "لوکس", 798 | "مجاهد", 799 | "مجتبایی", 800 | "مجتبوی", 801 | "مجتهد شبستری", 802 | "مجتهدی", 803 | "مجرد", 804 | "محجوب", 805 | "محجوبی", 806 | "محدثی", 807 | "محمدرضایی", 808 | "محمدی", 809 | "مددی", 810 | "مرادخانی", 811 | "مرتضوی", 812 | "مستوفی", 813 | "مشا", 814 | "مصاحب", 815 | "مصباح", 816 | "مصباح‌زاده", 817 | "مطهری", 818 | "مظفر", 819 | "معارف", 820 | "معروف", 821 | "معین", 822 | "مفتاح", 823 | "مفتح", 824 | "مقدم", 825 | "ملایری", 826 | "ملک", 827 | "ملکیان", 828 | "منوچهری", 829 | "موحد", 830 | "موسوی", 831 | "موسویان", 832 | "مهاجرانی", 833 | "مهدی‌پور", 834 | "میرباقری", 835 | "میردامادی", 836 | "میرزاده", 837 | "میرسپاسی", 838 | "میزبانی", 839 | "ناظری", 840 | "نامور", 841 | "نجفی", 842 | "ندوشن", 843 | "نراقی", 844 | "نعمت‌زاده", 845 | "نقدی", 846 | "نقیب‌زاده", 847 | "نواب", 848 | "نوبخت", 849 | "نوبختی", 850 | "نهاوندی", 851 | "نیشابوری", 852 | "نیلوفری", 853 | "واثقی", 854 | "واعظ", 855 | "واعظ‌زاده", 856 | "واعظی", 857 | "وکیلی", 858 | "هاشمی", 859 | "هاشمی رفسنجانی", 860 | "هاشمیان", 861 | "هامون", 862 | "هدایت", 863 | "هراتی", 864 | "هروی", 865 | "همایون", 866 | "همت", 867 | "همدانی", 868 | "هوشیار", 869 | "هومن", 870 | "یاحقی", 871 | "یادگار", 872 | "یثربی", 873 | "یلدا" 874 | ], 875 | "prefix": [ 876 | "آقای", 877 | "خانم", 878 | "دکتر" 879 | ] 880 | } 881 | } 882 | } 883 | } 884 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/ja.json: -------------------------------------------------------------------------------- 1 | { 2 | "ja": { 3 | "faker": { 4 | "address": { 5 | "postcode": [ 6 | "###-####" 7 | ], 8 | "state": [ 9 | "北海道", 10 | "青森県", 11 | "岩手県", 12 | "宮城県", 13 | "秋田県", 14 | "山形県", 15 | "福島県", 16 | "茨城県", 17 | "栃木県", 18 | "群馬県", 19 | "埼玉県", 20 | "千葉県", 21 | "東京都", 22 | "神奈川県", 23 | "新潟県", 24 | "富山県", 25 | "石川県", 26 | "福井県", 27 | "山梨県", 28 | "長野県", 29 | "岐阜県", 30 | "静岡県", 31 | "愛知県", 32 | "三重県", 33 | "滋賀県", 34 | "京都府", 35 | "大阪府", 36 | "兵庫県", 37 | "奈良県", 38 | "和歌山県", 39 | "鳥取県", 40 | "島根県", 41 | "岡山県", 42 | "広島県", 43 | "山口県", 44 | "徳島県", 45 | "香川県", 46 | "愛媛県", 47 | "高知県", 48 | "福岡県", 49 | "佐賀県", 50 | "長崎県", 51 | "熊本県", 52 | "大分県", 53 | "宮崎県", 54 | "鹿児島県", 55 | "沖縄県" 56 | ], 57 | "state_abbr": [ 58 | "1", 59 | "2", 60 | "3", 61 | "4", 62 | "5", 63 | "6", 64 | "7", 65 | "8", 66 | "9", 67 | "10", 68 | "11", 69 | "12", 70 | "13", 71 | "14", 72 | "15", 73 | "16", 74 | "17", 75 | "18", 76 | "19", 77 | "20", 78 | "21", 79 | "22", 80 | "23", 81 | "24", 82 | "25", 83 | "26", 84 | "27", 85 | "28", 86 | "29", 87 | "30", 88 | "31", 89 | "32", 90 | "33", 91 | "34", 92 | "35", 93 | "36", 94 | "37", 95 | "38", 96 | "39", 97 | "40", 98 | "41", 99 | "42", 100 | "43", 101 | "44", 102 | "45", 103 | "46", 104 | "47" 105 | ], 106 | "city_prefix": [ 107 | "北", 108 | "東", 109 | "西", 110 | "南", 111 | "新", 112 | "湖", 113 | "港" 114 | ], 115 | "city_suffix": [ 116 | "市", 117 | "区", 118 | "町", 119 | "村" 120 | ], 121 | "city": [ 122 | "#{city_prefix}#{Name.first_name}#{city_suffix}", 123 | "#{Name.first_name}#{city_suffix}", 124 | "#{city_prefix}#{Name.last_name}#{city_suffix}", 125 | "#{Name.last_name}#{city_suffix}" 126 | ], 127 | "street_name": [ 128 | "#{Name.first_name}#{street_suffix}", 129 | "#{Name.last_name}#{street_suffix}" 130 | ] 131 | }, 132 | "phone_number": { 133 | "formats": [ 134 | "0####-#-####", 135 | "0###-##-####", 136 | "0##-###-####", 137 | "0#-####-####" 138 | ] 139 | }, 140 | "cell_phone": { 141 | "formats": [ 142 | "090-####-####", 143 | "080-####-####", 144 | "070-####-####" 145 | ] 146 | }, 147 | "name": { 148 | "last_name": [ 149 | "佐藤", 150 | "鈴木", 151 | "高橋", 152 | "田中", 153 | "渡辺", 154 | "伊藤", 155 | "山本", 156 | "中村", 157 | "小林", 158 | "加藤", 159 | "吉田", 160 | "山田", 161 | "佐々木", 162 | "山口", 163 | "斎藤", 164 | "松本", 165 | "井上", 166 | "木村", 167 | "林", 168 | "清水" 169 | ], 170 | "first_name": [ 171 | "大翔", 172 | "蓮", 173 | "颯太", 174 | "樹", 175 | "大和", 176 | "陽翔", 177 | "陸斗", 178 | "太一", 179 | "海翔", 180 | "蒼空", 181 | "翼", 182 | "陽菜", 183 | "結愛", 184 | "結衣", 185 | "杏", 186 | "莉子", 187 | "美羽", 188 | "結菜", 189 | "心愛", 190 | "愛菜", 191 | "美咲" 192 | ], 193 | "name": [ 194 | "#{last_name} #{first_name}" 195 | ] 196 | }, 197 | "gender": { 198 | "binary_type": [ 199 | "女性", 200 | "男性" 201 | ] 202 | } 203 | } 204 | } 205 | } 206 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/ko.json: -------------------------------------------------------------------------------- 1 | { 2 | "ko": { 3 | "faker": { 4 | "address": { 5 | "postcode": [ 6 | "###-###" 7 | ], 8 | "state": [ 9 | "강원", 10 | "경기", 11 | "경남", 12 | "경북", 13 | "광주", 14 | "대구", 15 | "대전", 16 | "부산", 17 | "서울", 18 | "울산", 19 | "인천", 20 | "전남", 21 | "전북", 22 | "제주", 23 | "충남", 24 | "충북", 25 | "세종" 26 | ], 27 | "state_abbr": [ 28 | "강원", 29 | "경기", 30 | "경남", 31 | "경북", 32 | "광주", 33 | "대구", 34 | "대전", 35 | "부산", 36 | "서울", 37 | "울산", 38 | "인천", 39 | "전남", 40 | "전북", 41 | "제주", 42 | "충남", 43 | "충북", 44 | "세종" 45 | ], 46 | "city_suffix": [ 47 | "구", 48 | "시", 49 | "군" 50 | ], 51 | "city_name": [ 52 | "강릉", 53 | "양양", 54 | "인제", 55 | "광주", 56 | "구리", 57 | "부천", 58 | "밀양", 59 | "통영", 60 | "창원", 61 | "거창", 62 | "고성", 63 | "양산", 64 | "김천", 65 | "구미", 66 | "영주", 67 | "광산", 68 | "남", 69 | "북", 70 | "고창", 71 | "군산", 72 | "남원", 73 | "동작", 74 | "마포", 75 | "송파", 76 | "용산", 77 | "부평", 78 | "강화", 79 | "수성" 80 | ], 81 | "city": [ 82 | "#{city_name}#{city_suffix}" 83 | ], 84 | "street_root": [ 85 | "상계", 86 | "화곡", 87 | "신정", 88 | "목", 89 | "잠실", 90 | "면목", 91 | "주안", 92 | "안양", 93 | "중", 94 | "정왕", 95 | "구로", 96 | "신월", 97 | "연산", 98 | "부평", 99 | "창", 100 | "만수", 101 | "중계", 102 | "검단", 103 | "시흥", 104 | "상도", 105 | "방배", 106 | "장유", 107 | "상", 108 | "광명", 109 | "신길", 110 | "행신", 111 | "대명", 112 | "동탄" 113 | ], 114 | "street_suffix": [ 115 | "읍", 116 | "면", 117 | "동" 118 | ], 119 | "street_name": [ 120 | "#{street_root}#{street_suffix}" 121 | ] 122 | }, 123 | "phone_number": { 124 | "formats": [ 125 | "0#-#####-####", 126 | "0##-###-####", 127 | "0##-####-####" 128 | ] 129 | }, 130 | "company": { 131 | "suffix": [ 132 | "연구소", 133 | "게임즈", 134 | "그룹", 135 | "전자", 136 | "물산", 137 | "코리아" 138 | ], 139 | "prefix": [ 140 | "주식회사", 141 | "한국" 142 | ], 143 | "name": [ 144 | "#{prefix} #{Name.first_name}", 145 | "#{Name.first_name} #{suffix}" 146 | ] 147 | }, 148 | "internet": { 149 | "free_email": [ 150 | "gmail.com", 151 | "yahoo.co.kr", 152 | "hanmail.net", 153 | "naver.com" 154 | ], 155 | "domain_suffix": [ 156 | "co.kr", 157 | "com", 158 | "biz", 159 | "info", 160 | "ne.kr", 161 | "net", 162 | "or.kr", 163 | "org" 164 | ] 165 | }, 166 | "lorem": { 167 | "words": [ 168 | "국가는", 169 | "법률이", 170 | "정하는", 171 | "바에", 172 | "의하여", 173 | "재외국민을", 174 | "보호할", 175 | "의무를", 176 | "진다.", 177 | "모든", 178 | "국민은", 179 | "신체의", 180 | "자유를", 181 | "가진다.", 182 | "국가는", 183 | "전통문화의", 184 | "계승·발전과", 185 | "민족문화의", 186 | "창달에", 187 | "노력하여야", 188 | "한다.", 189 | "통신·방송의", 190 | "시설기준과", 191 | "신문의", 192 | "기능을", 193 | "보장하기", 194 | "위하여", 195 | "필요한", 196 | "사항은", 197 | "법률로", 198 | "정한다.", 199 | "헌법에", 200 | "의하여", 201 | "체결·공포된", 202 | "조약과", 203 | "일반적으로", 204 | "승인된", 205 | "국제법규는", 206 | "국내법과", 207 | "같은", 208 | "효력을", 209 | "가진다.", 210 | "다만,", 211 | "현행범인인", 212 | "경우와", 213 | "장기", 214 | "3년", 215 | "이상의", 216 | "형에", 217 | "해당하는", 218 | "죄를", 219 | "범하고", 220 | "도피", 221 | "또는", 222 | "증거인멸의", 223 | "염려가", 224 | "있을", 225 | "때에는", 226 | "사후에", 227 | "영장을", 228 | "청구할", 229 | "수", 230 | "있다.", 231 | "저작자·발명가·과학기술자와", 232 | "예술가의", 233 | "권리는", 234 | "법률로써", 235 | "보호한다.", 236 | "형사피고인은", 237 | "유죄의", 238 | "판결이", 239 | "확정될", 240 | "때까지는", 241 | "무죄로", 242 | "추정된다.", 243 | "모든", 244 | "국민은", 245 | "행위시의", 246 | "법률에", 247 | "의하여", 248 | "범죄를", 249 | "구성하지", 250 | "아니하는", 251 | "행위로", 252 | "소추되지", 253 | "아니하며,", 254 | "동일한", 255 | "범죄에", 256 | "대하여", 257 | "거듭", 258 | "처벌받지", 259 | "아니한다.", 260 | "국가는", 261 | "평생교육을", 262 | "진흥하여야", 263 | "한다.", 264 | "모든", 265 | "국민은", 266 | "사생활의", 267 | "비밀과", 268 | "자유를", 269 | "침해받지", 270 | "아니한다.", 271 | "의무교육은", 272 | "무상으로", 273 | "한다.", 274 | "저작자·발명가·과학기술자와", 275 | "예술가의", 276 | "권리는", 277 | "법률로써", 278 | "보호한다.", 279 | "국가는", 280 | "모성의", 281 | "보호를", 282 | "위하여", 283 | "노력하여야", 284 | "한다.", 285 | "헌법에", 286 | "의하여", 287 | "체결·공포된", 288 | "조약과", 289 | "일반적으로", 290 | "승인된", 291 | "국제법규는", 292 | "국내법과", 293 | "같은", 294 | "효력을", 295 | "가진다." 296 | ] 297 | }, 298 | "name": { 299 | "last_name": [ 300 | "김", 301 | "이", 302 | "박", 303 | "최", 304 | "정", 305 | "강", 306 | "조", 307 | "윤", 308 | "장", 309 | "임", 310 | "오", 311 | "한", 312 | "신", 313 | "서", 314 | "권", 315 | "황", 316 | "안", 317 | "송", 318 | "류", 319 | "홍" 320 | ], 321 | "first_name": [ 322 | "서연", 323 | "민서", 324 | "서현", 325 | "지우", 326 | "서윤", 327 | "지민", 328 | "수빈", 329 | "하은", 330 | "예은", 331 | "윤서", 332 | "민준", 333 | "지후", 334 | "지훈", 335 | "준서", 336 | "현우", 337 | "예준", 338 | "건우", 339 | "현준", 340 | "민재", 341 | "우진", 342 | "은주" 343 | ], 344 | "name": [ 345 | "#{last_name} #{first_name}" 346 | ] 347 | } 348 | } 349 | } 350 | } 351 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/nb-NO.json: -------------------------------------------------------------------------------- 1 | { 2 | "nb-NO": { 3 | "faker": { 4 | "address": { 5 | "city_root": [ 6 | "Fet", 7 | "Gjes", 8 | "Høy", 9 | "Inn", 10 | "Fager", 11 | "Lille", 12 | "Lo", 13 | "Mal", 14 | "Nord", 15 | "Nær", 16 | "Sand", 17 | "Sme", 18 | "Stav", 19 | "Stor", 20 | "Tand", 21 | "Ut", 22 | "Vest" 23 | ], 24 | "city_suffix": [ 25 | "berg", 26 | "borg", 27 | "by", 28 | "bø", 29 | "dal", 30 | "eid", 31 | "fjell", 32 | "fjord", 33 | "foss", 34 | "grunn", 35 | "hamn", 36 | "havn", 37 | "helle", 38 | "mark", 39 | "nes", 40 | "odden", 41 | "sand", 42 | "sjøen", 43 | "stad", 44 | "strand", 45 | "strøm", 46 | "sund", 47 | "vik", 48 | "vær", 49 | "våg", 50 | "ø", 51 | "øy", 52 | "ås" 53 | ], 54 | "street_prefix": [ 55 | "Øvre", 56 | "Nedre", 57 | "Søndre", 58 | "Gamle", 59 | "Østre", 60 | "Vestre" 61 | ], 62 | "street_root": [ 63 | "Eike", 64 | "Bjørke", 65 | "Gran", 66 | "Vass", 67 | "Furu", 68 | "Litj", 69 | "Lille", 70 | "Høy", 71 | "Fosse", 72 | "Elve", 73 | "Ku", 74 | "Konvall", 75 | "Soldugg", 76 | "Hestemyr", 77 | "Granitt", 78 | "Hegge", 79 | "Rogne", 80 | "Fiol", 81 | "Sol", 82 | "Ting", 83 | "Malm", 84 | "Klokker", 85 | "Preste", 86 | "Dam", 87 | "Geiterygg", 88 | "Bekke", 89 | "Berg", 90 | "Kirke", 91 | "Kors", 92 | "Bru", 93 | "Blåveis", 94 | "Torg", 95 | "Sjø" 96 | ], 97 | "street_suffix": [ 98 | "alléen", 99 | "bakken", 100 | "berget", 101 | "bråten", 102 | "eggen", 103 | "engen", 104 | "ekra", 105 | "faret", 106 | "flata", 107 | "gata", 108 | "gjerdet", 109 | "grenda", 110 | "gropa", 111 | "hagen", 112 | "haugen", 113 | "havna", 114 | "holtet", 115 | "høgda", 116 | "jordet", 117 | "kollen", 118 | "kroken", 119 | "lia", 120 | "lunden", 121 | "lyngen", 122 | "løkka", 123 | "marka", 124 | "moen", 125 | "myra", 126 | "plassen", 127 | "ringen", 128 | "roa", 129 | "røa", 130 | "skogen", 131 | "skrenten", 132 | "spranget", 133 | "stien", 134 | "stranda", 135 | "stubben", 136 | "stykket", 137 | "svingen", 138 | "tjernet", 139 | "toppen", 140 | "tunet", 141 | "vollen", 142 | "vika", 143 | "åsen" 144 | ], 145 | "common_street_suffix": [ 146 | "sgate", 147 | "svei", 148 | "s Gate", 149 | "s Vei", 150 | "gata", 151 | "veien" 152 | ], 153 | "building_number": [ 154 | "#", 155 | "##" 156 | ], 157 | "secondary_address": [ 158 | "Leil. ###", 159 | "Oppgang A", 160 | "Oppgang B" 161 | ], 162 | "postcode": [ 163 | "####", 164 | "####", 165 | "####", 166 | "0###" 167 | ], 168 | "state": [ 169 | "" 170 | ], 171 | "city": [ 172 | "#{city_root}#{city_suffix}" 173 | ], 174 | "street_name": [ 175 | "#{street_root}#{street_suffix}", 176 | "#{street_prefix} #{street_root}#{street_suffix}", 177 | "#{Name.first_name}#{common_street_suffix}", 178 | "#{Name.last_name}#{common_street_suffix}" 179 | ], 180 | "street_address": [ 181 | "#{street_name} #{building_number}" 182 | ], 183 | "default_country": [ 184 | "Norge" 185 | ] 186 | }, 187 | "company": { 188 | "suffix": [ 189 | "Gruppen", 190 | "AS", 191 | "ASA", 192 | "BA", 193 | "RFH", 194 | "og Sønner" 195 | ], 196 | "name": [ 197 | "#{Name.last_name} #{suffix}", 198 | "#{Name.last_name}-#{Name.last_name}", 199 | "#{Name.last_name}, #{Name.last_name} og #{Name.last_name}" 200 | ] 201 | }, 202 | "internet": { 203 | "domain_suffix": [ 204 | "no", 205 | "com", 206 | "net", 207 | "org" 208 | ] 209 | }, 210 | "name": { 211 | "first_name": [ 212 | "Emma", 213 | "Sara", 214 | "Thea", 215 | "Ida", 216 | "Julie", 217 | "Nora", 218 | "Emilie", 219 | "Ingrid", 220 | "Hanna", 221 | "Maria", 222 | "Sofie", 223 | "Anna", 224 | "Malin", 225 | "Amalie", 226 | "Vilde", 227 | "Frida", 228 | "Andrea", 229 | "Tuva", 230 | "Victoria", 231 | "Mia", 232 | "Karoline", 233 | "Mathilde", 234 | "Martine", 235 | "Linnea", 236 | "Marte", 237 | "Hedda", 238 | "Marie", 239 | "Helene", 240 | "Silje", 241 | "Leah", 242 | "Maja", 243 | "Elise", 244 | "Oda", 245 | "Kristine", 246 | "Aurora", 247 | "Kaja", 248 | "Camilla", 249 | "Mari", 250 | "Maren", 251 | "Mina", 252 | "Selma", 253 | "Jenny", 254 | "Celine", 255 | "Eline", 256 | "Sunniva", 257 | "Natalie", 258 | "Tiril", 259 | "Synne", 260 | "Sandra", 261 | "Madeleine", 262 | "Markus", 263 | "Mathias", 264 | "Kristian", 265 | "Jonas", 266 | "Andreas", 267 | "Alexander", 268 | "Martin", 269 | "Sander", 270 | "Daniel", 271 | "Magnus", 272 | "Henrik", 273 | "Tobias", 274 | "Kristoffer", 275 | "Emil", 276 | "Adrian", 277 | "Sebastian", 278 | "Marius", 279 | "Elias", 280 | "Fredrik", 281 | "Thomas", 282 | "Sondre", 283 | "Benjamin", 284 | "Jakob", 285 | "Oliver", 286 | "Lucas", 287 | "Oskar", 288 | "Nikolai", 289 | "Filip", 290 | "Mats", 291 | "William", 292 | "Erik", 293 | "Simen", 294 | "Ole", 295 | "Eirik", 296 | "Isak", 297 | "Kasper", 298 | "Noah", 299 | "Lars", 300 | "Joakim", 301 | "Johannes", 302 | "Håkon", 303 | "Sindre", 304 | "Jørgen", 305 | "Herman", 306 | "Anders", 307 | "Jonathan", 308 | "Even", 309 | "Theodor", 310 | "Mikkel", 311 | "Aksel" 312 | ], 313 | "feminine_name": [ 314 | "Emma", 315 | "Sara", 316 | "Thea", 317 | "Ida", 318 | "Julie", 319 | "Nora", 320 | "Emilie", 321 | "Ingrid", 322 | "Hanna", 323 | "Maria", 324 | "Sofie", 325 | "Anna", 326 | "Malin", 327 | "Amalie", 328 | "Vilde", 329 | "Frida", 330 | "Andrea", 331 | "Tuva", 332 | "Victoria", 333 | "Mia", 334 | "Karoline", 335 | "Mathilde", 336 | "Martine", 337 | "Linnea", 338 | "Marte", 339 | "Hedda", 340 | "Marie", 341 | "Helene", 342 | "Silje", 343 | "Leah", 344 | "Maja", 345 | "Elise", 346 | "Oda", 347 | "Kristine", 348 | "Aurora", 349 | "Kaja", 350 | "Camilla", 351 | "Mari", 352 | "Maren", 353 | "Mina", 354 | "Selma", 355 | "Jenny", 356 | "Celine", 357 | "Eline", 358 | "Sunniva", 359 | "Natalie", 360 | "Tiril", 361 | "Synne", 362 | "Sandra", 363 | "Madeleine" 364 | ], 365 | "masculine_name": [ 366 | "Markus", 367 | "Mathias", 368 | "Kristian", 369 | "Jonas", 370 | "Andreas", 371 | "Alexander", 372 | "Martin", 373 | "Sander", 374 | "Daniel", 375 | "Magnus", 376 | "Henrik", 377 | "Tobias", 378 | "Kristoffer", 379 | "Emil", 380 | "Adrian", 381 | "Sebastian", 382 | "Marius", 383 | "Elias", 384 | "Fredrik", 385 | "Thomas", 386 | "Sondre", 387 | "Benjamin", 388 | "Jakob", 389 | "Oliver", 390 | "Lucas", 391 | "Oskar", 392 | "Nikolai", 393 | "Filip", 394 | "Mats", 395 | "William", 396 | "Erik", 397 | "Simen", 398 | "Ole", 399 | "Eirik", 400 | "Isak", 401 | "Kasper", 402 | "Noah", 403 | "Lars", 404 | "Joakim", 405 | "Johannes", 406 | "Håkon", 407 | "Sindre", 408 | "Jørgen", 409 | "Herman", 410 | "Anders", 411 | "Jonathan", 412 | "Even", 413 | "Theodor", 414 | "Mikkel", 415 | "Aksel" 416 | ], 417 | "last_name": [ 418 | "Johansen", 419 | "Hansen", 420 | "Andersen", 421 | "Kristiansen", 422 | "Larsen", 423 | "Olsen", 424 | "Solberg", 425 | "Andresen", 426 | "Pedersen", 427 | "Nilsen", 428 | "Berg", 429 | "Halvorsen", 430 | "Karlsen", 431 | "Svendsen", 432 | "Jensen", 433 | "Haugen", 434 | "Martinsen", 435 | "Eriksen", 436 | "Sørensen", 437 | "Johnsen", 438 | "Myhrer", 439 | "Johannessen", 440 | "Nielsen", 441 | "Hagen", 442 | "Pettersen", 443 | "Bakke", 444 | "Skuterud", 445 | "Løken", 446 | "Gundersen", 447 | "Strand", 448 | "Jørgensen", 449 | "Kvarme", 450 | "Røed", 451 | "Sæther", 452 | "Stensrud", 453 | "Moe", 454 | "Kristoffersen", 455 | "Jakobsen", 456 | "Holm", 457 | "Aas", 458 | "Lie", 459 | "Moen", 460 | "Andreassen", 461 | "Vedvik", 462 | "Nguyen", 463 | "Jacobsen", 464 | "Torgersen", 465 | "Ruud", 466 | "Krogh", 467 | "Christiansen", 468 | "Bjerke", 469 | "Aalerud", 470 | "Borge", 471 | "Sørlie", 472 | "Berge", 473 | "Østli", 474 | "Ødegård", 475 | "Torp", 476 | "Henriksen", 477 | "Haukelidsæter", 478 | "Fjeld", 479 | "Danielsen", 480 | "Aasen", 481 | "Fredriksen", 482 | "Dahl", 483 | "Berntsen", 484 | "Arnesen", 485 | "Wold", 486 | "Thoresen", 487 | "Solheim", 488 | "Skoglund", 489 | "Bakken", 490 | "Amundsen", 491 | "Solli", 492 | "Smogeli", 493 | "Kristensen", 494 | "Glosli", 495 | "Fossum", 496 | "Evensen", 497 | "Eide", 498 | "Carlsen", 499 | "Østby", 500 | "Vegge", 501 | "Tangen", 502 | "Smedsrud", 503 | "Olstad", 504 | "Lunde", 505 | "Kleven", 506 | "Huseby", 507 | "Bjørnstad", 508 | "Ryan", 509 | "Rasmussen", 510 | "Nygård", 511 | "Nordskaug", 512 | "Nordby", 513 | "Mathisen", 514 | "Hopland", 515 | "Gran", 516 | "Finstad", 517 | "Edvardsen" 518 | ], 519 | "prefix": [ 520 | "Dr.", 521 | "Prof." 522 | ], 523 | "suffix": [ 524 | "Jr.", 525 | "Sr.", 526 | "I", 527 | "II", 528 | "III", 529 | "IV", 530 | "V" 531 | ], 532 | "name": [ 533 | "#{prefix} #{first_name} #{last_name}", 534 | "#{first_name} #{last_name} #{suffix}", 535 | "#{feminine_name} #{feminine_name} #{last_name}", 536 | "#{masculine_name} #{masculine_name} #{last_name}", 537 | "#{first_name} #{last_name} #{last_name}", 538 | "#{first_name} #{last_name}" 539 | ] 540 | }, 541 | "phone_number": { 542 | "formats": [ 543 | "########", 544 | "## ## ## ##", 545 | "### ## ###", 546 | "+47 ## ## ## ##" 547 | ] 548 | } 549 | } 550 | } 551 | } 552 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "nl": { 3 | "faker": { 4 | "address": { 5 | "postcode": "####??" 6 | }, 7 | "bank": { 8 | "name": [ 9 | "UBS CLEARING AND EXECUTION SERVICES LIMITED", 10 | "ABN AMRO CORPORATE FINANCE LIMITED", 11 | "ABN AMRO FUND MANAGERS LIMITED", 12 | "ABN AMRO HOARE GOVETT SECURITIES", 13 | "ABN AMRO HOARE GOVETT CORPORATE FINANCE LTD.", 14 | "ALKEN ASSET MANAGEMENT", 15 | "ABN AMRO HOARE GOVETT LIMITED", 16 | "AAC CAPITAL PARTNERS LIMITED", 17 | "ABBOTSTONE AGRICULTURAL PROPERTY UNIT TRUST", 18 | "ABN AMRO QUOTED INVESTMENTS (UK) LIMITED", 19 | "ABN AMRO MEZZANINE (UK) LIMITED", 20 | "ABBEY LIFE", 21 | "SANTANDER UK PLC", 22 | "OTKRITIE SECURITIES LIMITED", 23 | "ABC INTERNATIONAL BANK PLC", 24 | "ALLIED BANK PHILIPPINES (UK) PLC", 25 | "ABU DHABI ISLAMIC BANK", 26 | "ABG SUNDAL COLLIER LIMITED", 27 | "PGMS (GLASGOW) LIMITED", 28 | "ABINGWORTH MANAGEMENT LIMITED", 29 | "THE ROYAL BANK OF SCOTLAND PLC (FORMER RBS NV)" 30 | ], 31 | "swiftBic": [ 32 | "AACCGB21", 33 | "AACNGB21", 34 | "AAFMGB21", 35 | "AAHOGB21", 36 | "AAHVGB21", 37 | "AANLGB21", 38 | "AANLGB2L", 39 | "AAOGGB21", 40 | "AAPEGB21", 41 | "AAPUGB21", 42 | "AAQIGB21", 43 | "ABAZGB21", 44 | "ABBEGB21", 45 | "ABBYGB2L", 46 | "ABCCGB22", 47 | "ABCEGB2L", 48 | "ABCMGB21", 49 | "ABDIGB21", 50 | "ABECGB21", 51 | "ABFIGB21", 52 | "ABMNGB21", 53 | "ABNAGB21VOC" 54 | ], 55 | "ibanDetails": { 56 | "bankCountryCode": "NL", 57 | "ibanLetterCode": ["RABO", "BUNQ", "ABNA", "INGB"], 58 | "ibanDigits": "############", 59 | } 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/sv.json: -------------------------------------------------------------------------------- 1 | { 2 | "sv": { 3 | "faker": { 4 | "address": { 5 | "city_prefix": [ 6 | "Söder", 7 | "Norr", 8 | "Väst", 9 | "Öster", 10 | "Aling", 11 | "Ar", 12 | "Av", 13 | "Bo", 14 | "Br", 15 | "Bå", 16 | "Ek", 17 | "En", 18 | "Esk", 19 | "Fal", 20 | "Gäv", 21 | "Göte", 22 | "Ha", 23 | "Helsing", 24 | "Karl", 25 | "Krist", 26 | "Kram", 27 | "Kung", 28 | "Kö", 29 | "Lyck", 30 | "Ny" 31 | ], 32 | "city_suffix": [ 33 | "stad", 34 | "land", 35 | "sås", 36 | "ås", 37 | "holm", 38 | "tuna", 39 | "sta", 40 | "berg", 41 | "löv", 42 | "borg", 43 | "mora", 44 | "hamn", 45 | "fors", 46 | "köping", 47 | "by", 48 | "hult", 49 | "torp", 50 | "fred", 51 | "vik" 52 | ], 53 | "country": [ 54 | "Ryssland", 55 | "Kanada", 56 | "Kina", 57 | "USA", 58 | "Brasilien", 59 | "Australien", 60 | "Indien", 61 | "Argentina", 62 | "Kazakstan", 63 | "Algeriet", 64 | "DR Kongo", 65 | "Danmark", 66 | "Färöarna", 67 | "Grönland", 68 | "Saudiarabien", 69 | "Mexiko", 70 | "Indonesien", 71 | "Sudan", 72 | "Libyen", 73 | "Iran", 74 | "Mongoliet", 75 | "Peru", 76 | "Tchad", 77 | "Niger", 78 | "Angola", 79 | "Mali", 80 | "Sydafrika", 81 | "Colombia", 82 | "Etiopien", 83 | "Bolivia", 84 | "Mauretanien", 85 | "Egypten", 86 | "Tanzania", 87 | "Nigeria", 88 | "Venezuela", 89 | "Namibia", 90 | "Pakistan", 91 | "Moçambique", 92 | "Turkiet", 93 | "Chile", 94 | "Zambia", 95 | "Marocko", 96 | "Västsahara", 97 | "Burma", 98 | "Afghanistan", 99 | "Somalia", 100 | "Centralafrikanska republiken", 101 | "Sydsudan", 102 | "Ukraina", 103 | "Botswana", 104 | "Madagaskar", 105 | "Kenya", 106 | "Frankrike", 107 | "Franska Guyana", 108 | "Jemen", 109 | "Thailand", 110 | "Spanien", 111 | "Turkmenistan", 112 | "Kamerun", 113 | "Papua Nya Guinea", 114 | "Sverige", 115 | "Uzbekistan", 116 | "Irak", 117 | "Paraguay", 118 | "Zimbabwe", 119 | "Japan", 120 | "Tyskland", 121 | "Kongo", 122 | "Finland", 123 | "Malaysia", 124 | "Vietnam", 125 | "Norge", 126 | "Svalbard", 127 | "Jan Mayen", 128 | "Elfenbenskusten", 129 | "Polen", 130 | "Italien", 131 | "Filippinerna", 132 | "Ecuador", 133 | "Burkina Faso", 134 | "Nya Zeeland", 135 | "Gabon", 136 | "Guinea", 137 | "Storbritannien", 138 | "Ghana", 139 | "Rumänien", 140 | "Laos", 141 | "Uganda", 142 | "Guyana", 143 | "Oman", 144 | "Vitryssland", 145 | "Kirgizistan", 146 | "Senegal", 147 | "Syrien", 148 | "Kambodja", 149 | "Uruguay", 150 | "Tunisien", 151 | "Surinam", 152 | "Nepal", 153 | "Bangladesh", 154 | "Tadzjikistan", 155 | "Grekland", 156 | "Nicaragua", 157 | "Eritrea", 158 | "Nordkorea", 159 | "Malawi", 160 | "Benin", 161 | "Honduras", 162 | "Liberia", 163 | "Bulgarien", 164 | "Kuba", 165 | "Guatemala", 166 | "Island", 167 | "Sydkorea", 168 | "Ungern", 169 | "Portugal", 170 | "Jordanien", 171 | "Serbien", 172 | "Azerbajdzjan", 173 | "Österrike", 174 | "Förenade Arabemiraten", 175 | "Tjeckien", 176 | "Panama", 177 | "Sierra Leone", 178 | "Irland", 179 | "Georgien", 180 | "Sri Lanka", 181 | "Litauen", 182 | "Lettland", 183 | "Togo", 184 | "Kroatien", 185 | "Bosnien och Hercegovina", 186 | "Costa Rica", 187 | "Slovakien", 188 | "Dominikanska republiken", 189 | "Bhutan", 190 | "Estland", 191 | "Danmark", 192 | "Färöarna", 193 | "Grönland", 194 | "Nederländerna", 195 | "Schweiz", 196 | "Guinea-Bissau", 197 | "Taiwan", 198 | "Moldavien", 199 | "Belgien", 200 | "Lesotho", 201 | "Armenien", 202 | "Albanien", 203 | "Salomonöarna", 204 | "Ekvatorialguinea", 205 | "Burundi", 206 | "Haiti", 207 | "Rwanda", 208 | "Makedonien", 209 | "Djibouti", 210 | "Belize", 211 | "Israel", 212 | "El Salvador", 213 | "Slovenien", 214 | "Fiji", 215 | "Kuwait", 216 | "Swaziland", 217 | "Timor-Leste", 218 | "Montenegro", 219 | "Bahamas", 220 | "Vanuatu", 221 | "Qatar", 222 | "Gambia", 223 | "Jamaica", 224 | "Kosovo", 225 | "Libanon", 226 | "Cypern", 227 | "Brunei", 228 | "Trinidad och Tobago", 229 | "Kap Verde", 230 | "Samoa", 231 | "Luxemburg", 232 | "Komorerna", 233 | "Mauritius", 234 | "São Tomé och Príncipe", 235 | "Kiribati", 236 | "Dominica", 237 | "Tonga", 238 | "Mikronesiens federerade stater", 239 | "Singapore", 240 | "Bahrain", 241 | "Saint Lucia", 242 | "Andorra", 243 | "Palau", 244 | "Seychellerna", 245 | "Antigua och Barbuda", 246 | "Barbados", 247 | "Saint Vincent och Grenadinerna", 248 | "Grenada", 249 | "Malta", 250 | "Maldiverna", 251 | "Saint Kitts och Nevis", 252 | "Marshallöarna", 253 | "Liechtenstein", 254 | "San Marino", 255 | "Tuvalu", 256 | "Nauru", 257 | "Monaco", 258 | "Vatikanstaten" 259 | ], 260 | "common_street_suffix": [ 261 | "s Väg", 262 | "s Gata" 263 | ], 264 | "street_prefix": [ 265 | "Västra", 266 | "Östra", 267 | "Norra", 268 | "Södra", 269 | "Övre", 270 | "Undre" 271 | ], 272 | "street_root": [ 273 | "Björk", 274 | "Järnvägs", 275 | "Ring", 276 | "Skol", 277 | "Skogs", 278 | "Ny", 279 | "Gran", 280 | "Idrotts", 281 | "Stor", 282 | "Kyrk", 283 | "Industri", 284 | "Park", 285 | "Strand", 286 | "Skol", 287 | "Trädgård", 288 | "Ängs", 289 | "Kyrko", 290 | "Villa", 291 | "Ek", 292 | "Kvarn", 293 | "Stations", 294 | "Back", 295 | "Furu", 296 | "Gen", 297 | "Fabriks", 298 | "Åker", 299 | "Bäck", 300 | "Asp" 301 | ], 302 | "street_suffix": [ 303 | "vägen", 304 | "gatan", 305 | "gränden", 306 | "gärdet", 307 | "allén" 308 | ], 309 | "state": [ 310 | "Blekinge", 311 | "Dalarna", 312 | "Gotland", 313 | "Gävleborg", 314 | "Göteborg", 315 | "Halland", 316 | "Jämtland", 317 | "Jönköping", 318 | "Kalmar", 319 | "Kronoberg", 320 | "Norrbotten", 321 | "Skaraborg", 322 | "Skåne", 323 | "Stockholm", 324 | "Södermanland", 325 | "Uppsala", 326 | "Värmland", 327 | "Västerbotten", 328 | "Västernorrland", 329 | "Västmanland", 330 | "Älvsborg", 331 | "Örebro", 332 | "Östergötland" 333 | ], 334 | "city": [ 335 | "#{city_prefix}#{city_suffix}" 336 | ], 337 | "street_name": [ 338 | "#{street_root}#{street_suffix}", 339 | "#{street_prefix} #{street_root}#{street_suffix}", 340 | "#{Name.first_name}#{common_street_suffix}", 341 | "#{Name.last_name}#{common_street_suffix}" 342 | ], 343 | "postcode": [ 344 | "#####" 345 | ], 346 | "building_number": [ 347 | "###", 348 | "##", 349 | "#" 350 | ], 351 | "secondary_address": [ 352 | "Lgh. ###", 353 | "Hus ###" 354 | ], 355 | "street_address": [ 356 | "#{street_name} #{building_number}" 357 | ], 358 | "default_country": [ 359 | "Sverige" 360 | ] 361 | }, 362 | "company": { 363 | "suffix": [ 364 | "Gruppen", 365 | "AB", 366 | "HB", 367 | "Group", 368 | "Investment", 369 | "Kommanditbolag", 370 | "Aktiebolag" 371 | ], 372 | "name": [ 373 | "#{Name.last_name} #{suffix}", 374 | "#{Name.last_name}-#{Name.last_name}", 375 | "#{Name.last_name}, #{Name.last_name} #{suffix}" 376 | ] 377 | }, 378 | "internet": { 379 | "domain_suffix": [ 380 | "se", 381 | "nu", 382 | "info", 383 | "com", 384 | "org" 385 | ] 386 | }, 387 | "name": { 388 | "first_name_women": [ 389 | "Maria", 390 | "Anna", 391 | "Margareta", 392 | "Elisabeth", 393 | "Eva", 394 | "Birgitta", 395 | "Kristina", 396 | "Karin", 397 | "Elisabet", 398 | "Marie" 399 | ], 400 | "first_name_men": [ 401 | "Erik", 402 | "Lars", 403 | "Karl", 404 | "Anders", 405 | "Per", 406 | "Johan", 407 | "Nils", 408 | "Lennart", 409 | "Emil", 410 | "Hans" 411 | ], 412 | "last_name": [ 413 | "Johansson", 414 | "Andersson", 415 | "Karlsson", 416 | "Nilsson", 417 | "Eriksson", 418 | "Larsson", 419 | "Olsson", 420 | "Persson", 421 | "Svensson", 422 | "Gustafsson" 423 | ], 424 | "prefix": [ 425 | "Dr.", 426 | "Prof.", 427 | "PhD." 428 | ], 429 | "title": { 430 | "descriptor": [ 431 | "Lead", 432 | "Senior", 433 | "Direct", 434 | "Corporate", 435 | "Dynamic", 436 | "Future", 437 | "Product", 438 | "National", 439 | "Regional", 440 | "District", 441 | "Central", 442 | "Global", 443 | "Customer", 444 | "Investor", 445 | "Dynamic", 446 | "International", 447 | "Legacy", 448 | "Forward", 449 | "Internal", 450 | "Human", 451 | "Chief", 452 | "Principal" 453 | ], 454 | "level": [ 455 | "Solutions", 456 | "Program", 457 | "Brand", 458 | "Security", 459 | "Research", 460 | "Marketing", 461 | "Directives", 462 | "Implementation", 463 | "Integration", 464 | "Functionality", 465 | "Response", 466 | "Paradigm", 467 | "Tactics", 468 | "Identity", 469 | "Markets", 470 | "Group", 471 | "Division", 472 | "Applications", 473 | "Optimization", 474 | "Operations", 475 | "Infrastructure", 476 | "Intranet", 477 | "Communications", 478 | "Web", 479 | "Branding", 480 | "Quality", 481 | "Assurance", 482 | "Mobility", 483 | "Accounts", 484 | "Data", 485 | "Creative", 486 | "Configuration", 487 | "Accountability", 488 | "Interactions", 489 | "Factors", 490 | "Usability", 491 | "Metrics" 492 | ], 493 | "job": [ 494 | "Supervisor", 495 | "Associate", 496 | "Executive", 497 | "Liaison", 498 | "Officer", 499 | "Manager", 500 | "Engineer", 501 | "Specialist", 502 | "Director", 503 | "Coordinator", 504 | "Administrator", 505 | "Architect", 506 | "Analyst", 507 | "Designer", 508 | "Planner", 509 | "Orchestrator", 510 | "Technician", 511 | "Developer", 512 | "Producer", 513 | "Consultant", 514 | "Assistant", 515 | "Facilitator", 516 | "Agent", 517 | "Representative", 518 | "Strategist" 519 | ] 520 | }, 521 | "name": [ 522 | "#{first_name_women} #{last_name}", 523 | "#{first_name_men} #{last_name}", 524 | "#{first_name_women} #{last_name}", 525 | "#{first_name_men} #{last_name}", 526 | "#{first_name_women} #{last_name}", 527 | "#{first_name_men} #{last_name}", 528 | "#{prefix} #{first_name_men} #{last_name}", 529 | "#{prefix} #{first_name_women} #{last_name}" 530 | ] 531 | }, 532 | "phone_number": { 533 | "formats": [ 534 | "####-#####", 535 | "####-######" 536 | ] 537 | }, 538 | "cell_phone": { 539 | "common_cell_prefix": [ 540 | 56, 541 | 62, 542 | 59 543 | ], 544 | "formats": [ 545 | "#{common_cell_prefix}-###-####" 546 | ] 547 | }, 548 | "commerce": { 549 | "color": [ 550 | "vit", 551 | "silver", 552 | "grå", 553 | "svart", 554 | "röd", 555 | "grön", 556 | "blå", 557 | "gul", 558 | "lila", 559 | "indigo", 560 | "guld", 561 | "brun", 562 | "rosa", 563 | "purpur", 564 | "korall" 565 | ], 566 | "department": [ 567 | "Böcker", 568 | "Filmer", 569 | "Musik", 570 | "Spel", 571 | "Elektronik", 572 | "Datorer", 573 | "Hem", 574 | "Trädgård", 575 | "Verktyg", 576 | "Livsmedel", 577 | "Hälsa", 578 | "Skönhet", 579 | "Leksaker", 580 | "Klädsel", 581 | "Skor", 582 | "Smycken", 583 | "Sport" 584 | ], 585 | "product_name": { 586 | "adjective": [ 587 | "Liten", 588 | "Ergonomisk", 589 | "Robust", 590 | "Intelligent", 591 | "Söt", 592 | "Otrolig", 593 | "Fatastisk", 594 | "Praktisk", 595 | "Slimmad", 596 | "Grym", 597 | "Enorm", 598 | "Mediokra", 599 | "Synergistic", 600 | "Tung", 601 | "Lätt", 602 | "Aerodynamisk", 603 | "Tålig" 604 | ], 605 | "material": [ 606 | "Stål", 607 | "Metall", 608 | "Trä", 609 | "Betong", 610 | "Plast", 611 | "Bomul", 612 | "Grnit", 613 | "Gummi", 614 | "Latex", 615 | "Läder", 616 | "Silke", 617 | "Ull", 618 | "Linne", 619 | "Marmor", 620 | "Järn", 621 | "Brons", 622 | "Koppar", 623 | "Aluminium", 624 | "Papper" 625 | ], 626 | "product": [ 627 | "Stol", 628 | "Bil", 629 | "Dator", 630 | "Handskar", 631 | "Pants", 632 | "Shirt", 633 | "Table", 634 | "Shoes", 635 | "Hat", 636 | "Plate", 637 | "Kniv", 638 | "Flaska", 639 | "Coat", 640 | "Lampa. Tangentbord", 641 | "Bag", 642 | "Bänk", 643 | "Klocka", 644 | "Titta", 645 | "Plånbok" 646 | ] 647 | } 648 | }, 649 | "team": { 650 | "suffix": [ 651 | "IF", 652 | "FF", 653 | "BK", 654 | "HK", 655 | "AIF", 656 | "SK", 657 | "FC", 658 | "SK", 659 | "BoIS", 660 | "FK", 661 | "BIS", 662 | "FIF", 663 | "IK" 664 | ], 665 | "name": [ 666 | "#{Address.city} #{suffix}" 667 | ] 668 | } 669 | } 670 | } 671 | } 672 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/zh-CN.json: -------------------------------------------------------------------------------- 1 | { 2 | "zh-CN": { 3 | "faker": { 4 | "address": { 5 | "city_prefix": [ 6 | "长", 7 | "上", 8 | "南", 9 | "西", 10 | "北", 11 | "诸", 12 | "宁", 13 | "珠", 14 | "武", 15 | "衡", 16 | "成", 17 | "福", 18 | "厦", 19 | "贵", 20 | "吉", 21 | "海", 22 | "太", 23 | "济", 24 | "安", 25 | "吉", 26 | "包" 27 | ], 28 | "city_suffix": [ 29 | "沙市", 30 | "京市", 31 | "宁市", 32 | "安市", 33 | "乡县", 34 | "海市", 35 | "码市", 36 | "汉市", 37 | "阳市", 38 | "都市", 39 | "州市", 40 | "门市", 41 | "阳市", 42 | "口市", 43 | "原市", 44 | "南市", 45 | "徽市", 46 | "林市", 47 | "头市" 48 | ], 49 | "building_number": [ 50 | "#####", 51 | "####", 52 | "###", 53 | "##", 54 | "#" 55 | ], 56 | "street_suffix": [ 57 | "巷", 58 | "街", 59 | "路", 60 | "桥", 61 | "侬", 62 | "旁", 63 | "中心", 64 | "栋" 65 | ], 66 | "postcode": [ 67 | "######" 68 | ], 69 | "state": [ 70 | "北京市", 71 | "上海市", 72 | "天津市", 73 | "重庆市", 74 | "黑龙江省", 75 | "吉林省", 76 | "辽宁省", 77 | "内蒙古", 78 | "河北省", 79 | "新疆", 80 | "甘肃省", 81 | "青海省", 82 | "陕西省", 83 | "宁夏", 84 | "河南省", 85 | "山东省", 86 | "山西省", 87 | "安徽省", 88 | "湖北省", 89 | "湖南省", 90 | "江苏省", 91 | "四川省", 92 | "贵州省", 93 | "云南省", 94 | "广西省", 95 | "西藏", 96 | "浙江省", 97 | "江西省", 98 | "广东省", 99 | "福建省", 100 | "海南省", 101 | "香港", 102 | "澳门" 103 | ], 104 | "state_abbr": [ 105 | "京", 106 | "沪", 107 | "津", 108 | "渝", 109 | "黑", 110 | "吉", 111 | "辽", 112 | "蒙", 113 | "冀", 114 | "新", 115 | "甘", 116 | "青", 117 | "陕", 118 | "宁", 119 | "豫", 120 | "鲁", 121 | "晋", 122 | "皖", 123 | "鄂", 124 | "湘", 125 | "苏", 126 | "川", 127 | "黔", 128 | "滇", 129 | "桂", 130 | "藏", 131 | "浙", 132 | "赣", 133 | "粤", 134 | "闽", 135 | "琼", 136 | "港", 137 | "澳" 138 | ], 139 | "city": [ 140 | "#{city_prefix}#{city_suffix}" 141 | ], 142 | "street_name": [ 143 | "#{Name.last_name}#{street_suffix}" 144 | ], 145 | "street_address": [ 146 | "#{street_name}#{building_number}号" 147 | ], 148 | "default_country": [ 149 | "中国" 150 | ] 151 | }, 152 | "name": { 153 | "last_name": [ 154 | "王", 155 | "李", 156 | "张", 157 | "刘", 158 | "陈", 159 | "杨", 160 | "黄", 161 | "吴", 162 | "赵", 163 | "周", 164 | "徐", 165 | "孙", 166 | "马", 167 | "朱", 168 | "胡", 169 | "林", 170 | "郭", 171 | "何", 172 | "高", 173 | "罗", 174 | "郑", 175 | "梁", 176 | "谢", 177 | "宋", 178 | "唐", 179 | "许", 180 | "邓", 181 | "冯", 182 | "韩", 183 | "曹", 184 | "曾", 185 | "彭", 186 | "萧", 187 | "蔡", 188 | "潘", 189 | "田", 190 | "董", 191 | "袁", 192 | "于", 193 | "余", 194 | "叶", 195 | "蒋", 196 | "杜", 197 | "苏", 198 | "魏", 199 | "程", 200 | "吕", 201 | "丁", 202 | "沈", 203 | "任", 204 | "姚", 205 | "卢", 206 | "傅", 207 | "钟", 208 | "姜", 209 | "崔", 210 | "谭", 211 | "廖", 212 | "范", 213 | "汪", 214 | "陆", 215 | "金", 216 | "石", 217 | "戴", 218 | "贾", 219 | "韦", 220 | "夏", 221 | "邱", 222 | "方", 223 | "侯", 224 | "邹", 225 | "熊", 226 | "孟", 227 | "秦", 228 | "白", 229 | "江", 230 | "阎", 231 | "薛", 232 | "尹", 233 | "段", 234 | "雷", 235 | "黎", 236 | "史", 237 | "龙", 238 | "陶", 239 | "贺", 240 | "顾", 241 | "毛", 242 | "郝", 243 | "龚", 244 | "邵", 245 | "万", 246 | "钱", 247 | "严", 248 | "赖", 249 | "覃", 250 | "洪", 251 | "武", 252 | "莫", 253 | "孔" 254 | ], 255 | "first_name": [ 256 | "绍齐", 257 | "博文", 258 | "梓晨", 259 | "胤祥", 260 | "瑞霖", 261 | "明哲", 262 | "天翊", 263 | "凯瑞", 264 | "健雄", 265 | "耀杰", 266 | "潇然", 267 | "子涵", 268 | "越彬", 269 | "钰轩", 270 | "智辉", 271 | "致远", 272 | "俊驰", 273 | "雨泽", 274 | "烨磊", 275 | "晟睿", 276 | "文昊", 277 | "修洁", 278 | "黎昕", 279 | "远航", 280 | "旭尧", 281 | "鸿涛", 282 | "伟祺", 283 | "荣轩", 284 | "越泽", 285 | "浩宇", 286 | "瑾瑜", 287 | "皓轩", 288 | "擎苍", 289 | "擎宇", 290 | "志泽", 291 | "子轩", 292 | "睿渊", 293 | "弘文", 294 | "哲瀚", 295 | "雨泽", 296 | "楷瑞", 297 | "建辉", 298 | "晋鹏", 299 | "天磊", 300 | "绍辉", 301 | "泽洋", 302 | "鑫磊", 303 | "鹏煊", 304 | "昊强", 305 | "伟宸", 306 | "博超", 307 | "君浩", 308 | "子骞", 309 | "鹏涛", 310 | "炎彬", 311 | "鹤轩", 312 | "越彬", 313 | "风华", 314 | "靖琪", 315 | "明辉", 316 | "伟诚", 317 | "明轩", 318 | "健柏", 319 | "修杰", 320 | "志泽", 321 | "弘文", 322 | "峻熙", 323 | "嘉懿", 324 | "煜城", 325 | "懿轩", 326 | "烨伟", 327 | "苑博", 328 | "伟泽", 329 | "熠彤", 330 | "鸿煊", 331 | "博涛", 332 | "烨霖", 333 | "烨华", 334 | "煜祺", 335 | "智宸", 336 | "正豪", 337 | "昊然", 338 | "明杰", 339 | "立诚", 340 | "立轩", 341 | "立辉", 342 | "峻熙", 343 | "弘文", 344 | "熠彤", 345 | "鸿煊", 346 | "烨霖", 347 | "哲瀚", 348 | "鑫鹏", 349 | "昊天", 350 | "思聪", 351 | "展鹏", 352 | "笑愚", 353 | "志强", 354 | "炫明", 355 | "雪松", 356 | "思源", 357 | "智渊", 358 | "思淼", 359 | "晓啸", 360 | "天宇", 361 | "浩然", 362 | "文轩", 363 | "鹭洋", 364 | "振家", 365 | "乐驹", 366 | "晓博", 367 | "文博", 368 | "昊焱", 369 | "立果", 370 | "金鑫", 371 | "锦程", 372 | "嘉熙", 373 | "鹏飞", 374 | "子默", 375 | "思远", 376 | "浩轩", 377 | "语堂", 378 | "聪健", 379 | "明", 380 | "文", 381 | "果", 382 | "思", 383 | "鹏", 384 | "驰", 385 | "涛", 386 | "琪", 387 | "浩", 388 | "航", 389 | "彬" 390 | ], 391 | "name": [ 392 | "#{last_name}#{first_name}" 393 | ] 394 | }, 395 | "phone_number": { 396 | "formats": [ 397 | "###-########", 398 | "####-########", 399 | "###########" 400 | ] 401 | } 402 | } 403 | } 404 | } 405 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Classes/Vendor/Fakery/Locales/zh-TW.json: -------------------------------------------------------------------------------- 1 | { 2 | "zh-TW": { 3 | "faker": { 4 | "address": { 5 | "city_prefix": [ 6 | "新", 7 | "竹", 8 | "竹", 9 | "新", 10 | "關", 11 | "峨", 12 | "寶", 13 | "北", 14 | "橫", 15 | "芎", 16 | "湖", 17 | "新", 18 | "尖", 19 | "五", 20 | "苗", 21 | "苗", 22 | "通", 23 | "苑", 24 | "竹", 25 | "頭", 26 | "後", 27 | "卓", 28 | "西", 29 | "頭", 30 | "公", 31 | "銅", 32 | "三", 33 | "造", 34 | "三", 35 | "南", 36 | "大", 37 | "獅", 38 | "泰", 39 | "彰", 40 | "彰", 41 | "員", 42 | "和", 43 | "鹿", 44 | "溪", 45 | "二", 46 | "田", 47 | "北", 48 | "花", 49 | "芬", 50 | "大", 51 | "永", 52 | "伸", 53 | "線", 54 | "福", 55 | "秀", 56 | "埔", 57 | "埔", 58 | "大", 59 | "芳", 60 | "竹", 61 | "社", 62 | "二", 63 | "田", 64 | "埤", 65 | "溪", 66 | "南", 67 | "南", 68 | "埔", 69 | "草", 70 | "竹", 71 | "集", 72 | "名", 73 | "鹿", 74 | "中", 75 | "魚", 76 | "國", 77 | "水", 78 | "信", 79 | "仁", 80 | "雲", 81 | "斗", 82 | "斗", 83 | "虎", 84 | "西", 85 | "土", 86 | "北", 87 | "莿", 88 | "林", 89 | "古", 90 | "大", 91 | "崙", 92 | "二", 93 | "麥", 94 | "臺", 95 | "東", 96 | "褒", 97 | "四", 98 | "口", 99 | "水", 100 | "元", 101 | "嘉", 102 | "太", 103 | "朴", 104 | "布", 105 | "大", 106 | "民", 107 | "溪", 108 | "新", 109 | "六", 110 | "東", 111 | "義", 112 | "鹿", 113 | "水", 114 | "中", 115 | "竹", 116 | "梅", 117 | "番", 118 | "大", 119 | "阿", 120 | "屏", 121 | "屏", 122 | "潮", 123 | "東", 124 | "恆", 125 | "萬", 126 | "長", 127 | "麟", 128 | "九", 129 | "里", 130 | "鹽", 131 | "高", 132 | "萬", 133 | "內", 134 | "竹", 135 | "新", 136 | "枋", 137 | "新", 138 | "崁", 139 | "林", 140 | "南", 141 | "佳", 142 | "琉", 143 | "車", 144 | "滿", 145 | "枋", 146 | "霧", 147 | "瑪", 148 | "泰", 149 | "來", 150 | "春", 151 | "獅", 152 | "牡", 153 | "三", 154 | "宜", 155 | "宜", 156 | "羅", 157 | "蘇", 158 | "頭", 159 | "礁", 160 | "壯", 161 | "員", 162 | "冬", 163 | "五", 164 | "三", 165 | "大", 166 | "南", 167 | "花", 168 | "花", 169 | "鳳", 170 | "玉", 171 | "新", 172 | "吉", 173 | "壽", 174 | "秀", 175 | "光", 176 | "豐", 177 | "瑞", 178 | "萬", 179 | "富", 180 | "卓", 181 | "臺", 182 | "臺", 183 | "成", 184 | "關", 185 | "長", 186 | "海", 187 | "池", 188 | "東", 189 | "鹿", 190 | "延", 191 | "卑", 192 | "金", 193 | "大", 194 | "達", 195 | "綠", 196 | "蘭", 197 | "太", 198 | "澎", 199 | "馬", 200 | "湖", 201 | "白", 202 | "西", 203 | "望", 204 | "七", 205 | "金", 206 | "金", 207 | "金", 208 | "金", 209 | "金", 210 | "烈", 211 | "烏", 212 | "連", 213 | "南", 214 | "北", 215 | "莒", 216 | "東" 217 | ], 218 | "city_suffix": [ 219 | "竹縣", 220 | "北市", 221 | "東鎮", 222 | "埔鎮", 223 | "西鎮", 224 | "眉鄉", 225 | "山鄉", 226 | "埔鄉", 227 | "山鄉", 228 | "林鄉", 229 | "口鄉", 230 | "豐鄉", 231 | "石鄉", 232 | "峰鄉", 233 | "栗縣", 234 | "栗市", 235 | "霄鎮", 236 | "裡鎮", 237 | "南鎮", 238 | "份鎮", 239 | "龍鎮", 240 | "蘭鎮", 241 | "湖鄉", 242 | "屋鄉", 243 | "館鄉", 244 | "鑼鄉", 245 | "義鄉", 246 | "橋鄉", 247 | "灣鄉", 248 | "庄鄉", 249 | "湖鄉", 250 | "潭鄉", 251 | "安鄉", 252 | "化縣", 253 | "化市", 254 | "林鎮", 255 | "美鎮", 256 | "港鎮", 257 | "湖鎮", 258 | "林鎮", 259 | "中鎮", 260 | "斗鎮", 261 | "壇鄉", 262 | "園鄉", 263 | "村鄉", 264 | "靖鄉", 265 | "港鄉", 266 | "西鄉", 267 | "興鄉", 268 | "水鄉", 269 | "心鄉", 270 | "鹽鄉", 271 | "城鄉", 272 | "苑鄉", 273 | "塘鄉", 274 | "頭鄉", 275 | "水鄉", 276 | "尾鄉", 277 | "頭鄉", 278 | "州鄉", 279 | "投縣", 280 | "投市", 281 | "里鎮", 282 | "屯鎮", 283 | "山鎮", 284 | "集鎮", 285 | "間鄉", 286 | "谷鄉", 287 | "寮鄉", 288 | "池鄉", 289 | "姓鄉", 290 | "里鄉", 291 | "義鄉", 292 | "愛鄉", 293 | "林縣", 294 | "六市", 295 | "南鎮", 296 | "尾鎮", 297 | "螺鎮", 298 | "庫鎮", 299 | "港鎮", 300 | "桐鄉", 301 | "內鄉", 302 | "坑鄉", 303 | "埤鄉", 304 | "背鄉", 305 | "崙鄉", 306 | "寮鄉", 307 | "西鄉", 308 | "勢鄉", 309 | "忠鄉", 310 | "湖鄉", 311 | "湖鄉", 312 | "林鄉", 313 | "長鄉", 314 | "義縣", 315 | "保市", 316 | "子市", 317 | "袋鎮", 318 | "林鎮", 319 | "雄鄉", 320 | "口鄉", 321 | "港鄉", 322 | "腳鄉", 323 | "石鄉", 324 | "竹鄉", 325 | "草鄉", 326 | "上鄉", 327 | "埔鄉", 328 | "崎鄉", 329 | "山鄉", 330 | "路鄉", 331 | "埔鄉", 332 | "里山鄉", 333 | "東縣", 334 | "東市", 335 | "州鎮", 336 | "港鎮", 337 | "春鎮", 338 | "丹鄉", 339 | "治鄉", 340 | "洛鄉", 341 | "如鄉", 342 | "港鄉", 343 | "埔鄉", 344 | "樹鄉", 345 | "巒鄉", 346 | "埔鄉", 347 | "田鄉", 348 | "埤鄉", 349 | "寮鄉", 350 | "園鄉", 351 | "頂鄉", 352 | "邊鄉", 353 | "州鄉", 354 | "冬鄉", 355 | "球鄉", 356 | "城鄉", 357 | "州鄉", 358 | "山鄉", 359 | "台鄉", 360 | "家鄉", 361 | "武鄉", 362 | "義鄉", 363 | "日鄉", 364 | "子鄉", 365 | "丹鄉", 366 | "地門鄉", 367 | "蘭縣", 368 | "蘭市", 369 | "東鎮", 370 | "澳鎮", 371 | "城鎮", 372 | "溪鄉", 373 | "圍鄉", 374 | "山鄉", 375 | "山鄉", 376 | "結鄉", 377 | "星鄉", 378 | "同鄉", 379 | "澳鄉", 380 | "蓮縣", 381 | "蓮市", 382 | "林鎮", 383 | "里鎮", 384 | "城鄉", 385 | "安鄉", 386 | "豐鄉", 387 | "林鄉", 388 | "復鄉", 389 | "濱鄉", 390 | "穗鄉", 391 | "榮鄉", 392 | "里鄉", 393 | "溪鄉", 394 | "東縣", 395 | "東市", 396 | "功鎮", 397 | "山鎮", 398 | "濱鄉", 399 | "端鄉", 400 | "上鄉", 401 | "河鄉", 402 | "野鄉", 403 | "平鄉", 404 | "南鄉", 405 | "峰鄉", 406 | "武鄉", 407 | "仁鄉", 408 | "島鄉", 409 | "嶼鄉", 410 | "麻里鄉", 411 | "湖縣", 412 | "公市", 413 | "西鄉", 414 | "沙鄉", 415 | "嶼鄉", 416 | "安鄉", 417 | "美鄉", 418 | "門縣", 419 | "城鎮", 420 | "湖鎮", 421 | "沙鎮", 422 | "寧鄉", 423 | "嶼鄉", 424 | "坵鄉", 425 | "江縣", 426 | "竿鄉", 427 | "竿鄉", 428 | "光鄉", 429 | "引鄉" 430 | ], 431 | "building_number": [ 432 | "###", 433 | "##", 434 | "#" 435 | ], 436 | "street_suffix": [ 437 | "大道", 438 | "路", 439 | "街", 440 | "巷", 441 | "弄", 442 | "衖" 443 | ], 444 | "postcode": [ 445 | "#####" 446 | ], 447 | "state": [ 448 | "臺北市", 449 | "新北市", 450 | "桃園市", 451 | "臺中市", 452 | "臺南市", 453 | "高雄市", 454 | "基隆市", 455 | "新竹市", 456 | "嘉義市", 457 | "新竹縣", 458 | "竹北市", 459 | "苗栗縣", 460 | "苗栗市", 461 | "彰化縣", 462 | "彰化市", 463 | "南投縣", 464 | "南投市", 465 | "雲林縣", 466 | "斗六市", 467 | "嘉義縣", 468 | "太保市", 469 | "屏東縣", 470 | "屏東市", 471 | "宜蘭縣", 472 | "宜蘭市", 473 | "臺東縣", 474 | "臺東市", 475 | "澎湖縣", 476 | "金門縣", 477 | "連江縣" 478 | ], 479 | "state_abbr": [ 480 | "北", 481 | "桃", 482 | "竹", 483 | "苗", 484 | "中", 485 | "彰", 486 | "雲", 487 | "嘉", 488 | "南", 489 | "高", 490 | "屏", 491 | "東", 492 | "花", 493 | "宜", 494 | "基" 495 | ], 496 | "city": [ 497 | "#{city_prefix}#{city_suffix}" 498 | ], 499 | "street_name": [ 500 | "#{Name.last_name}#{street_suffix}" 501 | ], 502 | "street_address": [ 503 | "#{street_name} #{building_number} 號" 504 | ], 505 | "default_country": [ 506 | "台灣" 507 | ] 508 | }, 509 | "name": { 510 | "last_name": [ 511 | "趙", 512 | "錢", 513 | "孫", 514 | "李", 515 | "周", 516 | "吳", 517 | "鄭", 518 | "王", 519 | "馮", 520 | "陳", 521 | "褚", 522 | "衛", 523 | "蔣", 524 | "沈", 525 | "韓", 526 | "楊", 527 | "朱", 528 | "秦", 529 | "尤", 530 | "許", 531 | "何", 532 | "呂", 533 | "施", 534 | "張", 535 | "孔", 536 | "曹", 537 | "嚴", 538 | "華", 539 | "金", 540 | "魏", 541 | "陶", 542 | "薑", 543 | "戚", 544 | "謝", 545 | "鄒", 546 | "喻", 547 | "柏", 548 | "水", 549 | "竇", 550 | "章", 551 | "雲", 552 | "蘇", 553 | "潘", 554 | "葛", 555 | "奚", 556 | "範", 557 | "彭", 558 | "郎", 559 | "魯", 560 | "韋", 561 | "昌", 562 | "馬", 563 | "苗", 564 | "鳳", 565 | "花", 566 | "方", 567 | "俞", 568 | "任", 569 | "袁", 570 | "柳", 571 | "酆", 572 | "鮑", 573 | "史", 574 | "唐", 575 | "費", 576 | "廉", 577 | "岑", 578 | "薛", 579 | "雷", 580 | "賀", 581 | "倪", 582 | "湯", 583 | "滕", 584 | "殷", 585 | "羅", 586 | "畢", 587 | "郝", 588 | "鄔", 589 | "安", 590 | "常", 591 | "樂", 592 | "於", 593 | "時", 594 | "傅", 595 | "皮", 596 | "卞", 597 | "齊", 598 | "康", 599 | "伍", 600 | "餘", 601 | "元", 602 | "蔔", 603 | "顧", 604 | "孟", 605 | "平", 606 | "黃", 607 | "和", 608 | "穆", 609 | "蕭", 610 | "尹", 611 | "姚", 612 | "邵", 613 | "湛", 614 | "汪", 615 | "祁", 616 | "毛", 617 | "禹", 618 | "狄", 619 | "米", 620 | "貝", 621 | "明", 622 | "臧", 623 | "計", 624 | "伏", 625 | "成", 626 | "戴", 627 | "談", 628 | "宋", 629 | "茅", 630 | "龐", 631 | "熊", 632 | "紀", 633 | "舒", 634 | "屈", 635 | "項", 636 | "祝", 637 | "董", 638 | "梁", 639 | "杜", 640 | "阮", 641 | "藍", 642 | "閔", 643 | "席", 644 | "季", 645 | "麻", 646 | "強", 647 | "賈", 648 | "路", 649 | "婁", 650 | "危", 651 | "江", 652 | "童", 653 | "顏", 654 | "郭", 655 | "梅", 656 | "盛", 657 | "林", 658 | "刁", 659 | "鍾", 660 | "徐", 661 | "邱", 662 | "駱", 663 | "高", 664 | "夏", 665 | "蔡", 666 | "田", 667 | "樊", 668 | "胡", 669 | "淩", 670 | "霍", 671 | "虞", 672 | "萬", 673 | "支", 674 | "柯", 675 | "昝", 676 | "管", 677 | "盧", 678 | "莫", 679 | "柯", 680 | "房", 681 | "裘", 682 | "繆", 683 | "幹", 684 | "解", 685 | "應", 686 | "宗", 687 | "丁", 688 | "宣", 689 | "賁", 690 | "鄧", 691 | "鬱", 692 | "單", 693 | "杭", 694 | "洪", 695 | "包", 696 | "諸", 697 | "左", 698 | "石", 699 | "崔", 700 | "吉", 701 | "鈕", 702 | "龔", 703 | "程", 704 | "嵇", 705 | "邢", 706 | "滑", 707 | "裴", 708 | "陸", 709 | "榮", 710 | "翁", 711 | "荀", 712 | "羊", 713 | "于", 714 | "惠", 715 | "甄", 716 | "曲", 717 | "家", 718 | "封", 719 | "芮", 720 | "羿", 721 | "儲", 722 | "靳", 723 | "汲", 724 | "邴", 725 | "糜", 726 | "松", 727 | "井", 728 | "段", 729 | "富", 730 | "巫", 731 | "烏", 732 | "焦", 733 | "巴", 734 | "弓", 735 | "牧", 736 | "隗", 737 | "山", 738 | "穀", 739 | "車", 740 | "侯", 741 | "宓", 742 | "蓬", 743 | "全", 744 | "郗", 745 | "班", 746 | "仰", 747 | "秋", 748 | "仲", 749 | "伊", 750 | "宮", 751 | "甯", 752 | "仇", 753 | "欒", 754 | "暴", 755 | "甘", 756 | "鈄", 757 | "曆", 758 | "戎", 759 | "祖", 760 | "武", 761 | "符", 762 | "劉", 763 | "景", 764 | "詹", 765 | "束", 766 | "龍", 767 | "葉", 768 | "幸", 769 | "司", 770 | "韶", 771 | "郜", 772 | "黎", 773 | "薊", 774 | "溥", 775 | "印", 776 | "宿", 777 | "白", 778 | "懷", 779 | "蒲", 780 | "邰", 781 | "從", 782 | "鄂", 783 | "索", 784 | "鹹", 785 | "籍", 786 | "賴", 787 | "卓", 788 | "藺", 789 | "屠", 790 | "蒙", 791 | "池", 792 | "喬", 793 | "陽", 794 | "鬱", 795 | "胥", 796 | "能", 797 | "蒼", 798 | "雙", 799 | "聞", 800 | "莘", 801 | "党", 802 | "翟", 803 | "譚", 804 | "貢", 805 | "勞", 806 | "逄", 807 | "姬", 808 | "申", 809 | "扶", 810 | "堵", 811 | "冉", 812 | "宰", 813 | "酈", 814 | "雍", 815 | "卻", 816 | "璩", 817 | "桑", 818 | "桂", 819 | "濮", 820 | "牛", 821 | "壽", 822 | "通", 823 | "邊", 824 | "扈", 825 | "燕", 826 | "冀", 827 | "浦", 828 | "尚", 829 | "農", 830 | "溫", 831 | "別", 832 | "莊", 833 | "晏", 834 | "柴", 835 | "瞿", 836 | "閻", 837 | "充", 838 | "慕", 839 | "連", 840 | "茹", 841 | "習", 842 | "宦", 843 | "艾", 844 | "魚", 845 | "容", 846 | "向", 847 | "古", 848 | "易", 849 | "慎", 850 | "戈", 851 | "廖", 852 | "庾", 853 | "終", 854 | "暨", 855 | "居", 856 | "衡", 857 | "步", 858 | "都", 859 | "耿", 860 | "滿", 861 | "弘", 862 | "匡", 863 | "國", 864 | "文", 865 | "寇", 866 | "廣", 867 | "祿", 868 | "闕", 869 | "東", 870 | "歐", 871 | "殳", 872 | "沃", 873 | "利", 874 | "蔚", 875 | "越", 876 | "夔", 877 | "隆", 878 | "師", 879 | "鞏", 880 | "厙", 881 | "聶", 882 | "晁", 883 | "勾", 884 | "敖", 885 | "融", 886 | "冷", 887 | "訾", 888 | "辛", 889 | "闞", 890 | "那", 891 | "簡", 892 | "饒", 893 | "空", 894 | "曾", 895 | "毋", 896 | "沙", 897 | "乜", 898 | "養", 899 | "鞠", 900 | "須", 901 | "豐", 902 | "巢", 903 | "關", 904 | "蒯", 905 | "相", 906 | "查", 907 | "後", 908 | "荊", 909 | "紅", 910 | "遊", 911 | "竺", 912 | "權", 913 | "逮", 914 | "盍", 915 | "益", 916 | "桓", 917 | "公", 918 | "萬俟", 919 | "司馬", 920 | "上官", 921 | "歐陽", 922 | "夏侯", 923 | "諸葛", 924 | "聞人", 925 | "東方", 926 | "赫連", 927 | "皇甫", 928 | "尉遲", 929 | "公羊", 930 | "澹台", 931 | "公冶", 932 | "宗政", 933 | "濮陽", 934 | "淳于", 935 | "單於", 936 | "太叔", 937 | "申屠", 938 | "公孫", 939 | "仲孫", 940 | "軒轅", 941 | "令狐", 942 | "徐離", 943 | "宇文", 944 | "長孫", 945 | "慕容", 946 | "司徒", 947 | "司空" 948 | ], 949 | "first_name": [ 950 | "怡君", 951 | "欣怡", 952 | "雅雯", 953 | "心怡", 954 | "志豪", 955 | "雅婷", 956 | "雅惠", 957 | "家豪", 958 | "雅玲", 959 | "靜怡", 960 | "志偉", 961 | "俊宏", 962 | "建宏", 963 | "佩君", 964 | "怡婷", 965 | "淑芬", 966 | "靜宜", 967 | "俊傑", 968 | "怡如", 969 | "家銘", 970 | "佳玲", 971 | "慧君", 972 | "怡伶", 973 | "雅芳", 974 | "宗翰", 975 | "志宏", 976 | "淑娟", 977 | "信宏", 978 | "志強", 979 | "淑婷", 980 | "佩珊", 981 | "佳慧", 982 | "佳蓉", 983 | "佳穎", 984 | "淑惠", 985 | "智偉", 986 | "欣儀", 987 | "嘉玲", 988 | "雅慧", 989 | "惠雯", 990 | "玉婷", 991 | "惠如", 992 | "惠君", 993 | "宜芳", 994 | "惠婷", 995 | "淑華", 996 | "志明", 997 | "雅芬", 998 | "家榮", 999 | "俊賢", 1000 | "俊豪", 1001 | "慧玲", 1002 | "嘉宏", 1003 | "佩芬", 1004 | "佳樺", 1005 | "雅琪", 1006 | "淑萍", 1007 | "淑君", 1008 | "婉婷", 1009 | "佳琪", 1010 | "韻如", 1011 | "詩婷", 1012 | "建良", 1013 | "芳儀", 1014 | "宜君", 1015 | "佩蓉", 1016 | "志銘", 1017 | "雅鈴", 1018 | "建文", 1019 | "佩玲", 1020 | "鈺婷", 1021 | "雅萍", 1022 | "立偉", 1023 | "文傑", 1024 | "慧如", 1025 | "淑慧", 1026 | "佳宏", 1027 | "志遠", 1028 | "靜儀", 1029 | "惠玲", 1030 | "淑玲", 1031 | "美君", 1032 | "怡慧", 1033 | "千慧", 1034 | "馨儀", 1035 | "嘉慧", 1036 | "家瑋", 1037 | "美慧", 1038 | "美玲", 1039 | "建志", 1040 | "宗憲", 1041 | "筱婷", 1042 | "靜雯", 1043 | "雅君", 1044 | "彥廷", 1045 | "怡靜", 1046 | "玉玲", 1047 | "郁婷", 1048 | "俊男" 1049 | ], 1050 | "name": [ 1051 | "#{last_name}#{first_name}" 1052 | ] 1053 | }, 1054 | "phone_number": { 1055 | "formats": [ 1056 | "###-########", 1057 | "####-########", 1058 | "###########" 1059 | ] 1060 | } 1061 | } 1062 | } 1063 | } 1064 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UIApplicationSceneManifest 24 | 25 | UIApplicationSupportsMultipleScenes 26 | 27 | UISceneConfigurations 28 | 29 | UIWindowSceneSessionRoleApplication 30 | 31 | 32 | UILaunchStoryboardName 33 | LaunchScreen 34 | UISceneConfigurationName 35 | Default Configuration 36 | UISceneDelegateClassName 37 | $(PRODUCT_MODULE_NAME).SceneDelegate 38 | 39 | 40 | 41 | 42 | UILaunchStoryboardName 43 | LaunchScreen 44 | UIRequiredDeviceCapabilities 45 | 46 | armv7 47 | 48 | UISupportedInterfaceOrientations 49 | 50 | UIInterfaceOrientationPortrait 51 | UIInterfaceOrientationLandscapeLeft 52 | UIInterfaceOrientationLandscapeRight 53 | 54 | UISupportedInterfaceOrientations~ipad 55 | 56 | UIInterfaceOrientationPortrait 57 | UIInterfaceOrientationPortraitUpsideDown 58 | UIInterfaceOrientationLandscapeLeft 59 | UIInterfaceOrientationLandscapeRight 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /SampleProjectDashboard/SampleProjectDashboard/SceneDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SceneDelegate.swift 3 | // SampleProjectDashboard 4 | // 5 | // Created by Bruno Bilescky on 05/06/2019. 6 | // Copyright © 2019 Bilescky. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import SwiftUI 11 | 12 | class SceneDelegate: UIResponder, UIWindowSceneDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | lazy var projectData = ProjectData() 17 | 18 | func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { 19 | // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. 20 | // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. 21 | // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). 22 | 23 | // Use a UIHostingController as window root view controller 24 | let window = UIWindow(frame: UIScreen.main.bounds) 25 | window.rootViewController = UIHostingController(rootView: ProjectList().environmentObject(projectData)) 26 | self.window = window 27 | window.makeKeyAndVisible() 28 | } 29 | 30 | func sceneDidDisconnect(_ scene: UIScene) { 31 | // Called as the scene is being released by the system. 32 | // This occurs shortly after the scene enters the background, or when its session is discarded. 33 | // Release any resources associated with this scene that can be re-created the next time the scene connects. 34 | // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead). 35 | } 36 | 37 | func sceneDidBecomeActive(_ scene: UIScene) { 38 | // Called when the scene has moved from an inactive state to an active state. 39 | // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. 40 | } 41 | 42 | func sceneWillResignActive(_ scene: UIScene) { 43 | // Called when the scene will move from an active state to an inactive state. 44 | // This may occur due to temporary interruptions (ex. an incoming phone call). 45 | } 46 | 47 | func sceneWillEnterForeground(_ scene: UIScene) { 48 | // Called as the scene transitions from the background to the foreground. 49 | // Use this method to undo the changes made on entering the background. 50 | } 51 | 52 | func sceneDidEnterBackground(_ scene: UIScene) { 53 | // Called as the scene transitions from the foreground to the background. 54 | // Use this method to save data, release shared resources, and store enough scene-specific state information 55 | // to restore the scene back to its current state. 56 | } 57 | 58 | 59 | } 60 | 61 | --------------------------------------------------------------------------------