App-LocaleTextDomainUtils

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
Changes
LICENSE
MANIFEST
META.json
META.yml
Makefile.PL
README
dist.ini
lib/App/LocaleTextDomainUtils.pm
script/list-localedata-dirs
script/list-mo-files
t/00-compile.t
t/author-critic.t
t/author-pod-coverage.t
t/author-pod-syntax.t
t/release-rinci.t
weaver.ini

META.json  view on Meta::CPAN

      }
   },
   "version" : "0.001",
   "x_Dist_Zilla" : {
      "perl" : {
         "version" : "5.030000"
      },
      "plugins" : [
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript list-localedata-dirs",
            "version" : "0.421"
         },
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript list-mo-files",
            "version" : "0.421"
         },
         {
            "class" : "Dist::Zilla::Plugin::InsertExecsList",
            "name" : "InsertExecsList",

META.yml  view on Meta::CPAN

  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=App-LocaleTextDomainUtils
  homepage: https://metacpan.org/release/App-LocaleTextDomainUtils
  repository: git://github.com/perlancar/perl-App-LocaleTextDomainUtils.git
version: '0.001'
x_Dist_Zilla:
  perl:
    version: '5.030000'
  plugins:
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript list-localedata-dirs'
      version: '0.421'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript list-mo-files'
      version: '0.421'
    -
      class: Dist::Zilla::Plugin::InsertExecsList
      name: InsertExecsList
      version: '0.02'
    -

Makefile.PL  view on Meta::CPAN

use ExtUtils::MakeMaker;

my %WriteMakefileArgs = (
  "ABSTRACT" => "Utilities related to Locale::TextDomain",
  "AUTHOR" => "perlancar <perlancar\@cpan.org>",
  "CONFIGURE_REQUIRES" => {
    "ExtUtils::MakeMaker" => 0
  },
  "DISTNAME" => "App-LocaleTextDomainUtils",
  "EXE_FILES" => [
    "script/list-localedata-dirs",
    "script/list-mo-files"
  ],
  "LICENSE" => "perl",
  "MIN_PERL_VERSION" => "5.010001",
  "NAME" => "App::LocaleTextDomainUtils",
  "PREREQ_PM" => {
    "Data::Sah::Compiler::perl::TH::array" => 0,
    "Data::Sah::Compiler::perl::TH::str" => 0,
    "File::ShareDir" => 0,
    "Log::ger" => "0.027",

README  view on Meta::CPAN

    App::LocaleTextDomainUtils - Utilities related to Locale::TextDomain

VERSION
    This document describes version 0.001 of App::LocaleTextDomainUtils
    (from Perl distribution App-LocaleTextDomainUtils), released on
    2019-12-26.

DESCRIPTION
    This distributions provides the following command-line utilities:

    *   list-localedata-dirs

    *   list-mo-files

FUNCTIONS
  list_localedata_dirs
    Usage:

     list_localedata_dirs(%args) -> any

    Print list of LocaleData directories to be used to search for *.mo
    files.

    If search_dirs is specified, then will use search_dirs.

    Otherwise, will use:

     dist_dir($textdomain) + ("/locale", "/LocaleData")
     @INC + "/LocaleData"
     default ("/usr/share/locale" OR "/usr/local/share/locale") + "/LocaleData"

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   search_dirs => *array[str]*

    *   textdomain => *str*

    Return value: (any)

  list_mo_files
    Usage:

     list_mo_files(%args) -> any

    List .mo files.

    Will look for inside each localedata dirs.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   search_dirs => *array[str]*

    *   textdomain => *str*

    Return value: (any)

dist.ini  view on Meta::CPAN

version=0.001

name=App-LocaleTextDomainUtils

[GenPericmdScript / GenPericmdScript list-localedata-dirs]
url=/App/LocaleTextDomainUtils/list_localedata_dirs
enable_log=1
read_config=0
read_env=0

[GenPericmdScript / GenPericmdScript list-mo-files]
url=/App/LocaleTextDomainUtils/list_mo_files
enable_log=1
read_config=0
read_env=0

lib/App/LocaleTextDomainUtils.pm  view on Meta::CPAN

        'x.name.singular' => 'search_dir',
        schema => ['array*', of=>'str*'],
        cmdline_aliases => {I=>{}},
    },
    textdomain => {
        schema => 'str*',
        pos => 0,
    },
);

$SPEC{list_localedata_dirs} = {
    v => 1.1,
    summary => 'Print list of LocaleData directories to be used to search for *.mo files',
    description => <<'_',

If search_dirs is specified, then will use search_dirs.

Otherwise, will use:

    dist_dir($textdomain) + ("/locale", "/LocaleData")
    @INC + "/LocaleData"
    default ("/usr/share/locale" OR "/usr/local/share/locale") + "/LocaleData"

_
    args => {
        %args_common,
    },
    result_naked => 1,
};
sub list_localedata_dirs {
    my %args = @_;

    my @res;

    if ($args{search_dirs} && @{ $args{search_dirs} }) {
        push @res, $_ for @{ $args{search_dirs} };
    } else {
        # dist-dir(textdomain)
        if (defined $args{textdomain}) {
            my $sharedir = eval {
                require File::ShareDir;
                File::ShareDir::dist_dir($args{textdomain});
            };
            if ($sharedir) {
                push @res, "$sharedir/locale", "$sharedir/LocaleData";
            }
        }

        # @INC
        for (@INC) {
            push @res, "$_/LocaleData" unless ref $_;
        }

        # default dir
        for ("/usr/share/locale", "/usr/local/share/locale") {
            if (-d $_) {
                push @res, "$_/LocaleData";
                last;
            }
        }
    }

    \@res;
}

$SPEC{list_mo_files} = {
    v => 1.1,
    summary => 'List .mo files',
    description => <<'_',

Will look for inside each localedata dirs.

_
    args => {
        %args_common,
    },
    result_naked => 1,
};
sub list_mo_files {
    my %args = @_;
    my $textdomain = $args{textdomain};

    my $localedata_dirs = list_localedata_dirs(%args);

    my @res;
    for my $dir (@$localedata_dirs) {
        if (defined $textdomain) {
            push @res, glob("$dir/*/LC_MESSAGES/$textdomain.mo");
        } else {
            push @res, glob("$dir/*/LC_MESSAGES/*.mo");
        }
    }

    \@res;
}

lib/App/LocaleTextDomainUtils.pm  view on Meta::CPAN

=head1 VERSION

This document describes version 0.001 of App::LocaleTextDomainUtils (from Perl distribution App-LocaleTextDomainUtils), released on 2019-12-26.

=head1 DESCRIPTION

This distributions provides the following command-line utilities:

=over

=item * L<list-localedata-dirs>

=item * L<list-mo-files>

=back

=head1 FUNCTIONS


=head2 list_localedata_dirs

Usage:

 list_localedata_dirs(%args) -> any

Print list of LocaleData directories to be used to search for *.mo files.

If search_dirs is specified, then will use search_dirs.

Otherwise, will use:

 dist_dir($textdomain) + ("/locale", "/LocaleData")
 @INC + "/LocaleData"
 default ("/usr/share/locale" OR "/usr/local/share/locale") + "/LocaleData"

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<search_dirs> => I<array[str]>

=item * B<textdomain> => I<str>

lib/App/LocaleTextDomainUtils.pm  view on Meta::CPAN



=head2 list_mo_files

Usage:

 list_mo_files(%args) -> any

List .mo files.

Will look for inside each localedata dirs.

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<search_dirs> => I<array[str]>

=item * B<textdomain> => I<str>

script/list-localedata-dirs  view on Meta::CPAN

#!perl

# Note: This script is a CLI for Riap function /App/LocaleTextDomainUtils/list_localedata_dirs
# and generated automatically using Perinci::CmdLine::Gen version 0.491

our $DATE = '2019-12-26'; # DATE
our $DIST = 'App-LocaleTextDomainUtils'; # DIST
our $VERSION = '0.001'; # VERSION

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/LocaleTextDomainUtils/list_localedata_dirs",
    program_name => "list-localedata-dirs",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Print list of LocaleData directories to be used to search for *.mo files
# PODNAME: list-localedata-dirs

__END__

=pod

=encoding UTF-8

=head1 NAME

list-localedata-dirs - Print list of LocaleData directories to be used to search for *.mo files

=head1 VERSION

This document describes version 0.001 of list-localedata-dirs (from Perl distribution App-LocaleTextDomainUtils), released on 2019-12-26.

=head1 SYNOPSIS

Usage:

 % list-localedata-dirs [options] [textdomain]

=head1 DESCRIPTION

If search_dirs is specified, then will use search_dirs.

Otherwise, will use:

 dist_dir($textdomain) + ("/locale", "/LocaleData")
 @INC + "/LocaleData"
 default ("/usr/share/locale" OR "/usr/local/share/locale") + "/LocaleData"

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--search-dir>=I<s@>, B<-I>

script/list-localedata-dirs  view on Meta::CPAN


=head1 COMPLETION

This script has shell tab completion capability with support for several
shells.

=head2 bash

To activate bash completion for this script, put:

 complete -C list-localedata-dirs list-localedata-dirs

in your bash startup (e.g. F<~/.bashrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is recommended, however, that you install modules using L<cpanm-shcompgen>
which can activate shell completion for scripts immediately.

=head2 tcsh

To activate tcsh completion for this script, put:

 complete list-localedata-dirs 'p/*/`list-localedata-dirs`/'

in your tcsh startup (e.g. F<~/.tcshrc>). Your next shell session will then
recognize tab completion for the command. Or, you can also directly execute the
line above in your shell to activate immediately.

It is also recommended to install L<shcompgen> (see above).

=head2 other shells

For fish and zsh, install L<shcompgen> as described above.

script/list-mo-files  view on Meta::CPAN

This document describes version 0.001 of list-mo-files (from Perl distribution App-LocaleTextDomainUtils), released on 2019-12-26.

=head1 SYNOPSIS

Usage:

 % list-mo-files [options] [textdomain]

=head1 DESCRIPTION

Will look for inside each localedata dirs.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--search-dir>=I<s@>, B<-I>

t/00-compile.t  view on Meta::CPAN


use Test::More;

plan tests => 3 + ($ENV{AUTHOR_TESTING} ? 1 : 0);

my @module_files = (
    'App/LocaleTextDomainUtils.pm'
);

my @scripts = (
    'script/list-localedata-dirs',
    'script/list-mo-files'
);

# no fake home requested

my @switches = (
    -d 'blib' ? '-Mblib' : '-Ilib',
);

use File::Spec;

t/author-critic.t  view on Meta::CPAN

}


use strict;
use warnings;

# this test was generated with Dist::Zilla::Plugin::Test::Perl::Critic::Subset 3.001.003

use Test::Perl::Critic (-profile => "") x!! -e "";

my $filenames = ['lib/App/LocaleTextDomainUtils.pm','script/list-localedata-dirs','script/list-mo-files'];
unless ($filenames && @$filenames) {
    $filenames = -d "blib" ? ["blib"] : ["lib"];
}

all_critic_ok(@$filenames);



( run in 1.376 second using v1.01-cache-2.11-cpan-ceb78f64989 )