added server-side localization
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 8 Jan 2013 20:08:47 +0000 (21:08 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 8 Jan 2013 20:11:49 +0000 (21:11 +0100)
angular-server.pl

index 9f32b2c..25fa407 100755 (executable)
@@ -56,14 +56,25 @@ get '/' => sub {
 
 # define languages
 
-get '/en/' => sub {
+helper locale => sub {
        my $self = shift;
-       $self->render_static('/en/index.html'); # main AngularJS application page
+       my %locale = @_;
+       return $locale{ $self->stash('lang') } || "MISSING $_[1]";
 };
 
-get '/hr/' => sub {
+get '/lang/:lang/:template' => sub {
        my $self = shift;
-       $self->render_static('/hr/index.html'); # main AngularJS application page
+       $self->render( $self->stash('template') , lang => $self->stash('lang') );
+};
+
+get '/lang/:lang/partials/:template' => sub {
+       my $self = shift;
+       $self->render( 'partials/' . $self->stash('template') , lang => $self->stash('lang') );
+};
+
+get '/lang/:lang/.template' => sub {
+       my $self = shift;
+       $self->render( $self->stash('template') , lang => $self->stash('lang') );
 };