NAME
Mojolicious::Plugin::I18NUtils - provide some helper functions for I18N
VERSION
version 0.21
SYNOPSIS
In your startup
:
sub startup {
my $self = shift;
# do some Mojolicious stuff
$self->plugin( 'I18NUtils' );
# more Mojolicious stuff
}
In your template:
<%= datetime_loc('2014-12-10', 'de') %>
CONFIGURE
If you use a default format other than %Y-%m-%d %H:%M:%S for dates in your application, you can set a format for the parser. E.g. if your dates look like
10.12.2014 12:34:56
You can add the plugin this way
$self->plugin( I18NUtils => { format => '%d.%m.%Y %H:%M:%S' } );
HELPERS
This plugin adds those helper methods to your web application:
browser_languages
Return a list of languages defined in the Accept-Language header.
my @languages = $c->browser_languages;
or
your browser accepts those languages: <%= join ', ', browser_languages() %>
Samples:
Accept-Language: en-ca,en;q=0.8,en-us;q=0.6,de-de;q=0.4,de;q=0.2
returns
your browser accepts those languages: en-ca, en, en-us, de-de, de
datetime_loc
This helper returns the givent date and time in the localized format.
<%= datetime_loc('2014-12-10 11:12:13', 'de') %>
will return
10.12.2014 11:12:13
If you omit the language it will be retrieved from Accept-Language header
<%= datetime_loc('2014-12-10 11:12:13') %>
# Accept-Language: de, en;q=0.8
will return
10.12.2014 11:12:13
date_loc
Same as datetime_loc
, but omits the time
<%= date_loc('2014-12-10 11:12:13', 'de') %>
will return
10.12.2014
If you omit the language it will be retrieved from Accept-Language header
<%= date_loc('2014-12-10 11:12:13') %>
# Accept-Language: de, en;q=0.8
will return
10.12.2014
currency
If you need to handle prices, the helper currency
might help you
<%= currency(1111.99, 'ar', 'EUR') %>
<%= currency(1111.99, 'de', 'EUR') %>
<%= currency(1111.99, 'en', 'EUR') %>
will return
€ ١٬١١١٫٩٩
1.111,99 €
€1,111.99
If you omit the language it will be retrieved from Accept-Language header
<%= currency(1111.99, 'EUR') %>
# Accept-Language: de, en;q=0.8
will return
1.111,99 €
decimal
<%= decimal( 2000, 'ar' ) %>
<%= decimal( 2000, 'de' ) %>
<%= decimal( 2000, 'en' ) %>
will return
٢٬٠٠٠
2.000
2,000
If you omit the language it will be retrieved from Accept-Language header
<%= decimal( 2000 ) %>
# Accept-Language: de, en;q=0.8
will return
2.000
range
<%= range(1, 2000, 'ar' ) %>
<%= range(1, 2000, 'de' ) %>
<%= range(1, 2000, 'en' ) %>
will return
١–٢٬٠٠٠
1–2.000
1–2,000
If you omit the language it will be retrieved from Accept-Language header
<%= range( 1, 2000 ) %>
# Accept-Language: de, en;q=0.8
will return
1–2.000
at_least
<%= at_least( 2000, 'ar' ) %>
<%= at_least( 2000, 'de' ) %>
<%= at_least( 2000, 'en' ) %>
will return
+٢٬٠٠٠
2.000+
2,000+
If you omit the language it will be retrieved from Accept-Language header
<%= at_least( 2000 ) %>
# Accept-Language: de, en;q=0.8
will return
2.000+
METHODS
register
Called when registering the plugin.
# load plugin, alerts are dismissable by default
$self->plugin( 'I18NUtils' );
AUTHOR
Renee Baecker <reneeb@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017 by Renee Baecker.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)