Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

angular-phrase

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-phrase

Use angular-translate with the powerful PhraseApp In-Context-Editor for easy translation management in AngularJS applications

  • 2.1.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-50%
Maintainers
2
Weekly downloads
 
Created
Source

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:

Demo

E-Mail: demo@phraseapp.com

Password: phrase

http://angular-phrase-demo.herokuapp.com/

(Find the source code for the demo on GitHub: angular-phrase-demo

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

Support

Question? Contact us at: phrase.com/contact

Issue? use GitHub issues and share the problem

Test

Run unit tests using Karma with webpack:

npm test

Keywords

FAQs

Package last updated on 21 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc