Git Product home page Git Product logo

angular-phrase's Introduction

angular-phrase

Build status

angular-phrase is an addon for angular-translate that lets you connect localized AngularJS applications to the Phrase In-Context Editor.

Prerequisites

To use angular-phrase with your application you have to:

Installation

via NPM:

npm install angular-phrase

via YARN:

yarn add angular-phrase

(or download it manually from the dist folder)

Build form source

You can also build it directly from source to get the latest and greatest:

npm build

Add the module

Add angular-phrase module to your existing AngularJS application after loading the angular-translate module:

const myApp = angular.module("myApp", ['pascalprecht.translate', 'phrase'])

Configure

Configure the module:

myApp.value("phraseProjectId", "YOUR-PROJECT-ID");
myApp.value("phraseEnabled", true);
myApp.value("phraseDecoratorPrefix", "{{__");
myApp.value("phraseDecoratorSuffix", "__}}");

You can find the Project-ID in the Project overview in the Phrase Translation Center

JavaScript snippet

Add the phrase-javascript directive within your application, usually best within the <head>:

<phrase-javascript></phrase-javascript>

If this does not work for you, you can also integrate the JavaScript snippet manually.

How does it work?

Once the module is enabled it will:

  • override the $translate service and provide placeholders that can be picked up by the Phrase In-Context Editor

  • fetch the JavaScript application used to render the In-Context Editor on top of your application

Using AngularJS with phraseapp-in-context-editor-ruby gem or any other server side technology

If you use the angular-phrase plugin in combination with the phraseapp-in-context-editor-ruby gem or another server side technology that enables the In-Context Editor, AngularJS might have problems if you use curly braces as the decorator suffix/prefix since AngularJS thinks that youre decoratated keys are AngularJS directives (which is not the case).

You can easily solve this issue by using a different decorator syntax for your setup:

angular-phrase configuration

app.value("phraseDecoratorPrefix", "[[__");
app.value("phraseDecoratorSuffix", "__]]");

phraseapp-in-context-editor-ruby gem configuration

PhraseApp::InContextEditor.prefix = "[[__"
PhraseApp::InContextEditor.suffix = "__]]"

JavaScript configuration

window.PHRASEAPP_CONFIG = {
  prefix: '[[__',
  suffix: "__]]"
}

This is only necessary if you're not using the phraseJavascript` directive

TODO

  • Add support for translate filter
  • Add support for translate directive
  • Add support for interpolation values

Test

Run unit tests using Karma with webpack:

npm test

Get help / support

Please contact [email protected] and we can take more direct action toward finding a solution.

angular-phrase's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar docstun avatar egze avatar francawinter avatar frsgit avatar iamandrewluca avatar kirchner avatar oskarols-phrase avatar sbruhns avatar szymon-dziewonski avatar thesoenke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

angular-phrase's Issues

Install via NPM

Is there a reason why this package isn't available via NPM?

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.