Acme-MilkyHolmes
view release on metacpan or search on metacpan
lib/Acme/MilkyHolmes/Character.pm view on Meta::CPAN
package Acme::MilkyHolmes::Character;
use Mouse;
use Data::Section::Simple;
use Localizer::Resource;
use Localizer::Style::Gettext;
use YAML::Tiny;
use utf8;
has localizer => (
is => 'ro',
);
has locale => (
is => 'rw',
isa => 'Str',
required => 1,
default => 'ja',
);
has common => (
is => 'ro',
);
no Mouse;
sub name {
my ($self) = @_;
my $sep = $self->_localized_field('name_separator');
$sep = ' ' if ( !defined $sep );
if ( defined $self->_localized_field('name') ) {
return $self->_localized_field('name');
}
elsif ( $self->locale eq 'ja' ) {
if( defined $sep && $sep eq 'ã»' ) {
return $self->firstname . $sep . $self->familyname;
}
return $self->familyname . $sep . $self->firstname;
}
return $self->firstname . $sep . $self->familyname;
}
sub firstname {
my ($self) = @_;
return $self->_localized_field('firstname');
}
sub familyname {
my ($self) = @_;
return $self->_localized_field('familyname');
}
sub nickname {
my ($self) = @_;
if ( defined $self->_localized_field('nickname') ) {
return $self->_localized_field('nickname');
}
return $self->_localized_field('firstname');
}
sub birthday {
my ($self) = @_;
return $self->_localized_field('birthday');
}
sub voiced_by {
my ($self) = @_;
return $self->_localized_field('voiced_by');
}
sub nickname_voiced_by {
my ($self) = @_;
return $self->_localized_field('nickname_voiced_by');
}
sub _localized_field {
( run in 2.003 seconds using v1.01-cache-2.11-cpan-13bb782fe5a )