0.0
No commit activity in last 3 years
No release in over 3 years
AngularJS localization filter
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

angular-i18n

AngularJS rails gem, localization filter. Currently supports english, russian, german plural forms.

Installation

Add this line to your application's Gemfile:

gem 'angular-i18n'

And then execute:

$ bundle

In your module definition, include the "angular-i18n" module

var module = angular.module('mySpecialModule', ['angular-i18n']).

Then, add the asset to your application.js.

//= require angular-i18n

Russian version | Demo

English

Using:

regular text:

in template:

{{'Hello, world'|i18n}}

in locales.js:

var _locales = { 'ru-ru': { 'Hello, world': 'Привет, мир' }, 'en-us': { 'Hello, world': 'Hello, world' } };

variables:

in template:

{{'%1 apple. Happy %2'|i18n:'Red':'boy'}}

in locales.js:

var _locales = { 'ru-ru': { '%1 apple. Happy %2': '%1 яблоко. Счастливый %2' }, 'en-us': { '%1 apple. Happy %2': '%1 apple. Happy %2' } };

plural forms:

in template:

{{'There is %1 apple in %2 basket'|i18n:'plural':4:'my'}}

in locales.js:

var _locales = {
     'ru-ru': {
         'There is %1 apple in %2 basket': [
             'Всего %1 яблоко в %2 корзине',
             'Всего %1 яблока в %2 корзине',
             'Всего %1 яблок в %2 корзине'
         ]
     },
     'en-us': {
         'There is %1 apple in %2 basket': [
             'There is %1 apple in %2 basket',
             'There are %1 apples in %2 basket',
         ]
     }
 }

in js:

in controller:

$filter('i18n')('String in js');

or

i18nFilter('String in js');

in locales.js:

var _locales = { 'ru-ru': { 'String in js': 'Строка в js' }, 'en-us': { 'String in js': 'String in js' } };

with variables:

$filter('i18n')('Current locale: %1', $locale.id);

in locales.js:

var _locales = { 'ru-ru': { 'Current locale: %1': 'Текущая локаль: %1' }, 'en-us': { 'Current locale: %1': 'Current locale: %1' } };

Фильтр для локализации. Реализована поддержка для множественных форм русского, английского и немецкого языков.

Использование:

обычный текст:

в шаблоне:

{{'Привет, мир'|i18n}}

в файле locales.js:

var _locales = { 'ru-ru': { 'Привет, мир': 'Привет, мир' }, 'en-us': { 'Привет, мир': 'Hello, world' } };

переменные:

в шаблоне:

{{'%1 яблоко. Весёлый %2'|i18n:'Красное':'мальчик'}}

в файле locales.js:

var _locales = { 'ru-ru': { '%1 яблоко. Весёлый %2': '%1 яблоко. Весёлый %2' }, 'en-us': { '%1 яблоко. Весёлый %2': 'Apple is %1. Happy %2' } };

множественные формы:

в шаблоне:

{{'Всего %1 яблоко в %2 корзине'|i18n:'plural':4:'моей'}}

в файле locales.js:

 var _locales = {
     'ru-ru': {
         'Всего %1 яблоко в %2 корзине': [
             'Всего %1 яблоко в %2 корзине',
             'Всего %1 яблока в %2 корзине',
             'Всего %1 яблок в %2 корзине'
         ]
     },
     'en-us': {
         'Всего %1 яблоко в %2 корзине': [
             'There is %1 apple in %2 basket',
             'There are %1 apples in %2 basket',
         ]
     }
 }

в js:

в контроллере:

$filter('i18n')('Строка в js');

или

i18nFilter('Строка в js');

в файле locales.js:

 var _locales = { 'ru-ru': { 'Строка в js': 'Строка в js' }, 'en-us': { 'Строка в js': 'String in js' } };

с переменными:

$filter('i18n')('Текущая локаль: %1', $locale.id);

в файле locales.js:

 var _locales = { 'ru-ru': { 'Текущая локаль: %1': 'Текущая локаль: %1' }, 'en-us': { 'Текущая локаль: %1': 'Current locale: %1' } };