ngRoute allows you to specify path params as Daphne described minus the 
abstract state business.  To get at the params you would use $routeParams.

Sent from my iPad

> On May 26, 2014, at 11:53 PM, Daphne Maddox <[email protected]> wrote:
> 
> I don't know ngRoute so I can't help you with that.
> 
> In ui-router you can use a url pattern like '/:lang' in an abstract root 
> state.  By defining it that way, you can have a high-level controller that 
> reads from $params.lang and sets the value for angular-translate, so that all 
> of your pages are rendered to the specified state for you.  It is my 
> suspicion that ngRoute doesn't give you this capability, so I'm not sure how 
> it would best be done.
> 
> 
> 
>> On Monday, May 26, 2014 6:14:24 PM UTC-7, Joberto Diniz wrote:
>> Hi, we also have to implement this feature. 
>> We're using angular-translate and ngRoute.
>> 
>> How would be the best way to change the language specified in the route? 
>> Maybe listen to routeChange and then call the angular-translate to change 
>> the language, is that the a reasonable way to deal with this?
>> Why do I have to deal this in the controller, like you suggested?
>> 
>>> On Sunday, May 25, 2014 3:07:45 AM UTC-3, Daphne Maddox wrote:
>>> I'm going to sound like a broken record here, but this seems like a perfect 
>>> use case for a combination of ui-router and angular-translate.  (Maybe you 
>>> can do this with ngRoute, I don't know, never used it).  I do know that in 
>>> ui-router it's really easy to set up the path segment that represents the 
>>> language as a parameter in the url matcher (e.g. '/mypath/:lang/mypage'.  
>>> From there, you have the chosen language available in your controller as a 
>>> value of the $params service, and can easily set the preferred language for 
>>> angular-translate to provide the correct text...
>>> 
>>> 
>>>> On Friday, May 23, 2014 3:51:20 PM UTC-7, Mahmoud Abdel-Fattah wrote:
>>>> Hey Adrian, it is almost one year but I could not find any resource online 
>>>> for the same question. So, may I ask how did you solve this issue?
>>>> 
>>>>> On Friday, August 30, 2013 5:00:41 PM UTC+2, Adrian wrote:
>>>>> Thanks! Will check it out
>>>>> 
>>>>>> Den fredagen den 30:e augusti 2013 kl. 16:58:23 UTC+2 skrev Martin Alix:
>>>>>> BTW, with Node, I use https://github.com/jeresig/i18n-node-2 to manage 
>>>>>> my translations...
>>>>>> 
>>>>>>> On Friday, August 30, 2013 10:55:48 AM UTC-4, Adrian wrote:
>>>>>>> Thank you everyone. Server side seems like a good way to go. Not the 
>>>>>>> least to be able to bootstrap angular with the language files already 
>>>>>>> loaded (as they are retrieved from a backend). 
>>>>>>> 
>>>>>>> Best
>>>>>>> Adrian
>>>>>>> 
>>>>>>> 
>>>>>>>> Den onsdagen den 28:e augusti 2013 kl. 09:07:03 UTC+2 skrev Adrian:
>>>>>>>> Hello,
>>>>>>>> 
>>>>>>>> I am trying to figure out how to setup the Angular routing for a multi 
>>>>>>>> language webpage/app. In this app different languages should be 
>>>>>>>> accessible with a language prefix such as /en /fr etc.   
>>>>>>>> 
>>>>>>>> Examples: 
>>>>>>>> www.myapp.com/en <--- welcome page in English
>>>>>>>> www.myapp.com/fr <-- welcome page in French
>>>>>>>> www.myapp.com <-- should redirect to the appropriate language (/en or 
>>>>>>>> /fr) according to some logic in a controller
>>>>>>>> 
>>>>>>>> www.myapp.com/en/some-content <-- a sub page in English
>>>>>>>> www.myapp.com/fr/some-content <-- the same subpage in French
>>>>>>>> www.myapp.com/some-content <-- should redirect to the appropriate 
>>>>>>>> language (/en/some-content or /fr/some-content) according to some 
>>>>>>>> logic in a controller
>>>>>>>> 
>>>>>>>> I guess I could do the routing this way
>>>>>>>> 
>>>>>>>> $routeProvider.
>>>>>>>>     when('/', {
>>>>>>>>       controller: 'MyController',
>>>>>>>>       templateUrl: '/views/welcome.html'
>>>>>>>>     }).
>>>>>>>>     when('/en', {
>>>>>>>>       controller: 'MyController',
>>>>>>>>       templateUrl: '/views/welcome.html'
>>>>>>>>     }).
>>>>>>>>     when('/fr', {
>>>>>>>>       controller: 'MyController',
>>>>>>>>       templateUrl: '/views/welcome.html'
>>>>>>>>     }).
>>>>>>>>     when('/:language/some-content, {
>>>>>>>>       controller: 'MyController',
>>>>>>>>       templateUrl: '/views/some-content.html'
>>>>>>>>     }).
>>>>>>>>     when('/some-content', {
>>>>>>>>       controller: 'MyController',
>>>>>>>>       templateUrl: '/views/some-content.html'
>>>>>>>>     }).
>>>>>>>> ...
>>>>>>>> 
>>>>>>>> Where :language is extracted with $routeParams in MyController and 
>>>>>>>> used as parameter for some translation directive. But this routing 
>>>>>>>> doesn't feel right and gets very ugly when the number of languages and 
>>>>>>>> sub pages grow. How can I setup the routing in another better way?
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "AngularJS" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/angular.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to