Skip to content

A method of converting machine codes to human-readable text in any language and phrasing.

License

Notifications You must be signed in to change notification settings

jenncoop/ethereum-localized-messaging

Repository files navigation

Ethereum Localized Messaging

Build Status Badge Coverage Status ERC1444

A method of converting machine codes to human-readable text in any language and phrasing.

An Implementation of EIP-1444

EIP-1444: an on-chain system for providing user feedback by converting machine-efficient codes into human-readable strings in any language or phrasing. The system does not impose a list of languages, but rather lets users create, share, and use the localized text of their choice.

Installation

npm install ethereum-localized-messaging

Usage

Implement your own localizations:

pragma solidity ^0.5.0;

import "/ethereum-localized-messaging/contracts/Localization.sol";

contract PirateLocalization is Localization {
    constructor() public {
        set(hex"00", "Nay!");
        set(hex"01", "Aye!");
        set(hex"02", "Arr jolly crew have begun");
        set(hex"03", "Awaitin'");
        set(hex"04", "Ye need ta do something");
        set(hex"05", "Has walked thar plank an expired");
        set(hex"0F", "Only this here metadata");
        set(hex"10", "Ye can nay do that");
        set(hex"11", "Ye be permitted");
        set(hex"12", "Ye have requested thar go ahead");
        set(hex"13", "Yer waitin' fer the go ahead");
        set(hex"14", "Thar awaiting yer signal");
    }
}
pragma solidity ^0.5.0;

import "/ethereum-localized-messaging/contracts/LocalizationPreferences.sol";
import "./PirateLocalization.sol";

contract MyContract {
    LocalizationPreferences prefs;

    constructor() public {
        PirateLocalization pirateLocalization = new PirateLocalization();
        prefs = new LocalizationPreferences(pirateLocalization);
    }

    function localize(bytes32 _code) view public returns (bool _found, string _msg) {
        return prefs.textFor(_code);
    }
}

Contributing

Prerequisites

  • NodeJS, v10.11.0 or higher
  • Truffle, v5.0.0-beta.0

Quick Start

  1. npm install
  2. truffle compile
  3. npm run coverage

About

A method of converting machine codes to human-readable text in any language and phrasing.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published