Giter Club home page Giter Club logo

hexicon's Introduction

Hexicon

Hexicon for painless localizations.

Usage

Installation

Create a Package.swift file.

// swift-tools-version:5.2

import PackageDescription

let package = Package(
  name: "TestProject",
  dependencies: [
    .package(url: "https://github.com/DuetHealth/Hexicon.git", from: "1.0.0")
  ],
  targets: [
    .target(name: "TestProject", dependencies: ["Hexicon"])
  ]
)

Coming Soon: Carthage and Cocoapods

Install the tool

swift build -c release && mv .build/release/hexiconj /usr/local/bin

License

Hexicon is MIT-licensed. The MIT license is included in the root of the repository.

hexicon's People

Contributors

rwachowski avatar thasianx avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hexicon's Issues

Expand the error type interfaces for commands to enable coalesced errors from command interfaces

Following a conversation on #8:

...the way Commandant is set up makes it kind of painful where every error needs to be the same type so I avoided doing anything drastic, but I think with enough effort one could make a generic wrapper error and each command could have its own error which coalesces into the generic wrapper automatically, satisfying logical soundness and type constraints.

Each command instance should have its own specialized error type which is transformed into the generic wrapper to satisfy the error type constraint on the actual main running instance.

Add a way to generate plural (.stringsdict) strings. Prevent string output from generating non-plural key-value pairs for plurals.

Right now, the tool assumes all strings should go into a .strings file. This isn't necessarily true. Plural strings need added to a .stringsdict plist. It should be possible to allow some sort of flagging that a desired function is plural (not sure the most elegant way to do this). Furthermore, the tool will need to parse out existing .stringsdicts and do the same sort of behaviors that it does for plain .strings files.

Run time errors should be visible at compile time

For LocalizableNameString, I think that's what it's called, you can use a name that doesn't exist and the compiler allows it to compile. Only at run time do you get a fatalError crash. We should implement a phantom type to resolve this and add compile time support.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.