clean out autogenerated files

This commit is contained in:
Isaac Connor 2013-09-12 14:43:57 -04:00
parent e21a08c4b6
commit ab1314f250
119 changed files with 20 additions and 48220 deletions

12
.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
configure
config.h.in
autom4te.cache
aclocal.m4
depcomp
install-sh
missing
mkinstalldirs
stamp-h1
stamp-h.in
scripts/ZoneMinder/blib
Makefile.in

8
debian/changelog vendored
View File

@ -1,4 +1,10 @@
zoneminder (1.25.1-1) unstable; urgency=low
zoneminder (1.26.4-1ubuntu1) precise; urgency=low
* improvements to zmupdate.pl
-- Isaac Connor <iconnor@connortechnology.com> Thu, 12 Sep 2013 14:40:32 -0400
zoneminder (1.26.4-1) precise; urgency=low
* Initial Version.

View File

@ -1,22 +0,0 @@
---
abstract: 'Container module for common ZoneMinder modules'
author:
- 'Philip Coombes <philip.coombes@zoneminder.com>'
build_requires:
ExtUtils::MakeMaker: 0
configure_requires:
ExtUtils::MakeMaker: 0
distribution_type: module
dynamic_config: 0
generated_by: 'ExtUtils::MakeMaker version 6.57_05'
license: unknown
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: ZoneMinder
no_index:
directory:
- t
- inc
requires: {}
version: 1.25.0

View File

@ -1,130 +0,0 @@
# ==========================================================================
#
# ZoneMinder Common Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the common definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder;
use 5.006;
use strict;
use warnings;
require Exporter;
use ZoneMinder::Base qw(:all);
use ZoneMinder::Config qw(:all);
use ZoneMinder::Logger qw(:all);
use ZoneMinder::General qw(:all);
use ZoneMinder::Database qw(:all);
use ZoneMinder::Memory qw(:all);
our @ISA = qw(Exporter ZoneMinder::Base ZoneMinder::Config ZoneMinder::Logger ZoneMinder::General ZoneMinder::Database ZoneMinder::Memory);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'base' => [
@ZoneMinder::Base::EXPORT_OK
],
'config' => [
@ZoneMinder::Config::EXPORT_OK
],
'debug' => [
@ZoneMinder::Logger::EXPORT_OK
],
'general' => [
@ZoneMinder::General::EXPORT_OK
],
'database' => [
@ZoneMinder::Database::EXPORT_OK
],
'memory' => [
@ZoneMinder::Memory::EXPORT_OK
],
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = @{ $EXPORT_TAGS{'all'} };
our @EXPORT = ( @EXPORT_OK );
our $VERSION = $ZoneMinder::Base::VERSION;
1;
__END__
=head1 NAME
ZoneMinder - Container module for common ZoneMinder modules
=head1 SYNOPSIS
use ZoneMinder;
=head1 DESCRIPTION
This module is a convenience container module that uses the
ZoneMinder::Base, ZoneMinder::Common, ZoneMinder::Logger,
ZoneMinder::Database and ZoneMinder::Memory modules. It also
exports by default all symbols provided by the 'all' tag of
each of the modules.
Thus 'use'ing this module is equivalent to the following
use ZoneMinder::Base qw(:all);
use ZoneMinder::Config qw(:all);
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Database qw(:all);
use ZoneMinder::Memory qw(:all);
but is somewhat easier.
=head2 EXPORT
All symbols exported by the 'all' tag of each of the included
modules.
=head1 SEE ALSO
ZoneMinder::Base, ZoneMinder::Common, ZoneMinder::Logger,
ZoneMinder::Database, ZoneMinder::Memory
http://www.zoneminder.com
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2005 by Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,86 +0,0 @@
# ==========================================================================
#
# ZoneMinder Base Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the common definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::Base;
use 5.006;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
our $VERSION = "1.25.0";
1;
__END__
=head1 NAME
ZoneMinder::Base - Base perl module for ZoneMinder
=head1 SYNOPSIS
use ZoneMinder::Base;
=head1 DESCRIPTION
This module is the base module for the rest of the ZoneMinder modules. It is included by each of the other modules but serves no purpose other than to propagate the perl module version amongst the other modules. You will never need to use this module directly but if you write new ZoneMinder modules they should include it.
=head2 EXPORT
None by default.
=head1 SEE ALSO
http://www.zoneminder.com
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,145 +0,0 @@
# ==========================================================================
#
# ZoneMinder Config Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the common definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::Config;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our @EXPORT_CONFIG; # Get populated by BEGIN
our %EXPORT_TAGS = (
'constants' => [ qw(
ZM_PID
) ]
);
push( @{$EXPORT_TAGS{config}}, @EXPORT_CONFIG );
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
our $VERSION = $ZoneMinder::Base::VERSION;
use constant ZM_PID => "/var/run/zm/zm.pid"; # Path to the ZoneMinder run pid file
use constant ZM_CONFIG => "/etc/zm/zm.conf"; # Path to the ZoneMinder config file
use Carp;
# Load the config from the database into the symbol table
BEGIN
{
no strict 'refs';
my $config_file = ZM_CONFIG;
( my $local_config_file = $config_file ) =~ s|^.*/|./|;
if ( -s $local_config_file && -r $local_config_file )
{
print( STDERR "Warning, overriding installed $local_config_file file with local copy\n" );
$config_file = $local_config_file;
}
open( CONFIG, "<".$config_file ) or croak( "Can't open config file '$config_file': $!" );
foreach my $str ( <CONFIG> )
{
next if ( $str =~ /^\s*$/ );
next if ( $str =~ /^\s*#/ );
my ( $name, $value ) = $str =~ /^\s*([^=\s]+)\s*=\s*(.+?)\s*$/;
$name =~ tr/a-z/A-Z/;
*{$name} = sub { $value };
push( @EXPORT_CONFIG, $name );
}
close( CONFIG );
use DBI;
my $dbh = DBI->connect( "DBI:mysql:database=".&ZM_DB_NAME.";host=".&ZM_DB_HOST, &ZM_DB_USER, &ZM_DB_PASS );
my $sql = "select * from Config";
my $sth = $dbh->prepare_cached( $sql ) or croak( "Can't prepare '$sql': ".$dbh->errstr() );
my $res = $sth->execute() or croak( "Can't execute: ".$sth->errstr() );
while( my $config = $sth->fetchrow_hashref() )
{
*{$config->{Name}} = sub { $config->{Value} };
push( @EXPORT_CONFIG, $config->{Name} );
}
$sth->finish();
$dbh->disconnect();
}
1;
__END__
=head1 NAME
ZoneMinder::Config - ZoneMinder configuration module.
=head1 SYNOPSIS
use ZoneMinder::Config qw(:all);
=head1 DESCRIPTION
The ZoneMinder::Config module is used to import the ZoneMinder configuration from the database. It will do this at compile time in a BEGIN block and require access to the zm.conf file either in the current directory or in its defined location in order to determine database access details, configuration from this file will also be included. If the :all or :config tags are used then this configuration is exported into the namespace of the calling program or module.
Once the configuration has been imported then configuration variables are defined as constants and can be accessed directory by name, e.g.
$lang = ZM_LANG_DEFAULT;
=head2 EXPORT
None by default.
The :constants tag will export the ZM_PID constant which details the location of the zm.pid file
The :config tag will export all configuration from the database as well as any from the zm.conf file
The :all tag will export all above symbols.
=head1 SEE ALSO
http://www.zoneminder.com
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,213 +0,0 @@
# ==========================================================================
#
# ZoneMinder Config Admin Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the debug definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::ConfigAdmin;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'functions' => [ qw(
loadConfigFromDB
saveConfigToDB
) ]
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'functions'} } );
our @EXPORT = qw();
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Configuration Administration
#
# ==========================================================================
use ZoneMinder::Config qw(:all);
use ZoneMinder::ConfigData qw(:all);
use Carp;
sub loadConfigFromDB
{
print( "Loading config from DB\n" );
my $dbh = DBI->connect( "DBI:mysql:database=".ZM_DB_NAME.";host=".ZM_DB_HOST, ZM_DB_USER, ZM_DB_PASS );
if ( !$dbh )
{
print( "Error: unable to load options from database: $DBI::errstr\n" );
return( 0 );
}
my $sql = "select * from Config";
my $sth = $dbh->prepare_cached( $sql ) or croak( "Can't prepare '$sql': ".$dbh->errstr() );
my $res = $sth->execute() or croak( "Can't execute: ".$sth->errstr() );
my $option_count = 0;
while( my $config = $sth->fetchrow_hashref() )
{
my ( $name, $value ) = ( $config->{Name}, $config->{Value} );
#print( "Name = '$name'\n" );
my $option = $options_hash{$name};
if ( !$option )
{
warn( "No option '$name' found, removing" );
next;
}
#next if ( $option->{category} eq 'hidden' );
if ( defined($value) )
{
if ( $option->{type} == $types{boolean} )
{
$option->{value} = $value?"yes":"no";
}
else
{
$option->{value} = $value;
}
}
$option_count++;;
}
$sth->finish();
$dbh->disconnect();
return( $option_count );
}
sub saveConfigToDB
{
print( "Saving config to DB\n" );
my $dbh = DBI->connect( "DBI:mysql:database=".ZM_DB_NAME.";host=".ZM_DB_HOST, ZM_DB_USER, ZM_DB_PASS );
if ( !$dbh )
{
print( "Error: unable to save options to database: $DBI::errstr\n" );
return( 0 );
}
my $sql = "delete from Config";
my $res = $dbh->do( $sql ) or croak( "Can't do '$sql': ".$dbh->errstr() );
$sql = "replace into Config set Id = ?, Name = ?, Value = ?, Type = ?, DefaultValue = ?, Hint = ?, Pattern = ?, Format = ?, Prompt = ?, Help = ?, Category = ?, Readonly = ?, Requires = ?";
my $sth = $dbh->prepare_cached( $sql ) or croak( "Can't prepare '$sql': ".$dbh->errstr() );
foreach my $option ( @options )
{
#next if ( $option->{category} eq 'hidden' );
#print( $option->{name}."\n" ) if ( !$option->{category} );
$option->{db_type} = $option->{type}->{db_type};
$option->{db_hint} = $option->{type}->{hint};
$option->{db_pattern} = $option->{type}->{pattern};
$option->{db_format} = $option->{type}->{format};
if ( $option->{db_type} eq "boolean" )
{
$option->{db_value} = ($option->{value} eq "yes")?"1":"0";
}
else
{
$option->{db_value} = $option->{value};
}
if ( my $requires = $option->{requires} )
{
$option->{db_requires} = join( ";", map { my $value = $_->{value}; $value = ($value eq "yes")?1:0 if ( $options_hash{$_->{name}}->{db_type} eq "boolean" ); ( "$_->{name}=$value" ) } @$requires );
}
else
{
}
my $res = $sth->execute( $option->{id}, $option->{name}, $option->{db_value}, $option->{db_type}, $option->{default}, $option->{db_hint}, $option->{db_pattern}, $option->{db_format}, $option->{description}, $option->{help}, $option->{category}, $option->{readonly}?1:0, $option->{db_requires} ) or croak( "Can't execute: ".$sth->errstr() );
}
$sth->finish();
$dbh->disconnect();
}
1;
__END__
=head1 NAME
ZoneMinder::ConfigAdmin - ZoneMinder Configuration Administration module
=head1 SYNOPSIS
use ZoneMinder::ConfigAdmin;
use ZoneMinder::ConfigAdmin qw(:all);
loadConfigFromDB();
saveConfigToDB();
=head1 DESCRIPTION
The ZoneMinder:ConfigAdmin module contains the master definition of the ZoneMinder configuration options as well as helper methods. This module is intended for specialist confguration management and would not normally be used by end users.
The configuration held in this module, which was previously in zmconfig.pl, includes the name, default value, description, help text, type and category for each option, as well as a number of additional fields in a small number of cases.
=head1 METHODS
=over 4
=item loadConfigFromDB ();
Loads existing configuration from the database (if any) and merges it with the definitions held in this module. This results in the merging of any new configuration and the removal of any deprecated configuration while preserving the existing values of every else.
=item saveConfigToDB ();
Saves configuration held in memory to the database. The act of loading and saving configuration is a convenient way to ensure that the configuration held in the database corresponds with the most recent definitions and that all components are using the same set of configuration.
=head2 EXPORT
None by default.
The :data tag will export the various configuration data structures
The :functions tag will export the helper functions.
The :all tag will export all above symbols.
=head1 SEE ALSO
http://www.zoneminder.com
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

File diff suppressed because it is too large Load Diff

View File

@ -1,205 +0,0 @@
# ==========================================================================
#
# ZoneMinder Base Control Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the base class definitions for the camera control
# protocol implementations
#
package ZoneMinder::Control;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Base connection class
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Database qw(:all);
our $AUTOLOAD;
sub new
{
my $class = shift;
my $id = shift;
my $self = {};
$self->{name} = "PelcoD";
if ( !defined($id) )
{
Fatal( "No monitor defined when invoking protocol ".$self->{name} );
}
$self->{id} = $id;
bless( $self, $class );
return $self;
}
sub DESTROY
{
}
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
croak( "Can't access $name member of object of class $class" );
}
sub getKey()
{
my $self = shift;
return( $self->{id} );
}
sub open
{
my $self = shift;
Fatal( "No open method defined for protocol ".$self->{name} );
}
sub close
{
my $self = shift;
Fatal( "No close method defined for protocol ".$self->{name} );
}
sub loadMonitor
{
my $self = shift;
if ( !$self->{Monitor} )
{
if ( !($self->{Monitor} = zmDbGetMonitor( $self->{id} )) )
{
Fatal( "Monitor id ".$self->{id}." not found or not controllable" );
}
if ( defined($self->{Monitor}->{AutoStopTimeout}) )
{
# Convert to microseconds.
$self->{Monitor}->{AutoStopTimeout} = int(1000000*$self->{Monitor}->{AutoStopTimeout});
}
}
}
sub getParam
{
my $self = shift;
my $params = shift;
my $name = shift;
my $default = shift;
if ( defined($params->{$name}) )
{
return( $params->{$name} );
}
elsif ( defined($default) )
{
return( $default );
}
Fatal( "Missing mandatory parameter '$name'" );
}
sub executeCommand
{
my $self = shift;
my $params = shift;
$self->loadMonitor();
my $command = $params->{command};
delete $params->{command};
#if ( !defined($self->{$command}) )
#{
#Fatal( "Unsupported command '$command'" );
#}
&{$self->{$command}}( $self, $params );
}
sub printMsg()
{
my $self = shift;
Fatal( "No printMsg method defined for protocol ".$self->{name} );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,475 +0,0 @@
# ==========================================================================
#
# ZoneMinder Axis version 2 API Control Protocol Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the implementation of the Axis V2 API camera control
# protocol
#
package ZoneMinder::Control::AxisV2;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Control;
our @ISA = qw(ZoneMinder::Control);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Axis V2 Control Protocol
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Config qw(:all);
use Time::HiRes qw( usleep );
sub new
{
my $class = shift;
my $id = shift;
my $self = ZoneMinder::Control->new( $id );
bless( $self, $class );
srand( time() );
return $self;
}
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
Fatal( "Can't access $name member of object of class $class" );
}
sub open
{
my $self = shift;
$self->loadMonitor();
use LWP::UserAgent;
$self->{ua} = LWP::UserAgent->new;
$self->{ua}->agent( "ZoneMinder Control Agent/".ZM_VERSION );
$self->{state} = 'open';
}
sub close
{
my $self = shift;
$self->{state} = 'closed';
}
sub printMsg
{
my $self = shift;
my $msg = shift;
my $msg_len = length($msg);
Debug( $msg."[".$msg_len."]" );
}
sub sendCmd
{
my $self = shift;
my $cmd = shift;
my $result = undef;
printMsg( $cmd, "Tx" );
#print( "http://$address/$cmd\n" );
my $req = HTTP::Request->new( GET=>"http://".$self->{Monitor}->{ControlAddress}."/$cmd" );
my $res = $self->{ua}->request($req);
if ( $res->is_success )
{
$result = !undef;
}
else
{
Error( "Error check failed: '".$res->status_line()."'" );
}
return( $result );
}
sub cameraReset
{
my $self = shift;
Debug( "Camera Reset" );
my $cmd = "/axis-cgi/admin/restart.cgi";
$self->sendCmd( $cmd );
}
sub moveConUp
{
my $self = shift;
Debug( "Move Up" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=up";
$self->sendCmd( $cmd );
}
sub moveConDown
{
my $self = shift;
Debug( "Move Down" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=down";
$self->sendCmd( $cmd );
}
sub moveConLeft
{
my $self = shift;
Debug( "Move Left" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=left";
$self->sendCmd( $cmd );
}
sub moveConRight
{
my $self = shift;
Debug( "Move Right" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=right";
$self->sendCmd( $cmd );
}
sub moveConUpRight
{
my $self = shift;
Debug( "Move Up/Right" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=upright";
$self->sendCmd( $cmd );
}
sub moveConUpLeft
{
my $self = shift;
Debug( "Move Up/Left" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=upleft";
$self->sendCmd( $cmd );
}
sub moveConDownRight
{
my $self = shift;
Debug( "Move Down/Right" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=downright";
$self->sendCmd( $cmd );
}
sub moveConDownLeft
{
my $self = shift;
Debug( "Move Down/Left" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=downleft";
$self->sendCmd( $cmd );
}
sub moveMap
{
my $self = shift;
my $params = shift;
my $xcoord = $self->getParam( $params, 'xcoord' );
my $ycoord = $self->getParam( $params, 'ycoord' );
Debug( "Move Map to $xcoord,$ycoord" );
my $cmd = "/axis-cgi/com/ptz.cgi?center=$xcoord,$ycoord&imagewidth=".$self->{Monitor}->{Width}."&imageheight=".$self->{Monitor}->{Height};
$self->sendCmd( $cmd );
}
sub moveRelUp
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'tiltstep' );
Debug( "Step Up $step" );
my $cmd = "/axis-cgi/com/ptz.cgi?rtilt=$step";
$self->sendCmd( $cmd );
}
sub moveRelDown
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'tiltstep' );
Debug( "Step Down $step" );
my $cmd = "/axis-cgi/com/ptz.cgi?rtilt=-$step";
$self->sendCmd( $cmd );
}
sub moveRelLeft
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'panstep' );
Debug( "Step Left $step" );
my $cmd = "/axis-cgi/com/ptz.cgi?rpan=-$step";
$self->sendCmd( $cmd );
}
sub moveRelRight
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'panstep' );
Debug( "Step Right $step" );
my $cmd = "/axis-cgi/com/ptz.cgi?rpan=$step";
$self->sendCmd( $cmd );
}
sub moveRelUpRight
{
my $self = shift;
my $params = shift;
my $panstep = $self->getParam( $params, 'panstep' );
my $tiltstep = $self->getParam( $params, 'tiltstep' );
Debug( "Step Up/Right $tiltstep/$panstep" );
my $cmd = "/axis-cgi/com/ptz.cgi?rpan=$panstep&rtilt=$tiltstep";
$self->sendCmd( $cmd );
}
sub moveRelUpLeft
{
my $self = shift;
my $params = shift;
my $panstep = $self->getParam( $params, 'panstep' );
my $tiltstep = $self->getParam( $params, 'tiltstep' );
Debug( "Step Up/Left $tiltstep/$panstep" );
my $cmd = "/axis-cgi/com/ptz.cgi?rpan=-$panstep&rtilt=$tiltstep";
$self->sendCmd( $cmd );
}
sub moveRelDownRight
{
my $self = shift;
my $params = shift;
my $panstep = $self->getParam( $params, 'panstep' );
my $tiltstep = $self->getParam( $params, 'tiltstep' );
Debug( "Step Down/Right $tiltstep/$panstep" );
my $cmd = "/axis-cgi/com/ptz.cgi?rpan=$panstep&rtilt=-$tiltstep";
$self->sendCmd( $cmd );
}
sub moveRelDownLeft
{
my $self = shift;
my $params = shift;
my $panstep = $self->getParam( $params, 'panstep' );
my $tiltstep = $self->getParam( $params, 'tiltstep' );
Debug( "Step Down/Left $tiltstep/$panstep" );
my $cmd = "/axis-cgi/com/ptz.cgi?rpan=-$panstep&rtilt=-$tiltstep";
$self->sendCmd( $cmd );
}
sub zoomRelTele
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Zoom Tele" );
my $cmd = "/axis-cgi/com/ptz.cgi?rzoom=$step";
$self->sendCmd( $cmd );
}
sub zoomRelWide
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Zoom Wide" );
my $cmd = "/axis-cgi/com/ptz.cgi?rzoom=-$step";
$self->sendCmd( $cmd );
}
sub focusRelNear
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Focus Near" );
my $cmd = "/axis-cgi/com/ptz.cgi?rfocus=-$step";
$self->sendCmd( $cmd );
}
sub focusRelFar
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Focus Far" );
my $cmd = "/axis-cgi/com/ptz.cgi?rfocus=$step";
$self->sendCmd( $cmd );
}
sub focusAuto
{
my $self = shift;
Debug( "Focus Auto" );
my $cmd = "/axis-cgi/com/ptz.cgi?autofocus=on";
$self->sendCmd( $cmd );
}
sub focusMan
{
my $self = shift;
Debug( "Focus Manual" );
my $cmd = "/axis-cgi/com/ptz.cgi?autofocus=off";
$self->sendCmd( $cmd );
}
sub irisRelOpen
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Iris Open" );
my $cmd = "/axis-cgi/com/ptz.cgi?riris=$step";
$self->sendCmd( $cmd );
}
sub irisRelClose
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Iris Close" );
my $cmd = "/axis-cgi/com/ptz.cgi?riris=-$step";
$self->sendCmd( $cmd );
}
sub irisAuto
{
my $self = shift;
Debug( "Iris Auto" );
my $cmd = "/axis-cgi/com/ptz.cgi?autoiris=on";
$self->sendCmd( $cmd );
}
sub irisMan
{
my $self = shift;
Debug( "Iris Manual" );
my $cmd = "/axis-cgi/com/ptz.cgi?autoiris=off";
$self->sendCmd( $cmd );
}
sub presetClear
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
Debug( "Clear Preset $preset" );
my $cmd = "/axis-cgi/com/ptz.cgi?removeserverpresetno=$preset";
$self->sendCmd( $cmd );
}
sub presetSet
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
Debug( "Set Preset $preset" );
my $cmd = "/axis-cgi/com/ptz.cgi?setserverpresetno=$preset";
$self->sendCmd( $cmd );
}
sub presetGoto
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
Debug( "Goto Preset $preset" );
my $cmd = "/axis-cgi/com/ptz.cgi?gotoserverpresetno=$preset";
$self->sendCmd( $cmd );
}
sub presetHome
{
my $self = shift;
Debug( "Home Preset" );
my $cmd = "/axis-cgi/com/ptz.cgi?move=home";
$self->sendCmd( $cmd );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,241 +0,0 @@
# ==========================================================================
#
# ZoneMinder Neu-Fusion Control Protocol Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the implementation of the Neu-Fusion NCS370 IP camera
# control protocol
#
package ZoneMinder::Control::Ncs370;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Control;
our @ISA = qw(ZoneMinder::Control);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Ncs370 IP Control Protocol
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Config qw(:all);
use Time::HiRes qw( usleep );
sub new
{
my $class = shift;
my $id = shift;
my $self = ZoneMinder::Control->new( $id );
bless( $self, $class );
srand( time() );
return $self;
}
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
Fatal( "Can't access $name member of object of class $class" );
}
sub open
{
my $self = shift;
$self->loadMonitor();
use LWP::UserAgent;
$self->{ua} = LWP::UserAgent->new;
$self->{ua}->agent( "ZoneMinder Control Agent/".ZM_VERSION );
$self->{state} = 'open';
}
sub close
{
my $self = shift;
$self->{state} = 'closed';
}
sub printMsg
{
my $self = shift;
my $msg = shift;
my $msg_len = length($msg);
Debug( $msg."[".$msg_len."]" );
}
sub sendCmd
{
my $self = shift;
my $cmd = shift;
my $result = undef;
printMsg( $cmd, "Tx" );
my $req = HTTP::Request->new( POST=>"http://".$self->{Monitor}->{ControlAddress}."/PANTILTCONTROL.CGI" );
my $res = $self->{ua}->request($req);
if ( $res->is_success )
{
$result = !undef;
}
else
{
Error( "Error check failed: '".$res->status_line()."'" );
}
return( $result );
}
sub moveConUp
{
my $self = shift;
Debug( "Move Up" );
my $cmd = "PanSingleMoveDegree=1\nTiltSingleMoveDegree=1\nPanTiltSingleMove=1";
$self->sendCmd( $cmd );
}
sub moveConDown
{
my $self = shift;
Debug( "Move Down" );
my $cmd = "PanSingleMoveDegree=1\nTiltSingleMoveDegree=1\nPanTiltSingleMove=7";
$self->sendCmd( $cmd );
}
sub moveConLeft
{
my $self = shift;
Debug( "Move Left" );
my $cmd = "PanSingleMoveDegree=1\nTiltSingleMoveDegree=1\nPanTiltSingleMove=3";
$self->sendCmd( $cmd );
}
sub moveConRight
{
my $self = shift;
Debug( "Move Right" );
my $cmd = "PanSingleMoveDegree=1\nTiltSingleMoveDegree=1\nPanTiltSingleMove=5";
$self->sendCmd( $cmd );
}
sub moveConUpRight
{
moveConUp();
moveConRight();
}
sub moveConUpLeft
{
moveConUp();
moveConLeft();
}
sub moveConDownRight
{
moveConDown();
moveConRight();
}
sub moveConDownLeft
{
moveConDown();
moveConLeft();
}
sub presetHome
{
my $self = shift;
Debug( "Home Preset" );
my $cmd = "PanSingleMoveDegree=1\nTiltSingleMoveDegree=1\nPanTiltSingleMove=4";
$self->sendCmd( $cmd );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,322 +0,0 @@
# ==========================================================================
#
# ZoneMinder Panasonic IP Control Protocol Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the implementation of the Panasonic IP camera control
# protocol
#
package ZoneMinder::Control::PanasonicIP;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Control;
our @ISA = qw(ZoneMinder::Control);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Panasonic IP Control Protocol
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Config qw(:all);
use Time::HiRes qw( usleep );
sub new
{
my $class = shift;
my $id = shift;
my $self = ZoneMinder::Control->new( $id );
bless( $self, $class );
srand( time() );
return $self;
}
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
Fatal( "Can't access $name member of object of class $class" );
}
sub open
{
my $self = shift;
$self->loadMonitor();
use LWP::UserAgent;
$self->{ua} = LWP::UserAgent->new;
$self->{ua}->agent( "ZoneMinder Control Agent/".ZM_VERSION );
$self->{state} = 'open';
}
sub close
{
my $self = shift;
$self->{state} = 'closed';
}
sub printMsg
{
my $self = shift;
my $msg = shift;
my $msg_len = length($msg);
Debug( $msg."[".$msg_len."]" );
}
sub sendCmd
{
my $self = shift;
my $cmd = shift;
my $result = undef;
printMsg( $cmd, "Tx" );
my $req = HTTP::Request->new( GET=>"http://".$self->{Monitor}->{ControlAddress}."/$cmd" );
my $res = $self->{ua}->request($req);
if ( $res->is_success )
{
$result = !undef;
}
else
{
Error( "Error check failed: '".$res->status_line()."'" );
}
return( $result );
}
sub cameraReset
{
my $self = shift;
Debug( "Camera Reset" );
my $cmd = "nphRestart?PAGE=Restart&Restart=OK";
$self->sendCmd( $cmd );
}
sub moveConUp
{
my $self = shift;
Debug( "Move Up" );
my $cmd = "nphControlCamera?Direction=TiltUp";
$self->sendCmd( $cmd );
}
sub moveConDown
{
my $self = shift;
Debug( "Move Down" );
my $cmd = "nphControlCamera?Direction=TiltDown";
$self->sendCmd( $cmd );
}
sub moveConLeft
{
my $self = shift;
Debug( "Move Left" );
my $cmd = "nphControlCamera?Direction=PanLeft";
$self->sendCmd( $cmd );
}
sub moveConRight
{
my $self = shift;
Debug( "Move Right" );
my $cmd = "nphControlCamera?Direction=PanRight";
$self->sendCmd( $cmd );
}
sub moveMap
{
my $self = shift;
my $params = shift;
my $xcoord = $self->getParam( $params, 'xcoord' );
my $ycoord = $self->getParam( $params, 'ycoord' );
Debug( "Move Map to $xcoord,$ycoord" );
my $cmd = "nphControlCamera?Direction=Direct&NewPosition.x=$xcoord&NewPosition.y=$ycoord&Width=".$self->{Monitor}->{Width}."&Height=".$self->{Monitor}->{Height};
$self->sendCmd( $cmd );
}
sub zoomConTele
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Zoom Tele" );
my $cmd = "nphControlCamera?Direction=ZoomTele";
$self->sendCmd( $cmd );
}
sub zoomConWide
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Zoom Wide" );
my $cmd = "nphControlCamera?Direction=ZoomWide";
$self->sendCmd( $cmd );
}
sub focusConNear
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Focus Near" );
my $cmd = "nphControlCamera?Direction=FocusNear";
$self->sendCmd( $cmd );
}
sub focusConFar
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
Debug( "Focus Far" );
my $cmd = "nphControlCamera?Direction=FocusFar";
$self->sendCmd( $cmd );
}
sub focusAuto
{
my $self = shift;
Debug( "Focus Auto" );
my $cmd = "nphControlCamera?Direction=FocusAuto";
$self->sendCmd( $cmd );
}
sub focusMan
{
my $self = shift;
Debug( "Focus Manual" );
my $cmd = "/axis-cgi/com/ptz.cgi?autofocus=off";
$self->sendCmd( $cmd );
}
sub presetClear
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
Debug( "Clear Preset $preset" );
my $cmd = "nphPresetNameCheck?Data=$preset";
$self->sendCmd( $cmd );
}
sub presetSet
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
Debug( "Set Preset $preset" );
my $cmd = "nphPresetNameCheck?PresetName=$preset&Data=$preset";
$self->sendCmd( $cmd );
}
sub presetGoto
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
Debug( "Goto Preset $preset" );
my $cmd = "nphControlCamera?Direction=Preset&PresetOperation=Move&Data=$preset";
$self->sendCmd( $cmd );
}
sub presetHome
{
my $self = shift;
Debug( "Home Preset" );
my $cmd = "nphControlCamera?Direction=HomePosition";
$self->sendCmd( $cmd );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,735 +0,0 @@
# ==========================================================================
#
# ZoneMinder Pelco-D Control Protocol Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the implementation of the Pelco-D camera control
# protocol
#
package ZoneMinder::Control::PelcoD;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Control;
our @ISA = qw(ZoneMinder::Control);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Pelco-D Control Protocol
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Time::HiRes qw( usleep );
use constant SYNC => 0xff;
use constant COMMAND_GAP => 100000; # In ms
sub new
{
my $class = shift;
my $id = shift;
my $self = ZoneMinder::Control->new( $id );
bless( $self, $class );
srand( time() );
return $self;
}
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
Fatal( "Can't access $name member of object of class $class" );
}
sub open
{
my $self = shift;
$self->loadMonitor();
use Device::SerialPort;
$self->{port} = new Device::SerialPort( $self->{Monitor}->{ControlDevice} );
$self->{port}->baudrate(2400);
$self->{port}->databits(8);
$self->{port}->parity('none');
$self->{port}->stopbits(1);
$self->{port}->handshake('none');
$self->{port}->read_const_time(50);
$self->{port}->read_char_time(10);
$self->{state} = 'open';
}
sub close
{
my $self = shift;
$self->{state} = 'closed';
$self->{port}->close();
}
sub printMsg
{
if ( logDebugging() )
{
my $self = shift;
my $msg = shift;
my $prefix = shift || "";
$prefix = $prefix.": " if ( $prefix );
my $line_length = 16;
my $msg_len = int(@$msg);
my $msg_str = $prefix;
for ( my $i = 0; $i < $msg_len; $i++ )
{
if ( ($i > 0) && ($i%$line_length == 0) && ($i != ($msg_len-1)) )
{
$msg_str .= sprintf( "\n%*s", length($prefix), "" );
}
$msg_str .= sprintf( "%02x ", $msg->[$i] );
}
$msg_str .= "[".$msg_len."]";
Debug( $msg_str );
}
}
sub sendCmd
{
my $self = shift;
my $cmd = shift;
my $ack = shift || 0;
my $result = undef;
my $checksum = 0x00;
for ( my $i = 1; $i < int(@$cmd); $i++ )
{
$checksum += $cmd->[$i];
$checksum &= 0xff;
}
push( @$cmd, $checksum );
$self->printMsg( $cmd, "Tx" );
my $id = $cmd->[0] & 0xf;
my $tx_msg = pack( "C*", @$cmd );
#print( "Tx: ".length( $tx_msg )." bytes\n" );
my $n_bytes = $self->{port}->write( $tx_msg );
if ( !$n_bytes )
{
Error( "Write failed: $!" );
}
if ( $n_bytes != length($tx_msg) )
{
Error( "Incomplete write, only ".$n_bytes." of ".length($tx_msg)." written: $!" );
}
if ( $ack )
{
Debug( "Waiting for ack" );
my $max_wait = 3;
my $now = time();
while( 1 )
{
my ( $count, $rx_msg ) = $self->{port}->read(4);
if ( $count )
{
#print( "Rx1: ".$count." bytes\n" );
my @resp = unpack( "C*", $rx_msg );
printMsg( \@resp, "Rx" );
if ( $resp[0] = 0x80 + ($id<<4) )
{
if ( ($resp[1] & 0xf0) == 0x40 )
{
my $socket = $resp[1] & 0x0f;
Debug( "Got ack for socket $socket" );
$result = !undef;
}
else
{
Error( "Got bogus response" );
}
last;
}
else
{
Error( "Got message for camera ".(($resp[0]-0x80)>>4) );
}
}
if ( (time() - $now) > $max_wait )
{
Warning( "Response timeout" );
last;
}
}
}
}
sub remoteReset
{
my $self = shift;
Debug( "Remote Reset" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x0f, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub resetDefaults
{
my $self = shift;
Debug( "Reset Defaults" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x29, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub cameraOff
{
my $self = shift;
Debug( "Camera Off" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x08, 0x00, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub cameraOn
{
my $self = shift;
Debug( "Camera On" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x88, 0x00, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub autoScan
{
my $self = shift;
Debug( "Auto Scan" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x90, 0x00, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub manScan
{
my $self = shift;
Debug( "Manual Scan" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x10, 0x00, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub stop
{
my $self = shift;
Debug( "Stop" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x00, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub moveConUp
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'tiltspeed' );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Up" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x08, 0x00, $speed );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveConDown
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'tiltspeed' );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Down" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x10, 0x00, $speed );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop();
}
}
sub moveConLeft
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'panspeed' );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Left" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x04, $speed, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop();
}
}
sub moveConRight
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'panspeed' );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Right" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x02, $speed, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop();
}
}
sub moveConUpLeft
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x3f );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x3f );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Up/Left" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x0c, $panspeed, $tiltspeed );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop();
}
}
sub moveConUpRight
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x3f );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x3f );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Up/Right" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x0a, $panspeed, $tiltspeed );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop();
}
}
sub moveConDownLeft
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x3f );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x3f );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Down/Left" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x14, $panspeed, $tiltspeed );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop();
}
}
sub moveConDownRight
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x3f );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x3f );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Down/Right" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x12, $panspeed, $tiltspeed );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop();
}
}
sub moveStop
{
my $self = shift;
Debug( "Move Stop" );
$self->stop();
}
sub flip180
{
my $self = shift;
Debug( "Flip 180" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x07, 0x00, 0x21 );
$self->sendCmd( \@msg );
}
sub zeroPan
{
my $self = shift;
Debug( "Zero Pan" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x07, 0x00, 0x22 );
$self->sendCmd( \@msg );
}
sub _setZoomSpeed
{
my $self = shift;
my $speed = shift;
Debug( "Set Zoom Speed $speed" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x25, 0x00, $speed );
$self->sendCmd( \@msg );
}
sub zoomStop
{
my $self = shift;
Debug( "Zoom Stop" );
$self->stop();
$self->_setZoomSpeed( 0 );
}
sub zoomConTele
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'speed', 0x01 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Zoom Tele" );
$self->_setZoomSpeed( $speed );
usleep( COMMAND_GAP );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x20, 0x00, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->zoomStop();
}
}
sub zoomConWide
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'speed', 0x01 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Zoom Wide" );
$self->_setZoomSpeed( $speed );
usleep( COMMAND_GAP );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x40, 0x00, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->zoomStop();
}
}
sub _setFocusSpeed
{
my $self = shift;
my $speed = shift;
Debug( "Set Focus Speed $speed" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x27, 0x00, $speed );
$self->sendCmd( \@msg );
}
sub focusConNear
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'speed', 0x03 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Focus Near" );
$self->_setFocusSpeed( $speed );
usleep( COMMAND_GAP );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x01, 0x00, 0x00, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->_setFocusSpeed( 0 );
}
}
sub focusConFar
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'speed', 0x03 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Focus Far" );
$self->_setFocusSpeed( $speed );
usleep( COMMAND_GAP );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x80, 0x00, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->_setFocusSpeed( 0 );
}
}
sub focusStop
{
my $self = shift;
Debug( "Focus Stop" );
$self->stop();
$self->_setFocusSpeed( 0 );
}
sub focusAuto
{
my $self = shift;
Debug( "Focus Auto" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x2b, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub focusMan
{
my $self = shift;
Debug( "Focus Man" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x2b, 0x00, 0x02 );
$self->sendCmd( \@msg );
}
sub _setIrisSpeed
{
my $self = shift;
my $speed = shift;
Debug( "Set Iris Speed $speed" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x27, 0x00, $speed );
$self->sendCmd( \@msg );
}
sub irisConClose
{
my $self = shift;
my $params = shift;
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Iris Close" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x04, 0x00, 0x00, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->_setIrisSpeed( 0 );
}
}
sub irisConOpen
{
my $self = shift;
my $params = shift;
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Iris Open" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x02, 0x80, 0x00, 0x00 );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->_setIrisSpeed( 0 );
}
}
sub irisStop
{
my $self = shift;
Debug( "Iris Stop" );
$self->stop();
$self->_setIrisSpeed( 0 );
}
sub irisAuto
{
my $self = shift;
Debug( "Iris Auto" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x2d, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub irisMan
{
my $self = shift;
Debug( "Iris Man" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x2d, 0x00, 0x02 );
$self->sendCmd( \@msg );
}
sub writeScreen
{
my $self = shift;
my $params = shift;
my $string = $self->getParam( $params, 'string' );
Debug( "Writing '$string' to screen" );
my @chars = unpack( "C*", $string );
for ( my $i = 0; $i < length($string); $i++ )
{
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x15, $i, $chars[$i] );
$self->sendCmd( \@msg );
usleep( COMMAND_GAP );
}
}
sub clearScreen
{
my $self = shift;
Debug( "Clear Screen" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x17, 0x00, 0x00 );
$self->sendCmd( \@msg );
}
sub clearPreset
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset', 1 );
Debug( "Clear Preset $preset" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x05, 0x00, $preset );
$self->sendCmd( \@msg );
}
sub presetSet
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset', 1 );
Debug( "Set Preset $preset" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x03, 0x00, $preset );
$self->sendCmd( \@msg );
}
sub presetGoto
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset', 1 );
Debug( "Goto Preset $preset" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x07, 0x00, $preset );
$self->sendCmd( \@msg );
}
sub presetHome
{
my $self = shift;
Debug( "Home Preset" );
my @msg = ( SYNC, $self->{Monitor}->{ControlAddress}, 0x00, 0x07, 0x00, 0x22 );
$self->sendCmd( \@msg );
}
sub reset
{
my $self = shift;
Debug( "Reset" );
$self->remoteReset();
$self->resetDefaults();
}
sub wake
{
my $self = shift;
Debug( "Wake" );
$self->cameraOn();
}
sub sleep
{
my $self = shift;
Debug( "Sleep" );
$self->cameraOff();
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,668 +0,0 @@
# ==========================================================================
#
# ZoneMinder Visca Control Protocol Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the implementation of the Visca camera control
# protocol
#
package ZoneMinder::Control::Visca;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Control;
our @ISA = qw(ZoneMinder::Control);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Visca Control Protocol
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Time::HiRes qw( usleep );
use constant SYNC => 0xff;
use constant COMMAND_GAP => 100000; # In ms
sub new
{
my $class = shift;
my $id = shift;
my $self = ZoneMinder::Control->new( $id );
bless( $self, $class );
srand( time() );
return $self;
}
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
Fatal( "Can't access $name member of object of class $class" );
}
sub open
{
my $self = shift;
$self->loadMonitor();
use Device::SerialPort;
$self->{port} = new Device::SerialPort( $self->{Monitor}->{ControlDevice} );
$self->{port}->baudrate(9600);
$self->{port}->databits(8);
$self->{port}->parity('none');
$self->{port}->stopbits(1);
$self->{port}->handshake('rts');
$self->{port}->stty_echo(0);
#$self->{port}->read_const_time(250);
$self->{port}->read_char_time(2);
$self->{state} = 'open';
}
sub close
{
my $self = shift;
$self->{state} = 'closed';
$self->{port}->close();
}
sub printMsg
{
if ( logDebugging() )
{
my $self = shift;
my $msg = shift;
my $prefix = shift || "";
$prefix = $prefix.": " if ( $prefix );
my $line_length = 16;
my $msg_len = int(@$msg);
my $msg_str = $prefix;
for ( my $i = 0; $i < $msg_len; $i++ )
{
if ( ($i > 0) && ($i%$line_length == 0) && ($i != ($msg_len-1)) )
{
$msg_str .= sprintf( "\n%*s", length($prefix), "" );
}
$msg_str .= sprintf( "%02x ", $msg->[$i] );
}
$msg_str .= "[".$msg_len."]";
Debug( $msg_str );
}
}
sub sendCmd
{
my $self = shift;
my $cmd = shift;
my $ack = shift || 0;
my $cmp = shift || 0;
my $result = undef;
$self->printMsg( $cmd, "Tx" );
my $id = $cmd->[0] & 0xf;
my $tx_msg = pack( "C*", @$cmd );
#print( "Tx: ".length( $tx_msg )." bytes\n" );
my $n_bytes = $self->{port}->write( $tx_msg );
if ( !$n_bytes )
{
Error( "Write failed: $!" );
}
if ( $n_bytes != length($tx_msg) )
{
Error( "Incomplete write, only ".$n_bytes." of ".length($tx_msg)." written: $!" );
}
if ( $ack )
{
Debug( "Waiting for ack" );
my $max_wait = 3;
my $now = time();
while( 1 )
{
my ( $count, $rx_msg ) = $self->{port}->read(4);
if ( $count )
{
#print( "Rx1: ".$count." bytes\n" );
my @resp = unpack( "C*", $rx_msg );
$self->printMsg( \@resp, "Rx" );
if ( $resp[0] = 0x80 + ($id<<4) )
{
if ( ($resp[1] & 0xf0) == 0x40 )
{
my $socket = $resp[1] & 0x0f;
Debug( "Got ack for socket $socket" );
$result = !undef;
}
else
{
Error( "Got bogus response" );
}
last;
}
else
{
Error( "Got message for camera ".(($resp[0]-0x80)>>4) );
}
}
if ( (time() - $now) > $max_wait )
{
last;
}
}
}
if ( $cmp )
{
Debug( "Waiting for command complete" );
my $max_wait = 10;
my $now = time();
while( 1 )
{
#print( "Waiting\n" );
my ( $count, $rx_msg ) = $self->{port}->read(16);
if ( $count )
{
#print( "Rx1: ".$count." bytes\n" );
my @resp = unpack( "C*", $rx_msg );
$self->printMsg( \@resp, "Rx" );
if ( $resp[0] = 0x80 + ($id<<4) )
{
if ( ($resp[1] & 0xf0) == 0x50 )
{
Debug( "Got command complete" );
$result = !undef;
}
else
{
Error( "Got bogus response" );
}
last;
}
else
{
Error( "Got message for camera ".(($resp[0]-0x80)>>4) );
}
}
if ( (time() - $now) > $max_wait )
{
last;
}
}
}
return( $result );
}
sub cameraOff
{
my $self = shift;
Debug( "Camera Off\n" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x00, 0x0, SYNC );
$self->sendCmd( \@msg );
}
sub cameraOn
{
my $self = shift;
Debug( "Camera On\n" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x00, 0x2, SYNC );
$self->sendCmd( \@msg );
}
sub stop
{
my $self = shift;
Debug( "Stop\n" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, 0x00, 0x00, 0x03, 0x03, SYNC );
$self->sendCmd( \@msg );
}
sub moveConUp
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'tiltspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Up" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, 0x00, $speed, 0x03, 0x01, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveConDown
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'tiltspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Down" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, 0x00, $speed, 0x03, 0x02, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub movConLeft
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'panspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Left" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, $speed, 0x00, 0x01, 0x03, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveConRight
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'panspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Right" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, $speed, 0x00, 0x02, 0x03, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveUpLeft
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Up/Left" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, $panspeed, $tiltspeed, 0x01, 0x01, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveUpRight
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Up/Right" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, $panspeed, $tiltspeed, 0x02, 0x01, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveDownLeft
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Down/Left" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, $panspeed, $tiltspeed, 0x01, 0x02, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveDownRight
{
my $self = shift;
my $params = shift;
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Move Down/Right" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x01, $panspeed, $tiltspeed, 0x02, 0x02, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->stop( $params );
}
}
sub moveRelUp
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'tiltstep' );
my $speed = $self->getParam( $params, 'tiltspeed', 0x40 );
Debug( "Step Up" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, 0x00, $speed, 0x00, 0x00, 0x00, 0x00, ($step&0xf000)>>12, ($step&0x0f00)>>8, ($step&0x00f0)>>4, ($step&0x000f)>>0, SYNC );
$self->sendCmd( \@msg );
}
sub moveRelDown
{
my $self = shift;
my $params = shift;
my $step = -$self->getParam( $params, 'tiltstep' );
my $speed = $self->getParam( $params, 'tiltspeed', 0x40 );
Debug( "Step Down" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, 0x00, $speed, 0x00, 0x00, 0x00, 0x00, ($step&0xf000)>>12, ($step&0x0f00)>>8, ($step&0x00f0)>>4, ($step&0x000f)>>0, SYNC );
$self->sendCmd( \@msg );
}
sub moveRelLeft
{
my $self = shift;
my $params = shift;
my $step = -$self->getParam( $params, 'panstep' );
my $speed = $self->getParam( $params, 'panspeed', 0x40 );
Debug( "Step Left" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, $speed, 0x00, ($step&0xf000)>>12, ($step&0x0f00)>>8, ($step&0x00f0)>>4, ($step&0x000f)>>0, 0x00, 0x00, 0x00, 0x00, SYNC );
$self->sendCmd( \@msg );
}
sub moveRelRight
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'panstep' );
my $speed = $self->getParam( $params, 'panspeed', 0x40 );
Debug( "Step Right" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, $speed, 0x00, ($step&0xf000)>>12, ($step&0x0f00)>>8, ($step&0x00f0)>>4, ($step&0x000f)>>0, 0x00, 0x00, 0x00, 0x00, SYNC );
$self->sendCmd( \@msg );
}
sub moveRelUpLeft
{
my $self = shift;
my $params = shift;
my $panstep = -$self->getParam( $params, 'panstep' );
my $tiltstep = $self->getParam( $params, 'tiltstep' );
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
Debug( "Step Up/Left" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, $panspeed, $tiltspeed, ($panstep&0xf000)>>12, ($panstep&0x0f00)>>8, ($panstep&0x00f0)>>4, ($panstep&0x000f)>>0, ($tiltstep&0xf000)>>12, ($tiltstep&0x0f00)>>8, ($tiltstep&0x00f0)>>4, ($tiltstep&0x000f)>>0, SYNC );
$self->sendCmd( \@msg );
}
sub moveRelUpRight
{
my $self = shift;
my $params = shift;
my $panstep = $self->getParam( $params, 'panstep' );
my $tiltstep = $self->getParam( $params, 'tiltstep' );
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
Debug( "Step Up/Right" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, $panspeed, $tiltspeed, ($panstep&0xf000)>>12, ($panstep&0x0f00)>>8, ($panstep&0x00f0)>>4, ($panstep&0x000f)>>0, ($tiltstep&0xf000)>>12, ($tiltstep&0x0f00)>>8, ($tiltstep&0x00f0)>>4, ($tiltstep&0x000f)>>0, SYNC );
$self->sendCmd( \@msg );
}
sub moveRelDownLeft
{
my $self = shift;
my $params = shift;
my $panstep = -$self->getParam( $params, 'panstep' );
my $tiltstep = -$self->getParam( $params, 'tiltstep' );
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
Debug( "Step Down/Left" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, $panspeed, $tiltspeed, ($panstep&0xf000)>>12, ($panstep&0x0f00)>>8, ($panstep&0x00f0)>>4, ($panstep&0x000f)>>0, ($tiltstep&0xf000)>>12, ($tiltstep&0x0f00)>>8, ($tiltstep&0x00f0)>>4, ($tiltstep&0x000f)>>0, SYNC );
$self->sendCmd( \@msg );
}
sub moveRelDownRight
{
my $self = shift;
my $params = shift;
my $panstep = $self->getParam( $params, 'panstep' );
my $tiltstep = -$self->getParam( $params, 'tiltstep' );
my $panspeed = $self->getParam( $params, 'panspeed', 0x40 );
my $tiltspeed = $self->getParam( $params, 'tiltspeed', 0x40 );
Debug( "Step Down/Right" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x03, $panspeed, $tiltspeed, ($panstep&0xf000)>>12, ($panstep&0x0f00)>>8, ($panstep&0x00f0)>>4, ($panstep&0x000f)>>0, ($tiltstep&0xf000)>>12, ($tiltstep&0x0f00)>>8, ($tiltstep&0x00f0)>>4, ($tiltstep&0x000f)>>0, SYNC );
$self->sendCmd( \@msg );
}
sub zoomConTele
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'speed', 0x06 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Zoom Tele" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x07, 0x20|$speed, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->zoomStop();
}
}
sub zoomWide
{
my $self = shift;
my $params = shift;
my $speed = $self->getParam( $params, 'speed', 0x06 );
my $autostop = $self->getParam( $params, 'autostop', 0 );
Debug( "Zoom Wide" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x07, 0x30|$speed, SYNC );
$self->sendCmd( \@msg );
if( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->zoomStop();
}
}
sub zoomStop
{
my $self = shift;
my $params = shift;
Debug( "Zoom Stop" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x07, 0x00, SYNC );
$self->sendCmd( \@msg );
}
sub focusConNear
{
my $self = shift;
my $params = shift;
Debug( "Focus Near" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x08, 0x03, SYNC );
$self->sendCmd( \@msg );
}
sub focusConFar
{
my $self = shift;
my $params = shift;
Debug( "Focus Far" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x08, 0x02, SYNC );
$self->sendCmd( \@msg );
}
sub focusStop
{
my $self = shift;
my $params = shift;
Debug( "Focus Stop" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x08, 0x00, SYNC );
$self->sendCmd( \@msg );
}
sub focusAuto
{
my $self = shift;
my $params = shift;
Debug( "Focus Auto" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x38, 0x02, SYNC );
$self->sendCmd( \@msg );
}
sub focusMan
{
my $self = shift;
my $params = shift;
Debug( "Focus Man" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x38, 0x03, SYNC );
$self->sendCmd( \@msg );
}
sub presetClear
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset', 1 );
Debug( "Clear Preset $preset" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x3f, 0x00, $preset, SYNC );
$self->sendCmd( \@msg );
}
sub presetSet
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset', 1 );
Debug( "Set Preset $preset" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x3f, 0x01, $preset, SYNC );
$self->sendCmd( \@msg );
}
sub presetGoto
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset', 1 );
Debug( "Goto Preset $preset" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x04, 0x3f, 0x02, $preset, SYNC );
$self->sendCmd( \@msg );
}
sub presetHome
{
my $self = shift;
my $params = shift;
Debug( "Home Preset" );
my @msg = ( 0x80|$self->{Monitor}->{ControlAddress}, 0x01, 0x06, 0x04, SYNC );
$self->sendCmd( \@msg );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,252 +0,0 @@
# ==========================================================================
#
# ZoneMinder mjpg STreamer Control Protocol Module, $Date: 2007-11-04 17:30:29 +0000 (Sun, 04 Nov 2007) $, $Revision: 2229 $
# Copyright (C) 2003, 2004, 2005, 2006 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the implementation of the mjpg streamer camera control
# protocol
#
package ZoneMinder::Control::mjpgStreamer;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Control;
our @ISA = qw(ZoneMinder::Control);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# mjpgSTreamer Control Protocol
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Config qw(:all);
use Time::HiRes qw( usleep );
sub new
{
my $class = shift;
my $id = shift;
my $self = ZoneMinder::Control->new( $id );
Debug( "Camera New" );
bless( $self, $class );
srand( time() );
return $self;
}
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
Debug( "Camera AUTOLOAD" );
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
Fatal( "Can't access $name member of object of class $class" );
}
sub open
{
my $self = shift;
$self->loadMonitor();
Debug( "Camera open" );
use LWP::UserAgent;
$self->{ua} = LWP::UserAgent->new;
$self->{ua}->agent( "ZoneMinder Control Agent/".ZM_VERSION );
$self->{state} = 'open';
}
sub close
{
my $self = shift;
$self->{state} = 'closed';
}
sub printMsg
{
my $self = shift;
my $msg = shift;
my $msg_len = length($msg);
Debug( $msg."[".$msg_len."]" );
}
sub sendCmd
{
my $self = shift;
my $cmd = shift;
my $result = undef;
printMsg( $cmd, "Tx" );
my $req = HTTP::Request->new( GET=>"http://".$self->{Monitor}->{ControlAddress}."/$cmd" );
my $res = $self->{ua}->request($req);
if ( $res->is_success )
{
$result = !undef;
}
else
{
Error( "Error check failed: '".$res->status_line()."'" );
}
return( $result );
}
sub Up
{
my $self = shift;
$self->moveConUp();
}
sub Down
{
my $self = shift;
$self->moveConDown();
}
sub Left
{
my $self = shift;
$self->moveConLeft();
}
sub Right
{
my $self = shift;
$self->moveConRight();
}
sub reset
{
my $self = shift;
$self->cameraReset();
}
sub cameraReset
{
my $self = shift;
Debug( "Camera Reset" );
my $cmd = "?action=command&command=reset_pan_tilt";
$self->sendCmd( $cmd );
}
sub moveConUp
{
my $self = shift;
Debug( "Move Up" );
my $cmd = "?action=command&command=tilt_minus";
$self->sendCmd( $cmd );
}
sub moveConDown
{
my $self = shift;
Debug( "Move Down" );
my $cmd = "?action=command&command=tilt_plus";
$self->sendCmd( $cmd );
}
sub moveConLeft
{
my $self = shift;
Debug( "Move Left" );
my $cmd = "?action=command&command=pan_plus";
$self->sendCmd( $cmd );
}
sub moveConRight
{
my $self = shift;
Debug( "Move Right" );
my $cmd = "?action=command&command=pan_minus";
$self->sendCmd( $cmd );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2005 by Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,238 +0,0 @@
# ==========================================================================
#
# ZoneMinder Database Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the common definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::Database;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'functions' => [ qw(
zmDbConnect
zmDbDisconnect
zmDbGetMonitors
zmDbGetMonitor
zmDbGetMonitorAndControl
) ]
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Database Access
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Config qw(:all);
use Carp;
our $dbh = undef;
sub zmDbConnect( ;$ )
{
my $force = shift;
if ( $force )
{
zmDbDisconnect();
}
if ( !defined( $dbh ) )
{
my ( $host, $port ) = ( ZM_DB_HOST =~ /^([^:]+)(?::(.+))?$/ );
if ( defined($port) )
{
$dbh = DBI->connect( "DBI:mysql:database=".ZM_DB_NAME.";host=".$host.";port=".$port, ZM_DB_USER, ZM_DB_PASS );
}
else
{
$dbh = DBI->connect( "DBI:mysql:database=".ZM_DB_NAME.";host=".ZM_DB_HOST, ZM_DB_USER, ZM_DB_PASS );
}
$dbh->trace( 0 );
}
return( $dbh );
}
sub zmDbDisconnect()
{
if ( defined( $dbh ) )
{
$dbh->disconnect();
$dbh = undef;
}
}
use constant DB_MON_ALL => 0; # All monitors
use constant DB_MON_CAPT => 1; # All monitors that are capturing
use constant DB_MON_ACTIVE => 2; # All monitors that are active
use constant DB_MON_MOTION => 3; # All monitors that are doing motion detection
use constant DB_MON_RECORD => 4; # All monitors that are doing unconditional recording
use constant DB_MON_PASSIVE => 5; # All monitors that are in nodect state
sub zmDbGetMonitors( ;$ )
{
zmDbConnect();
my $function = shift || DB_MON_ALL;
my $sql = "select * from Monitors";
if ( $function )
{
if ( $function == DB_MON_CAPT )
{
$sql .= " where Function >= 'Monitor'";
}
elsif ( $function == DB_MON_ACTIVE )
{
$sql .= " where Function > 'Monitor'";
}
elsif ( $function == DB_MON_MOTION )
{
$sql .= " where Function = 'Modect' or Function = 'Mocord'";
}
elsif ( $function == DB_MON_RECORD )
{
$sql .= " where Function = 'Record' or Function = 'Mocord'";
}
elsif ( $function == DB_MON_PASSIVE )
{
$sql .= " where Function = 'Nodect'";
}
}
my $sth = $dbh->prepare_cached( $sql ) or croak( "Can't prepare '$sql': ".$dbh->errstr() );
my $res = $sth->execute() or croak( "Can't execute '$sql': ".$sth->errstr() );
my @monitors;
while( my $monitor = $sth->fetchrow_hashref() )
{
push( @monitors, $monitor );
}
$sth->finish();
return( \@monitors );
}
sub zmDbGetMonitor( $ )
{
zmDbConnect();
my $id = shift;
return( undef ) if ( !defined($id) );
my $sql = "select * from Monitors where Id = ?";
my $sth = $dbh->prepare_cached( $sql ) or croak( "Can't prepare '$sql': ".$dbh->errstr() );
my $res = $sth->execute( $id ) or croak( "Can't execute '$sql': ".$sth->errstr() );
my $monitor = $sth->fetchrow_hashref();
return( $monitor );
}
sub zmDbGetMonitorAndControl( $ )
{
zmDbConnect();
my $id = shift;
return( undef ) if ( !defined($id) );
my $sql = "select C.*,M.*,C.Protocol from Monitors as M inner join Controls as C on (M.ControlId = C.Id) where M.Id = ?";
my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare '$sql': ".$dbh->errstr() );
my $res = $sth->execute( $id ) or Fatal( "Can't execute '$sql': ".$sth->errstr() );
my $monitor = $sth->fetchrow_hashref();
return( $monitor );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,768 +0,0 @@
# ==========================================================================
#
# ZoneMinder General Utility Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the common definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::General;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'functions' => [ qw(
executeShellCommand
getCmdFormat
runCommand
setFileOwner
getEventPath
createEventPath
createEvent
deleteEventFiles
makePath
jsonEncode
jsonDecode
) ]
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# General Utility Functions
#
# ==========================================================================
use ZoneMinder::Config qw(:all);
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Database qw(:all);
use POSIX;
# For running general shell commands
sub executeShellCommand( $ )
{
my $command = shift;
my $output = qx( $command );
my $status = $? >> 8;
if ( $status || logDebugging() )
{
Debug( "Command: $command\n" );
chomp( $output );
Debug( "Output: $output\n" );
}
return( $status );
}
sub getCmdFormat()
{
Debug( "Testing valid shell syntax\n" );
my ( $name ) = getpwuid( $> );
if ( $name eq ZM_WEB_USER )
{
Debug( "Running as '$name', su commands not needed\n" );
return( "" );
}
my $null_command = "true";
my $prefix = "sudo -u ".ZM_WEB_USER." ";
my $suffix = "";
my $command = $prefix.$null_command.$suffix;
Debug( "Testing \"$command\"\n" );
$command .= " > /dev/null 2>&1";
my $output = qx($command);
my $status = $? >> 8;
if ( !$status )
{
Debug( "Test ok, using format \"$prefix<command>$suffix\"\n" );
return( $prefix, $suffix );
}
else
{
chomp( $output );
Debug( "Test failed, '$output'\n" );
$prefix = "su ".ZM_WEB_USER." --shell=/bin/sh --command='";
$suffix = "'";
$command = $prefix.$null_command.$suffix;
Debug( "Testing \"$command\"\n" );
my $output = qx($command);
my $status = $? >> 8;
if ( !$status )
{
Debug( "Test ok, using format \"$prefix<command>$suffix\"\n" );
return( $prefix, $suffix );
}
else
{
chomp( $output );
Debug( "Test failed, '$output'\n" );
$prefix = "su ".ZM_WEB_USER." -c '";
$suffix = "'";
$command = $prefix.$null_command.$suffix;
Debug( "Testing \"$command\"\n" );
$output = qx($command);
$status = $? >> 8;
if ( !$status )
{
Debug( "Test ok, using format \"$prefix<command>$suffix\"\n" );
return( $prefix, $suffix );
}
else
{
chomp( $output );
Debug( "Test failed, '$output'\n" );
}
}
}
Error( "Unable to find valid 'su' syntax\n" );
exit( -1 );
}
our $testedShellSyntax = 0;
our ( $cmdPrefix, $cmdSuffix );
# For running ZM daemons etc
sub runCommand( $ )
{
if ( !$testedShellSyntax )
{
# Determine the appropriate syntax for the su command
( $cmdPrefix, $cmdSuffix ) = getCmdFormat();
$testedShellSyntax = !undef;
}
my $command = shift;
$command = ZM_PATH_BIN."/".$command;
if ( $cmdPrefix )
{
$command = $cmdPrefix.$command.$cmdSuffix;
}
Debug( "Command: $command\n" );
my $output = qx($command);
my $status = $? >> 8;
chomp( $output );
if ( $status || logDebugging() )
{
if ( $status )
{
Error( "Unable to run \"$command\", output is \"$output\"\n" );
exit( -1 );
}
else
{
Debug( "Output: $output\n" );
}
}
return( $output );
}
sub getEventPath( $ )
{
my $event = shift;
my $event_path = "";
if ( ZM_USE_DEEP_STORAGE )
{
$event_path = ZM_DIR_EVENTS.'/'.$event->{MonitorId}.'/'.strftime( "%y/%m/%d/%H/%M/%S", localtime($event->{Time}) );
}
else
{
$event_path = ZM_DIR_EVENTS.'/'.$event->{MonitorId}.'/'.$event->{Id};
}
$event_path = ZM_PATH_WEB.'/'.$event_path if ( index(ZM_DIR_EVENTS,'/') != 0 );
return( $event_path );
}
sub createEventPath( $ )
{
#
# WARNING assumes running from events directory
#
my $event = shift;
my $eventRootPath = (ZM_DIR_EVENTS=~m|/|)?ZM_DIR_EVENTS:(ZM_PATH_WEB.'/'.ZM_DIR_EVENTS);
my $eventPath = $eventRootPath.'/'.$event->{MonitorId};
if ( ZM_USE_DEEP_STORAGE )
{
my @startTime = localtime( $event->{StartTime} );
my @datetimeParts = ();
$datetimeParts[0] = sprintf( "%02d", $startTime[5]-100 );
$datetimeParts[1] = sprintf( "%02d", $startTime[4]+1 );
$datetimeParts[2] = sprintf( "%02d", $startTime[3] );
$datetimeParts[3] = sprintf( "%02d", $startTime[2] );
$datetimeParts[4] = sprintf( "%02d", $startTime[1] );
$datetimeParts[5] = sprintf( "%02d", $startTime[0] );
my $datePath = join('/',@datetimeParts[0..2]);
my $timePath = join('/',@datetimeParts[3..5]);
makePath( $datePath, $eventPath );
$eventPath .= '/'.$datePath;
# Create event id symlink
my $idFile = sprintf( "%s/.%d", $eventPath, $event->{Id} );
symlink( $timePath, $idFile ) or Fatal( "Can't symlink $idFile -> $eventPath: $!" );
makePath( $timePath, $eventPath );
$eventPath .= '/'.$timePath;
setFileOwner( $idFile ); # Must come after directory has been created
# Create empty id tag file
$idFile = sprintf( "%s/.%d", $eventPath, $event->{Id} );
open( ID_FP, ">$idFile" ) or Fatal( "Can't open $idFile: $!" );
close( ID_FP );
setFileOwner( $idFile );
}
else
{
makePath( $event->{Id}, $eventPath );
$eventPath .= '/'.$event->{Id};
my $idFile = sprintf( "%s/.%d", $eventPath, $event->{Id} );
open( ID_FP, ">$idFile" ) or Fatal( "Can't open $idFile: $!" );
close( ID_FP );
setFileOwner( $idFile );
}
return( $eventPath );
}
use Data::Dumper;
our $_setFileOwner = undef;
our ( $_ownerUid, $_ownerGid );
sub _checkProcessOwner()
{
if ( !defined($_setFileOwner) )
{
my ( $processOwner ) = getpwuid( $> );
if ( $processOwner ne ZM_WEB_USER )
{
# Not running as web user, so should be root in whch case chown the temporary directory
( my $ownerName, my $ownerPass, $_ownerUid, $_ownerGid ) = getpwnam( ZM_WEB_USER ) or Fatal( "Can't get user details for web user '".ZM_WEB_USER."': $!" );
$_setFileOwner = 1;
}
else
{
$_setFileOwner = 0;
}
}
return( $_setFileOwner );
}
sub setFileOwner( $ )
{
my $file = shift;
if ( _checkProcessOwner() )
{
chown( $_ownerUid, $_ownerGid, $file ) or Fatal( "Can't change ownership of file '$file' to '".ZM_WEB_USER.":".ZM_WEB_GROUP."': $!" );
}
}
our $_hasImageInfo = undef;
sub _checkForImageInfo()
{
if ( !defined($_hasImageInfo) )
{
my $result = eval
{
require Image::Info;
Image::Info->import();
};
$_hasImageInfo = $@?0:1;
}
return( $_hasImageInfo );
}
sub createEvent( $;$ )
{
my $event = shift;
Debug( "Creating event" );
#print( Dumper( $event )."\n" );
_checkForImageInfo();
my $dbh = zmDbConnect();
if ( $event->{monitor} )
{
$event->{MonitorId} = $event->{monitor}->{Id};
}
elsif ( $event->{MonitorId} )
{
my $sql = "select * from Monitors where Id = ?";
my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare sql '$sql': ".$dbh->errstr() );
my $res = $sth->execute( $event->{MonitorId} ) or Fatal( "Can't execute sql '$sql': ".$sth->errstr() );
$event->{monitor} = $sth->fetchrow_hashref() or Fatal( "Unable to create event, can't load monitor with id '".$event->{MonitorId}."'" );
$sth->finish();
}
else
{
Fatal( "Unable to create event, no monitor or monitor id supplied" );
}
$event->{Name} = "New Event" unless( $event->{Name} );
$event->{Frames} = int(@{$event->{frames}});
$event->{TotScore} = $event->{MaxScore} = 0;
my $lastTimestamp = 0.0;
foreach my $frame ( @{$event->{frames}} )
{
if ( !$event->{Width} )
{
if ( $_hasImageInfo )
{
my $imageInfo = Image::Info::image_info( $frame->{imagePath} );
if ( $imageInfo->{error} )
{
Error( "Unable to extract image info from '".$frame->{imagePath}."': ".$imageInfo->{error} );
}
else
{
( $event->{Width}, $event->{Height} ) = Image::Info::dim( $imageInfo );
}
}
}
$frame->{Type} = $frame->{Score}>0?'Alarm':'Normal' unless( $frame->{Type} );
$frame->{Delta} = $lastTimestamp?($frame->{TimeStamp}-$lastTimestamp):0.0;
$event->{StartTime} = $frame->{TimeStamp} unless ( $event->{StartTime} );
$event->{TotScore} += $frame->{Score};
$event->{MaxScore} = $frame->{Score} if ( $frame->{Score} > $event->{MaxScore} );
$event->{AlarmFrames}++ if ( $frame->{Type} eq 'Alarm' );
$event->{EndTime} = $frame->{TimeStamp};
$lastTimestamp = $frame->{TimeStamp};
}
$event->{Width} = $event->{monitor}->{Width} unless( $event->{Width} );
$event->{Height} = $event->{monitor}->{Height} unless( $event->{Height} );
$event->{AvgScore} = $event->{TotScore}/int($event->{AlarmFrames});
$event->{Length} = $event->{EndTime} - $event->{StartTime};
my %formats = (
StartTime => 'from_unixtime(?)',
EndTime => 'from_unixtime(?)',
);
my ( @fields, @formats, @values );
while ( my ( $field, $value ) = each( %$event ) )
{
next unless $field =~ /^[A-Z]/;
push( @fields, $field );
push( @formats, ($formats{$field} or '?') );
push( @values, $event->{$field} );
}
my $sql = "insert into Events (".join(',',@fields).") values (".join(',',@formats).")";
my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare sql '$sql': ".$dbh->errstr() );
my $res = $sth->execute( @values ) or Fatal( "Can't execute sql '$sql': ".$sth->errstr() );
$event->{Id} = $dbh->{mysql_insertid};
Info( "Created event ".$event->{Id} );
if ( $event->{EndTime} )
{
$event->{Name} = $event->{monitor}->{EventPrefix}.$event->{Id} if ( $event->{Name} eq 'New Event' );
my $sql = "update Events set Name = ? where Id = ?";
my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare sql '$sql': ".$dbh->errstr() );
my $res = $sth->execute( $event->{Name}, $event->{Id} ) or Fatal( "Can't execute sql '$sql': ".$sth->errstr() );
}
my $eventPath = createEventPath( $event );
my %frameFormats = (
TimeStamp => 'from_unixtime(?)',
);
my $frameId = 1;
foreach my $frame ( @{$event->{frames}} )
{
$frame->{EventId} = $event->{Id};
$frame->{FrameId} = $frameId++;
my ( @fields, @formats, @values );
while ( my ( $field, $value ) = each( %$frame ) )
{
next unless $field =~ /^[A-Z]/;
push( @fields, $field );
push( @formats, ($frameFormats{$field} or '?') );
push( @values, $frame->{$field} );
}
my $sql = "insert into Frames (".join(',',@fields).") values (".join(',',@formats).")";
my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare sql '$sql': ".$dbh->errstr() );
my $res = $sth->execute( @values ) or Fatal( "Can't execute sql '$sql': ".$sth->errstr() );
#$frame->{FrameId} = $dbh->{mysql_insertid};
if ( $frame->{imagePath} )
{
$frame->{capturePath} = sprintf( "%s/%0".ZM_EVENT_IMAGE_DIGITS."d-capture.jpg", $eventPath, $frame->{FrameId} );
rename( $frame->{imagePath}, $frame->{capturePath} ) or Fatal( "Can't copy ".$frame->{imagePath}." to ".$frame->{capturePath}.": $!" );
setFileOwner( $frame->{capturePath} );
if ( 0 && ZM_CREATE_ANALYSIS_IMAGES )
{
$frame->{analysePath} = sprintf( "%s/%0".ZM_EVENT_IMAGE_DIGITS."d-analyse.jpg", $eventPath, $frame->{FrameId} );
link( $frame->{capturePath}, $frame->{analysePath} ) or Fatal( "Can't link ".$frame->{capturePath}." to ".$frame->{analysePath}.": $!" );
setFileOwner( $frame->{analysePath} );
}
}
}
}
sub addEventImage( $$ )
{
my $event = shift;
my $frame = shift;
# TBD
}
sub updateEvent( $ )
{
my $event = shift;
if ( !$event->{EventId} )
{
Error( "Unable to update event, no event id supplied" );
return( 0 );
}
my $dbh = zmDbConnect();
$event->{Name} = $event->{monitor}->{EventPrefix}.$event->{Id} if ( $event->{Name} eq 'New Event' );
my %formats = (
StartTime => 'from_unixtime(?)',
EndTime => 'from_unixtime(?)',
);
my ( @values, @sets );
while ( my ( $field, $value ) = each( %$event ) )
{
next if ( $field eq 'Id' );
push( @values, $event->{$field} );
push( @sets, $field." = ".($formats{$field} or '?') );
}
my $sql = "update Events set ".join(',',@sets)." where Id = ?";
push( @values, $event->{Id} );
my $sth = $dbh->prepare_cached( $sql ) or Fatal( "Can't prepare sql '$sql': ".$dbh->errstr() );
my $res = $sth->execute( @values ) or Fatal( "Can't execute sql '$sql': ".$sth->errstr() );
}
sub deleteEventFiles( $;$ )
{
#
# WARNING assumes running from events directory
#
my $event_id = shift;
my $monitor_id = shift;
$monitor_id = '*' if ( !defined($monitor_id) );
if ( ZM_USE_DEEP_STORAGE )
{
my $link_path = $monitor_id."/*/*/*/.".$event_id;
#Debug( "LP1:$link_path" );
my @links = glob($link_path);
#Debug( "L:".$links[0].": $!" );
if ( @links )
{
( $link_path ) = ( $links[0] =~ /^(.*)$/ ); # De-taint
#Debug( "LP2:$link_path" );
( my $day_path = $link_path ) =~ s/\.\d+//;
#Debug( "DP:$day_path" );
my $event_path = $day_path.readlink( $link_path );
( $event_path ) = ( $event_path =~ /^(.*)$/ ); # De-taint
#Debug( "EP:$event_path" );
my $command = "/bin/rm -rf ".$event_path;
#Debug( "C:$command" );
executeShellCommand( $command );
unlink( $link_path ) or Error( "Unable to unlink '$link_path': $!" );
my @path_parts = split( /\//, $event_path );
for ( my $i = int(@path_parts)-2; $i >= 1; $i-- )
{
my $delete_path = join( '/', @path_parts[0..$i] );
#Debug( "DP$i:$delete_path" );
my @has_files = glob( $delete_path."/*" );
#Debug( "HF1:".$has_files[0] ) if ( @has_files );
last if ( @has_files );
@has_files = glob( $delete_path."/.[0-9]*" );
#Debug( "HF2:".$has_files[0] ) if ( @has_files );
last if ( @has_files );
my $command = "/bin/rm -rf ".$delete_path;
executeShellCommand( $command );
}
}
}
else
{
my $command = "/bin/rm -rf $monitor_id/$event_id";
executeShellCommand( $command );
}
}
sub makePath( $;$ )
{
my $path = shift;
my $root = shift;
$root = (( $path =~ m|^/| )?'':'.' ) unless( $root );
Debug( "Creating path '$path' in $root'\n" );
my @parts = split( '/', $path );
my $fullPath = $root;
foreach my $dir ( @parts )
{
$fullPath .= '/'.$dir;
if ( !-d $fullPath )
{
if ( -e $fullPath )
{
Fatal( "Can't create '$fullPath', already exists as non directory" );
}
else
{
Debug( "Creating '$fullPath'\n" );
mkdir( $fullPath, 0755 ) or Fatal( "Can't mkdir '$fullPath': $!" );
setFileOwner( $fullPath );
}
}
}
return( $fullPath );
}
our $testedJSON = 0;
our $hasJSONAny = 0;
sub _testJSON
{
return if ( $testedJSON );
my $result = eval
{
require JSON::Any;
JSON::Any->import();
};
$testedJSON = 1;
$hasJSONAny = 1 if ( $result );
}
sub _getJSONType( $ )
{
my $value = shift;
return( 'null' ) unless( defined($value) );
return( 'integer' ) if ( $value =~ /^\d+$/ );
return( 'double' ) if ( $value =~ /^\d+$/ );
return( 'hash' ) if ( ref($value) eq 'HASH' );
return( 'array' ) if ( ref($value) eq 'ARRAY' );
return( 'string' );
}
sub jsonEncode( $ );
sub jsonEncode( $ )
{
my $value = shift;
_testJSON();
if ( $hasJSONAny )
{
my $string = eval { JSON::Any->objToJson( $value ) };
Fatal( "Unable to encode object to JSON: $@" ) unless( $string );
return( $string );
}
my $type = _getJSONType($value);
if ( $type eq 'integer' || $type eq 'double' )
{
return( $value );
}
elsif ( $type eq 'boolean' )
{
return( $value?'true':'false' );
}
elsif ( $type eq 'string' )
{
$value =~ s|(["\\/])|\\$1|g;
$value =~ s|\r?\n|\n|g;
return( '"'.$value.'"' );
}
elsif ( $type eq 'null' )
{
return( 'null' );
}
elsif ( $type eq 'array' )
{
return( '['.join( ',', map { jsonEncode( $_ ) } @$value ).']' );
}
elsif ( $type eq 'hash' )
{
my $result = '{';
while ( my ( $subKey=>$subValue ) = each( %$value ) )
{
$result .= ',' if ( $result ne '{' );
$result .= '"'.$subKey.'":'.jsonEncode( $subValue );
}
return( $result.'}' );
}
else
{
Fatal( "Unexpected type '$type'" );
}
}
sub jsonDecode( $ )
{
my $value = shift;
_testJSON();
if ( $hasJSONAny )
{
my $object = eval { JSON::Any->jsonToObj( $value ) };
Fatal( "Unable to decode JSON string '$value': $@" ) unless( $object );
return( $object );
}
my $comment = 0;
my $unescape = 0;
my $out = '';
my @chars = split( //, $value );
for ( my $i = 0; $i < @chars; $i++ )
{
if ( !$comment )
{
if ( $chars[$i] eq ':' )
{
$out .= '=>';
}
else
{
$out .= $chars[$i];
}
}
elsif ( !$unescape )
{
if ( $chars[$i] eq '\\' )
{
$unescape = 1;
}
else
{
$out .= $chars[$i];
}
}
else
{
if ( $chars[$i] ne '/' )
{
$out .= '\\';
}
$out .= $chars[$i];
$unescape = 0;
}
if ( $chars[$i] eq '"' )
{
$comment = !$comment;
}
}
$out =~ s/=>true/=>1/g;
$out =~ s/=>false/=>0/g;
$out =~ s/=>null/=>undef/g;
$out =~ s/`/'/g;
$out =~ s/qx/qq/g;
( $out ) = $out =~ m/^({.+})$/; # Detaint and check it's a valid object syntax
my $result = eval $out;
Fatal( $@ ) if ( $@ );
return( $result );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,861 +0,0 @@
# ==========================================================================
#
# ZoneMinder Logger Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the debug definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::Logger;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'constants' => [ qw(
DEBUG
INFO
WARNING
ERROR
FATAL
PANIC
NOLOG
) ],
'functions' => [ qw(
logInit
logReinit
logTerm
logSetSignal
logClearSignal
logDebugging
logLevel
logTermLevel
logDatabaseLevel
logFileLevel
logSyslogLevel
Mark
Dump
Debug
Info
Warning
Error
Fatal
Panic
) ]
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Logger Facilities
#
# ==========================================================================
use ZoneMinder::Config qw(:all);
use DBI;
use Carp;
use POSIX;
use IO::Handle;
use Data::Dumper;
use Time::HiRes qw/gettimeofday/;
use Sys::Syslog;
use constant {
DEBUG => 1,
INFO => 0,
WARNING => -1,
ERROR => -2,
FATAL => -3,
PANIC => -4,
NOLOG => -5
};
our %codes = (
&DEBUG => "DBG",
&INFO => "INF",
&WARNING => "WAR",
&ERROR => "ERR",
&FATAL => "FAT",
&PANIC => "PNC",
&NOLOG => "OFF"
);
our %priorities = (
&DEBUG => "debug",
&INFO => "info",
&WARNING => "warning",
&ERROR => "err",
&FATAL => "err",
&PANIC => "err"
);
our $logger;
sub new
{
my $class = shift;
my $this = {};
$this->{initialised} = undef;
#$this->{id} = "zmundef";
( $this->{id} ) = $0 =~ m|^(?:.*/)?([^/]+?)(?:\.[^/.]+)?$|;
$this->{idRoot} = $this->{id};
$this->{idArgs} = "";
$this->{level} = INFO;
$this->{termLevel} = NOLOG;
$this->{databaseLevel} = NOLOG;
$this->{fileLevel} = NOLOG;
$this->{syslogLevel} = NOLOG;
$this->{effectiveLevel} = INFO;
$this->{autoFlush} = 1;
$this->{hasTerm} = -t STDERR;
( $this->{fileName} = $0 ) =~ s|^.*/||;
$this->{logPath} = ZM_PATH_LOGS;
$this->{logFile} = $this->{logPath}."/".$this->{id}.".log";
$this->{trace} = 0;
bless( $this, $class );
return $this;
}
sub BEGIN
{
# Fake the config variables that are used in case they are not defined yet
# Only really necessary to support upgrade from previous version
if ( !eval('defined(ZM_LOG_DEBUG)') )
{
no strict 'subs';
no strict 'refs';
my %dbgConfig = (
ZM_LOG_LEVEL_DATABASE => 0,
ZM_LOG_LEVEL_FILE => 0,
ZM_LOG_LEVEL_SYSLOG => 0,
ZM_LOG_DEBUG => 0,
ZM_LOG_DEBUG_TARGET => "",
ZM_LOG_DEBUG_LEVEL => 1,
ZM_LOG_DEBUG_FILE => ""
);
while ( my ( $name, $value ) = each( %dbgConfig ) )
{
*{$name} = sub { $value };
}
use strict 'subs';
use strict 'refs';
}
}
sub DESTROY
{
my $this = shift;
$this->terminate();
}
sub initialise( @ )
{
my $this = shift;
my %options = @_;
$this->{id} = $options{id} if ( defined($options{id}) );
$this->{logPath} = $options{logPath} if ( defined($options{logPath}) );
my $tempLogFile;
$tempLogFile = $this->{logPath}."/".$this->{id}.".log";
$tempLogFile = $options{logFile} if ( defined($options{logFile}) );
if ( my $logFile = $this->getTargettedEnv('LOG_FILE') )
{
$tempLogFile = $logFile;
}
my $tempLevel = INFO;
my $tempTermLevel = $this->{termLevel};
my $tempDatabaseLevel = $this->{databaseLevel};
my $tempFileLevel = $this->{fileLevel};
my $tempSyslogLevel = $this->{syslogLevel};
$tempTermLevel = $options{termLevel} if ( defined($options{termLevel}) );
if ( defined($options{databaseLevel}) )
{
$tempDatabaseLevel = $options{databaseLevel};
}
else
{
$tempDatabaseLevel = ZM_LOG_LEVEL_DATABASE;
}
if ( defined($options{fileLevel}) )
{
$tempFileLevel = $options{fileLevel};
}
else
{
$tempFileLevel = ZM_LOG_LEVEL_FILE;
}
if ( defined($options{syslogLevel}) )
{
$tempSyslogLevel = $options{syslogLevel};
}
else
{
$tempSyslogLevel = ZM_LOG_LEVEL_SYSLOG;
}
if ( defined($ENV{'LOG_PRINT'}) )
{
$tempTermLevel = $ENV{'LOG_PRINT'}? DEBUG : NOLOG;
}
my $level;
$tempLevel = $level if ( defined($level = $this->getTargettedEnv('LOG_LEVEL')) );
$tempTermLevel = $level if ( defined($level = $this->getTargettedEnv('LOG_LEVEL_TERM')) );
$tempDatabaseLevel = $level if ( defined($level = $this->getTargettedEnv('LOG_LEVEL_DATABASE')) );
$tempFileLevel = $level if ( defined($level = $this->getTargettedEnv('LOG_LEVEL_FILE')) );
$tempSyslogLevel = $level if ( defined($level = $this->getTargettedEnv('LOG_LEVEL_SYSLOG')) );
if ( ZM_LOG_DEBUG )
{
foreach my $target ( split( /\|/, ZM_LOG_DEBUG_TARGET ) )
{
if ( $target eq $this->{id} || $target eq "_".$this->{id} || $target eq $this->{idRoot} || $target eq "_".$this->{idRoot} || $target eq "" )
{
if ( ZM_LOG_DEBUG_LEVEL > NOLOG )
{
$tempLevel = $this->limit( ZM_LOG_DEBUG_LEVEL );
if ( ZM_LOG_DEBUG_FILE ne "" )
{
$tempLogFile = ZM_LOG_DEBUG_FILE;
$tempFileLevel = $tempLevel;
}
}
}
}
}
$this->logFile( $tempLogFile );
$this->termLevel( $tempTermLevel );
$this->databaseLevel( $tempDatabaseLevel );
$this->fileLevel( $tempFileLevel );
$this->syslogLevel( $tempSyslogLevel );
$this->level( $tempLevel );
$this->{trace} = $options{trace} if ( defined($options{trace}) );
$this->{autoFlush} = $ENV{'LOG_FLUSH'}?1:0 if ( defined($ENV{'LOG_FLUSH'}) );
$this->{initialised} = !undef;
Debug( "LogOpts: level=".$codes{$this->{level}}."/".$codes{$this->{effectiveLevel}}.", screen=".$codes{$this->{termLevel}}.", database=".$codes{$this->{databaseLevel}}.", logfile=".$codes{$this->{fileLevel}}."->".$this->{logFile}.", syslog=".$codes{$this->{syslogLevel}} );
}
sub terminate()
{
my $this = shift;
return unless ( $this->{initialised} );
$this->syslogLevel( NOLOG );
$this->fileLevel( NOLOG );
$this->databaseLevel( NOLOG );
$this->termLevel( NOLOG );
}
sub reinitialise()
{
my $this = shift;
return unless ( $this->{initialised} );
# Bit of a nasty hack to reopen connections to log files and the DB
my $syslogLevel = $this->syslogLevel();
$this->syslogLevel( NOLOG );
my $logfileLevel = $this->fileLevel();
$this->fileLevel( NOLOG );
my $databaseLevel = $this->databaseLevel();
$this->databaseLevel( NOLOG );
my $screenLevel = $this->termLevel();
$this->termLevel( NOLOG );
$this->syslogLevel( $syslogLevel ) if ( $syslogLevel > NOLOG );
$this->fileLevel( $logfileLevel ) if ( $logfileLevel > NOLOG );
$this->databaseLevel( $databaseLevel ) if ( $databaseLevel > NOLOG );
$this->databaseLevel( $databaseLevel ) if ( $databaseLevel > NOLOG );
}
sub limit( $ )
{
my $this = shift;
my $level = shift;
return( DEBUG ) if ( $level > DEBUG );
return( NOLOG ) if ( $level < NOLOG );
return( $level );
}
sub getTargettedEnv( $ )
{
my $this = shift;
my $name = shift;
my $envName = $name."_".$this->{id};
my $value;
$value = $ENV{$envName} if ( defined($ENV{$envName}) );
if ( !defined($value) && $this->{id} ne $this->{idRoot} )
{
$envName = $name."_".$this->{idRoot};
$value = $ENV{$envName} if ( defined($ENV{$envName}) );
}
if ( !defined($value) )
{
$value = $ENV{$name} if ( defined($ENV{$name}) );
}
if ( defined($value) )
{
( $value ) = $value =~ m/(.*)/;
}
return( $value );
}
sub fetch()
{
if ( !$logger )
{
$logger = ZoneMinder::Logger->new();
$logger->initialise( 'syslogLevel'=>INFO, 'databaseLevel'=>INFO );
}
return( $logger );
}
sub id( ;$ )
{
my $this = shift;
my $id = shift;
if ( defined($id) && $this->{id} ne $id )
{
# Remove whitespace
$id =~ s/\S//g;
# Replace non-alphanum with underscore
$id =~ s/[^a-zA-Z_]/_/g;
if ( $this->{id} ne $id )
{
$this->{id} = $this->{idRoot} = $id;
if ( $id =~ /^([^_]+)_(.+)$/ )
{
$this->{idRoot} = $1;
$this->{idArgs} = $2;
}
}
}
return( $this->{id} );
}
sub level( ;$ )
{
my $this = shift;
my $level = shift;
if ( defined($level) )
{
$this->{level} = $this->limit( $level );
$this->{effectiveLevel} = NOLOG;
$this->{effectiveLevel} = $this->{termLevel} if ( $this->{termLevel} > $this->{effectiveLevel} );
$this->{effectiveLevel} = $this->{databaseLevel} if ( $this->{databaseLevel} > $this->{effectiveLevel} );
$this->{effectiveLevel} = $this->{fileLevel} if ( $this->{fileLevel} > $this->{effectiveLevel} );
$this->{effectiveLevel} = $this->{syslogLevel} if ( $this->{syslogLevel} > $this->{level} );
$this->{effectiveLevel} = $this->{level} if ( $this->{effectiveLevel} > $this->{level} );
}
return( $this->{level} );
}
sub debugOn()
{
my $this = shift;
return( $this->{effectiveLevel} >= DEBUG );
}
sub trace( ;$ )
{
my $this = shift;
$this->{trace} = $_[0] if ( @_ );
return( $this->{trace} );
}
sub termLevel( ;$ )
{
my $this = shift;
my $termLevel = shift;
if ( defined($termLevel) )
{
$termLevel = NOLOG if ( !$this->{hasTerm} );
$termLevel = $this->limit( $termLevel );
if ( $this->{termLevel} != $termLevel )
{
$this->{termLevel} = $termLevel;
}
}
return( $this->{termLevel} );
}
sub databaseLevel( ;$ )
{
my $this = shift;
my $databaseLevel = shift;
if ( defined($databaseLevel) )
{
$databaseLevel = $this->limit( $databaseLevel );
if ( $this->{databaseLevel} != $databaseLevel )
{
if ( $databaseLevel > NOLOG && $this->{databaseLevel} <= NOLOG )
{
if ( !$this->{dbh} )
{
my ( $host, $port ) = ( ZM_DB_HOST =~ /^([^:]+)(?::(.+))?$/ );
if ( defined($port) )
{
$this->{dbh} = DBI->connect( "DBI:mysql:database=".ZM_DB_NAME.";host=".$host.";port=".$port, ZM_DB_USER, ZM_DB_PASS );
}
else
{
$this->{dbh} = DBI->connect( "DBI:mysql:database=".ZM_DB_NAME.";host=".ZM_DB_HOST, ZM_DB_USER, ZM_DB_PASS );
}
if ( !$this->{dbh} )
{
$databaseLevel = NOLOG;
Error( "Unable to write log entries to DB, can't connect to database '".ZM_DB_NAME."' on host '".ZM_DB_HOST."'" );
}
else
{
$this->{dbh}->{AutoCommit} = 1;
Fatal( "Can't set AutoCommit on in database connection" ) unless( $this->{dbh}->{AutoCommit} );
$this->{dbh}->{mysql_auto_reconnect} = 1;
Fatal( "Can't set mysql_auto_reconnect on in database connection" ) unless( $this->{dbh}->{mysql_auto_reconnect} );
$this->{dbh}->trace( 0 );
}
}
}
elsif ( $databaseLevel <= NOLOG && $this->{databaseLevel} > NOLOG )
{
if ( $this->{dbh} )
{
$this->{dbh}->disconnect();
undef($this->{dbh});
}
}
$this->{databaseLevel} = $databaseLevel;
}
}
return( $this->{databaseLevel} );
}
sub fileLevel( ;$ )
{
my $this = shift;
my $fileLevel = shift;
if ( defined($fileLevel) )
{
$fileLevel = $this->limit($fileLevel);
if ( $this->{fileLevel} != $fileLevel )
{
$this->closeFile() if ( $this->{fileLevel} > NOLOG );
$this->{fileLevel} = $fileLevel;
$this->openFile() if ( $this->{fileLevel} > NOLOG );
}
}
return( $this->{fileLevel} );
}
sub syslogLevel( ;$ )
{
my $this = shift;
my $syslogLevel = shift;
if ( defined($syslogLevel) )
{
$syslogLevel = $this->limit($syslogLevel);
if ( $this->{syslogLevel} != $syslogLevel )
{
$this->closeSyslog() if ( $syslogLevel <= NOLOG && $this->{syslogLevel} > NOLOG );
$this->openSyslog() if ( $syslogLevel > NOLOG && $this->{syslogLevel} <= NOLOG );
$this->{syslogLevel} = $syslogLevel;
}
}
return( $this->{syslogLevel} );
}
sub openSyslog()
{
my $this = shift;
openlog( $this->{id}, "pid", "local1" );
}
sub closeSyslog()
{
my $this = shift;
#closelog();
}
sub logFile( $ )
{
my $this = shift;
my $logFile = shift;
if ( $logFile =~ /^(.+)\+$/ )
{
$this->{logFile} = $1.'.'.$$;
}
else
{
$this->{logFile} = $logFile;
}
}
sub openFile()
{
my $this = shift;
if ( open( LOGFILE, ">>".$this->{logFile} ) )
{
LOGFILE->autoflush() if ( $this->{autoFlush} );
my $webUid = (getpwnam( ZM_WEB_USER ))[2];
my $webGid = (getgrnam( ZM_WEB_GROUP ))[2];
if ( $> == 0 )
{
chown( $webUid, $webGid, $this->{logFile} ) or Fatal( "Can't change permissions on log file '".$this->{logFile}."': $!" )
}
}
else
{
$this->fileLevel( NOLOG );
Error( "Can't open log file '".$this->{logFile}."': $!" );
}
}
sub closeFile()
{
my $this = shift;
close( LOGFILE ) if ( fileno(LOGFILE) );
}
sub logPrint( $;$ )
{
my $this = shift;
my $level = shift;
my $string = shift;
if ( $level <= $this->{effectiveLevel} )
{
$string =~ s/[\r\n]+$//g;
my $code = $codes{$level};
my ($seconds, $microseconds) = gettimeofday();
my $message = sprintf( "%s.%06d %s[%d].%s [%s]", strftime( "%x %H:%M:%S", localtime( $seconds ) ), $microseconds, $this->{id}, $$, $code, $string );
if ( $this->{trace} )
{
$message = Carp::shortmess( $message );
}
else
{
$message = $message."\n";
}
syslog( $priorities{$level}, $code." [%s]", $string ) if ( $level <= $this->{syslogLevel} );
print( LOGFILE $message ) if ( $level <= $this->{fileLevel} );
if ( $level <= $this->{databaseLevel} )
{
my $sql = "insert into Logs ( TimeKey, Component, Pid, Level, Code, Message, File, Line ) values ( ?, ?, ?, ?, ?, ?, ?, NULL )";
$this->{sth} = $this->{dbh}->prepare_cached( $sql );
if ( !$this->{sth} )
{
$this->{databaseLevel} = NOLOG;
Fatal( "Can't prepare log entry '$sql': ".$this->{dbh}->errstr() );
}
my $res = $this->{sth}->execute( $seconds+($microseconds/1000000.0), $this->{id}, $$, $level, $code, $string, $this->{fileName} );
if ( !$res )
{
$this->{databaseLevel} = NOLOG;
Fatal( "Can't execute log entry '$sql': ".$this->{sth}->errstr() );
}
}
print( STDERR $message ) if ( $level <= $this->{termLevel} );
}
}
sub logInit( ;@ )
{
my %options = @_ ? @_ : ();
$logger = ZoneMinder::Logger->new() if ( !$logger );
$logger->initialise( %options );
}
sub logReinit()
{
fetch()->reinitialise();
}
sub logTerm
{
return unless ( $logger );
$logger->terminate();
$logger = undef;
}
sub logHupHandler()
{
my $savedErrno = $!;
return unless( $logger );
fetch()->reinitialise();
logSetSignal();
$! = $savedErrno;
}
sub logSetSignal()
{
$SIG{HUP} = \&logHupHandler;
}
sub logClearSignal()
{
$SIG{HUP} = 'DEFAULT';
}
sub logLevel( ;$ )
{
return( fetch()->level( @_ ) );
}
sub logDebugging()
{
return( fetch()->debugOn() );
}
sub logTermLevel( ;$ )
{
return( fetch()->termLevel( @_ ) );
}
sub logDatabaseLevel( ;$ )
{
return( fetch()->databaseLevel( @_ ) );
}
sub logFileLevel( ;$ )
{
return( fetch()->fileLevel( @_ ) );
}
sub logSyslogLevel( ;$ )
{
return( fetch()->syslogLevel( @_ ) );
}
sub Mark( ;$$ )
{
my $level = shift;
$level = DEBUG unless( defined($level) );
my $tag = "Mark";
fetch()->logPrint( $level, $tag );
}
sub Dump( \$;$ )
{
my $var = shift;
my $label = shift;
$label = "VAR" unless( defined($label) );
fetch()->logPrint( DEBUG, Data::Dumper->Dump( [ $var ], [ $label ] ) );
}
sub Debug( @ )
{
fetch()->logPrint( DEBUG, @_ );
}
sub Info( @ )
{
fetch()->logPrint( INFO, @_ );
}
sub Warning( @ )
{
fetch()->logPrint( WARNING, @_ );
}
sub Error( @ )
{
fetch()->logPrint( ERROR, @_ );
}
sub Fatal( @ )
{
fetch()->logPrint( FATAL, @_ );
exit( -1 );
}
sub Panic( @ )
{
fetch()->logPrint( PANIC, @_ );
confess( $_[0] );
}
1;
__END__
=head1 NAME
ZoneMinder::Logger - ZoneMinder Logger module
=head1 SYNOPSIS
use ZoneMinder::Logger;
use ZoneMinder::Logger qw(:all);
logInit( "myproc", DEBUG );
Debug( "This is what is happening" );
Info( "Something interesting is happening" );
Warning( "Something might be going wrong." );
Error( "Something has gone wrong!!" );
Fatal( "Something has gone badly wrong, gotta stop!!" );
Panic( "Something fundamental has gone wrong, die with stack trace );
=head1 DESCRIPTION
The ZoneMinder:Logger module contains the common debug and error reporting routines used by the ZoneMinder scripts.
To use debug in your scripts you need to include this module, and call logInit. Thereafter you can sprinkle Debug or Error calls etc throughout the code safe in the knowledge that they will be reported to your error log, and possibly the syslogger, in a meaningful and consistent format.
Debug is discussed in terms of levels where 1 and above (currently only 1 for scripts) is considered debug, 0 is considered as informational, -1 is a warning, -2 is an error and -3 is a fatal error or panic. Where levels are mentioned below as thresholds the value given and anything with a lower level (ie. more serious) will be included.
=head1 METHODS
=over 4
=item logInit ( $id, %options );
Initialises the debug and prepares the logging for forthcoming operations. If not called explicitly it will be called by the first debug call in your script, but with default (and probably meaningless) options. The only compulsory arguments are $id which must be a string that will identify debug coming from this script in mixed logs. Other options may be provided as below,
Option Default Description
--------- --------- -----------
level INFO The initial debug level which defines which statements are output and which are ignored
trace 0 Whether to use the Carp::shortmess format in debug statements to identify where the debug was emitted from
termLevel NOLOG At what level debug is written to terminal standard error, 0 is no, 1 is yes, 2 is write only if terminal
databaseLevel INFO At what level debug is written to the Log table in the database;
fileLevel NOLOG At what level debug is written to a log file of the format of <id>.log in the standard log directory.
syslogLevel INFO At what level debug is written to syslog.
To disable any of these action entirely set to NOLOG
=item logTerm ();
Used to end the debug session and close any logs etc. Not usually necessary.
=item $id = logId ( [$id] );
=item $level = logLevel ( [$level] );
=item $trace = logTrace ( [$trace] );
=item $level = logLevel ( [$level] );
=item $termLevel = logTermLevel ( [$termLevel] );
=item $databaseLevel = logDatabaseLevel ( [$databaseLevel] );
=item $fileLevel = logFileLevel ( [$fileLevel] );
=item $syslogLevel = logSyslogLevel ( [$syslogLevel] );
These methods can be used to get and set the current settings as defined in logInit.
=item Debug( $string );
This method will output a debug message if the current debug level permits it, otherwise does nothing. This message will be tagged with the DBG string in the logs.
=item Info( $string );
This method will output an informational message if the current debug level permits it, otherwise does nothing. This message will be tagged with the INF string in the logs.
=item Warning( $string );
This method will output a warning message if the current debug level permits it, otherwise does nothing. This message will be tagged with the WAR string in the logs.
=item Error( $string );
This method will output an error message if the current debug level permits it, otherwise does nothing. This message will be tagged with the ERR string in the logs.
=item Fatal( $string );
This method will output a fatal error message and then die if the current debug level permits it, otherwise does nothing. This message will be tagged with the FAT string in the logs.
=item Panic( $string );
This method will output a panic error message and then die with a stack trace if the current debug level permits it, otherwise does nothing. This message will be tagged with the PNC string in the logs.
=head2 EXPORT
None by default.
The :constants tag will export the debug constants which define the various levels of debug
The :variables tag will export variables containing the current debug id and level
The :functions tag will export the debug functions. This or :all is what you would normally use.
The :all tag will export all above symbols.
=head1 SEE ALSO
Carp
Sys::Syslog
The ZoneMinder README file Troubleshooting section for an extended discussion on the use and configuration of syslog with ZoneMinder.
http://www.zoneminder.com
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,873 +0,0 @@
# ==========================================================================
#
# ZoneMinder Memory Access Module, $Date: 2008-02-25 10:13:13 +0000 (Mon, 25 Feb 2008) $, $Revision: 2323 $
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the common definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::Memory;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'constants' => [ qw(
STATE_IDLE
STATE_PREALARM
STATE_ALARM
STATE_ALERT
STATE_TAPE
ACTION_GET
ACTION_SET
ACTION_RELOAD
ACTION_SUSPEND
ACTION_RESUME
TRIGGER_CANCEL
TRIGGER_ON
TRIGGER_OFF
) ],
'functions' => [ qw(
zmMemVerify
zmMemInvalidate
zmMemRead
zmMemWrite
zmMemTidy
zmGetMonitorState
zmGetAlarmLocation
zmIsAlarmed
zmInAlarm
zmHasAlarmed
zmGetLastEvent
zmGetLastWriteTime
zmGetLastReadTime
zmMonitorEnable
zmMonitorDisable
zmMonitorSuspend
zmMonitorResume
zmTriggerEventOn
zmTriggerEventOff
zmTriggerEventCancel
zmTriggerShowtext
) ],
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Shared Memory Facilities
#
# ==========================================================================
use ZoneMinder::Config qw(:all);
use ZoneMinder::Logger qw(:all);
use constant STATE_IDLE => 0;
use constant STATE_PREALARM => 1;
use constant STATE_ALARM => 2;
use constant STATE_ALERT => 3;
use constant STATE_TAPE => 4;
use constant ACTION_GET => 1;
use constant ACTION_SET => 2;
use constant ACTION_RELOAD => 4;
use constant ACTION_SUSPEND => 16;
use constant ACTION_RESUME => 32;
use constant TRIGGER_CANCEL => 0;
use constant TRIGGER_ON => 1;
use constant TRIGGER_OFF => 2;
use Storable qw( freeze thaw );
if ( "yes" eq 'yes' ) # 'yes' if memory is mmapped
{
require ZoneMinder::Memory::Mapped;
ZoneMinder::Memory::Mapped->import();
}
else
{
require ZoneMinder::Memory::Shared;
ZoneMinder::Memory::Shared->import();
}
# Native architecture
our $arch = int(3.2*length(~0));
our $native = $arch/8;
our $mem_seq = 0;
our $mem_data =
{
"shared_data" => { "type"=>"SharedData", "seq"=>$mem_seq++, "contents"=> {
"size" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"last_write_index" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"last_read_index" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"state" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"last_event" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"action" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"brightness" => { "type"=>"int32", "seq"=>$mem_seq++ },
"hue" => { "type"=>"int32", "seq"=>$mem_seq++ },
"colour" => { "type"=>"int32", "seq"=>$mem_seq++ },
"contrast" => { "type"=>"int32", "seq"=>$mem_seq++ },
"alarm_x" => { "type"=>"int32", "seq"=>$mem_seq++ },
"alarm_y" => { "type"=>"int32", "seq"=>$mem_seq++ },
"valid" => { "type"=>"uint8", "seq"=>$mem_seq++ },
"active" => { "type"=>"uint8", "seq"=>$mem_seq++ },
"signal" => { "type"=>"uint8", "seq"=>$mem_seq++ },
"format" => { "type"=>"uint8", "seq"=>$mem_seq++ },
"imagesize" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"epadding1" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"epadding2" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"last_write_time" => { "type"=>"time_t64", "seq"=>$mem_seq++ },
"last_read_time" => { "type"=>"time_t64", "seq"=>$mem_seq++ },
"control_state" => { "type"=>"uint8[256]", "seq"=>$mem_seq++ },
}
},
"trigger_data" => { "type"=>"TriggerData", "seq"=>$mem_seq++, "contents"=> {
"size" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"trigger_state" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"trigger_score" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"padding" => { "type"=>"uint32", "seq"=>$mem_seq++ },
"trigger_cause" => { "type"=>"int8[32]", "seq"=>$mem_seq++ },
"trigger_text" => { "type"=>"int8[256]", "seq"=>$mem_seq++ },
"trigger_showtext" => { "type"=>"int8[256]", "seq"=>$mem_seq++ },
}
},
"end" => { "seq"=>$mem_seq++, "size"=> 0 }
};
our $mem_size = 0;
our $mem_verified = {};
sub zmMemInit
{
my $offset = 0;
foreach my $section_data ( sort { $a->{seq} <=> $b->{seq} } values( %$mem_data ) )
{
$section_data->{offset} = $offset;
$section_data->{align} = 0;
if ( $section_data->{align} > 1 )
{
my $rem = $offset % $section_data->{align};
if ( $rem > 0 )
{
$offset += ($section_data->{align} - $rem);
}
}
foreach my $member_data ( sort { $a->{seq} <=> $b->{seq} } values( %{$section_data->{contents}} ) )
{
if ( $member_data->{type} eq "long" || $member_data->{type} eq "ulong" || $member_data->{type} eq "size_t")
{
$member_data->{size} = $member_data->{align} = $native;
}
elsif( $member_data->{type} eq "int64" || $member_data->{type} eq "uint64" || $member_data->{type} eq "time_t64")
{
$member_data->{size} = $member_data->{align} = 8;
}
elsif ( $member_data->{type} eq "int32" || $member_data->{type} eq "uint32" || $member_data->{type} eq "bool4" )
{
$member_data->{size} = $member_data->{align} = 4;
}
elsif ($member_data->{type} eq "int16" || $member_data->{type} eq "uint16")
{
$member_data->{size} = $member_data->{align} = 2;
}
elsif ( $member_data->{type} eq "int8" || $member_data->{type} eq "uint8" || $member_data->{type} eq "bool1" )
{
$member_data->{size} = $member_data->{align} = 1;
}
elsif ( $member_data->{type} =~ /^u?int8\[(\d+)\]$/ )
{
$member_data->{size} = $1;
$member_data->{align} = 1;
}
else
{
Fatal( "Unexpected type '".$member_data->{type}."' found in shared data definition." );
}
if ( $member_data->{align} > 1 && ($offset%$member_data->{align}) > 0 )
{
$offset += ($member_data->{align} - ($offset%$member_data->{align}));
}
$member_data->{offset} = $offset;
$offset += $member_data->{size}
}
$section_data->{size} = $offset - $section_data->{offset};
}
$mem_size = $offset;
}
&zmMemInit();
sub zmMemVerify( $ )
{
my $monitor = shift;
if ( !zmMemAttach( $monitor, $mem_size ) )
{
return( undef );
}
my $mem_key = zmMemKey( $monitor );
if ( !defined($mem_verified->{$mem_key}) )
{
my $sd_size = zmMemRead( $monitor, "shared_data:size", 1 );
if ( $sd_size != $mem_data->{shared_data}->{size} )
{
if ( $sd_size )
{
Error( "Shared data size conflict in shared_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{shared_data}->{size}.", got ".$sd_size );
}
else
{
Debug( "Shared data size conflict in shared_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{shared_data}->{size}.", got ".$sd_size );
}
return( undef );
}
my $td_size = zmMemRead( $monitor, "trigger_data:size", 1 );
if ( $td_size != $mem_data->{trigger_data}->{size} )
{
if ( $td_size )
{
Error( "Shared data size conflict in trigger_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{triggger_data}->{size}.", got ".$td_size );
}
else
{
Debug( "Shared data size conflict in trigger_data for monitor ".$monitor->{Name}.", expected ".$mem_data->{triggger_data}->{size}.", got ".$td_size );
}
return( undef );
}
$mem_verified->{$mem_key} = !undef;
}
return( !undef );
}
sub zmMemRead( $$;$ )
{
my $monitor = shift;
my $fields = shift;
my $nocheck = shift;
if ( !($nocheck || zmMemVerify( $monitor )) )
{
return( undef );
}
if ( !ref($fields) )
{
$fields = [ $fields ];
}
my @values;
foreach my $field ( @$fields )
{
my ( $section, $element ) = split( /[\/:.]/, $field );
Fatal( "Invalid shared data selector '$field'" ) if ( !$section || !$element );
my $offset = $mem_data->{$section}->{contents}->{$element}->{offset};
my $type = $mem_data->{$section}->{contents}->{$element}->{type};
my $size = $mem_data->{$section}->{contents}->{$element}->{size};
my $data = zmMemGet( $monitor, $offset, $size );
if ( !defined($data) )
{
Error( "Unable to read '$field' from memory for monitor ".$monitor->{Id} );
zmMemInvalidate( $monitor );
return( undef );
}
my $value;
if ( $type eq "long" )
{
( $value ) = unpack( "l!", $data );
}
elsif ( $type eq "ulong" || $type eq "size_t" )
{
( $value ) = unpack( "L!", $data );
}
elsif ( $type eq "int64" || $type eq "time_t64" )
{
# The "q" type is only available on 64bit platforms, so use native.
( $value ) = unpack( "l!", $data );
}
elsif ( $type eq "uint64" )
{
# The "q" type is only available on 64bit platforms, so use native.
( $value ) = unpack( "L!", $data );
}
elsif ( $type eq "int32" )
{
( $value ) = unpack( "l", $data );
}
elsif ( $type eq "uint32" || $type eq "bool4" )
{
( $value ) = unpack( "L", $data );
}
elsif ( $type eq "int16" )
{
( $value ) = unpack( "s", $data );
}
elsif ( $type eq "uint16" )
{
( $value ) = unpack( "S", $data );
}
elsif ( $type eq "int8" )
{
( $value ) = unpack( "c", $data );
}
elsif ( $type eq "uint8" || $type eq "bool1" )
{
( $value ) = unpack( "C", $data );
}
elsif ( $type =~ /^int8\[\d+\]$/ )
{
( $value ) = unpack( "Z".$size, $data );
}
elsif ( $type =~ /^uint8\[\d+\]$/ )
{
( $value ) = unpack( "C".$size, $data );
}
else
{
Fatal( "Unexpected type '".$type."' found for '".$field."'" );
}
push( @values, $value );
}
if ( wantarray() )
{
return( @values )
}
return( $values[0] );
}
sub zmMemInvalidate( $ )
{
my $monitor = shift;
my $mem_key = zmMemKey($monitor);
if ( $mem_key )
{
delete $mem_verified->{$mem_key};
zmMemDetach( $monitor );
}
}
sub zmMemTidy()
{
zmMemClean();
}
sub zmMemWrite( $$;$ )
{
my $monitor = shift;
my $field_values = shift;
my $nocheck = shift;
if ( !($nocheck || zmMemVerify( $monitor )) )
{
return( undef );
}
while ( my ( $field, $value ) = each( %$field_values ) )
{
my ( $section, $element ) = split( /[\/:.]/, $field );
Fatal( "Invalid shared data selector '$field'" ) if ( !$section || !$element );
my $offset = $mem_data->{$section}->{contents}->{$element}->{offset};
my $type = $mem_data->{$section}->{contents}->{$element}->{type};
my $size = $mem_data->{$section}->{contents}->{$element}->{size};
my $data;
if ( $type eq "long" )
{
$data = pack( "l!", $value );
}
elsif ( $type eq "ulong" || $type eq "size_t" )
{
$data = pack( "L!", $value );
}
elsif ( $type eq "int64" || $type eq "time_t64" )
{
# The "q" type is only available on 64bit platforms, so use native.
$data = pack( "l!", $value );
}
elsif ( $type eq "uint64" )
{
# The "q" type is only available on 64bit platforms, so use native.
$data = pack( "L!", $value );
}
elsif ( $type eq "int32" )
{
$data = pack( "l", $value );
}
elsif ( $type eq "uint32" || $type eq "bool4" )
{
$data = pack( "L", $value );
}
elsif ( $type eq "int16" )
{
$data = pack( "s", $value );
}
elsif ( $type eq "uint16" )
{
$data = pack( "S", $value );
}
elsif ( $type eq "int8" )
{
$data = pack( "c", $value );
}
elsif ( $type eq "uint8" || $type eq "bool1" )
{
$data = pack( "C", $value );
}
elsif ( $type =~ /^int8\[\d+\]$/ )
{
$data = pack( "Z".$size, $value );
}
elsif ( $type =~ /^uint8\[\d+\]$/ )
{
$data = pack( "C".$size, $value );
}
else
{
Fatal( "Unexpected type '".$type."' found for '".$field."'" );
}
if ( !zmMemPut( $monitor, $offset, $size, $data ) )
{
Error( "Unable to write '$value' to '$field' in memory for monitor ".$monitor->{Id} );
zmMemInvalidate( $monitor );
return( undef );
}
}
return( !undef );
}
sub zmGetMonitorState( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, "shared_data:state" ) );
}
sub zmGetAlarmLocation( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, [ "shared_data:alarm_x", "shared_data:alarm_y" ] ) );
}
sub zmSetControlState( $$ )
{
my $monitor = shift;
my $control_state = shift;
zmMemWrite( $monitor, { "shared_data:control_state" => $control_state } );
}
sub zmGetControlState( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, "shared_data:control_state" ) );
}
sub zmSaveControlState( $$ )
{
my $monitor = shift;
my $control_state = shift;
zmSetControlState( $monitor, freeze( $control_state ) );
}
sub zmRestoreControlState( $ )
{
my $monitor = shift;
return( thaw( zmGetControlState( $monitor ) ) );
}
sub zmIsAlarmed( $ )
{
my $monitor = shift;
my $state = zmGetMonitorState( $monitor );
return( $state == STATE_ALARM );
}
sub zmInAlarm( $ )
{
my $monitor = shift;
my $state = zmGetMonitorState( $monitor );
return( $state == STATE_ALARM || $state == STATE_ALERT );
}
sub zmHasAlarmed( $$ )
{
my $monitor = shift;
my $last_event_id = shift;
my ( $state, $last_event ) = zmMemRead( $monitor, [ "shared_data:state", "shared_data:last_event" ] );
if ( $state == STATE_ALARM || $state == STATE_ALERT )
{
return( $last_event );
}
elsif( $last_event != $last_event_id )
{
return( $last_event );
}
return( undef );
}
sub zmGetLastEvent( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, "shared_data:last_event" ) );
}
sub zmGetLastWriteTime( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, "shared_data:last_write_time" ) );
}
sub zmGetLastReadTime( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, "shared_data:last_read_time" ) );
}
sub zmGetMonitorActions( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, "shared_data:action" ) );
}
sub zmMonitorEnable( $ )
{
my $monitor = shift;
my $action = zmMemRead( $monitor, "shared_data:action" );
$action |= ACTION_SUSPEND;
zmMemWrite( $monitor, { "shared_data:action" => $action } );
}
sub zmMonitorDisable( $ )
{
my $monitor = shift;
my $action = zmMemRead( $monitor, "shared_data:action" );
$action |= ACTION_RESUME;
zmMemWrite( $monitor, { "shared_data:action" => $action } );
}
sub zmMonitorSuspend( $ )
{
my $monitor = shift;
my $action = zmMemRead( $monitor, "shared_data:action" );
$action |= ACTION_SUSPEND;
zmMemWrite( $monitor, { "shared_data:action" => $action } );
}
sub zmMonitorResume( $ )
{
my $monitor = shift;
my $action = zmMemRead( $monitor, "shared_data:action" );
$action |= ACTION_RESUME;
zmMemWrite( $monitor, { "shared_data:action" => $action } );
}
sub zmGetTriggerState( $ )
{
my $monitor = shift;
return( zmMemRead( $monitor, "trigger_data:trigger_state" ) );
}
sub zmTriggerEventOn( $$$;$$ )
{
my $monitor = shift;
my $score = shift;
my $cause = shift;
my $text = shift;
my $showtext = shift;
my $values = {
"trigger_data:trigger_score" => $score,
"trigger_data:trigger_cause" => $cause,
};
$values->{"trigger_data:trigger_text"} = $text if ( defined($text) );
$values->{"trigger_data:trigger_showtext"} = $showtext if ( defined($showtext) );
$values->{"trigger_data:trigger_state"} = TRIGGER_ON; # Write state last so event not read incomplete
zmMemWrite( $monitor, $values );
}
sub zmTriggerEventOff( $ )
{
my $monitor = shift;
my $values = {
"trigger_data:trigger_state" => TRIGGER_OFF,
"trigger_data:trigger_score" => 0,
"trigger_data:trigger_cause" => "",
"trigger_data:trigger_text" => "",
"trigger_data:trigger_showtext" => "",
};
zmMemWrite( $monitor, $values );
}
sub zmTriggerEventCancel( $ )
{
my $monitor = shift;
my $values = {
"trigger_data:trigger_state" => TRIGGER_CANCEL,
"trigger_data:trigger_score" => 0,
"trigger_data:trigger_cause" => "",
"trigger_data:trigger_text" => "",
"trigger_data:trigger_showtext" => "",
};
zmMemWrite( $monitor, $values );
}
sub zmTriggerShowtext( $$ )
{
my $monitor = shift;
my $showtext = shift;
my $values = {
"trigger_data:trigger_showtext" => $showtext,
};
zmMemWrite( $monitor, $values );
}
1;
__END__
=head1 NAME
ZoneMinder::MappedMem - ZoneMinder Mapped Memory access module
=head1 SYNOPSIS
use ZoneMinder::MappedMem;
use ZoneMinder::MappedMem qw(:all);
if ( zmMemVerify( $monitor ) )
{
$state = zmGetMonitorState( $monitor );
if ( $state == STATE_ALARM )
{
...
}
}
( $lri, $lwi ) = zmMemRead( $monitor, [ "shared_data:last_read_index", "shared_data:last_write_index" ] );
zmMemWrite( $monitor, { "trigger_data:trigger_showtext" => "Some Text" } );
=head1 DESCRIPTION
The ZoneMinder:MappedMem module contains methods for accessing and writing to mapped memory as well as helper methods for common operations.
The core elements of ZoneMinder used mapped memory to allow multiple access to resources. Although ZoneMinder scripts have used this information before, up until now it was difficult to access and prone to errors. This module introduces a common API for mapped memory access (both reading and writing) making it a lot easier to customise scripts or even create your own.
All the methods listed below require a 'monitor' parameter. This must be a reference to a hash with at least the 'Id' field set to the monitor id of the mapped memory you wish to access. Using database methods to select the monitor details will also return this kind of data. Some of the mapped memory methods will add and amend new fields to this hash.
=over 4
=head1 METHODS
=item zmMemVerify ( $monitor );
Verify that the mapped memory of the monitor given exists and is valid. It will return an undefined value if it is not valid. You should generally call this method first before using any of the other methods, but most of the remaining methods will also do so if the memory has not already been verified.
=item zmMemInvalidate ( $monitor );
Following an error, reset the mapped memory ids and attempt to reverify on the next operation. This is mostly used when a mapped memory segment has gone away and been recreated with a different id.
=item zmMemRead ( $monitor, $readspec );
This method is used to read data from mapped memory attached to the given monitor. The mapped memory will be verified if it has not already been. The 'readspec' must either be a string of the form "<section>:<field>" or a reference to an array of strings of the same format. In the first case a single value is returned, in the latter case a list of values is return. Errors will cause undefined to be returned. The allowable sections and field names are described below.
=item zmMemWrite ( $monitor, $writespec );
This method is used to write data to mapped memory attached to the given monitor. The mapped memory will be verified if it has not already been. The 'writespec' must be a reference to a hash with keys of the form "<section>:<field>" and values as the data to be written. Errors will cause undefined to be returned, otherwise a non-undefined value will be returned. The allowable sections and field names are described below.
=item $state = zmGetMonitorState ( $monitor );
Return the current state of the given monitor. This is an integer value and can be compared with the STATE constants given below.
=item $event_id = zmGetLastEvent ( $monitor );
Return the event id of the last event that the monitor generated, or 0 if no event has been generated by the current monitor process.
=item zmIsAlarmed ( $monitor );
Return 1 if the monitor given is currently in an alarm state, 0 otherwise.
=item zmInAlarm ( $monitor );
Return 1 if the monitor given is currently in an alarm or alerted state, 0 otherwise.
=item zmHasAlarmed ( $monitor );
Return 1 if the given monitor is in an alarm state, or has been in an alarm state since the last call to this method.
=item ( $x, $y ) = zmGetAlarmLocation ( $monitor );
Return an x,y pair indicating the image co-ordinates of the centre of the last motion event generated by the given monitor. If no event has been generated by the current monitor process, or the alarm was not motion related, returns -1,-1.
=item zmGetLastWriteTime ( $monitor );
Returns the time (in utc seconds) since the last image was captured by the given monitor and written to shared memory, or 0 otherwise.
=item zmGetLastReadTime ( $monitor );
Returns the time (in utc seconds) since the last image was read from shared memory by the analysis daemon of the given monitor, or 0 otherwise or if the monitor is in monitor only mode.
=item zmMonitorSuspend ( $monitor );
Suspend the given monitor from generating events caused by motion. This method can be used to prevent camera actions such as panning or zooming from causing events. If configured to do so, the monitor may automatically resume after a defined period.
=item zmMonitorResume ( $monitor );
Allow the given monitor to resume generating events caused by motion.
=item zmTriggerEventOn ( $monitor, $score, $cause [, $text, $showtext ] );
Trigger the given monitor to generate an event. You must supply an event score and a cause string indicating the reason for the event. You may also supply a text string containing further details about the event and a showtext string which may be included in the timestamp annotation on any images captured during the event, if configured to do so.
=item zmTriggerEventOff ( $monitor );
Trigger the given monitor to not generate any events. This method does not cancel zmTriggerEventOn, but is exclusive to it. This method is intended to allow external triggers to prevent normal events being generated by monitors in the same way as zmMonitorSuspend but applies to all events and not just motion, and is intended for longer timescales than are appropriate for suspension.
=item zmTriggerEventCancel ( $monitor );
Cancel any previous trigger on or off requests. This stops a triggered alarm if it exists from a previous 'on' and allows events to be generated once more following a previous 'off'.
=item zmTriggerShowtext ( $monitor, $showtest );
Indicate that the given text should be displayed in the timestamp annotation on any images captured, if the format of the annotation string defined for the monitor permits.
=head1 DATA
The data fields in mapped memory that may be accessed are as follows. There are two main sections, shared_data which is general data and trigger_data which is used for event triggering. Whilst reading from these fields is harmless, extreme care must be taken when writing to mapped memory, especially in the shared_data section as this is normally written to only by monitor capture and analysis processes.
shared_data The general mapped memory section
size The size, in bytes, of this section
valid Flag indicating whether this section has been initialised
active Flag indicating whether this monitor is active (enabled/disabled)
signal Flag indicating whether this monitor is reciving a valid signal
state The current monitor state, see the STATE constants below
last_write_index The last index, in the image buffer, that an image has been saved to
last_read_index The last index, in the image buffer, that an image has been analysed from
last_write_time The time (in utc seconds) when the last image was captured
last_read_time The time (in utc seconds) when the last image was analysed
last_event The id of the last event generated by the monitor analysis process, 0 if none
action The monitor actions bitmask, see the ACTION constants below
brightness Read/write location for the current monitor brightness
hue Read/write location for the current monitor hue
colour Read/write location for the current monitor colour
contrast Read/write location for the current monitor contrast
alarm_x Image x co-ordinate (from left) of the centre of the last motion event, -1 if none
alarm_y Image y co-ordinate (from top) of the centre of the last motion event, -1 if none
trigger_data The triggered event mapped memory section
size The size, in bytes of this section
trigger_state The current trigger state, see the TRIGGER constants below
trigger_score The current triggered event score
trigger_cause The current triggered event cause string
trigger_text The current triggered event descriptive text string
trigger_showtext The triggered text that will be displayed on captured image timestamps
=head1 CONSTANTS
The following constants are used by the methods above, but can also be used by user scripts if required.
=item STATE_IDLE STATE_PREALARM STATE_ALARM STATE_ALERT STATE_TAPE
These constants define the state of the monitor with respect to alarms and events. They are used in the shared_data:state field.
=item ACTION_GET ACTION_SET ACTION_RELOAD ACTION_SUSPEND ACTION_RESUME
These constants defines the various values that can exist in the shared_data:action field. This is a bitmask which when non-zero defines an action that an executing monitor process should take. ACTION_GET requires that the current values of brightness, contrast, colour and hue are taken from the camera and written to the equivalent mapped memory fields. ACTION_SET implies the reverse, that the values in mapped memory should be written to the camera. ACTION_RELOAD signal that the monitor process should reload itself from the database in case any settings have changed there. ACTION_SUSPEND signals that a monitor should stop exaiming images for motion, though other alarms may still occur. ACTION_RESUME sigansl that a monitor should resume motion detectiom.
=item TRIGGER_CANCEL TRIGGER_ON TRIGGER_OFF
These constants are used in the definition of external triggers. TRIGGER_CANCEL is used to indicated that any previous trigger settings should be cancelled, TRIGGER_ON signals that an alarm should be created (or continued)) as a result of the current trigger and TRIGGER_OFF signals that the trigger should prevent any alarms from being generated. See the trigger methods above for further details.
=head1 EXPORT
None by default.
The :constants tag will export the mapped memory constants which mostly define enumerations for the variables held in memory
The :functions tag will export the mapped memory access functions.
The :all tag will export all above symbols.
=head1 SEE ALSO
http://www.zoneminder.com
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,169 +0,0 @@
# ==========================================================================
#
# ZoneMinder Mapped Memory Access Module, $Date: 2008-02-25 10:13:13 +0000 (Mon, 25 Feb 2008) $, $Revision: 2323 $
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the definitions and functions used when accessing mapped memory
#
package ZoneMinder::Memory::Mapped;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'functions' => [ qw(
zmMemKey
zmMemAttach
zmMemDetach
zmMemGet
zmMemPut
zmMemClean
) ],
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = @EXPORT_OK;
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Mapped Memory Facilities
#
# ==========================================================================
use ZoneMinder::Config qw(:all);
use ZoneMinder::Logger qw(:all);
use Sys::Mmap;
sub zmMemKey( $ )
{
my $monitor = shift;
return( defined($monitor->{MMapAddr})?$monitor->{MMapAddr}:undef );
}
sub zmMemAttach( $$ )
{
my $monitor = shift;
my $size = shift;
if ( !defined($monitor->{MMapAddr}) )
{
my $mmap_file = ZM_PATH_MAP."/zm.mmap.".$monitor->{Id};
if ( !open( MMAP, "+<".$mmap_file ) )
{
Error( sprintf( "Can't open memory map file '%s': $!\n", $mmap_file ) );
return( undef );
}
my $mmap = undef;
my $mmap_addr = mmap( $mmap, $size, PROT_READ|PROT_WRITE, MAP_SHARED, \*MMAP );
if ( !$mmap_addr || !$mmap )
{
Error( sprintf( "Can't mmap to file '%s': $!\n", $mmap_file ) );
return( undef );
}
$monitor->{MMapHandle} = \*MMAP;
$monitor->{MMapAddr} = $mmap_addr;
$monitor->{MMap} = \$mmap;
}
return( !undef );
}
sub zmMemDetach( $ )
{
my $monitor = shift;
if ( $monitor->{MMap} )
{
munmap( ${$monitor->{MMap}} );
delete $monitor->{MMap};
}
if ( $monitor->{MMapAddr} )
{
delete $monitor->{MMapAddr};
}
if ( $monitor->{MMapHandle} )
{
close( $monitor->{MMapHandle} );
delete $monitor->{MMapHandle};
}
}
sub zmMemGet( $$$ )
{
my $monitor = shift;
my $offset = shift;
my $size = shift;
my $mmap = $monitor->{MMap};
if ( !$mmap || !$$mmap )
{
Error( sprintf( "Can't read from mapped memory for monitor '%d', gone away?", $monitor->{Id} ) );
return( undef );
}
my $data = substr( $$mmap, $offset, $size );
return( $data );
}
sub zmMemPut( $$$$ )
{
my $monitor = shift;
my $offset = shift;
my $size = shift;
my $data = shift;
my $mmap = $monitor->{MMap};
if ( !$mmap || !$$mmap )
{
Error( sprintf( "Can't write mapped memory for monitor '%d', gone away?", $monitor->{Id} ) );
return( undef );
}
substr( $$mmap, $offset, $size ) = $data;
return( !undef );
}
sub zmMemClean
{
Debug( "Removing memory map files\n" );
my $mapPath = ZM_PATH_MAP."/zm.mmap.*";
foreach my $mapFile( glob( $mapPath ) )
{
( $mapFile ) = $mapFile =~ /^(.+)$/;
Debug( "Removing memory map file '$mapFile'\n" );
unlink( $mapFile );
}
}
1;
__END__

View File

@ -1,161 +0,0 @@
# ==========================================================================
#
# ZoneMinder Shared Memory Access Module, $Date: 2007-08-29 19:11:09 +0100 (Wed, 29 Aug 2007) $, $Revision: 2175 $
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the common definitions and functions used by the rest
# of the ZoneMinder scripts
#
package ZoneMinder::Memory::Shared;
use 5.006;
use strict;
use warnings;
require Exporter;
require ZoneMinder::Base;
our @ISA = qw(Exporter ZoneMinder::Base);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use ZoneMinder ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = (
'functions' => [ qw(
zmMemKey
zmMemAttach
zmMemDetach
zmMemGet
zmMemPut
zmMemClean
) ],
);
push( @{$EXPORT_TAGS{all}}, @{$EXPORT_TAGS{$_}} ) foreach keys %EXPORT_TAGS;
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = @EXPORT_OK;
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Shared Memory Facilities
#
# ==========================================================================
use ZoneMinder::Config qw(:all);
use ZoneMinder::Logger qw(:all);
sub zmMemKey( $ )
{
my $monitor = shift;
return( defined($monitor->{ShmKey})?$monitor->{ShmKey}:undef );
}
sub zmMemAttach( $$ )
{
my $monitor = shift;
my $size = shift;
if ( !defined($monitor->{ShmId}) )
{
my $shm_key = (hex(ZM_SHM_KEY)&0xffff0000)|$monitor->{Id};
my $shm_id = shmget( $shm_key, $size, 0 );
if ( !defined($shm_id) )
{
Error( sprintf( "Can't get shared memory id '%x', %d: $!\n", $shm_key, $monitor->{Id} ) );
return( undef );
}
$monitor->{ShmKey} = $shm_key;
$monitor->{ShmId} = $shm_id;
}
return( !undef );
}
sub zmMemDetach( $ )
{
my $monitor = shift;
delete $monitor->{ShmId};
}
sub zmMemGet( $$$ )
{
my $monitor = shift;
my $offset = shift;
my $size = shift;
my $shm_key = $monitor->{ShmKey};
my $shm_id = $monitor->{ShmId};
my $data;
if ( !shmread( $shm_id, $data, $offset, $size ) )
{
Error( sprintf( "Can't read from shared memory '%x/%d': $!", $shm_key, $shm_id ) );
return( undef );
}
return( $data );
}
sub zmMemPut( $$$$ )
{
my $monitor = shift;
my $offset = shift;
my $size = shift;
my $data = shift;
my $shm_key = $monitor->{ShmKey};
my $shm_id = $monitor->{ShmId};
if ( !shmwrite( $shm_id, $data, $offset, $size ) )
{
Error( sprintf( "Can't write to shared memory '%x/%d': $!", $shm_key, $shm_id ) );
return( undef );
}
return( !undef );
}
sub zmMemClean
{
Debug( "Removing shared memory\n" );
# Find ZoneMinder shared memory
my $command = "ipcs -m | grep '^".substr( sprintf( "0x%x", hex(ZM_SHM_KEY) ), 0, -2 )."'";
Debug( "Checking for shared memory with '$command'\n" );
open( CMD, "$command |" ) or Fatal( "Can't execute '$command': $!" );
while( <CMD> )
{
chomp;
my ( $key, $id ) = split( /\s+/ );
if ( $id =~ /^(\d+)/ )
{
$id = $1;
$command = "ipcrm shm $id";
Debug( "Removing shared memory with '$command'\n" );
qx( $command );
}
}
close( CMD );
}
1;
__END__

View File

@ -1,166 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the base class definition of the trigger channel
# class tree
#
package ZoneMinder::Trigger::Channel;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Database Access
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Carp;
our $AUTOLOAD;
sub new
{
my $class = shift;
my $self = {};
$self->{readable} = !undef;
$self->{writeable} = !undef;
$self->{selectable} = undef;
$self->{state} = 'closed';
bless( $self, $class );
return $self;
}
sub clone
{
my $self = shift;
my $clone = { %$self };
bless $clone, ref $self;
}
sub open()
{
my $self = shift;
my $class = ref($self) or croak( "Can't get class for non object $self" );
croak( "Abstract base class method called for object of class $class" );
}
sub close()
{
my $self = shift;
my $class = ref($self) or croak( "Can't get class for non object $self" );
croak( "Abstract base class method called for object of class $class" );
}
sub getState()
{
my $self = shift;
return( $self->{state} );
}
sub isOpen()
{
my $self = shift;
return( $self->{state} eq "open" );
}
sub isConnected()
{
my $self = shift;
return( $self->{state} eq "connected" );
}
sub DESTROY
{
}
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( !exists($self->{$name}) )
{
croak( "Can't access $name member of object of class $class" );
}
return( $self->{$name} );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,121 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Handle Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the class definition of the simple file based trigger
# channel class
#
package ZoneMinder::Trigger::Channel::File;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Trigger::Channel::Handle;
our @ISA = qw(ZoneMinder::Trigger::Channel::Handle);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Simple file based trigger channel
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Carp;
use Fcntl;
sub new
{
my $class = shift;
my %params = @_;
my $self = ZoneMinder::Trigger::Channel::Handle->new;
$self->{path} = $params{path};
bless( $self, $class );
return $self;
}
sub open()
{
my $self = shift;
local *sfh;
#sysopen( *sfh, $conn->{path}, O_NONBLOCK|O_RDONLY ) or croak( "Can't sysopen: $!" );
#open( *sfh, "<".$conn->{path} ) or croak( "Can't open: $!" );
open( *sfh, "+<".$self->{path} ) or croak( "Can't open: $!" );
$self->{state} = 'open';
$self->{handle} = *sfh;
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,154 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Handle Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the class definition of the handle based trigger channel
# class
#
package ZoneMinder::Trigger::Channel::Handle;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Trigger::Channel;
our @ISA = qw(ZoneMinder::Trigger::Channel);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Base class for handle based trigger channels
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use POSIX;
sub new
{
my $class = shift;
my $port = shift;
my $self = ZoneMinder::Trigger::Channel->new();
$self->{handle} = undef;
bless( $self, $class );
return $self;
}
sub spawns
{
return( undef );
}
sub close()
{
my $self = shift;
close( $self->{handle} );
$self->{state} = 'closed';
$self->{handle} = undef;
}
sub read()
{
my $self = shift;
my $buffer;
my $nbytes = sysread( $self->{handle}, $buffer, POSIX::BUFSIZ );
if ( !$nbytes )
{
return( undef );
}
Debug( "Read '$buffer' ($nbytes bytes)\n" );
return( $buffer );
}
sub write()
{
my $self = shift;
my $buffer = shift;
my $nbytes = syswrite( $self->{handle}, $buffer );
if ( !defined( $nbytes) || $nbytes < length($buffer) )
{
Error( "Unable to write buffer '".$buffer.", expected ".length($buffer)." bytes, sent ".$nbytes.": $!\n" );
return( undef );
}
Debug( "Wrote '$buffer' ($nbytes bytes)\n" );
return( !undef );
}
sub fileno()
{
my $self = shift;
return( defined($self->{handle})?fileno($self->{handle}):-1 );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,142 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Handle Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the class definition of the tcp socket based trigger
# channel class
#
package ZoneMinder::Trigger::Channel::Inet;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Trigger::Channel::Spawning;
our @ISA = qw(ZoneMinder::Trigger::Channel::Spawning);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Internet (TCP) based trigger channel
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Carp;
use Socket;
sub new
{
my $class = shift;
my %params = @_;
my $self = ZoneMinder::Trigger::Channel::Spawning->new();
$self->{selectable} = !undef;
$self->{port} = $params{port};
bless( $self, $class );
return $self;
}
sub open()
{
my $self = shift;
local *sfh;
my $saddr = sockaddr_in( $self->{port}, INADDR_ANY );
socket( *sfh, PF_INET, SOCK_STREAM, getprotobyname('tcp') ) or croak( "Can't open socket: $!" );
setsockopt( *sfh, SOL_SOCKET, SO_REUSEADDR, 1 );
bind( *sfh, $saddr ) or croak( "Can't bind: $!" );
listen( *sfh, SOMAXCONN ) or croak( "Can't listen: $!" );
$self->{state} = 'open';
$self->{handle} = *sfh;
}
sub _spawn( $ )
{
my $self = shift;
my $new_handle = shift;
my $clone = $self->clone();
$clone->{handle} = $new_handle;
$clone->{state} = 'connected';
return( $clone );
}
sub accept()
{
my $self = shift;
local *cfh;
my $paddr = accept( *cfh, $self->{handle} );
return( $self->_spawn( *cfh ) );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,160 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Handle Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the class definition of the serial port trigger channel
# class
#
package ZoneMinder::Trigger::Channel::Serial;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Trigger::Channel;
our @ISA = qw(ZoneMinder::Trigger::Channel);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Serial access trigger channel
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Device::SerialPort;
sub new
{
my $class = shift;
my %params = @_;
my $self = ZoneMinder::Trigger::Channel->new;
$self->{path} = $params{path};
bless( $self, $class );
return $self;
}
sub open()
{
my $self = shift;
my $device = new Device::SerialPort( $self->{path} );
$device->baudrate(9600);
$device->databits(8);
$device->parity('none');
$device->stopbits(1);
$device->handshake('none');
$device->read_const_time(50);
$device->read_char_time(10);
$self->{device} = $device;
$self->{state} = 'open';
$self->{state} = 'connected';
}
sub close()
{
my $self = shift;
$self->{device}->close();
$self->{state} = 'closed';
}
sub read()
{
my $self = shift;
my $buffer = $self->{device}->lookfor();
if ( !$buffer || !length($buffer) )
{
return( undef );
}
Debug( "Read '$buffer' (".length($buffer)." bytes)\n" );
return( $buffer );
}
sub write()
{
my $self = shift;
my $buffer = shift;
my $nbytes = $self->{device}->write( $buffer );
$self->{device}->write_drain();
if ( !defined( $nbytes) || $nbytes < length($buffer) )
{
Error( "Unable to write buffer '".$buffer.", expected ".length($buffer)." bytes, sent ".$nbytes.": $!\n" );
return( undef );
}
Debug( "Wrote '$buffer' ($nbytes bytes)\n" );
return( !undef );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,112 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Handle Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the class definition of the handle based trigger channel
# classes that spawn new connections when connected.
#
package ZoneMinder::Trigger::Channel::Spawning;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Trigger::Channel::Handle;
our @ISA = qw(ZoneMinder::Trigger::Channel::Handle);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Base class for handle based triggers that spawn new connections
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
sub new
{
my $class = shift;
my $port = shift;
my $self = ZoneMinder::Trigger::Channel::Handle->new();
$self->{spawns} = !undef;
bless( $self, $class );
return $self;
}
sub spawns
{
return( !undef );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,141 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Handle Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the class definition of the unix socket based trigger
# channel class
#
package ZoneMinder::Trigger::Channel::Unix;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Trigger::Channel::Spawning;
our @ISA = qw(ZoneMinder::Trigger::Channel::Spawning);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Unix socket based trigger channel
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Carp;
use Socket;
sub new
{
my $class = shift;
my %params = @_;
my $self = ZoneMinder::Trigger::Channel->new;
$self->{selectable} = !undef;
$self->{path} = $params{path};
bless( $self, $class );
return $self;
}
sub open()
{
my $self = shift;
local *sfh;
unlink( $self->{path} );
my $saddr = sockaddr_un( $self->{path} );
socket( *sfh, PF_UNIX, SOCK_STREAM, 0 ) or croak( "Can't open socket: $!" );
bind( *sfh, $saddr ) or croak( "Can't bind: $!" );
listen( *sfh, SOMAXCONN ) or croak( "Can't listen: $!" );
$self->{handle} = *sfh;
}
sub _spawn( $ )
{
my $self = shift;
my $new_handle = shift;
my $clone = $self->clone();
$clone->{handle} = $new_handle;
$clone->{state} = 'connected';
return( $clone );
}
sub accept()
{
my $self = shift;
local *cfh;
my $paddr = accept( *cfh, $self->{handle} );
return( $self->_spawn( *cfh ) );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,239 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Connection Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the base class definition of the trigger connection
# class tree
#
package ZoneMinder::Trigger::Connection;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Base connection class
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use Carp;
our $AUTOLOAD;
sub new
{
my $class = shift;
my %params = @_;
my $self = {};
$self->{name} = $params{name};
$self->{channel} = $params{channel};
$self->{input} = $params{mode} =~ /r/i;
$self->{output} = $params{mode} =~ /w/i;
bless( $self, $class );
return $self;
}
sub clone
{
my $self = shift;
my $clone = { %$self };
bless $clone, ref $self;
return( $clone );
}
sub spawns
{
my $self = shift;
return( $self->{channel}->spawns() );
}
sub _spawn( $ )
{
my $self = shift;
my $new_channel = shift;
my $clone = $self->clone();
$clone->{channel} = $new_channel;
return( $clone );
}
sub accept()
{
my $self = shift;
my $new_channel = $self->{channel}->accept();
return( $self->_spawn( $new_channel ) );
}
sub open()
{
my $self = shift;
return( $self->{channel}->open() );
}
sub close()
{
my $self = shift;
return( $self->{channel}->close() );
}
sub fileno()
{
my $self = shift;
return( $self->{channel}->fileno() );
}
sub isOpen()
{
my $self = shift;
return( $self->{channel}->isOpen() );
}
sub isConnected()
{
my $self = shift;
return( $self->{channel}->isConnected() );
}
sub canRead()
{
my $self = shift;
return( $self->{input} && $self->isConnected() );
}
sub canWrite()
{
my $self = shift;
return( $self->{output} && $self->isConnected() );
}
sub getMessages
{
my $self = shift;
my $buffer = $self->{channel}->read();
return( undef ) if ( !defined($buffer) );
my @messages = split( /\r?\n/, $buffer );
return( \@messages );
}
sub putMessages
{
my $self = shift;
my $messages = shift;
if ( @$messages )
{
my $buffer = join( "\n", @$messages );
$buffer .= "\n";
if ( !$self->{channel}->write( $buffer ) )
{
Error( "Unable to write buffer '".$buffer." to connection ".$self->{name}." (".$self->fileno().")\n" );
}
}
return( undef );
}
sub timedActions
{
}
sub DESTROY
{
}
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
elsif ( defined($self->{channel}) )
{
if ( exists($self->{channel}->{$name}) )
{
return( $self->{channel}->{$name} );
}
}
croak( "Can't access $name member of object of class $class" );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,134 +0,0 @@
# ==========================================================================
#
# ZoneMinder Trigger Channel Handle Module, $Date$, $Revision$
# Copyright (C) 2001-2008 Philip Coombes
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains an example overriden trigger connection class
#
package ZoneMinder::Trigger::Connection::Example;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Trigger::Connection;
our @ISA = qw(ZoneMinder::Trigger::Connection);
our $VERSION = $ZoneMinder::Base::VERSION;
# ==========================================================================
#
# Example overridden connection class
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
sub new
{
my $class = shift;
my $path = shift;
my $self = ZoneMinder::Trigger::Connection->new( @_ );
bless( $self, $class );
return $self;
}
sub getMessages
{
my $self = shift;
my $buffer = $self->{channel}->read();
return( undef ) if ( !defined($buffer) );
Debug( "Handling buffer '$buffer'\n" );
my @messages = grep { s/-/|/g; 1; } split( /\r?\n/, $buffer );
return( \@messages );
}
sub putMessages
{
my $self = shift;
my $messages = shift;
if ( @$messages )
{
my $buffer = join( "\n", grep{ s/\|/-/; 1; } @$messages );
$buffer .= "\n";
if ( !$self->{channel}->write( $buffer ) )
{
Error( "Unable to write buffer '".$buffer." to connection ".$self->{name}." (".$self->fileno().")\n" );
}
}
return( undef );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Database;
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, E<lt>philip.coombes@zoneminder.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -1,177 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder 3pm"
.TH ZoneMinder 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder \- Container module for common ZoneMinder modules
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use ZoneMinder;
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module is a convenience container module that uses the
ZoneMinder::Base, ZoneMinder::Common, ZoneMinder::Logger,
ZoneMinder::Database and ZoneMinder::Memory modules. It also
exports by default all symbols provided by the 'all' tag of
each of the modules.
.PP
Thus 'use'ing this module is equivalent to the following
.PP
.Vb 5
\& use ZoneMinder::Base qw(:all);
\& use ZoneMinder::Config qw(:all);
\& use ZoneMinder::Logger qw(:all);
\& use ZoneMinder::Database qw(:all);
\& use ZoneMinder::Memory qw(:all);
.Ve
.PP
but is somewhat easier.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
All symbols exported by the 'all' tag of each of the included
modules.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
ZoneMinder::Base, ZoneMinder::Common, ZoneMinder::Logger,
ZoneMinder::Database, ZoneMinder::Memory
.PP
http://www.zoneminder.com
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2005 by Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,157 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Base 3pm"
.TH ZoneMinder::Base 3pm "2012-09-11" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Base \- Base perl module for ZoneMinder
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use ZoneMinder::Base;
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module is the base module for the rest of the ZoneMinder modules. It is included by each of the other modules but serves no purpose other than to propagate the perl module version amongst the other modules. You will never need to use this module directly but if you write new ZoneMinder modules they should include it.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
http://www.zoneminder.com
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,166 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Config 3pm"
.TH ZoneMinder::Config 3pm "2012-09-11" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Config \- ZoneMinder configuration module.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use ZoneMinder::Config qw(:all);
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The ZoneMinder::Config module is used to import the ZoneMinder configuration from the database. It will do this at compile time in a \s-1BEGIN\s0 block and require access to the zm.conf file either in the current directory or in its defined location in order to determine database access details, configuration from this file will also be included. If the :all or :config tags are used then this configuration is exported into the namespace of the calling program or module.
.PP
Once the configuration has been imported then configuration variables are defined as constants and can be accessed directory by name, e.g.
.PP
.Vb 1
\& $lang = ZM_LANG_DEFAULT;
.Ve
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
The :constants tag will export the \s-1ZM_PID\s0 constant which details the location of the zm.pid file
The :config tag will export all configuration from the database as well as any from the zm.conf file
The :all tag will export all above symbols.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
http://www.zoneminder.com
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,180 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::ConfigAdmin 3pm"
.TH ZoneMinder::ConfigAdmin 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::ConfigAdmin \- ZoneMinder Configuration Administration module
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::ConfigAdmin;
\& use ZoneMinder::ConfigAdmin qw(:all);
\&
\& loadConfigFromDB();
\& saveConfigToDB();
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The ZoneMinder:ConfigAdmin module contains the master definition of the ZoneMinder configuration options as well as helper methods. This module is intended for specialist confguration management and would not normally be used by end users.
.PP
The configuration held in this module, which was previously in zmconfig.pl, includes the name, default value, description, help text, type and category for each option, as well as a number of additional fields in a small number of cases.
.SH "METHODS"
.IX Header "METHODS"
.IP "loadConfigFromDB ();" 4
.IX Item "loadConfigFromDB ();"
Loads existing configuration from the database (if any) and merges it with the definitions held in this module. This results in the merging of any new configuration and the removal of any deprecated configuration while preserving the existing values of every else.
.IP "saveConfigToDB ();" 4
.IX Item "saveConfigToDB ();"
Saves configuration held in memory to the database. The act of loading and saving configuration is a convenient way to ensure that the configuration held in the database corresponds with the most recent definitions and that all components are using the same set of configuration.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
The :data tag will export the various configuration data structures
The :functions tag will export the helper functions.
The :all tag will export all above symbols.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
http://www.zoneminder.com
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
.SH "POD ERRORS"
.IX Header "POD ERRORS"
Hey! \fBThe above document had some coding errors, which are explained below:\fR
.IP "Around line 188:" 4
.IX Item "Around line 188:"
You forgot a '=back' before '=head2'

View File

@ -1,180 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::ConfigData 3pm"
.TH ZoneMinder::ConfigData 3pm "2012-09-11" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::ConfigData \- ZoneMinder Configuration Data module
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::ConfigData;
\& use ZoneMinder::ConfigData qw(:all);
\&
\& loadConfigFromDB();
\& saveConfigToDB();
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The ZoneMinder:ConfigData module contains the master definition of the ZoneMinder configuration options as well as helper methods. This module is intended for specialist confguration management and would not normally be used by end users.
.PP
The configuration held in this module, which was previously in zmconfig.pl, includes the name, default value, description, help text, type and category for each option, as well as a number of additional fields in a small number of cases.
.SH "METHODS"
.IX Header "METHODS"
.IP "loadConfigFromDB ();" 4
.IX Item "loadConfigFromDB ();"
Loads existing configuration from the database (if any) and merges it with the definitions held in this module. This results in the merging of any new configuration and the removal of any deprecated configuration while preserving the existing values of every else.
.IP "saveConfigToDB ();" 4
.IX Item "saveConfigToDB ();"
Saves configuration held in memory to the database. The act of loading and saving configuration is a convenient way to ensure that the configuration held in the database corresponds with the most recent definitions and that all components are using the same set of configuration.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
The :data tag will export the various configuration data structures
The :functions tag will export the helper functions.
The :all tag will export all above symbols.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
http://www.zoneminder.com
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
.SH "POD ERRORS"
.IX Header "POD ERRORS"
Hey! \fBThe above document had some coding errors, which are explained below:\fR
.IP "Around line 2031:" 4
.IX Item "Around line 2031:"
You forgot a '=back' before '=head2'

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Control 3pm"
.TH ZoneMinder::Control 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Control::AxisV2 3pm"
.TH ZoneMinder::Control::AxisV2 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Control::Ncs370 3pm"
.TH ZoneMinder::Control::Ncs370 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Control::PanasonicIP 3pm"
.TH ZoneMinder::Control::PanasonicIP 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Control::PelcoD 3pm"
.TH ZoneMinder::Control::PelcoD 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Control::Visca 3pm"
.TH ZoneMinder::Control::Visca 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Control::mjpgStreamer 3pm"
.TH ZoneMinder::Control::mjpgStreamer 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2005 by Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Database 3pm"
.TH ZoneMinder::Database 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::General 3pm"
.TH ZoneMinder::General 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,259 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Logger 3pm"
.TH ZoneMinder::Logger 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Logger \- ZoneMinder Logger module
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Logger;
\& use ZoneMinder::Logger qw(:all);
\&
\& logInit( "myproc", DEBUG );
\&
\& Debug( "This is what is happening" );
\& Info( "Something interesting is happening" );
\& Warning( "Something might be going wrong." );
\& Error( "Something has gone wrong!!" );
\& Fatal( "Something has gone badly wrong, gotta stop!!" );
\& Panic( "Something fundamental has gone wrong, die with stack trace );
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The ZoneMinder:Logger module contains the common debug and error reporting routines used by the ZoneMinder scripts.
.PP
To use debug in your scripts you need to include this module, and call logInit. Thereafter you can sprinkle Debug or Error calls etc throughout the code safe in the knowledge that they will be reported to your error log, and possibly the syslogger, in a meaningful and consistent format.
.PP
Debug is discussed in terms of levels where 1 and above (currently only 1 for scripts) is considered debug, 0 is considered as informational, \-1 is a warning, \-2 is an error and \-3 is a fatal error or panic. Where levels are mentioned below as thresholds the value given and anything with a lower level (ie. more serious) will be included.
.SH "METHODS"
.IX Header "METHODS"
.ie n .IP "logInit ( $id, %options );" 4
.el .IP "logInit ( \f(CW$id\fR, \f(CW%options\fR );" 4
.IX Item "logInit ( $id, %options );"
Initialises the debug and prepares the logging for forthcoming operations. If not called explicitly it will be called by the first debug call in your script, but with default (and probably meaningless) options. The only compulsory arguments are \f(CW$id\fR which must be a string that will identify debug coming from this script in mixed logs. Other options may be provided as below,
.Sp
.Vb 8
\& Option Default Description
\& \-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-
\& level INFO The initial debug level which defines which statements are output and which are ignored
\& trace 0 Whether to use the Carp::shortmess format in debug statements to identify where the debug was emitted from
\& termLevel NOLOG At what level debug is written to terminal standard error, 0 is no, 1 is yes, 2 is write only if terminal
\& databaseLevel INFO At what level debug is written to the Log table in the database;
\& fileLevel NOLOG At what level debug is written to a log file of the format of <id>.log in the standard log directory.
\& syslogLevel INFO At what level debug is written to syslog.
.Ve
.Sp
To disable any of these action entirely set to \s-1NOLOG\s0
.IP "logTerm ();" 4
.IX Item "logTerm ();"
Used to end the debug session and close any logs etc. Not usually necessary.
.ie n .IP "$id = logId ( [$id] );" 4
.el .IP "\f(CW$id\fR = logId ( [$id] );" 4
.IX Item "$id = logId ( [$id] );"
.PD 0
.ie n .IP "$level = logLevel ( [$level] );" 4
.el .IP "\f(CW$level\fR = logLevel ( [$level] );" 4
.IX Item "$level = logLevel ( [$level] );"
.ie n .IP "$trace = logTrace ( [$trace] );" 4
.el .IP "\f(CW$trace\fR = logTrace ( [$trace] );" 4
.IX Item "$trace = logTrace ( [$trace] );"
.ie n .IP "$level = logLevel ( [$level] );" 4
.el .IP "\f(CW$level\fR = logLevel ( [$level] );" 4
.IX Item "$level = logLevel ( [$level] );"
.ie n .IP "$termLevel = logTermLevel ( [$termLevel] );" 4
.el .IP "\f(CW$termLevel\fR = logTermLevel ( [$termLevel] );" 4
.IX Item "$termLevel = logTermLevel ( [$termLevel] );"
.ie n .IP "$databaseLevel = logDatabaseLevel ( [$databaseLevel] );" 4
.el .IP "\f(CW$databaseLevel\fR = logDatabaseLevel ( [$databaseLevel] );" 4
.IX Item "$databaseLevel = logDatabaseLevel ( [$databaseLevel] );"
.ie n .IP "$fileLevel = logFileLevel ( [$fileLevel] );" 4
.el .IP "\f(CW$fileLevel\fR = logFileLevel ( [$fileLevel] );" 4
.IX Item "$fileLevel = logFileLevel ( [$fileLevel] );"
.ie n .IP "$syslogLevel = logSyslogLevel ( [$syslogLevel] );" 4
.el .IP "\f(CW$syslogLevel\fR = logSyslogLevel ( [$syslogLevel] );" 4
.IX Item "$syslogLevel = logSyslogLevel ( [$syslogLevel] );"
.PD
These methods can be used to get and set the current settings as defined in logInit.
.ie n .IP "Debug( $string );" 4
.el .IP "Debug( \f(CW$string\fR );" 4
.IX Item "Debug( $string );"
This method will output a debug message if the current debug level permits it, otherwise does nothing. This message will be tagged with the \s-1DBG\s0 string in the logs.
.ie n .IP "Info( $string );" 4
.el .IP "Info( \f(CW$string\fR );" 4
.IX Item "Info( $string );"
This method will output an informational message if the current debug level permits it, otherwise does nothing. This message will be tagged with the \s-1INF\s0 string in the logs.
.ie n .IP "Warning( $string );" 4
.el .IP "Warning( \f(CW$string\fR );" 4
.IX Item "Warning( $string );"
This method will output a warning message if the current debug level permits it, otherwise does nothing. This message will be tagged with the \s-1WAR\s0 string in the logs.
.ie n .IP "Error( $string );" 4
.el .IP "Error( \f(CW$string\fR );" 4
.IX Item "Error( $string );"
This method will output an error message if the current debug level permits it, otherwise does nothing. This message will be tagged with the \s-1ERR\s0 string in the logs.
.ie n .IP "Fatal( $string );" 4
.el .IP "Fatal( \f(CW$string\fR );" 4
.IX Item "Fatal( $string );"
This method will output a fatal error message and then die if the current debug level permits it, otherwise does nothing. This message will be tagged with the \s-1FAT\s0 string in the logs.
.ie n .IP "Panic( $string );" 4
.el .IP "Panic( \f(CW$string\fR );" 4
.IX Item "Panic( $string );"
This method will output a panic error message and then die with a stack trace if the current debug level permits it, otherwise does nothing. This message will be tagged with the \s-1PNC\s0 string in the logs.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
The :constants tag will export the debug constants which define the various levels of debug
The :variables tag will export variables containing the current debug id and level
The :functions tag will export the debug functions. This or :all is what you would normally use.
The :all tag will export all above symbols.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Carp
Sys::Syslog
.PP
The ZoneMinder \s-1README\s0 file Troubleshooting section for an extended discussion on the use and configuration of syslog with ZoneMinder.
.PP
http://www.zoneminder.com
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
.SH "POD ERRORS"
.IX Header "POD ERRORS"
Hey! \fBThe above document had some coding errors, which are explained below:\fR
.IP "Around line 830:" 4
.IX Item "Around line 830:"
You forgot a '=back' before '=head2'

View File

@ -1,313 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Memory 3pm"
.TH ZoneMinder::Memory 3pm "2012-09-11" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::MappedMem \- ZoneMinder Mapped Memory access module
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::MappedMem;
\& use ZoneMinder::MappedMem qw(:all);
\&
\& if ( zmMemVerify( $monitor ) )
\& {
\& $state = zmGetMonitorState( $monitor );
\& if ( $state == STATE_ALARM )
\& {
\& ...
\& }
\& }
\&
\& ( $lri, $lwi ) = zmMemRead( $monitor, [ "shared_data:last_read_index", "shared_data:last_write_index" ] );
\& zmMemWrite( $monitor, { "trigger_data:trigger_showtext" => "Some Text" } );
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The ZoneMinder:MappedMem module contains methods for accessing and writing to mapped memory as well as helper methods for common operations.
.PP
The core elements of ZoneMinder used mapped memory to allow multiple access to resources. Although ZoneMinder scripts have used this information before, up until now it was difficult to access and prone to errors. This module introduces a common \s-1API\s0 for mapped memory access (both reading and writing) making it a lot easier to customise scripts or even create your own.
.PP
All the methods listed below require a 'monitor' parameter. This must be a reference to a hash with at least the 'Id' field set to the monitor id of the mapped memory you wish to access. Using database methods to select the monitor details will also return this kind of data. Some of the mapped memory methods will add and amend new fields to this hash.
.SH "METHODS"
.IX Header "METHODS"
.ie n .IP "zmMemVerify ( $monitor );" 4
.el .IP "zmMemVerify ( \f(CW$monitor\fR );" 4
.IX Item "zmMemVerify ( $monitor );"
Verify that the mapped memory of the monitor given exists and is valid. It will return an undefined value if it is not valid. You should generally call this method first before using any of the other methods, but most of the remaining methods will also do so if the memory has not already been verified.
.ie n .IP "zmMemInvalidate ( $monitor );" 4
.el .IP "zmMemInvalidate ( \f(CW$monitor\fR );" 4
.IX Item "zmMemInvalidate ( $monitor );"
Following an error, reset the mapped memory ids and attempt to reverify on the next operation. This is mostly used when a mapped memory segment has gone away and been recreated with a different id.
.ie n .IP "zmMemRead ( $monitor, $readspec );" 4
.el .IP "zmMemRead ( \f(CW$monitor\fR, \f(CW$readspec\fR );" 4
.IX Item "zmMemRead ( $monitor, $readspec );"
This method is used to read data from mapped memory attached to the given monitor. The mapped memory will be verified if it has not already been. The 'readspec' must either be a string of the form \*(L"<section>:<field>\*(R" or a reference to an array of strings of the same format. In the first case a single value is returned, in the latter case a list of values is return. Errors will cause undefined to be returned. The allowable sections and field names are described below.
.ie n .IP "zmMemWrite ( $monitor, $writespec );" 4
.el .IP "zmMemWrite ( \f(CW$monitor\fR, \f(CW$writespec\fR );" 4
.IX Item "zmMemWrite ( $monitor, $writespec );"
This method is used to write data to mapped memory attached to the given monitor. The mapped memory will be verified if it has not already been. The 'writespec' must be a reference to a hash with keys of the form \*(L"<section>:<field>\*(R" and values as the data to be written. Errors will cause undefined to be returned, otherwise a non-undefined value will be returned. The allowable sections and field names are described below.
.ie n .IP "$state = zmGetMonitorState ( $monitor );" 4
.el .IP "\f(CW$state\fR = zmGetMonitorState ( \f(CW$monitor\fR );" 4
.IX Item "$state = zmGetMonitorState ( $monitor );"
Return the current state of the given monitor. This is an integer value and can be compared with the \s-1STATE\s0 constants given below.
.ie n .IP "$event_id = zmGetLastEvent ( $monitor );" 4
.el .IP "\f(CW$event_id\fR = zmGetLastEvent ( \f(CW$monitor\fR );" 4
.IX Item "$event_id = zmGetLastEvent ( $monitor );"
Return the event id of the last event that the monitor generated, or 0 if no event has been generated by the current monitor process.
.ie n .IP "zmIsAlarmed ( $monitor );" 4
.el .IP "zmIsAlarmed ( \f(CW$monitor\fR );" 4
.IX Item "zmIsAlarmed ( $monitor );"
Return 1 if the monitor given is currently in an alarm state, 0 otherwise.
.ie n .IP "zmInAlarm ( $monitor );" 4
.el .IP "zmInAlarm ( \f(CW$monitor\fR );" 4
.IX Item "zmInAlarm ( $monitor );"
Return 1 if the monitor given is currently in an alarm or alerted state, 0 otherwise.
.ie n .IP "zmHasAlarmed ( $monitor );" 4
.el .IP "zmHasAlarmed ( \f(CW$monitor\fR );" 4
.IX Item "zmHasAlarmed ( $monitor );"
Return 1 if the given monitor is in an alarm state, or has been in an alarm state since the last call to this method.
.ie n .IP "( $x, $y ) = zmGetAlarmLocation ( $monitor );" 4
.el .IP "( \f(CW$x\fR, \f(CW$y\fR ) = zmGetAlarmLocation ( \f(CW$monitor\fR );" 4
.IX Item "( $x, $y ) = zmGetAlarmLocation ( $monitor );"
Return an x,y pair indicating the image co-ordinates of the centre of the last motion event generated by the given monitor. If no event has been generated by the current monitor process, or the alarm was not motion related, returns \-1,\-1.
.ie n .IP "zmGetLastWriteTime ( $monitor );" 4
.el .IP "zmGetLastWriteTime ( \f(CW$monitor\fR );" 4
.IX Item "zmGetLastWriteTime ( $monitor );"
Returns the time (in utc seconds) since the last image was captured by the given monitor and written to shared memory, or 0 otherwise.
.ie n .IP "zmGetLastReadTime ( $monitor );" 4
.el .IP "zmGetLastReadTime ( \f(CW$monitor\fR );" 4
.IX Item "zmGetLastReadTime ( $monitor );"
Returns the time (in utc seconds) since the last image was read from shared memory by the analysis daemon of the given monitor, or 0 otherwise or if the monitor is in monitor only mode.
.ie n .IP "zmMonitorSuspend ( $monitor );" 4
.el .IP "zmMonitorSuspend ( \f(CW$monitor\fR );" 4
.IX Item "zmMonitorSuspend ( $monitor );"
Suspend the given monitor from generating events caused by motion. This method can be used to prevent camera actions such as panning or zooming from causing events. If configured to do so, the monitor may automatically resume after a defined period.
.ie n .IP "zmMonitorResume ( $monitor );" 4
.el .IP "zmMonitorResume ( \f(CW$monitor\fR );" 4
.IX Item "zmMonitorResume ( $monitor );"
Allow the given monitor to resume generating events caused by motion.
.ie n .IP "zmTriggerEventOn ( $monitor, $score, $cause [, $text, $showtext ] );" 4
.el .IP "zmTriggerEventOn ( \f(CW$monitor\fR, \f(CW$score\fR, \f(CW$cause\fR [, \f(CW$text\fR, \f(CW$showtext\fR ] );" 4
.IX Item "zmTriggerEventOn ( $monitor, $score, $cause [, $text, $showtext ] );"
Trigger the given monitor to generate an event. You must supply an event score and a cause string indicating the reason for the event. You may also supply a text string containing further details about the event and a showtext string which may be included in the timestamp annotation on any images captured during the event, if configured to do so.
.ie n .IP "zmTriggerEventOff ( $monitor );" 4
.el .IP "zmTriggerEventOff ( \f(CW$monitor\fR );" 4
.IX Item "zmTriggerEventOff ( $monitor );"
Trigger the given monitor to not generate any events. This method does not cancel zmTriggerEventOn, but is exclusive to it. This method is intended to allow external triggers to prevent normal events being generated by monitors in the same way as zmMonitorSuspend but applies to all events and not just motion, and is intended for longer timescales than are appropriate for suspension.
.ie n .IP "zmTriggerEventCancel ( $monitor );" 4
.el .IP "zmTriggerEventCancel ( \f(CW$monitor\fR );" 4
.IX Item "zmTriggerEventCancel ( $monitor );"
Cancel any previous trigger on or off requests. This stops a triggered alarm if it exists from a previous 'on' and allows events to be generated once more following a previous 'off'.
.ie n .IP "zmTriggerShowtext ( $monitor, $showtest );" 4
.el .IP "zmTriggerShowtext ( \f(CW$monitor\fR, \f(CW$showtest\fR );" 4
.IX Item "zmTriggerShowtext ( $monitor, $showtest );"
Indicate that the given text should be displayed in the timestamp annotation on any images captured, if the format of the annotation string defined for the monitor permits.
.SH "DATA"
.IX Header "DATA"
The data fields in mapped memory that may be accessed are as follows. There are two main sections, shared_data which is general data and trigger_data which is used for event triggering. Whilst reading from these fields is harmless, extreme care must be taken when writing to mapped memory, especially in the shared_data section as this is normally written to only by monitor capture and analysis processes.
.PP
.Vb 10
\& shared_data The general mapped memory section
\& size The size, in bytes, of this section
\& valid Flag indicating whether this section has been initialised
\& active Flag indicating whether this monitor is active (enabled/disabled)
\& signal Flag indicating whether this monitor is reciving a valid signal
\& state The current monitor state, see the STATE constants below
\& last_write_index The last index, in the image buffer, that an image has been saved to
\& last_read_index The last index, in the image buffer, that an image has been analysed from
\& last_write_time The time (in utc seconds) when the last image was captured
\& last_read_time The time (in utc seconds) when the last image was analysed
\& last_event The id of the last event generated by the monitor analysis process, 0 if none
\& action The monitor actions bitmask, see the ACTION constants below
\& brightness Read/write location for the current monitor brightness
\& hue Read/write location for the current monitor hue
\& colour Read/write location for the current monitor colour
\& contrast Read/write location for the current monitor contrast
\& alarm_x Image x co\-ordinate (from left) of the centre of the last motion event, \-1 if none
\& alarm_y Image y co\-ordinate (from top) of the centre of the last motion event, \-1 if none
\&
\& trigger_data The triggered event mapped memory section
\& size The size, in bytes of this section
\& trigger_state The current trigger state, see the TRIGGER constants below
\& trigger_score The current triggered event score
\& trigger_cause The current triggered event cause string
\& trigger_text The current triggered event descriptive text string
\& trigger_showtext The triggered text that will be displayed on captured image timestamps
.Ve
.SH "CONSTANTS"
.IX Header "CONSTANTS"
The following constants are used by the methods above, but can also be used by user scripts if required.
.IP "\s-1STATE_IDLE\s0 \s-1STATE_PREALARM\s0 \s-1STATE_ALARM\s0 \s-1STATE_ALERT\s0 \s-1STATE_TAPE\s0" 4
.IX Item "STATE_IDLE STATE_PREALARM STATE_ALARM STATE_ALERT STATE_TAPE"
These constants define the state of the monitor with respect to alarms and events. They are used in the shared_data:state field.
.IP "\s-1ACTION_GET\s0 \s-1ACTION_SET\s0 \s-1ACTION_RELOAD\s0 \s-1ACTION_SUSPEND\s0 \s-1ACTION_RESUME\s0" 4
.IX Item "ACTION_GET ACTION_SET ACTION_RELOAD ACTION_SUSPEND ACTION_RESUME"
These constants defines the various values that can exist in the shared_data:action field. This is a bitmask which when non-zero defines an action that an executing monitor process should take. \s-1ACTION_GET\s0 requires that the current values of brightness, contrast, colour and hue are taken from the camera and written to the equivalent mapped memory fields. \s-1ACTION_SET\s0 implies the reverse, that the values in mapped memory should be written to the camera. \s-1ACTION_RELOAD\s0 signal that the monitor process should reload itself from the database in case any settings have changed there. \s-1ACTION_SUSPEND\s0 signals that a monitor should stop exaiming images for motion, though other alarms may still occur. \s-1ACTION_RESUME\s0 sigansl that a monitor should resume motion detectiom.
.IP "\s-1TRIGGER_CANCEL\s0 \s-1TRIGGER_ON\s0 \s-1TRIGGER_OFF\s0" 4
.IX Item "TRIGGER_CANCEL TRIGGER_ON TRIGGER_OFF"
These constants are used in the definition of external triggers. \s-1TRIGGER_CANCEL\s0 is used to indicated that any previous trigger settings should be cancelled, \s-1TRIGGER_ON\s0 signals that an alarm should be created (or continued)) as a result of the current trigger and \s-1TRIGGER_OFF\s0 signals that the trigger should prevent any alarms from being generated. See the trigger methods above for further details.
.SH "EXPORT"
.IX Header "EXPORT"
None by default.
The :constants tag will export the mapped memory constants which mostly define enumerations for the variables held in memory
The :functions tag will export the mapped memory access functions.
The :all tag will export all above symbols.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
http://www.zoneminder.com
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
.SH "POD ERRORS"
.IX Header "POD ERRORS"
Hey! \fBThe above document had some coding errors, which are explained below:\fR
.IP "Around line 727:" 4
.IX Item "Around line 727:"
You forgot a '=back' before '=head1'
.IP "Around line 729:" 4
.IX Item "Around line 729:"
\&'=item' outside of any '=over'
.IP "Around line 801:" 4
.IX Item "Around line 801:"
You forgot a '=back' before '=head1'
.IP "Around line 836:" 4
.IX Item "Around line 836:"
\&'=item' outside of any '=over'
.IP "Around line 848:" 4
.IX Item "Around line 848:"
You forgot a '=back' before '=head1'

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Channel 3pm"
.TH ZoneMinder::Trigger::Channel 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Channel::File 3pm"
.TH ZoneMinder::Trigger::Channel::File 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Channel::Handle 3pm"
.TH ZoneMinder::Trigger::Channel::Handle 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Channel::Inet 3pm"
.TH ZoneMinder::Trigger::Channel::Inet 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Channel::Serial 3pm"
.TH ZoneMinder::Trigger::Channel::Serial 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Channel::Spawning 3pm"
.TH ZoneMinder::Trigger::Channel::Spawning 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Channel::Unix 3pm"
.TH ZoneMinder::Trigger::Channel::Unix 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Connection 3pm"
.TH ZoneMinder::Trigger::Connection 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

View File

@ -1,169 +0,0 @@
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "ZoneMinder::Trigger::Connection::Example 3pm"
.TH ZoneMinder::Trigger::Connection::Example 3pm "2012-07-17" "perl v5.14.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ZoneMinder::Database \- Perl extension for blah blah blah
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& use ZoneMinder::Database;
\& blah blah blah
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
.PP
Blah blah blah.
.SS "\s-1EXPORT\s0"
.IX Subsection "EXPORT"
None by default.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in \s-1UNIX\s0), or any relevant external documentation such as RFCs or
standards.
.PP
If you have a mailing list set up for your module, mention it here.
.PP
If you have a web site set up for your module, mention it here.
.SH "AUTHOR"
.IX Header "AUTHOR"
Philip Coombes, <philip.coombes@zoneminder.com>
.SH "COPYRIGHT AND LICENSE"
.IX Header "COPYRIGHT AND LICENSE"
Copyright (C) 2001\-2008 Philip Coombes
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.

File diff suppressed because it is too large Load Diff

View File

@ -1,120 +0,0 @@
#!/bin/sh
# description: ZoneMinder is the top Linux video camera security and surveillance solution. ZoneMinder is intended for use in single or multi-camera video security applications.Copyright: Philip Coombes, Corey DeLasaux 2003-2008
# chkconfig: 2345 99 00
# processname: zmpkg.pl
# Source function library.
. /etc/rc.d/init.d/functions
prog=ZoneMinder
ZM_CONFIG="/etc/zm/zm.conf"
pidfile="/var/run/zm"
LOCKFILE=/var/lock/subsys/zm
loadconf()
{
if [ -f $ZM_CONFIG ]; then
. $ZM_CONFIG
else
echo "ERROR: $ZM_CONFIG not found."
return 1
fi
}
loadconf
command="$ZM_PATH_BIN/zmpkg.pl"
start()
{
zmupdate || return $?
loadconf || return $?
#Make sure the directory for our PID folder exists or create one.
[ ! -d $pidfile ] \
&& mkdir -m 774 $pidfile \
&& chown $ZM_WEB_USER:$ZM_WEB_GROUP $pidfile
#Make sure the folder for the socks file exists or create one
GetPath="select Value from Config where Name='ZM_PATH_SOCKS'"
dbHost=`echo $ZM_DB_HOST | cut -d: -f1`
dbPort=`echo $ZM_DB_HOST | cut -d: -s -f2`
if [ "$dbPort" = "" ]
then
ZM_PATH_SOCK=`echo $GetPath | mysql -B -h$ZM_DB_HOST -u$ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME | grep -v '^Value'`
else
ZM_PATH_SOCK=`echo $GetPath | mysql -B -h$dbHost -P$dbPort -u$ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME | grep -v '^Value'`
fi
[ ! -d $ZM_PATH_SOCK ] \
&& mkdir -m 774 $ZM_PATH_SOCK \
&& chown $ZM_WEB_USER:$ZM_WEB_GROUP $ZM_PATH_SOCK
echo -n $"Starting $prog: "
$command start
RETVAL=$?
[ $RETVAL = 0 ] && success || failure
echo
[ $RETVAL = 0 ] && touch $LOCKFILE
return $RETVAL
}
stop()
{
loadconf
echo -n $"Stopping $prog: "
$command stop
RETVAL=$?
[ $RETVAL = 0 ] && success || failure
echo
[ $RETVAL = 0 ] && rm -f $LOCKFILE
}
zmstatus()
{
loadconf
result=`$command status`
if [ "$result" = "running" ]; then
echo "ZoneMinder is running"
$ZM_PATH_BIN/zmu -l
RETVAL=0
else
echo "ZoneMinder is stopped"
RETVAL=1
fi
}
zmupdate()
{
if [ -x $ZM_PATH_BIN/zm_update ]; then
$ZM_PATH_BIN/zm_update -f
fi
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
'condrestart')
loadconf
result=`$ZM_PATH_BIN/zmdc.pl check`
if [ "$result" = "running" ]; then
$ZM_PATH_BIN/zmdc.pl shutdown > /dev/null
rm -f $LOCKFILE
start
fi
;;
'status')
status httpd
status mysqld
zmstatus
;;
*)
echo "Usage: $0 { start | stop | restart | condrestart | status }"
RETVAL=1
;;
esac
exit $RETVAL

View File

@ -1,135 +0,0 @@
//
// ZoneMinder Configuration, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
#ifndef ZM_CONFIG_H
#define ZM_CONFIG_H
#include "config.h"
#include "zm_config_defines.h"
#include <string>
#define ZM_CONFIG "/etc/zm/zm.conf" // Path to config file
#define ZM_VERSION "1.25.0" // ZoneMinder Version
#define ZM_HAS_V4L1 0
#define ZM_HAS_V4L2 1
#define ZM_HAS_V4L 1
#ifdef HAVE_LIBAVFORMAT
#define ZM_HAS_FFMPEG 1
#endif // HAVE_LIBAVFORMAT
#define ZM_MAX_IMAGE_WIDTH 2048 // The largest image we imagine ever handling
#define ZM_MAX_IMAGE_HEIGHT 1536 // The largest image we imagine ever handling
#define ZM_MAX_IMAGE_COLOURS 4 // The largest image we imagine ever handling
#define ZM_MAX_IMAGE_DIM (ZM_MAX_IMAGE_WIDTH*ZM_MAX_IMAGE_HEIGHT)
#define ZM_MAX_IMAGE_SIZE (ZM_MAX_IMAGE_DIM*ZM_MAX_IMAGE_COLOURS)
#define ZM_SCALE_BASE 100 // The factor by which we bump up 'scale' to simulate FP
#define ZM_RATE_BASE 100 // The factor by which we bump up 'rate' to simulate FP
#define ZM_SQL_SML_BUFSIZ 256 // Size of SQL buffer
#define ZM_SQL_MED_BUFSIZ 1024 // Size of SQL buffer
#define ZM_SQL_LGE_BUFSIZ 8192 // Size of SQL buffer
#define ZM_NETWORK_BUFSIZ 32768 // Size of network buffer
#define ZM_MAX_FPS 30 // The maximum frame rate we expect to handle
#define ZM_SAMPLE_RATE int(1000000/ZM_MAX_FPS) // A general nyquist sample frequency for delays etc
#define ZM_SUSPENDED_RATE int(1000000/4) // A slower rate for when disabled etc
extern void zmLoadConfig();
struct StaticConfig
{
std::string DB_HOST;
std::string DB_NAME;
std::string DB_USER;
std::string DB_PASS;
std::string PATH_WEB;
};
extern StaticConfig staticConfig;
class ConfigItem
{
private:
char *name;
char *value;
char *type;
mutable enum { CFG_BOOLEAN, CFG_INTEGER, CFG_DECIMAL, CFG_STRING } cfg_type;
mutable union
{
bool boolean_value;
int integer_value;
double decimal_value;
char *string_value;
} cfg_value;
mutable bool accessed;
public:
ConfigItem( const char *p_name, const char *p_value, const char *const p_type );
~ConfigItem();
void ConvertValue() const;
bool BooleanValue() const;
int IntegerValue() const;
double DecimalValue() const;
const char *StringValue() const;
inline operator bool() const
{
return( BooleanValue() );
}
inline operator int() const
{
return( IntegerValue() );
}
inline operator double() const
{
return( DecimalValue() );
}
inline operator const char *() const
{
return( StringValue() );
}
};
class Config
{
public:
ZM_CFG_DECLARE_LIST
private:
int n_items;
ConfigItem **items;
public:
Config();
~Config();
void Load();
void Assign();
const ConfigItem &Item( int id );
};
extern Config config;
#endif // ZM_CONFIG_H

View File

@ -219,7 +219,7 @@
#define ZM_EYEZM_SEG_DURATION 215
#define ZM_MAX_CFG_ID 220
#define ZM_MAX_CFG_ID 215
#define ZM_CFG_DECLARE_LIST \
const char *lang_default;\

View File

@ -1,436 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/ajax
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/ajax
dist_web_DATA = \
alarm.php \
control.php \
event.php \
log.php \
status.php \
stream.php \
zone.php
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/ajax/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/ajax/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,432 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/css
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/css
dist_web_DATA = \
reset.css \
spinner.css \
overlay.css
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/css/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/css/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,432 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/graphics
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/graphics
dist_web_DATA = \
favicon.ico \
spinner.gif \
transparent.gif
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/graphics/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/graphics/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,462 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/includes
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.php.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = config.php
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)" "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA) $(web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/includes
web_DATA = \
config.php
dist_web_DATA = \
actions.php \
database.php \
functions.php \
control_functions.php \
lang.php \
logger.php
EXTRA_DIST = \
config.php.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/includes/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/includes/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
config.php: $(top_builddir)/config.status $(srcdir)/config.php.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
install-webDATA: $(web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-webDATA:
@$(NORMAL_UNINSTALL)
@list='$(web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)" "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA install-webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA uninstall-webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip install-webDATA \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA \
uninstall-webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,173 +0,0 @@
<?php
//
// ZoneMinder web configuration file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
//
// This section contains options substituted by the zmconfig.pl utility, do not edit these directly
//
define( "ZM_CONFIG", "/etc/zm/zm.conf" ); // Path to config file
$configFile = ZM_CONFIG;
$localConfigFile = basename($configFile);
if ( file_exists( $localConfigFile ) && filesize( $localConfigFile ) > 0 )
{
if ( php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR']) )
print( "Warning, overriding installed $localConfigFile file with local copy\n" );
else
error_log( "Warning, overriding installed $localConfigFile file with local copy" );
$configFile = $localConfigFile;
}
$cfg = fopen( $configFile, "r") or die("Could not open config file.");
while ( !feof($cfg) )
{
$str = fgets( $cfg, 256 );
if ( preg_match( '/^\s*$/', $str ))
continue;
elseif ( preg_match( '/^\s*#/', $str ))
continue;
elseif ( preg_match( '/^\s*([^=\s]+)\s*=\s*(.+?)\s*$/', $str, $matches ))
define( $matches[1], $matches[2] );
}
fclose( $cfg );
//
// This section is options normally derived from other options or configuration
//
define( "ZMU_PATH", ZM_PATH_BIN."/zmu" ); // Local path to the ZoneMinder Utility
//
// If setup supports Video 4 Linux v2 and/or v1
//
define( "ZM_HAS_V4L2", "1" ); // V4L2 support enabled
define( "ZM_HAS_V4L1", "0" ); // V4L1 support enabled
define( "ZM_HAS_V4L", "1" ); // V4L support enabled
//
// If PCRE dev libraries are installed
//
define( "ZM_PCRE", "1" ); // PCRE support enabled
//
// Alarm states
//
define( "STATE_IDLE", 0 );
define( "STATE_PREALARM", 1 );
define( "STATE_ALARM", 2 );
define( "STATE_ALERT", 3 );
define( "STATE_TAPE", 4 );
//
// DVR Control Commands
//
define( "MSG_CMD", 1 );
define( "MSG_DATA_WATCH", 2 );
define( "MSG_DATA_EVENT", 3 );
define( "CMD_NONE", 0 );
define( "CMD_PAUSE", 1 );
define( "CMD_PLAY", 2 );
define( "CMD_STOP", 3 );
define( "CMD_FASTFWD", 4 );
define( "CMD_SLOWFWD", 5 );
define( "CMD_SLOWREV", 6 );
define( "CMD_FASTREV", 7 );
define( "CMD_ZOOMIN", 8 );
define( "CMD_ZOOMOUT", 9 );
define( "CMD_PAN", 10 );
define( "CMD_SCALE", 11 );
define( "CMD_PREV", 12 );
define( "CMD_NEXT", 13 );
define( "CMD_SEEK", 14 );
define( "CMD_VARPLAY", 15 );
define( "CMD_QUERY", 99 );
//
// These are miscellaneous options you won't normally need to change
//
define( "MAX_EVENTS", 10 ); // The maximum number of events to show in the monitor event listing
define( "RATE_BASE", 100 ); // The additional scaling factor used to help get fractional rates in integer format
define( "SCALE_BASE", 100 ); // The additional scaling factor used to help get fractional scales in integer format
//
// Date and time formats, eventually some of these may end up in the language files
//
define( "DATE_FMT_CONSOLE_LONG", "D jS M, g:ia" ); // This is the main console date/time, date() or strftime() format
define( "DATE_FMT_CONSOLE_SHORT", "%H:%M" ); // This is the xHTML console date/time, date() or strftime() format
define( "STRF_FMT_DATETIME_DB", "%Y-%m-%d %H:%M:%S" ); // Strftime format for database queries, don't change
define( "STRF_FMT_DATETIME", "%c" ); // Strftime locale aware format for dates with times
define( "STRF_FMT_DATE", "%x" ); // Strftime locale aware format for dates without times
define( "STRF_FMT_TIME", "%X" ); // Strftime locale aware format for times without dates
define( "STRF_FMT_DATETIME_SHORT", "%y/%m/%d %H:%M:%S" ); // Strftime shorter format for dates with time, not locale aware
define( "STRF_FMT_DATETIME_SHORTER", "%m/%d %H:%M:%S" ); // Strftime shorter format for dates with time, not locale aware, used where space is tight
define( "MYSQL_FMT_DATETIME_SHORT", "%y/%m/%d %H:%i:%S" ); // MySQL date_format shorter format for dates with time
require_once( 'database.php' );
loadConfig();
$GLOBALS['defaultUser'] = array(
"Username" => "admin",
"Password" => "",
"Language" => "",
"Enabled" => 1,
"Stream" => 'View',
"Events" => 'Edit',
"Control" => 'Edit',
"Monitors" => 'Edit',
"Devices" => 'Edit',
"System" => 'Edit',
"MaxBandwidth" => "",
"MonitorIds" => false
);
function loadConfig( $defineConsts=true )
{
global $config;
global $configCats;
$config = array();
$configCat = array();
$sql = "select * from Config order by Id asc";
$result = mysql_query( $sql );
if ( !$result )
echo mysql_error();
$monitors = array();
while( $row = mysql_fetch_assoc( $result ) )
{
if ( $defineConsts )
define( $row['Name'], $row['Value'] );
$config[$row['Name']] = $row;
if ( !($configCat = &$configCats[$row['Category']]) )
{
$configCats[$row['Category']] = array();
$configCat = &$configCats[$row['Category']];
}
$configCat[$row['Name']] = $row;
}
//print_r( $config );
//print_r( $configCats );
}
?>

View File

@ -1,432 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/js
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/js
dist_web_DATA = \
logger.js \
overlay.js \
mootools.ext.js
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/js/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/js/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,449 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/lang
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/lang
dist_web_DATA = \
big5_big5.php \
cn_zh.php \
cs_cz.php \
de_de.php \
dk_dk.php \
et_ee.php \
en_gb.php \
en_us.php \
es_ar.php \
fr_fr.php \
he_il.php \
hu_hu.php \
it_it.php \
ja_jp.php \
nl_nl.php \
pl_pl.php \
pt_br.php \
ro_ro.php \
ru_ru.php \
se_se.php
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/lang/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/lang/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,850 +0,0 @@
<?php
//
// ZoneMinder web Chinese Traditional language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder <Chinese Traditional> Translation by <Greener C. Chiou>
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
//require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
//header( "Content-Type: text/html; charset=Big5" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
//setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
//setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
setlocale( LC_ALL, 'Big5' ); //All locale settings pre-4.3.0
//setlocale( LC_ALL, 'Big5' ); //All locale settings 4.3.0 and after
setlocale( LC_CTYPE, 'Big5' ); //Character class settings 4.3.0 and after
setlocale( LC_TIME, 'Big5' ); //Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 位元色彩',
'32BitColour' => '32 位元色彩', // Added - 2011-06-15
'8BitGrey' => '8 位元灰階',
'Action' => 'Action',
'Actual' => 'Actual',
'AddNewControl' => '新增控制',
'AddNewMonitor' => '新增監視',
'AddNewUser' => '新增使用者',
'AddNewZone' => '新增監視區',
'Alarm' => '警報',
'AlarmBrFrames' => '警報<br/>框架',
'AlarmFrame' => '警報框架',
'AlarmFrameCount' => '警報框架數',
'AlarmLimits' => 'Alarm Limits',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Alarm Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => '警告',
'All' => '全部',
'Apply' => '確定',
'ApplyingStateChange' => '確定狀態改變',
'ArchArchived' => 'Archived Only',
'ArchUnarchived' => 'Unarchived Only',
'Archive' => '存檔',
'Archived' => '已存檔',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Alarm Frames',
'AttrArchiveStatus' => 'Archive Status',
'AttrAvgScore' => 'Average Score',
'AttrCause' => 'Cause',
'AttrDate' => 'Date',
'AttrDateTime' => 'Date/Time',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => 'Duration',
'AttrFrames' => 'Frames',
'AttrId' => 'Id',
'AttrMaxScore' => 'Max. Score',
'AttrMonitorId' => 'Monitor Id',
'AttrMonitorName' => 'Monitor Name',
'AttrName' => 'Name',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Time',
'AttrTotalScore' => 'Total Score',
'AttrWeekday' => 'Weekday',
'Auto' => '自動',
'AutoStopTimeout' => '時間過自動停止',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => '平均<br/>分數',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Names may only contain alphanumeric characters plus hyphen and underscore',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => '頻寬',
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
'Brightness' => '亮度',
'Buffers' => '緩衝',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => '取消',
'CancelForcedAlarm' => 'Cancel Forced Alarm',
'CaptureHeight' => '捕捉高度',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => '捕捉格式',
'CaptureWidth' => '捕捉寬度',
'Cause' => '因素',
'CheckMethod' => 'Alarm Check Method',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Choose Filter',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => '關閉',
'Colour' => 'Colour',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Config',
'ConfiguredFor' => '配置為',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => '確認密碼',
'ConjAnd' => 'and',
'ConjOr' => 'or',
'Console' => '操控台',
'ContactAdmin' => '請與系統管理者聯繫.',
'Continue' => '連續',
'Contrast' => 'Contrast',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => '分區輪流檢視',
'CycleWatch' => '分區輪流檢視',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => '日',
'Debug' => 'debug',
'DefaultRate' => '預設速率',
'DefaultScale' => '預設尺寸',
'DefaultView' => 'Default View',
'Delete' => '刪除',
'DeleteAndNext' => '刪除 &amp; 下一事件',
'DeleteAndPrev' => '刪除 &amp; 上一事件',
'DeleteSavedFilter' => '刪除儲存過濾',
'Description' => '描述',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => '裝置通道',
'DeviceFormat' => '裝置格式',
'DeviceNumber' => '裝置編號',
'DevicePath' => '裝置路徑',
'Devices' => 'Devices',
'Dimensions' => '尺寸',
'DisableAlarms' => '取消警報',
'Disk' => '磁碟',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => '下載',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => '歷時',
'Edit' => '編輯',
'Email' => 'Email',
'EnableAlarms' => '啟動警報',
'Enabled' => '啟用',
'EnterNewFilterName' => 'Enter new filter name',
'Error' => '錯誤',
'ErrorBrackets' => 'Error, please check you have an equal number of opening and closing brackets',
'ErrorValidValue' => 'Error, please check that all terms have a valid value',
'Etc' => 'etc',
'Event' => '事件',
'EventFilter' => '事件過濾',
'EventId' => '事件Id',
'EventName' => '事件名稱',
'EventPrefix' => '事件字首',
'Events' => '事件',
'Exclude' => '不包含',
'Execute' => 'Execute',
'Export' => '輸出',
'ExportDetails' => '輸出事件細項',
'ExportFailed' => '輸出失敗',
'ExportFormat' => '輸出檔案格式',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => '輸出框架細項',
'ExportImageFiles' => '輸出圖片檔',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => '輸出其他檔(若有)',
'ExportOptions' => '輸出選項',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => '輸出影片檔(若有)',
'Exporting' => '輸出中',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS 報告間距',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Feed',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => '自動儲存符合項目',
'FilterDeleteEvents' => '自動刪除符合項目',
'FilterEmailEvents' => '自動寄出詳細符合項目',
'FilterExecuteEvents' => '自動執行符合指令',
'FilterMessageEvents' => '自動發出符合訊息',
'FilterPx' => 'Filter Px',
'FilterUnset' => '您必需設定濾鏡的寬度和高度',
'FilterUploadEvents' => '自動上傳符合項目',
'FilterVideoEvents' => '自動產生符合的影像檔',
'Filters' => '濾鏡',
'First' => 'First',
'FlippedHori' => '水平反轉',
'FlippedVert' => '垂直反轉',
'Focus' => 'Focus',
'ForceAlarm' => 'Force Alarm',
'Format' => '格式',
'Frame' => '框架',
'FrameId' => '框架 Id',
'FrameRate' => '框架速率',
'FrameSkip' => '框架忽略',
'Frames' => '框架',
'Func' => 'Func',
'Function' => '功能',
'Gain' => 'Gain',
'General' => '一般',
'GenerateVideo' => '輸出影片',
'GeneratingVideo' => '輸出影片中',
'GoToZoneMinder' => 'Go to ZoneMinder.com',
'Grey' => 'Grey',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => '高',
'HighBW' => 'High&nbsp;B/W',
'Home' => 'Home',
'Hour' => '時',
'Hue' => 'Hue',
'Id' => 'Id',
'Idle' => 'Idle',
'Ignore' => 'Ignore',
'Image' => '影像',
'ImageBufferSize' => '影像緩衝大小',
'Images' => 'Images',
'In' => 'In',
'Include' => '包含',
'Inverted' => '反轉',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => '語言',
'Last' => 'Last',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'results only;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limit to first', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => '列出',
'Load' => '載入',
'Local' => 'Local',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => '登入名稱',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => '登入中... 請稍後...',
'Login' => '登入',
'Logout' => '登出',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => '低',
'LowBW' => 'Low&nbsp;B/W',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => '標註',
'Max' => 'Max',
'MaxBandwidth' => 'Max Bandwidth', // Added - 2009-02-08
'MaxBrScore' => '最高<br/>分數',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => '最大每秒框架數 fps',
'Medium' => '中',
'MediumBW' => 'Medium&nbsp;B/W',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Minimum blob area should be less than maximum',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Minimum blobs should be less than maximum',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Minimum pixel threshold should be less than maximum',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => '細項',
'Monitor' => '監視',
'MonitorIds' => 'Monitor&nbsp;Ids',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => '監視',
'Montage' => '全部顯示',
'Month' => '月',
'More' => 'More', // Added - 2011-06-16
'Move' => '移動',
'MustBeGe' => '需大於或等於',
'MustBeLe' => '需小於或等於',
'MustConfirmPassword' => '您必需確認密碼',
'MustSupplyPassword' => '您必需提供密碼',
'MustSupplyUsername' => '您必需提供使用者名稱',
'Name' => '名稱',
'Near' => 'Near',
'Network' => 'Network',
'New' => '新增',
'NewGroup' => '新群組',
'NewLabel' => 'New Label',
'NewPassword' => '新密碼',
'NewState' => '新狀態',
'NewUser' => '新使用者',
'Next' => '下一步',
'No' => 'No',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'There are no frames recorded for this event',
'NoGroup' => 'No Group', // Added - 2009-02-08
'NoSavedFilters' => 'NoSavedFilters',
'NoStatisticsRecorded' => 'There are no statistics recorded for this event/frame',
'None' => '無選取',
'NoneAvailable' => 'None available',
'Normal' => 'Normal',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'equal to',
'OpGt' => 'greater than',
'OpGtEq' => 'greater than or equal to',
'OpIn' => 'in set',
'OpLt' => 'less than',
'OpLtEq' => 'less than or equal to',
'OpMatches' => 'matches',
'OpNe' => 'not equal to',
'OpNotIn' => 'not in set',
'OpNotMatches' => 'does not match',
'Open' => 'Open',
'OptionHelp' => 'OptionHelp',
'OptionRestartWarning' => 'These changes may not come into effect fully\nwhile the system is running. When you have\nfinished making your changes please ensure that\nyou restart ZoneMinder.',
'Options' => '銓垣專用',//進階選項
'OrEnterNewName' => 'or enter new name',
'Order' => '順序',
'Orientation' => '方向',
'Out' => 'Out',
'OverwriteExisting' => 'Overwrite Existing',
'Paged' => 'Paged',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => '參數',
'Password' => '密碼',
'PasswordsDifferent' => 'The new and confirm passwords are different',
'Paths' => 'Paths',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => 'Phone&nbsp;B/W',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixels',
'Play' => 'Play',
'PlayAll' => '全部播放',
'PleaseWait' => 'Please Wait',
'Point' => '點',
'PostEventImageBuffer' => '後置事件影像緩衝',
'PreEventImageBuffer' => '前置事件影像緩衝',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => '上一事件',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Rate',
'Real' => 'Real',
'Record' => '錄影',
'RefImageBlendPct' => '參考影像混合 %ge',
'Refresh' => '更新',
'Remote' => 'Remote',
'RemoteHostName' => '遠端主機名稱',
'RemoteHostPath' => '遠端主機路徑',
'RemoteHostPort' => '遠端主機端口',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Remote Image Colours',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => '重新命名',
'Replay' => '重新播放',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'Reset Event Counts',
'Restart' => '重新啟動',
'Restarting' => 'Restarting',
'RestrictedCameraIds' => 'Restricted Camera Ids',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Rotate Left',
'RotateRight' => 'Rotate Right',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => '監視模式',
'RunState' => '運作狀態',
'Running' => '運行中',
'Save' => '存檔',
'SaveAs' => '儲存為',
'SaveFilter' => 'Save Filter',
'Scale' => 'Scale',
'Score' => '分數',
'Secs' => 'Secs',
'Sectionlength' => '片段長度',
'Select' => '選取',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => '設定新頻寬速度',
'SetPreset' => 'Set Preset',
'Settings' => 'Settings',
'ShowFilterWindow' => '顯示過濾視窗',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Asc',
'SortBy' => 'Sort by',
'SortDesc' => 'Desc',
'Source' => '來源',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => '來源形式',
'Speed' => '速度',
'SpeedHigh' => '高 速',
'SpeedLow' => '低 速',
'SpeedMedium' => '中速',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'Start',
'State' => 'State',
'Stats' => 'Stats',
'Status' => 'Status',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => '靜止',
'Stop' => '停止',
'Stopped' => '已停止',
'Stream' => '串流',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'System',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => '小圖檢視',
'Tilt' => 'Tilt',
'Time' => '時間',
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Time Stamp', // Added - 2009-02-08
'Timeline' => 'Timeline', // Added - 2009-02-08
'Timestamp' => '時間格式',
'TimestampLabelFormat' => '時間標示格式',
'TimestampLabelX' => '時間標示 X',
'TimestampLabelY' => '時間標示 Y',
'Today' => 'Today',
'Tools' => 'Tools',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => '全部<br/>分數',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => '觸發',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'Type',
'Unarchive' => '不存檔',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Units',
'Unknown' => 'Unknown',
'Update' => 'Update', // Added - 2009-02-08
'UpdateAvailable' => 'An update to ZoneMinder is available.',
'UpdateNotNecessary' => 'No update is necessary.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Use Filter',
'UseFilterExprsPost' => '&nbsp;filter&nbsp;expressions', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Use&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'User',
'Username' => '使用者名稱',
'Users' => 'Users',
'Value' => '設定值',
'Version' => '版本',
'VersionIgnore' => 'Ignore this version',
'VersionRemindDay' => 'Remind again in 1 day',
'VersionRemindHour' => 'Remind again in 1 hour',
'VersionRemindNever' => 'Don\'t remind about new versions',
'VersionRemindWeek' => 'Remind again in 1 week',
'Video' => 'Video',
'VideoFormat' => 'Video Format', // Added - 2009-02-08
'VideoGenFailed' => '輸出影片失敗!',
'VideoGenFiles' => 'Existing Video Files', // Added - 2009-02-08
'VideoGenNoFiles' => 'No Video Files Found', // Added - 2009-02-08
'VideoGenParms' => '輸出影片參數',
'VideoGenSucceeded' => 'Video Generation Succeeded!', // Added - 2009-02-08
'VideoSize' => '影片尺寸',
'View' => '檢視',
'ViewAll' => '全部檢視',
'ViewEvent' => 'View Event', // Added - 2009-02-08
'ViewPaged' => '分頁檢視',
'Wake' => 'Wake',
'WarmupFrames' => '熱機框架',
'Watch' => 'Watch',
'Web' => 'Web',
'WebColour' => 'Web Colour', // Added - 2009-02-08
'Week' => '週',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 Activation String',
'X10InputAlarmString' => 'X10 Input Alarm String',
'X10OutputAlarmString' => 'X10 Output Alarm String',
'Y' => 'Y', // Added - 2009-02-08
'Yes' => 'Yes',
'YouNoPerms' => 'You do not have permissions to access this resource.',
'Zone' => 'Zone',
'ZoneAlarmColour' => 'Alarm Colour (RGB)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => '監視區',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In', // Added - 2009-02-08
'ZoomOut' => 'Zoom Out', // Added - 2009-02-08
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => '目前登入者是 \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Last %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'The latest release is v%1$s, you have v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Monitor %1$s Function',
'RunningRecentVer' => 'You are running the most recent version of ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'事件', 1=>'事件', 2=>'事件' ),
'Monitor' => array( 0=>'監視', 1=>'監視', 2=>'監視' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,845 +0,0 @@
<?php
//
// ZoneMinder web Simplified Chinese language file, $Date: 2009-02-19 12:45:24 +0000 (Tue, 27 Jan 2009) $, $Revision: 0001 $
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder <Simplified Chinese> Translation by <allankliu@yahoo.com.cn>
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_zh_cn.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=utf-8" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
setlocale( LC_ALL, 'cn_ZH' ); //All locale settings 4.3.0 and after
setlocale( LC_CTYPE, 'cn_ZH' ); //Character class settings 4.3.0 and after
setlocale( LC_TIME, 'cn_ZH' ); //Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 位彩色',
'32BitColour' => '32 位彩色', // Added - 2011-06-15
'8BitGrey' => '8 位灰度',
'Action' => '活动动作',
'Actual' => '实际',
'AddNewControl' => '新建控制',
'AddNewMonitor' => '新建监视器',
'AddNewUser' => '新建用户',
'AddNewZone' => '新建区域',
'Alarm' => '报警',
'AlarmBrFrames' => '报警<br/>帧',
'AlarmFrame' => '报警帧',
'AlarmFrameCount' => '报警帧数',
'AlarmLimits' => '报警限制',
'AlarmMaximumFPS' => '报警最大帧率FPS',
'AlarmPx' => '报警像素',
'AlarmRGBUnset' => '你必须设置一个报警颜色(RGB)',
'Alert' => '警报',
'All' => '全部',
'Apply' => '应用',
'ApplyingStateChange' => '状态改变生效',
'ArchArchived' => '仅限于存档',
'ArchUnarchived' => '仅限于未存档',
'Archive' => '存档',
'Archived' => '已经存档',
'Area' => '区域',
'AreaUnits' => '区域 (px/%)',
'AttrAlarmFrames' => '报警帧',
'AttrArchiveStatus' => '存档状态',
'AttrAvgScore' => '平均分数',
'AttrCause' => '原因',
'AttrDate' => '日期',
'AttrDateTime' => '日期/时间',
'AttrDiskBlocks' => '磁碟区块',
'AttrDiskPercent' => '磁碟百分比',
'AttrDuration' => '过程',
'AttrFrames' => '帧',
'AttrId' => 'Id',
'AttrMaxScore' => '最大分数',
'AttrMonitorId' => '监视器 Id',
'AttrMonitorName' => '监视器名称',
'AttrName' => '名称',
'AttrNotes' => '备注',
'AttrSystemLoad' => '系统负载',
'AttrTime' => '时间',
'AttrTotalScore' => '总分数',
'AttrWeekday' => '星期',
'Auto' => '自动',
'AutoStopTimeout' => '超时自动停止',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => '平均<br/>分数',
'Background' => '后台',
'BackgroundFilter' => '在后台运行筛选器',
'BadAlarmFrameCount' => '报警帧数必须设为大于1的整数',
'BadAlarmMaxFPS' => '报警最大帧率必须是正整数或正浮点数',
'BadChannel' => '通道必须设为大于零的整数',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => '必须为器件设置有效值',
'BadFPSReportInterval' => 'FPS帧数报告间隔缓冲数必须是0以上整数',
'BadFormat' => '格式必须设为大于零的整数',
'BadFrameSkip' => '跳帧数必须设为大于零的整数',
'BadHeight' => '高度必须设为有效值',
'BadHost' => '主机必须设为有效IP地址或主机名不要包含 http://',
'BadImageBufferCount' => '图像缓冲器大小必须设为大于10的整数',
'BadLabelX' => '标签 X 坐标必须设为大于零的整数',
'BadLabelY' => '标签 Y 坐标必须设为大于零的整数',
'BadMaxFPS' => '最大帧数FPS必须设为正整数或着浮点数',
'BadNameChars' => '名称只可以包含字母,数字,波折号和下划线',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => '路径必须设为有效值',
'BadPort' => '端口必须设为有效数字',
'BadPostEventCount' => '之后事件影像数目必须设为大于零的整数',
'BadPreEventCount' => '之前事件影像数目必须最小值为零,并且小于影像缓冲区',
'BadRefBlendPerc' => '参考混合百分比必须设为一个正整数',
'BadSectionLength' => '节长度必须设为30的整数倍',
'BadSignalCheckColour' => '信号检查颜色必须设为有效的RGB颜色字符',
'BadStreamReplayBuffer' => '流重放缓冲必须为零或更多整数',
'BadWarmupCount' => '预热帪必须设为零或更多整数',
'BadWebColour' => 'Web颜色必须设为有效Web颜色字符',
'BadWidth' => '宽度必须设为有效值',
'Bandwidth' => '带宽',
'BlobPx' => 'Blob像素',
'BlobSizes' => 'Blob大小',
'Blobs' => 'Blobs',
'Brightness' => '亮度',
'Buffers' => '缓冲器',
'CanAutoFocus' => '可以自动对焦',
'CanAutoGain' => '可以自动增益控制',
'CanAutoIris' => '可以自动光圈',
'CanAutoWhite' => '可以自动白平衡',
'CanAutoZoom' => '可以自动缩放',
'CanFocus' => '可以对焦',
'CanFocusAbs' => '可以绝对对焦',
'CanFocusCon' => '可以连续对焦',
'CanFocusRel' => '可以相对对焦',
'CanGain' => '可以增益',
'CanGainAbs' => '可以绝对增益',
'CanGainCon' => '可以连续增益',
'CanGainRel' => '可以相对增益',
'CanIris' => '可以光圈',
'CanIrisAbs' => '可以绝对光圈',
'CanIrisCon' => '可以连续光圈',
'CanIrisRel' => '可以相对光圈',
'CanMove' => '可以移动',
'CanMoveAbs' => '可以绝对移动',
'CanMoveCon' => '可以连续移动',
'CanMoveDiag' => '可以对角移动',
'CanMoveMap' => '可以映射网格移动',
'CanMoveRel' => '可以相对移动',
'CanPan' => '可以平移' ,
'CanReset' => '可以复位',
'CanSetPresets' => '可以进行预设',
'CanSleep' => '可以休眠',
'CanTilt' => '可以倾斜',
'CanWake' => '可以唤醒',
'CanWhite' => '可以白平衡',
'CanWhiteAbs' => '可以绝对白平衡',
'CanWhiteBal' => '可以白平衡',
'CanWhiteCon' => '可以连续白平衡',
'CanWhiteRel' => '可以相对白平衡',
'CanZoom' => '可以缩放',
'CanZoomAbs' => '可以绝对缩放',
'CanZoomCon' => '可以连续缩放',
'CanZoomRel' => '可以相对缩放',
'Cancel' => '取消',
'CancelForcedAlarm' => '取消强制报警',
'CaptureHeight' => '捕获高度',
'CaptureMethod' => '捕获方式',
'CapturePalette' => '捕获调色板',
'CaptureWidth' => '捕获宽度',
'Cause' => '原因',
'CheckMethod' => '报警检查方式',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => '选择筛选器',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => '选择预置',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => '关闭',
'Colour' => '彩色',
'Command' => '命令',
'Component' => 'Component', // Added - 2011-06-16
'Config' => '配置',
'ConfiguredFor' => '配置标的',
'ConfirmDeleteEvents' => '确认希望删除所选事件?',
'ConfirmPassword' => '密码确认',
'ConjAnd' => '及',
'ConjOr' => '或',
'Console' => '控制台',
'ContactAdmin' => '请联系您的管理员了解详情。',
'Continue' => '继续',
'Contrast' => '对比度',
'Control' => '控制',
'ControlAddress' => '控制地址',
'ControlCap' => '控制能力',
'ControlCaps' => '控制能力',
'ControlDevice' => '控制设备',
'ControlType' => '控制类型',
'Controllable' => '可控',
'Cycle' => '循环',
'CycleWatch' => '循环监视',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => '日',
'Debug' => '调试',
'DefaultRate' => '缺省速率',
'DefaultScale' => '缺省缩放',
'DefaultView' => '缺省视角',
'Delete' => '删除',
'DeleteAndNext' => '删除并下一个',
'DeleteAndPrev' => '删除并前一个',
'DeleteSavedFilter' => '删除存储过滤器',
'Description' => '描述',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => '设备',
'DeviceChannel' => '设备通道',
'DeviceFormat' => '设备格式',
'DeviceNumber' => '设备编号',
'DevicePath' => '设备路径',
'Devices' => '设备',
'Dimensions' => '维度',
'DisableAlarms' => '关闭警报',
'Disk' => '磁碟',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => '请捐款',
'DonateAlready' => '不,我已经捐赠过了',
'DonateEnticement' => '迄今您已经运行ZoneMinder有一阵子了希望它能够有助于增强您家或者办公区域的安全。尽管ZoneMinder是并将保持免费和开源该项目依然在研发和支持中投入了资金和精力。如果您愿意支持今后的开发和新功能那么请考虑为该项目捐款。捐款不是必须的任何数量的捐赠我们都很感谢。<br/><br/>如果您愿意捐款,请选择下列选项,或者访问 http://www.zoneminder.com/donate.html 捐赠主页。<br/><br/>感谢您使用ZoneMinder并且不要忘记访问访问ZoneMinder.com的论坛以获得支持或建议这可以提升您的ZoneMinder的体验。',
'DonateRemindDay' => '现在不1天内再次提醒我',
'DonateRemindHour' => '现在不1小时内再次提醒我',
'DonateRemindMonth' => '现在不1个月内再次提醒我',
'DonateRemindNever' => '不,我不打算捐款',
'DonateRemindWeek' => '现在不1星期内再次提醒我',
'DonateYes' => '好,我现在就捐款',
'Download' => '下载',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Duration',
'Edit' => '编辑',
'Email' => 'Email',
'EnableAlarms' => '启动报警',
'Enabled' => '已启动',
'EnterNewFilterName' => '输入新过滤器名称',
'Error' => '错误',
'ErrorBrackets' => '错误, 请检查左右括号数,必须相等',
'ErrorValidValue' => '错误, 请检查所有条件具备有效值',
'Etc' => '等',
'Event' => '事件',
'EventFilter' => '事件过滤器',
'EventId' => '事件 Id',
'EventName' => '事件名称',
'EventPrefix' => '事件前缀',
'Events' => '事件',
'Exclude' => '排除',
'Execute' => '执行',
'Export' => '导出',
'ExportDetails' => '导出时间详情',
'ExportFailed' => '导出失败',
'ExportFormat' => '导出文件格式',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => '导出帧详情',
'ExportImageFiles' => '导出影像文件',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => '导出其他文件 (如果存在)',
'ExportOptions' => '导出选项',
'ExportSucceeded' => '导出成功',
'ExportVideoFiles' => '导出视频文件 (如果存在)',
'Exporting' => '正在导出',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS 报告间隔',
'FTP' => 'FTP',
'Far' => '远',
'FastForward' => '快进',
'Feed' => '转送源',
'Ffmpeg' => 'Ffmpeg',
'File' => '文件',
'FilterArchiveEvents' => '将全部匹配项存档',
'FilterDeleteEvents' => '将全部匹配项删除',
'FilterEmailEvents' => '将全部匹配项详情电邮出去',
'FilterExecuteEvents' => '执行全部匹配项命令',
'FilterMessageEvents' => '全部匹配项的信息详情',
'FilterPx' => '过滤器像素',
'FilterUnset' => '您必须指定过滤器宽度和高度',
'FilterUploadEvents' => '上传全部匹配项',
'FilterVideoEvents' => '为全部匹配项创建视频',
'Filters' => '过滤器',
'First' => '首先',
'FlippedHori' => '水平翻转',
'FlippedVert' => '垂直翻转',
'Focus' => '聚焦',
'ForceAlarm' => '强制报警',
'Format' => '格式',
'Frame' => '帧',
'FrameId' => '帧 Id',
'FrameRate' => '帧率',
'FrameSkip' => '跳帧',
'Frames' => '帧',
'Func' => '功能',
'Function' => '功能',
'Gain' => '增益',
'General' => '一般',
'GenerateVideo' => '创建视频',
'GeneratingVideo' => '正在创建视频',
'GoToZoneMinder' => '访问 ZoneMinder.com',
'Grey' => '灰',
'Group' => '组',
'Groups' => '组',
'HasFocusSpeed' => '有聚焦速度',
'HasGainSpeed' => '有增益速度',
'HasHomePreset' => '有主页预设',
'HasIrisSpeed' => '有光圈速度',
'HasPanSpeed' => '有平移速度',
'HasPresets' => '有预设值',
'HasTiltSpeed' => '有倾斜速度',
'HasTurboPan' => '有加速平移',
'HasTurboTilt' => '有加速斜率',
'HasWhiteSpeed' => '有白平衡速度',
'HasZoomSpeed' => '有缩放速度',
'High' => '高',
'HighBW' => '高&nbsp;B/W',
'Home' => '主页',
'Hour' => '小时',
'Hue' => '色调',
'Id' => 'Id',
'Idle' => '空闲',
'Ignore' => '忽略',
'Image' => '影像',
'ImageBufferSize' => '影像缓冲区大小 (帧)',
'Images' => '影像',
'In' => '在',
'Include' => '包含',
'Inverted' => '反向',
'Iris' => '光圈',
'KeyString' => '密钥字符',
'Label' => '标签',
'Language' => '语言',
'Last' => '最后',
'Layout' => '布局',
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => '个结果', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => '仅限于开始', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => '管理监视器',
'List' => '列表',
'Load' => '加载',
'Local' => '本地',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => '登录为',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => '登录',
'Login' => '登入',
'Logout' => '登出',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => '低',
'LowBW' => '低&nbsp;B/W',
'Main' => '主要',
'Man' => '人',
'Manual' => '手册',
'Mark' => '标记',
'Max' => '最大',
'MaxBandwidth' => '最大带宽',
'MaxBrScore' => '最大<br/>Score',
'MaxFocusRange' => '最大聚焦范围',
'MaxFocusSpeed' => '最大聚焦速度',
'MaxFocusStep' => '最大聚焦步进',
'MaxGainRange' => '最大增益范围',
'MaxGainSpeed' => '最大增益速度',
'MaxGainStep' => '最大增益步进',
'MaxIrisRange' => '最大光圈范围',
'MaxIrisSpeed' => '最大光圈速度',
'MaxIrisStep' => '最大光圈步进',
'MaxPanRange' => '最大平移范围',
'MaxPanSpeed' => '最大平移速度',
'MaxPanStep' => '最大平移步进',
'MaxTiltRange' => '最大倾斜范围',
'MaxTiltSpeed' => '最大倾斜速度',
'MaxTiltStep' => '最大倾斜步进',
'MaxWhiteRange' => '最大白平衡范围',
'MaxWhiteSpeed' => '最大白平衡速度',
'MaxWhiteStep' => '最大白平衡步进',
'MaxZoomRange' => '最大缩放范围',
'MaxZoomSpeed' => '最大缩放速度',
'MaxZoomStep' => '最大缩放步进',
'MaximumFPS' => '最大帧率 FPS',
'Medium' => '中等',
'MediumBW' => '中等&nbsp;B/W',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => '最小报警区域应该小于最大区域',
'MinAlarmAreaUnset' => '您必须指定最小报警像素数量',
'MinBlobAreaLtMax' => '最小blob区必须小数最大区域',
'MinBlobAreaUnset' => '您必须指定最小blob像素数量',
'MinBlobLtMinFilter' => '最小 blob 区必须小于等于最小过滤区域',
'MinBlobsLtMax' => '最小 blob 必须小于最大区域',
'MinBlobsUnset' => '您必须指定最小 blob 数',
'MinFilterAreaLtMax' => '最小过滤区域必须小于最大区域',
'MinFilterAreaUnset' => '您必须指定最小过滤像素数量',
'MinFilterLtMinAlarm' => '最小过滤区域应该小于等于最小报警区域',
'MinFocusRange' => '最小聚焦区域',
'MinFocusSpeed' => '最小聚焦速度',
'MinFocusStep' => '最小聚焦步进',
'MinGainRange' => '最小增益范围',
'MinGainSpeed' => '最小增益速度',
'MinGainStep' => '最小增益步进',
'MinIrisRange' => '最小光圈范围',
'MinIrisSpeed' => '最小光圈速度',
'MinIrisStep' => '最小光圈步进',
'MinPanRange' => '最小平移范围',
'MinPanSpeed' => '最小平移速度',
'MinPanStep' => '最小平移步进',
'MinPixelThresLtMax' => '最小像素阈值应该小于最大值',
'MinPixelThresUnset' => '您必须指定一个最小像素阈值',
'MinTiltRange' => '最小倾斜范围',
'MinTiltSpeed' => '最小倾斜速度',
'MinTiltStep' => '最小倾斜步进',
'MinWhiteRange' => '最小白平衡范围',
'MinWhiteSpeed' => '最小白平衡速度',
'MinWhiteStep' => '最小白平衡步进',
'MinZoomRange' => '最小缩放范围',
'MinZoomSpeed' => '最小缩放速度',
'MinZoomStep' => '最小缩放步进',
'Misc' => '杂项',
'Monitor' => '监视器',
'MonitorIds' => '监视器&nbsp;Ids',
'MonitorPreset' => '监视器预设值',
'MonitorPresetIntro' => '从以下列表中选择一个合适的预设值.<br/><br/>请注意该方式可能覆盖您为该监视器配置的数值.<br/><br/>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => '监视器',
'Montage' => '镜头组接',
'Month' => '月',
'More' => 'More', // Added - 2011-06-16
'Move' => '移动',
'MustBeGe' => '必须大于等于',
'MustBeLe' => '必须小于等于',
'MustConfirmPassword' => '您必须确认密码',
'MustSupplyPassword' => '您必须提供密码',
'MustSupplyUsername' => '您必须提供用户名',
'Name' => '名称',
'Near' => '近',
'Network' => '网络',
'New' => '新建',
'NewGroup' => '新建组',
'NewLabel' => '新建标签',
'NewPassword' => '新建密码',
'NewState' => '新状态',
'NewUser' => '新用户',
'Next' => '下一个',
'No' => '不',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => '该事件没有相关帧的记录',
'NoGroup' => '无组',
'NoSavedFilters' => '没有保存过滤器',
'NoStatisticsRecorded' => '没有该事件/帧的统计记录',
'None' => '无',
'NoneAvailable' => '没有',
'Normal' => '正常',
'Notes' => '备注',
'NumPresets' => '数值预置',
'Off' => '关',
'On' => '开',
'OpEq' => '等于',
'OpGt' => '大于',
'OpGtEq' => '大于等于',
'OpIn' => '在集',
'OpLt' => '小于',
'OpLtEq' => '小于等于',
'OpMatches' => '匹配',
'OpNe' => '不等于',
'OpNotIn' => '未在集',
'OpNotMatches' => '不匹配',
'Open' => '打开',
'OptionHelp' => '选项帮助',
'OptionRestartWarning' => '这些改动在系统运行时可以不会完全生效.\n 当你设置完毕改动后\n请确认\n您重新启动 ZoneMinder.',
'Options' => '选项',
'OrEnterNewName' => '或输入新名词',
'Order' => '次序',
'Orientation' => '方向',
'Out' => '外部',
'OverwriteExisting' => '覆盖现有的',
'Paged' => '分页',
'Pan' => '平移',
'PanLeft' => '向左平移',
'PanRight' => '向右平移',
'PanTilt' => '平移/倾斜',
'Parameter' => '参数',
'Password' => '密码',
'PasswordsDifferent' => '新建密码和确认密码不一致',
'Paths' => '路径',
'Pause' => '暂停',
'Phone' => '电话',
'PhoneBW' => '电话&nbsp;B/W',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => '像素差别',
'Pixels' => '像素',
'Play' => '播放',
'PlayAll' => '播放全部',
'PleaseWait' => '请等待',
'Point' => '点',
'PostEventImageBuffer' => '事件之后影像数',
'PreEventImageBuffer' => '时间之前影像数',
'PreserveAspect' => '维持长宽比',
'Preset' => '预置',
'Presets' => '预置',
'Prev' => '前',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => '协议',
'Rate' => '速率',
'Real' => '实际',
'Record' => '记录',
'RefImageBlendPct' => '参考影像混合 %ge',
'Refresh' => '刷新',
'Remote' => '远程',
'RemoteHostName' => '远程主机名',
'RemoteHostPath' => '远程主机路径',
'RemoteHostPort' => '远程主机端口',
'RemoteHostSubPath' => '远程主机子路径',
'RemoteImageColours' => '远程影像颜色',
'RemoteMethod' => '远程方法',
'RemoteProtocol' => '远程协议',
'Rename' => '重命名',
'Replay' => '重放',
'ReplayAll' => '全部事件',
'ReplayGapless' => '无间隙事件',
'ReplaySingle' => '单一事件',
'Reset' => '重置',
'ResetEventCounts' => '重置事件数',
'Restart' => '重启动',
'Restarting' => '重启动',
'RestrictedCameraIds' => '受限摄像机 Id',
'RestrictedMonitors' => '受限监视器',
'ReturnDelay' => '返回延时',
'ReturnLocation' => '返回位置',
'Rewind' => '重绕',
'RotateLeft' => '向左旋转',
'RotateRight' => '向右旋转',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => '运行模式',
'RunState' => '运行状态',
'Running' => '运行',
'Save' => '保存',
'SaveAs' => '另存为',
'SaveFilter' => '存储过滤器',
'Scale' => '比例',
'Score' => '分数',
'Secs' => '秒',
'Sectionlength' => '段长度',
'Select' => '选择',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => '选择监视器',
'SelfIntersecting' => '多边形边线不得交叉',
'Set' => '设置',
'SetNewBandwidth' => '设置新的带宽',
'SetPreset' => '设置预设值',
'Settings' => '设置',
'ShowFilterWindow' => '显示过滤器视窗',
'ShowTimeline' => '显示时间轴',
'SignalCheckColour' => '型号检查颜色',
'Size' => '大小',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => '睡眠',
'SortAsc' => '升序',
'SortBy' => '排序',
'SortDesc' => '降序',
'Source' => '信号源',
'SourceColours' => '信号源颜色',
'SourcePath' => '信号源路径',
'SourceType' => '信号源类型',
'Speed' => '加速',
'SpeedHigh' => '高速',
'SpeedLow' => '慢速',
'SpeedMedium' => '中等速度',
'SpeedTurbo' => '加速度',
'Start' => '开始',
'State' => '状态',
'Stats' => '统计',
'Status' => '状况',
'Step' => '步进',
'StepBack' => '单步后退',
'StepForward' => '单步前进',
'StepLarge' => '大步步进',
'StepMedium' => '中步步进',
'StepNone' => '无步进',
'StepSmall' => '小步步进',
'Stills' => '静止',
'Stop' => '停止',
'Stopped' => '已停止',
'Stream' => '流',
'StreamReplayBuffer' => '流重放影像缓冲',
'Submit' => '发送',
'System' => '系统',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => '缩略图',
'Tilt' => '倾斜',
'Time' => '时间',
'TimeDelta' => '相对时间',
'TimeStamp' => '时间戳',
'Timeline' => '时间轴',
'Timestamp' => '时间戳',
'TimestampLabelFormat' => '时间戳标签格式',
'TimestampLabelX' => '时间戳标签 X',
'TimestampLabelY' => '时间戳标签 Y',
'Today' => '今天',
'Tools' => '工具',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => '总<br/>分数',
'TrackDelay' => '轨迹延时',
'TrackMotion' => '轨迹运动',
'Triggers' => '触发器',
'TurboPanSpeed' => '加速平移速度',
'TurboTiltSpeed' => '加速倾斜速度',
'Type' => '类型',
'Unarchive' => '未存档',
'Undefined' => '未定义',
'Units' => '单元',
'Unknown' => '未知',
'Update' => '更新',
'UpdateAvailable' => '有新版本的ZoneMinder.',
'UpdateNotNecessary' => '无须更新',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => '使用筛选器',
'UseFilterExprsPost' => '&nbsp;筛选器&nbsp;表达式', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => '使用&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => '用户',
'Username' => '用户名',
'Users' => '用户',
'Value' => '数值',
'Version' => '版本',
'VersionIgnore' => '忽略该版本',
'VersionRemindDay' => '一天内再次提醒',
'VersionRemindHour' => '一小时内再次提醒',
'VersionRemindNever' => '不再提醒新版本',
'VersionRemindWeek' => '一周内再次提醒',
'Video' => '视频',
'VideoFormat' => '视频格式',
'VideoGenFailed' => '视频产生失败!',
'VideoGenFiles' => '现有视频文件',
'VideoGenNoFiles' => '没有找到视频文件',
'VideoGenParms' => '视频产生参数',
'VideoGenSucceeded' => '视频产生成功!',
'VideoSize' => '视频尺寸',
'View' => '查看',
'ViewAll' => '查看全部',
'ViewEvent' => '查看事件',
'ViewPaged' => '查看分页',
'Wake' => '唤醒',
'WarmupFrames' => '预热帪',
'Watch' => '观察',
'Web' => 'Web',
'WebColour' => 'Web颜色',
'Week' => '周',
'White' => '白',
'WhiteBalance' => '白平衡',
'Wide' => '宽',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 激活字符',
'X10InputAlarmString' => 'X10 输入警报字符',
'X10OutputAlarmString' => 'X10 输出警报字符',
'Y' => 'Y',
'Yes' => '是',
'YouNoPerms' => '您没有访问该资源的权限。',
'Zone' => '区域',
'ZoneAlarmColour' => '报警色彩 (红/绿/蓝)',
'ZoneArea' => '区域',
'ZoneFilterSize' => '过滤宽度/高度 (像素)',
'ZoneMinMaxAlarmArea' => '最小/最大报警区域',
'ZoneMinMaxBlobArea' => '最小/最大污渍区 Blob',
'ZoneMinMaxBlobs' => '最小/最大污渍区数 Blobs',
'ZoneMinMaxFiltArea' => '最小/最大过滤区域',
'ZoneMinMaxPixelThres' => '最小/最大像素阈值(0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => '忽略过载帪数',
'Zones' => '区域',
'Zoom' => '缩放',
'ZoomIn' => '放大',
'ZoomOut' => '缩小',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => '当前登入的是 \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => '最新 %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => '最新版为 v%1$s, 您有的是 v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => '监视器 %1$s 功能',
'RunningRecentVer' => '您运行的是最新版的 ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// 'Potato' => array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' ),
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'事件', 1=>'事件', 2=>'事件' ),
'Monitor' => array( 0=>'监视器', 1=>'监视器', 2=>'监视器' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $CLANG['MonitorCount'], count($monitors), zmVlang( $VLANG['VlangMonitor'], count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web UK English language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Czech Translation by Lukas Pokorny/Mlada Boleslav
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
//require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
//header( "Content-Type: text/html; charset=iso-8859-2" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
//setlocale( 'LC_ALL', 'cs_CZ' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 bit barevná',
'32BitColour' => '32 bit barevná', // Added - 2011-06-15
'8BitGrey' => '8 bit ¹edá ¹kála',
'Action' => 'Akce',
'Actual' => 'Skuteèná',
'AddNewControl' => 'Pøidat nové øízení',
'AddNewMonitor' => 'Pøidat kameru',
'AddNewUser' => 'Pøidat u¾ivatele',
'AddNewZone' => 'Pøidat zónu',
'Alarm' => 'Alarm',
'AlarmBrFrames' => 'Alarm<br/>Snímky',
'AlarmFrame' => 'Alarm snímek',
'AlarmFrameCount' => 'Poèet alarm snímkù',
'AlarmLimits' => 'Limity alarmu',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Alarm Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Pozor',
'All' => 'V¹echny',
'Apply' => 'Pou¾ít',
'ApplyingStateChange' => 'Aplikuji zmìnu stavu',
'ArchArchived' => 'Pouze archivované',
'ArchUnarchived' => 'Pouze nearchivované',
'Archive' => 'Archiv',
'Archived' => 'Archivován',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Alarm snímky',
'AttrArchiveStatus' => 'Archiv status',
'AttrAvgScore' => 'Prùm. skóre',
'AttrCause' => 'Pøíèina',
'AttrDate' => 'Datum',
'AttrDateTime' => 'Datum/Èas',
'AttrDiskBlocks' => 'Bloky disku',
'AttrDiskPercent' => 'Zaplnìní disku',
'AttrDuration' => 'Prùbìh',
'AttrFrames' => 'Snímky',
'AttrId' => 'Id',
'AttrMaxScore' => 'Max. skóre',
'AttrMonitorId' => 'Kamera Id',
'AttrMonitorName' => 'Jméno kamery',
'AttrName' => 'Jméno',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Èas',
'AttrTotalScore' => 'Celkové skóre',
'AttrWeekday' => 'Den v týdnu',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Èasový limit pro vypr¹ení',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Prùm.<br/>Skóre',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Jména moho obsahovat pouze alfanumerické znaky a podtr¾ítko èi pomlèku',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Rychlost sítì',
'BlobPx' => 'Znaèka Px',
'BlobSizes' => 'Velikost znaèky',
'Blobs' => 'Znaèky',
'Brightness' => 'Svìtlost',
'Buffers' => 'Bufery',
'CanAutoFocus' => 'Umí automaticky zaostøit',
'CanAutoGain' => 'Umí automatický zisk',
'CanAutoIris' => 'Umí auto iris',
'CanAutoWhite' => 'Umí automaticky vyvá¾it bílou',
'CanAutoZoom' => 'Umí automaticky zoomovat',
'CanFocus' => 'Umí zaostøit',
'CanFocusAbs' => 'Umí zaostøit absolutnì',
'CanFocusCon' => 'Umí prùbì¾nì zaostøit',
'CanFocusRel' => 'Umí relativnì zaostøit',
'CanGain' => 'Umí zisk',
'CanGainAbs' => 'Umí absolutní zisk',
'CanGainCon' => 'Umí prùbì¾ný zisk',
'CanGainRel' => 'Umí relativní zisk',
'CanIris' => 'Umí iris',
'CanIrisAbs' => 'Umí absolutní iris',
'CanIrisCon' => 'Umí prùbì¾ný iris',
'CanIrisRel' => 'Umí relativní iris',
'CanMove' => 'Umí pohyb',
'CanMoveAbs' => 'Umí absoultní pohyb',
'CanMoveCon' => 'Umí prùbì¾ný pohyb',
'CanMoveDiag' => 'Umí diagonální pohyb',
'CanMoveMap' => 'Umí mapovaný pohyb',
'CanMoveRel' => 'Umí relativní pohyb',
'CanPan' => 'Umí otáèení',
'CanReset' => 'Umí reset',
'CanSetPresets' => 'Umí navolit pøedvolby',
'CanSleep' => 'Mù¾e spát',
'CanTilt' => 'Umí náklon',
'CanWake' => 'Lze vzbudit',
'CanWhite' => 'Umí vyvá¾ení bílé',
'CanWhiteAbs' => 'Umí absolutní vyvá¾ení bílé',
'CanWhiteBal' => 'Umí vyvá¾ení bílé',
'CanWhiteCon' => 'Umí prùbì¾né vyvá¾ení bílé',
'CanWhiteRel' => 'Umí relativní vyvá¾ení bílé',
'CanZoom' => 'Umí zoom',
'CanZoomAbs' => 'Umí absolutní zoom',
'CanZoomCon' => 'Umí prùbì¾ný zoom',
'CanZoomRel' => 'Umí relativní zoom',
'Cancel' => 'Zru¹it',
'CancelForcedAlarm' => 'Zastavit spu¹tìný alarm',
'CaptureHeight' => 'Vý¹ka zdrojového snímku',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Paleta zdrojového snímku',
'CaptureWidth' => '©íøka zdrojového snímku',
'Cause' => 'Pøíèina',
'CheckMethod' => 'Metoda znaèkování alarmem',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Vybrat filtr',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Zavøít',
'Colour' => 'Barva',
'Command' => 'Pøíkaz',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Nastavení',
'ConfiguredFor' => 'Nastaveno pro',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Potvrdit heslo',
'ConjAnd' => 'a',
'ConjOr' => 'nebo',
'Console' => 'Konzola',
'ContactAdmin' => 'Pro detailní info kontaktujte Va¹eho administrátora.',
'Continue' => 'Pokraèovat',
'Contrast' => 'Kontrast',
'Control' => 'Øízení',
'ControlAddress' => 'Adresa øízení',
'ControlCap' => 'Schopnosti øízení',
'ControlCaps' => 'Typy øízení',
'ControlDevice' => 'Zaøízení øízení',
'ControlType' => 'Typ øízení',
'Controllable' => 'Øíditelná',
'Cycle' => 'Cyklus',
'CycleWatch' => 'Cyklické prohlí¾ení',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Den',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Pøednastavená velikost',
'DefaultView' => 'Default View',
'Delete' => 'Smazat',
'DeleteAndNext' => 'Smazat &amp; Dal¹í',
'DeleteAndPrev' => 'Smazat &amp; Pøedchozí',
'DeleteSavedFilter' => 'Smazat filtr',
'Description' => 'Popis',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Kanál zaøízení',
'DeviceFormat' => 'Formát zaøízení',
'DeviceNumber' => 'Èíslo zarízení',
'DevicePath' => 'Cesta k zaøízení',
'Devices' => 'Devices',
'Dimensions' => 'Rozmìry',
'DisableAlarms' => 'Zakázat alarmy',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Prosím podpoøte',
'DonateAlready' => 'Ne, u¾ jsem podpoøil',
'DonateEnticement' => 'Ji¾ nìjakou dobu pou¾íváte software ZoneMinder k ochranì svého majetku a pøedpokládám, ¾e jej shledáváte u¾iteèným. Pøesto¾e je ZoneMinder, znovu pøipomínám, zdarma a volnì ¹íøený software, stojí jeho vývoj a podpora nìjaké peníze. Pokud byste chtìl/a podpoøit budoucí vývoj a nové mo¾nosti softwaru, prosím zva¾te darování finanèní pomoci. Darování je, samozøejmì, dobrovolné, ale zato velmi cenìné mù¾ete pøispìt jakou èástkou chcete.<br><br>Pokud máte zájem podpoøit ná¹ tým, prosím, vyberte ní¾e uvedenou mo¾nost, nebo nav¹tivte http://www.zoneminder.com/donate.html.<br><br>Dìkuji Vám ¾e jste si vybral/a software ZoneMinder a nezapomeòte nav¹tívit fórum na ZoneMinder.com pro podporu a návrhy jak udìlat ZoneMinder je¹tì lep¹ím ne¾ je dnes.',
'DonateRemindDay' => 'Nyní ne, pøipomenout za 1 den',
'DonateRemindHour' => 'Nyní ne, pøipomenout za hodinu',
'DonateRemindMonth' => 'Nyní ne, pøipomenout za mìsíc',
'DonateRemindNever' => 'Ne, nechci podpoøit ZoneMinder, nepøipomínat',
'DonateRemindWeek' => 'Nyní ne, pøipomenout za týden',
'DonateYes' => 'Ano, chcit podpoøit ZoneMinder nyní',
'Download' => 'Stáhnout',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Prùbìh',
'Edit' => 'Editovat',
'Email' => 'Email',
'EnableAlarms' => 'Povolit alarmy',
'Enabled' => 'Povoleno',
'EnterNewFilterName' => 'Zadejte nové jméno filtru',
'Error' => 'Chyba',
'ErrorBrackets' => 'Chyba, zkontrolujte prosím závorky',
'ErrorValidValue' => 'Chyba, zkontrolujte ¾e podmínky mají správné hodnoty',
'Etc' => 'atd',
'Event' => 'Záznam',
'EventFilter' => 'Filtr záznamù',
'EventId' => 'Id záznamu',
'EventName' => 'Jméno záznamu',
'EventPrefix' => 'Prefix záznamu',
'Events' => 'Záznamy',
'Exclude' => 'Vyjmout',
'Execute' => 'Execute',
'Export' => 'Exportovat',
'ExportDetails' => 'Exportovat detaily záznamu',
'ExportFailed' => 'Chyba pøi exportu',
'ExportFormat' => 'Formát exportovaného souboru',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Exportovat detaily snímku',
'ExportImageFiles' => 'Exportovat obrazové soubory',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Exportovat ostatní soubory (jestli existují)',
'ExportOptions' => 'Mo¾nosti exportu',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Exportovat video soubory (jestli existují)',
'Exporting' => 'Exportuji',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS Interval pro report',
'FTP' => 'FTP',
'Far' => 'Daleko',
'FastForward' => 'Fast Forward',
'Feed' => 'Nasytit',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'Soubor',
'FilterArchiveEvents' => 'Archivovat v¹echny nalezené',
'FilterDeleteEvents' => 'Smazat v¹echny nalezené',
'FilterEmailEvents' => 'Poslat email s detaily nalezených',
'FilterExecuteEvents' => 'Spustit pøíkaz na v¹ech nalezených',
'FilterMessageEvents' => 'Podat zprávu o v¹ech nalezených',
'FilterPx' => 'Filtr Px',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Uploadovat nalezené',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filtry',
'First' => 'První',
'FlippedHori' => 'Pøeklopený vodorovnì',
'FlippedVert' => 'Pøeklopený svisle',
'Focus' => 'Zaostøení',
'ForceAlarm' => 'Spustit alarm',
'Format' => 'Formát',
'Frame' => 'Snímek',
'FrameId' => 'Snímek Id',
'FrameRate' => 'Rychlost snímkù',
'FrameSkip' => 'Vynechat snímek',
'Frames' => 'Snímky',
'Func' => 'Funkce',
'Function' => 'Funkce',
'Gain' => 'Zisk',
'General' => 'General',
'GenerateVideo' => 'Generovat video',
'GeneratingVideo' => 'Generuji video',
'GoToZoneMinder' => 'Jít na ZoneMinder.com',
'Grey' => '©edá',
'Group' => 'Group',
'Groups' => 'Skupiny',
'HasFocusSpeed' => 'Má rychlost zaostøení',
'HasGainSpeed' => 'Má rychlost zisku',
'HasHomePreset' => 'Má Home volbu',
'HasIrisSpeed' => 'Má rychlost irisu',
'HasPanSpeed' => 'Má rychlost otáèení',
'HasPresets' => 'Má pøedvolby',
'HasTiltSpeed' => 'Má rychlost náklonu',
'HasTurboPan' => 'Má Turbo otáèení',
'HasTurboTilt' => 'Má Turbo náklon',
'HasWhiteSpeed' => 'Má rychlost vyvá¾ení bílé',
'HasZoomSpeed' => 'Má rychlost zoomu',
'High' => 'Rychlá',
'HighBW' => 'Rychlá&nbsp;B/W',
'Home' => 'Domù',
'Hour' => 'Hodina',
'Hue' => 'Odstín',
'Id' => 'Id',
'Idle' => 'Pøipraven',
'Ignore' => 'Ignorovat',
'Image' => 'Obraz',
'ImageBufferSize' => 'Velikost buferu snímkù',
'Images' => 'Images',
'In' => 'Dovnitø',
'Include' => 'Vlo¾it',
'Inverted' => 'Pøevrácenì',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Jazyk',
'Last' => 'Poslední',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'výsledkù', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Zobrazit pouze prvních', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'Seznam',
'Load' => 'Load',
'Local' => 'Lokální',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Pøihlá¹en jako',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Pøihla¹uji',
'Login' => 'Pøihlásit',
'Logout' => 'Odhlásit',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Pomalá',
'LowBW' => 'Pomalá&nbsp;B/W',
'Main' => 'Hlavní',
'Man' => 'Man',
'Manual' => 'Manuál',
'Mark' => 'Oznaèit',
'Max' => 'Max',
'MaxBandwidth' => 'Max bandwidth',
'MaxBrScore' => 'Max.<br/>skóre',
'MaxFocusRange' => 'Max rozsah zaostøení',
'MaxFocusSpeed' => 'Max rychlost zaostøení',
'MaxFocusStep' => 'Max krok zaostøení',
'MaxGainRange' => 'Max rozsah zisku',
'MaxGainSpeed' => 'Max rychlost zisku',
'MaxGainStep' => 'Max krok zisku',
'MaxIrisRange' => 'Max rozsah iris',
'MaxIrisSpeed' => 'Max rychlost iris',
'MaxIrisStep' => 'Max krok iris',
'MaxPanRange' => 'Max rozsah otáèení',
'MaxPanSpeed' => 'Max rychlost otáèení',
'MaxPanStep' => 'Max krok otáèení',
'MaxTiltRange' => 'Max rozsah náklonu',
'MaxTiltSpeed' => 'Max rychlost náklonu',
'MaxTiltStep' => 'Max krok náklonu',
'MaxWhiteRange' => 'Max rozsah vyvá¾ení bílé',
'MaxWhiteSpeed' => 'Max rychlost vyvá¾ení bílé',
'MaxWhiteStep' => 'Max krok vyvá¾ení bílé',
'MaxZoomRange' => 'Max rozsah zoomu',
'MaxZoomSpeed' => 'Max rychlost zoomu',
'MaxZoomStep' => 'Max krok zoomu',
'MaximumFPS' => 'Maximum FPS',
'Medium' => 'Støední',
'MediumBW' => 'Støední&nbsp;B/W',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Minimum znaèkované oblasti by mìlo být men¹í ne¾ maximum',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Minimum znaèek by mìlo být men¹í ne¾ maximum',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min rozsah zaostøení',
'MinFocusSpeed' => 'Min rychlost zaostøení',
'MinFocusStep' => 'Min krok zaostøení',
'MinGainRange' => 'Min rozsah zisku',
'MinGainSpeed' => 'Min rychlost zisku',
'MinGainStep' => 'Min krok zisku',
'MinIrisRange' => 'Min rozsah iris',
'MinIrisSpeed' => 'Min rychlost iris',
'MinIrisStep' => 'Min krok iris',
'MinPanRange' => 'Min rozsah otáèení',
'MinPanSpeed' => 'Min rychlost otáèení',
'MinPanStep' => 'Min krok otáèení',
'MinPixelThresLtMax' => 'Minimální práh pixelu by mìl být men¹í ne¾ maximumální',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min rozsah náklonu',
'MinTiltSpeed' => 'Min rychlost náklonu',
'MinTiltStep' => 'Min krok náklonu',
'MinWhiteRange' => 'Min rozsah vyvá¾ení bílé',
'MinWhiteSpeed' => 'Min rychlost vyvá¾ení bílé',
'MinWhiteStep' => 'Min krok vyvá¾ení bílé',
'MinZoomRange' => 'Min rozsah zoomu',
'MinZoomSpeed' => 'Min rychlost zoomu',
'MinZoomStep' => 'Min krok zoomu',
'Misc' => 'Ostatní',
'Monitor' => 'Kamera',
'MonitorIds' => 'Id&nbsp;kamer',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Kamery',
'Montage' => 'Sestøih',
'Month' => 'Mìsíc',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Pohyb',
'MustBeGe' => 'musí být vìt¹í nebo rovno ne¾',
'MustBeLe' => 'musí být men¹í nebo rovno ne¾',
'MustConfirmPassword' => 'Musíte potvrdit heslo',
'MustSupplyPassword' => 'Musíte zadat heslo',
'MustSupplyUsername' => 'Musíte zadat u¾ivatelské jméno',
'Name' => 'Jméno',
'Near' => 'Blízko',
'Network' => 'Sí»',
'New' => 'Nový',
'NewGroup' => 'Nová skupina',
'NewLabel' => 'New Label',
'NewPassword' => 'Nové heslo',
'NewState' => 'Nový stav',
'NewUser' => 'Nový u¾ivatel',
'Next' => 'Dal¹í',
'No' => 'Ne',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Pro tento snímek nejsou ¾ádné záznamy',
'NoGroup' => 'No Group',
'NoSavedFilters' => '®ádné ulo¾ené filtry',
'NoStatisticsRecorded' => 'Pro tento záznam/snímek nejsou zaznamenány ¾ádné statistiky',
'None' => 'Zakázat',
'NoneAvailable' => '®ádná není dostupná',
'Normal' => 'Normalní',
'Notes' => 'Poznámky',
'NumPresets' => 'Poèet pøedvoleb',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'rovno',
'OpGt' => 'vìt¹í',
'OpGtEq' => 'vìt¹í nebo rovno',
'OpIn' => 'nin set',
'OpLt' => 'men¹í',
'OpLtEq' => 'men¹í nebo rovno',
'OpMatches' => 'obsahuje',
'OpNe' => 'nerovná se',
'OpNotIn' => 'nnot in set',
'OpNotMatches' => 'neobsahuje',
'Open' => 'Otevøít',
'OptionHelp' => 'Mo¾nostHelp',
'OptionRestartWarning' => 'Tyto zmìny se neprojeví\ndokud systém bì¾í. Jakmile\ndokonèíte provádìní zmìn prosím\nrestartujte ZoneMinder.',
'Options' => 'Mo¾nosti',
'OrEnterNewName' => 'nebo vlo¾te nové jméno',
'Order' => 'Poøadí',
'Orientation' => 'Orientace',
'Out' => 'Ven',
'OverwriteExisting' => 'Pøepsat existující',
'Paged' => 'Strákovì',
'Pan' => 'Otáèení',
'PanLeft' => 'Posunout vlevo',
'PanRight' => 'Posunout vpravo',
'PanTilt' => 'Otáèení/Náklon',
'Parameter' => 'Parametr',
'Password' => 'Heslo',
'PasswordsDifferent' => 'Hesla se neshodují',
'Paths' => 'Cesty',
'Pause' => 'Pause',
'Phone' => 'Modem',
'PhoneBW' => 'Modem&nbsp;B/W',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixely',
'Play' => 'Play',
'PlayAll' => 'Pøehrát v¹e',
'PleaseWait' => 'Prosím èekejte',
'Point' => 'Point',
'PostEventImageBuffer' => 'Pozáznamový bufer',
'PreEventImageBuffer' => 'Pøedzáznamový bufer',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Pøedvolba',
'Presets' => 'Pøedvolby',
'Prev' => 'Zpìt',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Rychlost',
'Real' => 'Skuteèná',
'Record' => 'Nahrávat',
'RefImageBlendPct' => 'Reference Image Blend %ge',
'Refresh' => 'Obnovit',
'Remote' => 'Sí»ová',
'RemoteHostName' => 'Adresa',
'RemoteHostPath' => 'Cesta',
'RemoteHostPort' => 'Port',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Barvy',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Pøejmenovat',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'Resetovat poèty záznamù',
'Restart' => 'Restartovat',
'Restarting' => 'Restartuji',
'RestrictedCameraIds' => 'Povolené id kamer',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Prodleva vracení',
'ReturnLocation' => 'Lokace vrácení',
'Rewind' => 'Rewind',
'RotateLeft' => 'Otoèit vlevo',
'RotateRight' => 'Otoèit vpravo',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Re¾im',
'RunState' => 'Stav',
'Running' => 'Bì¾í',
'Save' => 'Ulo¾it',
'SaveAs' => 'Ulo¾it jako',
'SaveFilter' => 'Ulo¾it filtr',
'Scale' => 'Velikost',
'Score' => 'Skóre',
'Secs' => 'Délka(s)',
'Sectionlength' => 'Délka sekce',
'Select' => 'Vybrat',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Nastavit',
'SetNewBandwidth' => 'Nastavit novou rychlost sítì',
'SetPreset' => 'Nastavit pøedvolbu',
'Settings' => 'Nastavení',
'ShowFilterWindow' => 'Zobrazit filtr',
'ShowTimeline' => 'Zobrazit èasovou linii ',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Velikost',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Spát',
'SortAsc' => 'Vzestupnì',
'SortBy' => 'Øadit dle',
'SortDesc' => 'Sestupnì',
'Source' => 'Zdroj',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Typ zdroje',
'Speed' => 'Rychlost',
'SpeedHigh' => 'Vysoká rychlost',
'SpeedLow' => 'Nízká rychlost',
'SpeedMedium' => 'Støední rychlost',
'SpeedTurbo' => 'Turbo rychlost',
'Start' => 'Start',
'State' => 'Stav',
'Stats' => 'Statistiky',
'Status' => 'Status',
'Step' => 'Krok',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Velký krok',
'StepMedium' => 'Støední krok',
'StepNone' => '®ádný krok',
'StepSmall' => 'Malý krok',
'Stills' => 'Snímky',
'Stop' => 'Zastavit',
'Stopped' => 'Zastaven',
'Stream' => 'Stream',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Potvrdit',
'System' => 'System',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Pøiblí¾it',
'Thumbnail' => 'Miniatura',
'Tilt' => 'Náklon',
'Time' => 'Èas',
'TimeDelta' => 'Delta èasu',
'TimeStamp' => 'Èasové razítko',
'Timeline' => 'Èasová linie',
'Timestamp' => 'Razítko',
'TimestampLabelFormat' => 'Formát èasového razítka',
'TimestampLabelX' => 'Èasové razítko X',
'TimestampLabelY' => 'Èasové razítko Y',
'Today' => 'Dnes',
'Tools' => 'Nástroje',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Celkové<br/>skóre',
'TrackDelay' => 'Prodleva dráhy',
'TrackMotion' => 'Pohyb po dráze',
'Triggers' => 'Trigery',
'TurboPanSpeed' => 'Rychlost Turbo otáèení',
'TurboTiltSpeed' => 'Rychlost Turbo náklonu',
'Type' => 'Typ',
'Unarchive' => 'Vyjmout z archivu',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Jednotky',
'Unknown' => 'Neznámý',
'Update' => 'Update',
'UpdateAvailable' => 'Je dostupný nový update ZoneMinder.',
'UpdateNotNecessary' => 'Update není potøeba.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Pou¾ít filtr',
'UseFilterExprsPost' => '&nbsp;výrazù', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Pou¾ít&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'U¾ivatel',
'Username' => 'U¾ivatelské jméno',
'Users' => 'U¾ivatelé',
'Value' => 'Hodnota',
'Version' => 'Verze',
'VersionIgnore' => 'Ignorovat tuto verzi',
'VersionRemindDay' => 'Pøipomenout za 1 den',
'VersionRemindHour' => 'Pøipomenout za hodinu',
'VersionRemindNever' => 'Nepøipomínat nové veze',
'VersionRemindWeek' => 'Pøipomenout za týden',
'Video' => 'Video',
'VideoFormat' => 'Video formát',
'VideoGenFailed' => 'Chyba pøi generování videa!',
'VideoGenFiles' => 'Existující video soubory',
'VideoGenNoFiles' => '®ádné video soubory nenalezeny',
'VideoGenParms' => 'Parametry generování videa',
'VideoGenSucceeded' => 'Video vygenerováno úspì¹nì!',
'VideoSize' => 'Velikost videa',
'View' => 'Zobrazit',
'ViewAll' => 'Zobrazit v¹echny',
'ViewEvent' => 'Zobrazit záznam',
'ViewPaged' => 'Zobrazit strákovì',
'Wake' => 'Vzbudit',
'WarmupFrames' => 'Zahøívací snímky',
'Watch' => 'Sledovat',
'Web' => 'Web',
'WebColour' => 'Webová barva',
'Week' => 'Týden',
'White' => 'Bílá',
'WhiteBalance' => 'Vyvá¾ení bílé',
'Wide' => 'Oddálit',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 aktivaèní øetìzec',
'X10InputAlarmString' => 'X10 input alarm øetìzec',
'X10OutputAlarmString' => 'X10 output alarm øetìzec',
'Y' => 'Y',
'Yes' => 'Ano',
'YouNoPerms' => 'K tomuto zdroji nemáte oprávnìní.',
'Zone' => 'Zóna',
'ZoneAlarmColour' => 'Barva alarmu (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zóny',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zvìt¹it',
'ZoomOut' => 'Zmen¹it',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Právì je pøihlá¹en \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Posledních %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'Poslední verze je v%1$s, vy máte v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Funkce %1$s kamery',
'RunningRecentVer' => 'Pou¾íváte poslední verzi ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Záznamù', 1=>'Záznam', 2=>'Záznamy', 5=>'Záznamù' ),
'Monitor' => array( 0=>'Kamer', 1=>'Kamera', 2=>'Kamery', 5=>'Kamer' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web German language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder german Translation by Robert Schumann (rs at core82 dot de)
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=iso-8859-1" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24-Bit-Farbe',
'32BitColour' => '32-Bit-Farbe', // Added - 2011-06-15
'8BitGrey' => '8-Bit-Grau',
'Action' => 'Aktion',
'Actual' => 'Original',
'AddNewControl' => 'Neues Kontrollelement hinzuf&uuml;gen',
'AddNewMonitor' => 'Neuer Monitor',
'AddNewUser' => 'Neuer Benutzer',
'AddNewZone' => 'Neue Zone',
'Alarm' => 'Alarm',
'AlarmBrFrames' => 'Alarm-<br />Bilder',
'AlarmFrame' => 'Alarm-Bilder',
'AlarmFrameCount' => 'Alarm-Bildanzahl',
'AlarmLimits' => 'Alarm-Limits',
'AlarmMaximumFPS' => 'Alarm-Maximum-FPS',
'AlarmPx' => 'Alarm-Pixel',
'AlarmRGBUnset' => 'Sie m&uuml;ssen eine RGB-Alarmfarbe setzen',
'Alert' => 'Alarm',
'All' => 'Alle',
'Apply' => 'OK',
'ApplyingStateChange' => 'Aktiviere neuen Status',
'ArchArchived' => 'Nur Archivierte',
'ArchUnarchived' => 'Nur Nichtarchivierte',
'Archive' => 'Archivieren',
'Archived' => 'Archivierte',
'Area' => 'Bereich',
'AreaUnits' => 'Bereich (px/%)',
'AttrAlarmFrames' => 'Alarmbilder',
'AttrArchiveStatus' => 'Archivstatus',
'AttrAvgScore' => 'Mittlere Punktzahl',
'AttrCause' => 'Grund',
'AttrDate' => 'Datum',
'AttrDateTime' => 'Datum/Zeit',
'AttrDiskBlocks' => 'Disk-Bloecke',
'AttrDiskPercent' => 'Disk-Prozent',
'AttrDuration' => 'Dauer',
'AttrFrames' => 'Bilder',
'AttrId' => 'ID',
'AttrMaxScore' => 'Maximale Punktzahl',
'AttrMonitorId' => 'Monitor-ID',
'AttrMonitorName' => 'Monitorname',
'AttrName' => 'Name',
'AttrNotes' => 'Bemerkungen',
'AttrSystemLoad' => 'Systemlast',
'AttrTime' => 'Zeit',
'AttrTotalScore' => 'Totale Punktzahl',
'AttrWeekday' => 'Wochentag',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto-Stopp-Zeit&uuml;berschreitung',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Mittlere<br/>Punktzahl',
'Background' => 'Hintergrund',
'BackgroundFilter' => 'Filter im Hintergrund laufen lassen',
'BadAlarmFrameCount' => 'Die Bildanzahl muss ganzzahlig 1 oder gr&ouml;&szlig;er sein',
'BadAlarmMaxFPS' => 'Alarm-Maximum-FPS muss eine positive Ganzzahl oder eine Gleitkommazahl sein',
'BadChannel' => 'Der Kanal muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Das Ger&auml;t muss eine g&uuml;ltige Systemresource sein',
'BadFPSReportInterval' => 'Der FPS-Intervall-Puffer-Z&auml;hler muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadFormat' => 'Das Format muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadFrameSkip' => 'Der Auslassz&auml;hler f&uuml;r Frames muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadHeight' => 'Die H&ouml;he muss auf einen g&uuml;ltigen Wert eingestellt sein',
'BadHost' => 'Der Host muss auf eine g&uuml;ltige IP-Adresse oder einen Hostnamen (ohne http://) eingestellt sein',
'BadImageBufferCount' => 'Die Gr&ouml;&szlig;e des Bildpuffers muss ganzzahlig 10 oder gr&ouml;&szlig;er sein',
'BadLabelX' => 'Die x-Koordinate der Bezeichnung muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadLabelY' => 'Die y-Koordinate der Bezeichnung muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadMaxFPS' => 'Maximum-FPS muss eine positive Ganzzahl oder eine Gleitkommazahl sein',
'BadNameChars' => 'Namen d&uuml;rfen nur aus Buchstaben, Zahlen und Trenn- oder Unterstrichen bestehen',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Der Pfad muss auf einen g&uuml;ltigen Wert eingestellt sein',
'BadPort' => 'Der Port muss auf eine g&uuml;ltige Zahl eingestellt sein',
'BadPostEventCount' => 'Der Z&auml;hler f&uuml;r die Ereignisfolgebilder muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadPreEventCount' => 'Der Z&auml;hler f&uuml;r die Ereignisvorlaufbilder muss mindestens ganzzahlig 0 und kleiner als die Bildpuffergr&ouml;&szlig;e sein',
'BadRefBlendPerc' => 'Der Referenz-Blenden-Prozentwert muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadSectionLength' => 'Die Bereichsl&auml;nge muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadSignalCheckColour' => 'Die Signalpr&uuml;ffarbe muss auf einen g&uuml;ltigen Farbwert eingestellt sein',
'BadStreamReplayBuffer'=> 'Der Wiedergabestrompuffer tream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Die Anzahl der Vorwärmbilder muss ganzzahlig 0 oder gr&ouml;&szlig;er sein',
'BadWebColour' => 'Die Webfarbe muss auf einen g&uuml;ltigen Farbwert eingestellt sein',
'BadWidth' => 'Die Breite muss auf einen g&uuml;ltigen Wert eingestellt sein',
'Bandwidth' => 'Bandbreite',
'BlobPx' => 'Blob-Pixel',
'BlobSizes' => 'Blobgr&ouml;&szlig;e',
'Blobs' => 'Blobs',
'Brightness' => 'Helligkeit',
'Buffers' => 'Puffer',
'CanAutoFocus' => 'Kann Autofokus',
'CanAutoGain' => 'Kann Auto-Verst&auml;rkung',
'CanAutoIris' => 'Kann Auto-Iris',
'CanAutoWhite' => 'Kann Auto-Wei&szlig;-Abgleich',
'CanAutoZoom' => 'Kann Auto-Zoom',
'CanFocus' => 'Kann&nbsp;Fokus',
'CanFocusAbs' => 'Kann absoluten Fokus',
'CanFocusCon' => 'Kann kontinuierlichen Fokus',
'CanFocusRel' => 'Kann relativen Fokus',
'CanGain' => 'Kann Verst&auml;rkung',
'CanGainAbs' => 'Kann absolute Verst&auml;rkung',
'CanGainCon' => 'Kann kontinuierliche Verst&auml;rkung',
'CanGainRel' => 'Kann relative Verst&auml;kung',
'CanIris' => 'Kann&nbsp;Iris',
'CanIrisAbs' => 'Kann absolute Iris',
'CanIrisCon' => 'Kann kontinuierliche Iris',
'CanIrisRel' => 'Kann relative Iris',
'CanMove' => 'Kann&nbsp;Bewegung',
'CanMoveAbs' => 'Kann absolute Bewegung',
'CanMoveCon' => 'Kann kontinuierliche Bewegung',
'CanMoveDiag' => 'Kann diagonale Bewegung',
'CanMoveMap' => 'Kann Mapped-Bewegung',
'CanMoveRel' => 'Kann relative Bewegung',
'CanPan' => 'Kann&nbsp;Pan' ,
'CanReset' => 'Kann&nbsp;Reset',
'CanSetPresets' => 'Kann Voreinstellungen setzen',
'CanSleep' => 'Kann&nbsp;Sleep',
'CanTilt' => 'Kann&nbsp;Neigung',
'CanWake' => 'Kann&nbsp;Wake',
'CanWhite' => 'Kann Wei&szlig;-Abgleich',
'CanWhiteAbs' => 'Kann absoluten Wei&szlig;-Abgleich',
'CanWhiteBal' => 'Kann Wei&szlig;-Abgleich',
'CanWhiteCon' => 'Kann kontinuierlichen Wei&szlig;-Abgleich',
'CanWhiteRel' => 'Kann relativen Wei&szlig;-Abgleich',
'CanZoom' => 'Kann&nbsp;Zoom',
'CanZoomAbs' => 'Kann absoluten Zoom',
'CanZoomCon' => 'Kann kontinuierlichen Zoom',
'CanZoomRel' => 'Kann relativen Zoom',
'Cancel' => 'Abbruch',
'CancelForcedAlarm' => 'Abbruch des unbedingten Alarms',
'CaptureHeight' => 'Erfasse H&ouml;he',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Erfasse Farbpalette',
'CaptureWidth' => 'Erfasse Breite',
'Cause' => 'Grund',
'CheckMethod' => 'Alarm-Pr&uuml;fmethode',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Filterauswahl',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Voreinstellung ausw&auml;hlen',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Schlie&szlig;en',
'Colour' => 'Farbe',
'Command' => 'Kommando',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Konfig.',
'ConfiguredFor' => 'Konfiguriert f&uuml;r',
'ConfirmDeleteEvents' => 'Sind Sie sicher, dass Sie die ausgew&auml;hlten Ereignisse l&ouml;schen wollen?',
'ConfirmPassword' => 'Passwortbest&auml;tigung',
'ConjAnd' => 'und',
'ConjOr' => 'oder',
'Console' => 'Konsole',
'ContactAdmin' => 'Bitte kontaktieren Sie den Administrator f&uuml;r weitere Details',
'Continue' => 'Weiter',
'Contrast' => 'Kontrast',
'Control' => 'Kontrolle',
'ControlAddress' => 'Kontrolladresse',
'ControlCap' => 'Kontrollm&ouml;glichkeit',
'ControlCaps' => 'Kontrollm&ouml;glichkeiten',
'ControlDevice' => 'Kontrollger&auml;t',
'ControlType' => 'Kontrolltyp',
'Controllable' => 'Kontrollierbar',
'Cycle' => 'Zyklus',
'CycleWatch' => 'Zeitzyklus',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Tag',
'Debug' => 'Debug',
'DefaultRate' => 'Standardrate',
'DefaultScale' => 'Standardskalierung',
'DefaultView' => 'Standardansicht',
'Delete' => 'L&ouml;schen',
'DeleteAndNext' => 'L&ouml;schen &amp; N&auml;chstes',
'DeleteAndPrev' => 'L&ouml;schen &amp; Vorheriges',
'DeleteSavedFilter' => 'L&ouml;sche gespeichertes Filter',
'Description' => 'Beschreibung',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Ger&auml;tekanal',
'DeviceFormat' => 'Ger&auml;teformat',
'DeviceNumber' => 'Ger&auml;tenummer',
'DevicePath' => 'Ger&auml;tepfad',
'Devices' => 'Ger&auml;te',
'Dimensions' => 'Abmessungen',
'DisableAlarms' => 'Alarme abschalten',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Bitte spenden Sie.',
'DonateAlready' => 'Nein, ich habe schon gespendet',
'DonateEnticement' => 'Sie benutzen ZoneMinder nun schon eine Weile und es ist hoffentlich eine n&uuml;tzliche Applikation zur Verbesserung Ihrer Heim- oder Arbeitssicherheit. Obwohl ZoneMinder eine freie Open-Source-Software ist und bleiben wird, entstehen Kosten bei der Entwicklung und dem Support.<br><br>Falls Sie ZoneMinder für Weiterentwicklung in der Zukunft unterst&uuml;tzen m&ouml;chten, denken Sie bitte über eine Spende f&uuml;r das Projekt unter der Webadresse http://www.zoneminder.com/donate.html oder &uuml;ber nachfolgend stehende Option nach. Spenden sind, wie der Name schon sagt, immer freiwillig. Dem Projekt helfen kleine genauso wie gr&ouml;&szlig;ere Spenden sehr weiter und ein herzlicher Dank ist jedem Spender sicher.<br><br>Vielen Dank daf&uuml;r, dass sie ZoneMinder benutzen. Vergessen Sie nicht die Foren unter ZoneMinder.com, um Support zu erhalten und Ihre Erfahrung mit ZoneMinder zu verbessern!',
'DonateRemindDay' => 'Noch nicht, erinnere mich in einem Tag noch mal.',
'DonateRemindHour' => 'Noch nicht, erinnere mich in einer Stunde noch mal.',
'DonateRemindMonth' => 'Noch nicht, erinnere mich in einem Monat noch mal.',
'DonateRemindNever' => 'Nein, ich m&ouml;chte nicht spenden, niemals erinnern.',
'DonateRemindWeek' => 'Noch nicht, erinnere mich in einer Woche noch mal.',
'DonateYes' => 'Ja, ich m&ouml;chte jetzt spenden.',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Dauer',
'Edit' => 'Bearbeiten',
'Email' => 'E-Mail',
'EnableAlarms' => 'Alarme aktivieren',
'Enabled' => 'Aktiviert',
'EnterNewFilterName' => 'Neuen Filternamen eingeben',
'Error' => 'Fehler',
'ErrorBrackets' => 'Fehler. Bitte nur gleiche Anzahl offener und geschlossener Klammern.',
'ErrorValidValue' => 'Fehler. Bitte alle Werte auf richtige Eingabe pr&uuml;fen',
'Etc' => 'etc.',
'Event' => 'Ereignis',
'EventFilter' => 'Ereignisfilter',
'EventId' => 'Ereignis-ID',
'EventName' => 'Ereignisname',
'EventPrefix' => 'Ereignis-Pr&auml;fix',
'Events' => 'Ereignisse',
'Exclude' => 'Ausschluss;',
'Execute' => 'Ausf&uuml;hren',
'Export' => 'Exportieren',
'ExportDetails' => 'Exportiere Ereignis-Details',
'ExportFailed' => 'Exportieren fehlgeschlagen',
'ExportFormat' => 'Exportiere Dateiformat',
'ExportFormatTar' => 'TAR (Bandarchiv)',
'ExportFormatZip' => 'ZIP (Komprimiert)',
'ExportFrames' => 'Exportiere Bilddetails',
'ExportImageFiles' => 'Exportiere Bilddateien',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Exportiere andere Dateien (falls vorhanden)',
'ExportOptions' => 'Exportierungsoptionen',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Exportiere Videodateien (falls vorhanden)',
'Exporting' => 'Exportiere',
'FPS' => 'fps',
'FPSReportInterval' => 'fps-Meldeintervall',
'FTP' => 'FTP',
'Far' => 'Weit',
'FastForward' => 'Schnell vorw&auml;rts',
'Feed' => 'Eingabe',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'Datei',
'FilterArchiveEvents' => 'Archivierung aller Treffer',
'FilterDeleteEvents' => 'L&ouml;schen aller Treffer',
'FilterEmailEvents' => 'Detaillierte E-Mail zu allen Treffern',
'FilterExecuteEvents' => 'Ausf&uuml;hren bei allen Treffern',
'FilterMessageEvents' => 'Detaillierte Nachricht zu allen Treffern',
'FilterPx' => 'Filter-Pixel',
'FilterUnset' => 'Sie m&uuml;ssen eine Breite und H&ouml;he f&uuml;r das Filter angeben',
'FilterUploadEvents' => 'Hochladen aller Treffer',
'FilterVideoEvents' => 'Video f&uuml;r alle Treffer erstellen',
'Filters' => 'Filter',
'First' => 'Erstes',
'FlippedHori' => 'Horizontal gespiegelt',
'FlippedVert' => 'Vertikal gespiegelt',
'Focus' => 'Fokus',
'ForceAlarm' => 'Unbedingter Alarm',
'Format' => 'Format',
'Frame' => 'Bild',
'FrameId' => 'Bild-ID',
'FrameRate' => 'Abspielgeschwindigkeit',
'FrameSkip' => 'Bilder auslassen',
'Frames' => 'Bilder',
'Func' => 'Fkt.',
'Function' => 'Funktion',
'Gain' => 'Verst&auml;rkung',
'General' => 'Allgemeines',
'GenerateVideo' => 'Erzeuge Video',
'GeneratingVideo' => 'Erzeuge Video...',
'GoToZoneMinder' => 'Gehe zu ZoneMinder.com',
'Grey' => 'Grau',
'Group' => 'Gruppe',
'Groups' => 'Gruppen',
'HasFocusSpeed' => 'Hat Fokus-Geschwindigkeit',
'HasGainSpeed' => 'Hat Verst&auml;kungs-Geschwindigkeit',
'HasHomePreset' => 'Hat Standardvoreinstellungen',
'HasIrisSpeed' => 'Hat Irisgeschwindigkeit',
'HasPanSpeed' => 'Hat Pan-Geschwindigkeit',
'HasPresets' => 'Hat Voreinstellungen',
'HasTiltSpeed' => 'Hat Neigungsgeschwindigkeit',
'HasTurboPan' => 'Hat Turbo-Pan',
'HasTurboTilt' => 'Hat Turbo-Neigung',
'HasWhiteSpeed' => 'Hat Wei&szlig;-Abgleichgeschwindigkeit',
'HasZoomSpeed' => 'Hat Zoom-Geschwindigkeit',
'High' => 'hohe',
'HighBW' => 'Hohe&nbsp;B/W',
'Home' => 'Home',
'Hour' => 'Stunde',
'Hue' => 'Farbton',
'Id' => 'ID',
'Idle' => 'Leerlauf',
'Ignore' => 'Ignoriere',
'Image' => 'Bild',
'ImageBufferSize' => 'Bildpuffergr&ouml;&szlig;e',
'Images' => 'Bilder',
'In' => 'In',
'Include' => 'Einschluss',
'Inverted' => 'Invertiert',
'Iris' => 'Iris',
'KeyString' => 'Schl&uuml;sselwort',
'Label' => 'Bezeichnung',
'Language' => 'Sprache',
'Last' => 'Letztes',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'Ergebnisse;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Begrenze nur auf die ersten', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Verbundene Monitore',
'List' => 'Liste',
'Load' => 'Last',
'Local' => 'Lokal',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Angemeldet als',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Anmelden',
'Login' => 'Anmeldung',
'Logout' => 'Abmelden',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'niedrige',
'LowBW' => 'Niedrige&nbsp;B/W',
'Main' => 'Haupt',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Markieren',
'Max' => 'Max',
'MaxBandwidth' => 'Maximale Bandbreite',
'MaxBrScore' => 'Maximale<br />Punktzahl',
'MaxFocusRange' => 'Maximaler Fokusbereich',
'MaxFocusSpeed' => 'Maximale Fokusgeschwindigkeit',
'MaxFocusStep' => 'Maximale Fokusstufe',
'MaxGainRange' => 'Maximaler Verst&auml;rkungsbereich',
'MaxGainSpeed' => 'Maximale Verst&auml;rkungsgeschwindigkeit',
'MaxGainStep' => 'Maximale Verst&auml;rkungsstufe',
'MaxIrisRange' => 'Maximaler Irisbereich',
'MaxIrisSpeed' => 'Maximale Irisgeschwindigkeit',
'MaxIrisStep' => 'Maximale Irisstufe',
'MaxPanRange' => 'Maximaler Pan-Bereich',
'MaxPanSpeed' => 'Maximale Pan-Geschw.',
'MaxPanStep' => 'Maximale Pan-Stufe',
'MaxTiltRange' => 'Maximaler Neig.-Bereich',
'MaxTiltSpeed' => 'Maximale Neig.-Geschw.',
'MaxTiltStep' => 'Maximale Neig.-Stufe',
'MaxWhiteRange' => 'Maximaler Wei&szlig;-Abgl.bereich',
'MaxWhiteSpeed' => 'Maximale Wei&szlig;-Abgl.geschw.',
'MaxWhiteStep' => 'Maximale Wei&szlig;-Abgl.stufe',
'MaxZoomRange' => 'Maximaler Zoom-Bereich',
'MaxZoomSpeed' => 'Maximale Zoom-Geschw.',
'MaxZoomStep' => 'Maximale Zoom-Stufe',
'MaximumFPS' => 'Maximale FPS',
'Medium' => 'mittlere',
'MediumBW' => 'Mittlere&nbsp;B/W',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Der minimale Alarmbereich sollte kleiner sein als der maximale',
'MinAlarmAreaUnset' => 'Sie m&uuml;ssen einen Minimumwert an Alarmfl&auml;chenpixeln angeben',
'MinBlobAreaLtMax' => 'Die minimale Blob-Fl&auml;che muss kleiner sein als die maximale',
'MinBlobAreaUnset' => 'Sie m&uuml;ssen einen Minimumwert an Blobfl&auml;chenpixeln angeben',
'MinBlobLtMinFilter' => 'Die minimale Blob-Fl&auml;che sollte kleiner oder gleich der minimalen Filterfl&auml;che sein',
'MinBlobsLtMax' => 'Die minimalen Blobs m&uuml;ssen kleiner sein als die maximalen',
'MinBlobsUnset' => 'Sie m&uuml;ssen einen Minimumwert an Blobs angeben',
'MinFilterAreaLtMax' => 'Die minimale Filterfl&auml;che sollte kleiner sein als die maximale',
'MinFilterAreaUnset' => 'Sie m&uuml;ssen einen Minimumwert an Filterpixeln angeben',
'MinFilterLtMinAlarm' => 'Die minimale Filterfl&auml;che sollte kleiner oder gleich der minimalen Alarmfl&auml;che sein',
'MinFocusRange' => 'Min. Fokusbereich',
'MinFocusSpeed' => 'Min. Fokusgeschw.',
'MinFocusStep' => 'Min. Fokusstufe',
'MinGainRange' => 'Min. Verst&auml;rkungsbereich',
'MinGainSpeed' => 'Min. Verst&auml;rkungsgeschwindigkeit',
'MinGainStep' => 'Min. Verst&auml;rkungsstufe',
'MinIrisRange' => 'Min. Irisbereich',
'MinIrisSpeed' => 'Min. Irisgeschwindigkeit',
'MinIrisStep' => 'Min. Irisstufe',
'MinPanRange' => 'Min. Pan-Bereich',
'MinPanSpeed' => 'Min. Pan-Geschwindigkeit',
'MinPanStep' => 'Min. Pan-Stufe',
'MinPixelThresLtMax' => 'Der minimale Pixelschwellwert muss kleiner sein als der maximale',
'MinPixelThresUnset' => 'Sie m&uuml;ssen einen minimalen Pixel-Schwellenwert angeben',
'MinTiltRange' => 'Min. Neigungsbereich',
'MinTiltSpeed' => 'Min. Neigungsgeschwindigkeit',
'MinTiltStep' => 'Min. Neigungsstufe',
'MinWhiteRange' => 'Min. Wei&szlig;-Abgleichbereich',
'MinWhiteSpeed' => 'Min. Wei&szlig;-Abgleichgeschwindigkeit',
'MinWhiteStep' => 'Min. Wei&szlig;-Abgleichstufe',
'MinZoomRange' => 'Min. Zoom-Bereich',
'MinZoomSpeed' => 'Min. Zoom-Geschwindigkeit',
'MinZoomStep' => 'Min. Zoom-Stufe',
'Misc' => 'Verschiedenes',
'Monitor' => 'Monitor',
'MonitorIds' => 'Monitor-ID',
'MonitorPreset' => 'Monitor-Voreinstellung',
'MonitorPresetIntro' => 'W&auml;hlen Sie eine geeignete Voreinstellung aus der folgenden Liste.<br><br>Bitte beachten Sie, dass dies m&ouml;gliche Einstellungen von Ihnen am Monitor &uuml;berschreiben kann.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Monitore',
'Montage' => 'Montage',
'Month' => 'Monat',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Bewegung',
'MustBeGe' => 'muss groesser oder gleich sein wie',
'MustBeLe' => 'muss kleiner oder gleich sein wie',
'MustConfirmPassword' => 'Sie m&uuml;ssen das Passwort best&auml;tigen.',
'MustSupplyPassword' => 'Sie m&uuml;ssen ein Passwort vergeben.',
'MustSupplyUsername' => 'Sie m&uuml;ssen einen Usernamen vergeben.',
'Name' => 'Name',
'Near' => 'Nah',
'Network' => 'Netzwerk',
'New' => 'Neu',
'NewGroup' => 'Neue Gruppe',
'NewLabel' => 'Neuer Bezeichner',
'NewPassword' => 'Neues Passwort',
'NewState' => 'Neuer Status',
'NewUser' => 'Neuer Benutzer',
'Next' => 'N&auml;chstes',
'No' => 'Nein',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Es gibt keine Aufnahmen von diesem Ereignis.',
'NoGroup' => 'Keine Gruppe',
'NoSavedFilters' => 'Keine gespeicherten Filter',
'NoStatisticsRecorded' => 'Keine Statistik f&uuml;r dieses Ereignis/diese Bilder',
'None' => 'ohne',
'NoneAvailable' => 'Nichts verf&uuml;gbar',
'Normal' => 'Normal',
'Notes' => 'Bemerkungen',
'NumPresets' => 'Nummerierte Voreinstellungen',
'Off' => 'Aus',
'On' => 'An',
'OpEq' => 'gleich zu',
'OpGt' => 'groesser als',
'OpGtEq' => 'groesser oder gleich wie',
'OpIn' => 'in Satz',
'OpLt' => 'kleiner als',
'OpLtEq' => 'kleiner oder gleich wie',
'OpMatches' => 'zutreffend',
'OpNe' => 'nicht gleich',
'OpNotIn' => 'nicht im Satz',
'OpNotMatches' => 'nicht zutreffend',
'Open' => '&Ouml;ffnen',
'OptionHelp' => 'Hilfe',
'OptionRestartWarning' => 'Ver&auml;nderungen werden erst nach einem Neustart des Programms aktiv.\nF&uuml;r eine sofortige &Auml;nderung starten Sie das Programm bitte neu.',
'Options' => 'Optionen',
'OrEnterNewName' => 'oder neuen Namen eingeben',
'Order' => 'Reihenfolge',
'Orientation' => 'Ausrichtung',
'Out' => 'Aus',
'OverwriteExisting' => '&Uuml;berschreibe bestehende',
'Paged' => 'Seitennummeriert',
'Pan' => 'Pan',
'PanLeft' => 'Pan-Left',
'PanRight' => 'Pan-Right',
'PanTilt' => 'Pan/Neigung',
'Parameter' => 'Parameter',
'Password' => 'Passwort',
'PasswordsDifferent' => 'Die Passw&ouml;rter sind unterschiedlich',
'Paths' => 'Pfade',
'Pause' => 'Pause',
'Phone' => 'Telefon',
'PhoneBW' => 'Tel.&nbsp;B/W',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel-Differenz',
'Pixels' => 'Pixel',
'Play' => 'Abspielen',
'PlayAll' => 'Alle zeigen',
'PleaseWait' => 'Bitte warten',
'Point' => 'Punkt',
'PostEventImageBuffer' => 'Nachereignispuffer',
'PreEventImageBuffer' => 'Vorereignispuffer',
'PreserveAspect' => 'Seitenverh&auml;ltnis beibehalten',
'Preset' => 'Voreinstellung',
'Presets' => 'Voreinstellungen',
'Prev' => 'Vorheriges',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protokoll',
'Rate' => 'Abspielgeschwindigkeit',
'Real' => 'Real',
'Record' => 'Aufnahme',
'RefImageBlendPct' => 'Referenz-Bildblende',
'Refresh' => 'Aktualisieren',
'Remote' => 'Entfernt',
'RemoteHostName' => 'Entfernter Hostname',
'RemoteHostPath' => 'Entfernter Hostpfad',
'RemoteHostPort' => 'Entfernter Hostport',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Entfernte Bildfarbe',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Umbenennen',
'Replay' => 'Wiederholung',
'ReplayAll' => 'Alle Ereignisse',
'ReplayGapless' => 'L&uuml;ckenlose Ereignisse',
'ReplaySingle' => 'Einzelereignis',
'Reset' => 'Zur&uuml;cksetzen',
'ResetEventCounts' => 'L&ouml;sche Ereignispunktzahl',
'Restart' => 'Neustart',
'Restarting' => 'Neustarten',
'RestrictedCameraIds' => 'Verbotene Kamera-ID',
'RestrictedMonitors' => 'Eingeschr&auml;nkte Monitore',
'ReturnDelay' => 'R&uuml;ckkehr-Verz&ouml;gerung',
'ReturnLocation' => 'R&uuml;ckkehrpunkt',
'Rewind' => 'Zur&uuml;ckspulen',
'RotateLeft' => 'Drehung links',
'RotateRight' => 'Drehung rechts',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Betriebsmodus',
'RunState' => 'Laufender Status',
'Running' => 'In Betrieb',
'Save' => 'OK',
'SaveAs' => 'Speichere als',
'SaveFilter' => 'Speichere Filter',
'Scale' => 'Skalierung',
'Score' => 'Punktzahl',
'Secs' => 'Sekunden',
'Sectionlength' => 'Sektionsl&auml;nge',
'Select' => 'Auswahl',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'W&auml;hle Monitore',
'SelfIntersecting' => 'Die Polygonr&auml;nder d&uuml;rfen sich nicht &uuml;berschneiden.',
'Set' => 'Setze',
'SetNewBandwidth' => 'Setze neue Bandbreite',
'SetPreset' => 'Setze Voreinstellung',
'Settings' => 'Einstellungen',
'ShowFilterWindow' => 'Zeige Filterfenster',
'ShowTimeline' => 'Zeige Zeitlinie',
'SignalCheckColour' => 'Farbe des Signalchecks',
'Size' => 'Gr&ouml;&szlig;e',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Schlaf',
'SortAsc' => 'aufsteigend',
'SortBy' => 'Sortieren nach',
'SortDesc' => 'absteigend',
'Source' => 'Quelle',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Quellentyp',
'Speed' => 'Geschwindigkeit',
'SpeedHigh' => 'Hohe Geschwindigkeit',
'SpeedLow' => 'Niedrige Geschwindigkeit',
'SpeedMedium' => 'Mittlere Geschwindigkeit',
'SpeedTurbo' => 'Turbo-Geschwindigkeit',
'Start' => 'Start',
'State' => 'Status',
'Stats' => 'Status',
'Status' => 'Status',
'Step' => 'Stufe',
'StepBack' => 'Einen Schritt r&uuml;ckw&auml;rts',
'StepForward' => 'Einen Schritt vorw&auml;rts',
'StepLarge' => 'Gro&szlig;e Stufe',
'StepMedium' => 'Mittlere Stufe',
'StepNone' => 'Keine Stufe',
'StepSmall' => 'Kleine Stufe',
'Stills' => 'Bilder',
'Stop' => 'Stop',
'Stopped' => 'Gestoppt',
'Stream' => 'Stream',
'StreamReplayBuffer' => 'Stream-Wiedergabe-Bildpuffer',
'Submit' => 'Absenden',
'System' => 'System',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Miniatur',
'Tilt' => 'Neigung',
'Time' => 'Zeit',
'TimeDelta' => 'Zeitdifferenz',
'TimeStamp' => 'Zeitstempel',
'Timeline' => 'Zeitlinie',
'Timestamp' => 'Zeitstempel',
'TimestampLabelFormat' => 'Format des Zeitstempels',
'TimestampLabelX' => 'Zeitstempel-X',
'TimestampLabelY' => 'Zeitstempel-Y',
'Today' => 'Heute',
'Tools' => 'Werkzeuge',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Totale<br/>Punktzahl',
'TrackDelay' => 'Nachf&uuml;hrungsverz&ouml;gerung',
'TrackMotion' => 'Bewegungs-Nachf&uuml;hrung',
'Triggers' => 'Ausl&ouml;ser',
'TurboPanSpeed' => 'Turbo-Pan-Geschwindigkeit',
'TurboTiltSpeed' => 'Turbo-Neigungsgeschwindigkeit',
'Type' => 'Typ',
'Unarchive' => 'Aus Archiv entfernen',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Einheiten',
'Unknown' => 'Unbekannt',
'Update' => 'Aktualisieren',
'UpdateAvailable' => 'Eine Aktualisierung f&uuml;r ZoneMinder ist verf&uuml;gbar.',
'UpdateNotNecessary' => 'Es ist keine Aktualisierung verf&uuml;gbar.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Benutze Filter',
'UseFilterExprsPost' => '&nbsp;Filter&nbsp;Ausdr&uuml;cke', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Benutze&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Benutzer',
'Username' => 'Benutzername',
'Users' => 'Benutzer',
'Value' => 'Wert',
'Version' => 'Version',
'VersionIgnore' => 'Ignoriere diese Version',
'VersionRemindDay' => 'Erinnere mich wieder in 1 Tag.',
'VersionRemindHour' => 'Erinnere mich wieder in 1 Stunde.',
'VersionRemindNever' => 'Informiere mich nicht mehr &uuml;ber neue Versionen.',
'VersionRemindWeek' => 'Erinnere mich wieder in 1 Woche.',
'Video' => 'Video',
'VideoFormat' => 'Videoformat',
'VideoGenFailed' => 'Videoerzeugung fehlgeschlagen!',
'VideoGenFiles' => 'Existierende Videodateien',
'VideoGenNoFiles' => 'Keine Videodateien gefunden.',
'VideoGenParms' => 'Parameter der Videoerzeugung',
'VideoGenSucceeded' => 'Videoerzeugung erfolgreich!',
'VideoSize' => 'Videogr&ouml;&szlig;e',
'View' => 'Ansicht',
'ViewAll' => 'Alles ansehen',
'ViewEvent' => 'Zeige Ereignis',
'ViewPaged' => 'Seitenansicht',
'Wake' => 'Aufwachen',
'WarmupFrames' => 'Aufw&auml;rmbilder',
'Watch' => 'Beobachte',
'Web' => 'Web',
'WebColour' => 'Webfarbe',
'Week' => 'Woche',
'White' => 'Wei&szlig;',
'WhiteBalance' => 'Wei&szlig;-Abgleich',
'Wide' => 'Weit',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10-Aktivierungswert',
'X10InputAlarmString' => 'X10-Eingabe-Alarmwert',
'X10OutputAlarmString' => 'X10-Ausgabe-Alarmwert',
'Y' => 'Y',
'Yes' => 'Ja',
'YouNoPerms' => 'Keine Erlaubnis zum Zugang dieser Resource.',
'Zone' => 'Zone',
'ZoneAlarmColour' => 'Alarmfarbe (Rot/Gr&uuml;n/Blau)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter-Breite/-H&ouml;he (Pixel)',
'ZoneMinMaxAlarmArea' => 'Min./max. Alarmfl&auml;che',
'ZoneMinMaxBlobArea' => 'Min./max. Blobfl&auml;che',
'ZoneMinMaxBlobs' => 'Min./max. Blobs',
'ZoneMinMaxFiltArea' => 'Min./max. Filterfl&auml;che',
'ZoneMinMaxPixelThres' => 'Min./max. Pixelschwellwert',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Bildauslassrate bei System&uuml;berlastung',
'Zones' => 'Zonen',
'Zoom' => 'Zoom',
'ZoomIn' => 'Hineinzoomen',
'ZoomOut' => 'Herauszoomen',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Momentan angemeldet ist \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Letzte %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'Die letzte Version ist v%1$s, Sie haben v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Monitor %1$s Funktion',
'RunningRecentVer' => 'Sie benutzen die aktuellste Version von Zoneminder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Ereignisse', 1=>'Ereignis;', 2=>'Ereignisse' ),
'Monitor' => array( 0=>'Monitore', 1=>'Monitor', 2=>'Monitore' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,847 +0,0 @@
<?php
//
// ZoneMinder web Danish language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Danish Translation by Tom Stage
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=iso-8859-1" );
header( "Content-Type: text/html; charset=windows-1252" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 bit farve',
'32BitColour' => '32 bit farve', // Added - 2011-06-15
'8BitGrey' => '8 bit greyscale',
'Action' => 'Action',
'Actual' => 'Aktuel',
'AddNewControl' => 'Tilføj Ny kontrol',
'AddNewMonitor' => 'Tilføj Ny Monitor',
'AddNewUser' => 'Tilføj Ny Bruger',
'AddNewZone' => 'Tilføj Ny Zone',
'Alarm' => 'Alarm',
'AlarmBrFrames' => 'Alarm<br/>Billeder',
'AlarmFrame' => 'Alarm Billede',
'AlarmFrameCount' => 'Alarm Billede Tæller',
'AlarmLimits' => 'Alarm Begrændsing',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Alarm Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Alarm',
'All' => 'Alle',
'Apply' => 'Aktiver',
'ApplyingStateChange' => 'Aktivere State Ændring',
'ArchArchived' => 'Kun Arkiverede',
'ArchUnarchived' => 'Kun Ikke Arkiverede',
'Archive' => 'Arkiver',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Alarm Billeder',
'AttrArchiveStatus' => 'Arkiverings Status',
'AttrAvgScore' => 'Avg. Skore',
'AttrCause' => 'Årsag',
'AttrDate' => 'Dato',
'AttrDateTime' => 'Dato/Tid',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Procent',
'AttrDuration' => 'Forløb',
'AttrFrames' => 'Billeder',
'AttrId' => 'Id',
'AttrMaxScore' => 'Max. Skore',
'AttrMonitorId' => 'Monitor Id',
'AttrMonitorName' => 'Monitor Navn',
'AttrName' => 'Navn',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Tid',
'AttrTotalScore' => 'Total Skore',
'AttrWeekday' => 'Uge Dag',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Avg.<br/>Skore',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Navne må kun indeholde alphanumeric karaktere plus hyphen og underscore',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Båndbrede',
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Størelse',
'Blobs' => 'Blobs',
'Brightness' => 'Brightness',
'Buffers' => 'Buffere',
'CanAutoFocus' => 'Kan Auto Focus',
'CanAutoGain' => 'Kan Auto Gain',
'CanAutoIris' => 'Kan Auto Iris',
'CanAutoWhite' => 'Kan Auto White Bal.',
'CanAutoZoom' => 'Kan Auto Zoom',
'CanFocus' => 'Kan Focus',
'CanFocusAbs' => 'Kan Focus Absolut',
'CanFocusCon' => 'Kan Focus Kontinuerligt',
'CanFocusRel' => 'Kan Focus Relativt',
'CanGain' => 'Kan Gain ',
'CanGainAbs' => 'Kan Gain Absolut',
'CanGainCon' => 'Kan Gain Kontinuerligt',
'CanGainRel' => 'Kan Gain Relativt',
'CanIris' => 'Kan Iris',
'CanIrisAbs' => 'Kan Iris Absolut',
'CanIrisCon' => 'Kan Iris Kontinuerligt',
'CanIrisRel' => 'Kan Iris Relativt',
'CanMove' => 'Kan Bevæge',
'CanMoveAbs' => 'Kan Bevæge Absolut',
'CanMoveCon' => 'Kan Bevæge Kontinuerligt',
'CanMoveDiag' => 'Kan Bevæge Diagonalt',
'CanMoveMap' => 'Kan Bevæge Mapped',
'CanMoveRel' => 'Kan Bevæge Relativt',
'CanPan' => 'Kan Pan' ,
'CanReset' => 'Kan Reset',
'CanSetPresets' => 'Kan Set Presets',
'CanSleep' => 'Kan Sove',
'CanTilt' => 'Kan Tilt',
'CanWake' => 'Kan Vågne',
'CanWhite' => 'Kan White Balance',
'CanWhiteAbs' => 'Kan White Bal. Absolut',
'CanWhiteBal' => 'Kan White Bal.',
'CanWhiteCon' => 'Kan White Bal. Kontinuerligt',
'CanWhiteRel' => 'Kan White Bal. Relativt',
'CanZoom' => 'Kan Zoom',
'CanZoomAbs' => 'Kan Zoom Absolut',
'CanZoomCon' => 'Kan Zoom Kontinuerligt',
'CanZoomRel' => 'Kan Zoom Relativt',
'Cancel' => 'Fortryd',
'CancelForcedAlarm' => 'Fortryd Forced Alarm',
'CaptureHeight' => 'Capture Height',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Capture Palette',
'CaptureWidth' => 'Capture Width',
'Cause' => 'Årsag',
'CheckMethod' => 'Alarm Check Methode',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Vælg Filter',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Luk',
'Colour' => 'Farve',
'Command' => 'Kommando',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'konfig',
'ConfiguredFor' => 'Konfigureret for',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Verifiser Password',
'ConjAnd' => 'og',
'ConjOr' => 'eller',
'Console' => 'Konsol',
'ContactAdmin' => 'Kontakt Din adminstrator for detalier.',
'Continue' => 'Fortsæt',
'Contrast' => 'Kontrast',
'Control' => 'Kontrol',
'ControlAddress' => 'Kontrol Addresse',
'ControlCap' => 'Kontrol Capability',
'ControlCaps' => 'Kontrol Capabilities',
'ControlDevice' => 'Kontrol Enhed',
'ControlType' => 'Kontrol Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'Cycle Watch',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Dag',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'Slet',
'DeleteAndNext' => 'Slet &amp; Næste',
'DeleteAndPrev' => 'Slet &amp; Forrige',
'DeleteSavedFilter' => 'Slet Gemte filter',
'Description' => 'Beskrivelse',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Enheds Kanal',
'DeviceFormat' => 'Enheds Format',
'DeviceNumber' => 'Enheds Nummer',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => 'Dimentioner',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Forløb',
'Edit' => 'Rediger',
'Email' => 'Email',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'Aktiv',
'EnterNewFilterName' => 'Skriv Nyt filter navn',
'Error' => 'Fejl',
'ErrorBrackets' => 'Fejl, check at du har lige antal af Åbnings og Lukkende brackets',
'ErrorValidValue' => 'Fejl, check at alle terms har en valid værdig',
'Etc' => 'etc',
'Event' => 'Event',
'EventFilter' => 'Event Filter',
'EventId' => 'Event Id',
'EventName' => 'Event Navn',
'EventPrefix' => 'Event Prefix',
'Events' => 'Events',
'Exclude' => 'Exclude',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS Raport Interval',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Feed',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Arkiver alle matchende',
'FilterDeleteEvents' => 'Slet alle matchende',
'FilterEmailEvents' => 'Email detalier af alle matchende',
'FilterExecuteEvents' => 'Kør kommando på alle matchende',
'FilterMessageEvents' => 'Send detalier af alle matchende',
'FilterPx' => 'Filter Px',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Upload alle matchende',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => 'Første',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Fokus',
'ForceAlarm' => 'Tving Alarm',
'Format' => 'Format',
'Frame' => 'Billede',
'FrameId' => 'Billede Id',
'FrameRate' => 'Billede Rate',
'FrameSkip' => 'Billede Skip',
'Frames' => 'Billede',
'Func' => 'Func',
'Function' => 'Funktion',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'Generer Video',
'GeneratingVideo' => 'Generere Video',
'GoToZoneMinder' => 'Gå til ZoneMinder.com',
'Grey' => 'Grå',
'Group' => 'Group',
'Groups' => 'Grupper',
'HasFocusSpeed' => 'Har Fokus Hastighed',
'HasGainSpeed' => 'Har Gain Hastighed',
'HasHomePreset' => 'Har Hjem Preset',
'HasIrisSpeed' => 'Har Iris Hastighed',
'HasPanSpeed' => 'Har Pan Hastighed',
'HasPresets' => 'Har Presets',
'HasTiltSpeed' => 'Har Tilt Hastighed',
'HasTurboPan' => 'Har Turbo Pan',
'HasTurboTilt' => 'Har Turbo Tilt',
'HasWhiteSpeed' => 'Har White Bal. Hastighed',
'HasZoomSpeed' => 'Har Zoom Hastighed',
'High' => 'Høj',
'HighBW' => 'Høj&nbsp;B/B',
'Home' => 'Hjem',
'Hour' => 'Time',
'Hue' => 'Hue',
'Id' => 'Id',
'Idle' => 'Idle',
'Ignore' => 'Ignorer',
'Image' => 'Billede',
'ImageBufferSize' => 'Billede Buffer Størelse (Billeder)',
'Images' => 'Images',
'In' => 'Ind',
'Include' => 'Inkluder',
'Inverted' => 'Inverteret',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Sprog',
'Last' => 'Sidste',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'results only;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limit to first', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Load',
'Local' => 'Lokal',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Logget Ind Som',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Logger Ind',
'Login' => 'Logind',
'Logout' => 'Logud',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Lav',
'LowBW' => 'Lav&nbsp;B/B',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Marker',
'Max' => 'Max',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'Max.<br/>Skore',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'Maximale FPS',
'Medium' => 'Medium',
'MediumBW' => 'Medium&nbsp;B/B',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Minimum blob område bør være mindre end maximum',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Minimum blobs bør være mindre end maximum',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Minimum pixel threshold bør være mindre end maximum',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Misc',
'Monitor' => 'Monitor',
'MonitorIds' => 'Monitor&nbsp;Ids',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Monitore',
'Montage' => 'Montage',
'Month' => 'Måned',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Flyt',
'MustBeGe' => 'skal være støre end eller ligmed',
'MustBeLe' => 'Skal være mindre end eller ligmed',
'MustConfirmPassword' => 'Du skal konfimere password',
'MustSupplyPassword' => 'Du skal angive et password',
'MustSupplyUsername' => 'Du skal opgive et username',
'Name' => 'Navn',
'Near' => 'Near',
'Network' => 'Netværk',
'New' => 'Ny',
'NewGroup' => 'Ny Gruppe',
'NewLabel' => 'New Label',
'NewPassword' => 'Nyt Password',
'NewState' => 'Ny State',
'NewUser' => 'Ny User',
'Next' => 'Næste',
'No' => 'Nej',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Der er ingen billeder optaget for denne event',
'NoGroup' => 'No Group',
'NoSavedFilters' => 'NoSavedFilters',
'NoStatisticsRecorded' => 'Der er ingen statestikker optaget for denne event/frame',
'None' => 'Ingen',
'NoneAvailable' => 'Ingen Tilstede',
'Normal' => 'Normal',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'ligmed',
'OpGt' => 'støre end',
'OpGtEq' => 'støre end eller ligmed',
'OpIn' => 'i sættet',
'OpLt' => 'mindre end',
'OpLtEq' => 'mindre end eller ligmed',
'OpMatches' => 'matches',
'OpNe' => 'ikke ligmed',
'OpNotIn' => 'ikke i sættet',
'OpNotMatches' => 'does not match',
'Open' => 'Åben',
'OptionHelp' => 'OptionHelp',
'OptionRestartWarning' => 'Disse ændringer træder ikke i fuld effect\nmens systemt køre. Når du har\nafsluttet ændringer bedes du\ngenstarte ZoneMinder.',
'Options' => 'Indstillinger',
'OrEnterNewName' => 'eller skriv nyt navn',
'Order' => 'Order',
'Orientation' => 'Orientation',
'Out' => 'Ud',
'OverwriteExisting' => 'Overskriv Eksisterende',
'Paged' => 'Paged',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parameter',
'Password' => 'Password',
'PasswordsDifferent' => 'Det nye og konfimerede passwords er forskellige',
'Paths' => 'Stiger',
'Pause' => 'Pause',
'Phone' => 'Telefon',
'PhoneBW' => 'Telefon&nbsp;B/B',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixels',
'Play' => 'Play',
'PlayAll' => 'Afspil Alle',
'PleaseWait' => 'Vent venligst',
'Point' => 'Point',
'PostEventImageBuffer' => 'Efter Event Billed Buffer',
'PreEventImageBuffer' => 'Før Event Billed Buffer',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'Prev',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Rate',
'Real' => 'Real',
'Record' => 'Optag',
'RefImageBlendPct' => 'Reference Billede Blend %ge',
'Refresh' => 'Opdater',
'Remote' => 'Remote',
'RemoteHostName' => 'Remote Host Navn',
'RemoteHostPath' => 'Remote Host Stig',
'RemoteHostPort' => 'Remote Host Port',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Remote Image Farver',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Omdøb',
'Replay' => 'Spil Igen',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Nulstil',
'ResetEventCounts' => 'Reset Event Counts',
'Restart' => 'Genstart',
'Restarting' => 'Genstarter',
'RestrictedCameraIds' => 'Begranset Kamera Ids',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Rotate Left',
'RotateRight' => 'Rotate Right',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Kørsels Mode',
'RunState' => 'Run State',
'Running' => 'Køre',
'Save' => 'Gem',
'SaveAs' => 'Gem Som',
'SaveFilter' => 'Gem Filter',
'Scale' => 'Scale',
'Score' => 'Skore',
'Secs' => 'Sekunder',
'Sectionlength' => 'Sektion længde',
'Select' => 'Vælg',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Sæt',
'SetNewBandwidth' => 'Sæt Ny Båndbrede',
'SetPreset' => 'Sæt Preset',
'Settings' => 'Indstillinger',
'ShowFilterWindow' => 'VisFilterVindue',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sov',
'SortAsc' => 'Asc',
'SortBy' => 'Sorter efter',
'SortDesc' => 'Desc',
'Source' => 'Enhed',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Enheds Type',
'Speed' => 'Hastighed',
'SpeedHigh' => 'Høj Hastighed',
'SpeedLow' => 'Lav Hastighed',
'SpeedMedium' => 'Medium Hastighed',
'SpeedTurbo' => 'Turbo Hastighed',
'Start' => 'Start',
'State' => 'State',
'Stats' => 'Stats',
'Status' => 'Status',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'Stills',
'Stop' => 'Stop',
'Stopped' => 'Stoppet',
'Stream' => 'Stream',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'System',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => 'Tid',
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Tids Stempel',
'Timeline' => 'Timeline',
'Timestamp' => 'Tidsstempel',
'TimestampLabelFormat' => 'Tidsstempel Mærkning´s Format',
'TimestampLabelX' => 'Tidsstempel Mærkning X',
'TimestampLabelY' => 'Tidsstempel Mærkning Y',
'Today' => 'Idag',
'Tools' => 'Tools',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Total<br/>Skore',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Triggers',
'TurboPanSpeed' => 'Turbo Pan Hastighed',
'TurboTiltSpeed' => 'Turbo Tilt Hastighed',
'Type' => 'Type',
'Unarchive' => 'Unarchive',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Units',
'Unknown' => 'Unknown',
'Update' => 'Update',
'UpdateAvailable' => 'En updatering til ZoneMinder er tilstede.',
'UpdateNotNecessary' => 'Ingen updatering er nødvendig.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Brug Filter',
'UseFilterExprsPost' => '&nbsp;filter&nbsp;expressions', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Brug&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Bruger',
'Username' => 'Bruger Navn',
'Users' => 'Brugere',
'Value' => 'Værdig',
'Version' => 'Version',
'VersionIgnore' => 'Ignorer denne version',
'VersionRemindDay' => 'Påmind igen om 1 dag',
'VersionRemindHour' => 'Påmind igen om 1 time',
'VersionRemindNever' => 'Mind ikke om nye versioner',
'VersionRemindWeek' => 'Påmind igen om 1 uge',
'Video' => 'Video',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'Video Generering Fejlede!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Video Generaring Parametre',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'Video Størelse',
'View' => 'Vis',
'ViewAll' => 'Vis Alle',
'ViewEvent' => 'View Event',
'ViewPaged' => 'View Paged',
'Wake' => 'Wake',
'WarmupFrames' => 'Varmop Billeder',
'Watch' => 'Se',
'Web' => 'Web',
'WebColour' => 'Web Colour',
'Week' => 'Uge',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 Activerings Streng',
'X10InputAlarmString' => 'X10 Input Alarm Streng',
'X10OutputAlarmString' => 'X10 Output Alarm Streng',
'Y' => 'Y',
'Yes' => 'Ja',
'YouNoPerms' => 'Du har ikke adgang til denne resourse.',
'Zone' => 'Zone',
'ZoneAlarmColour' => 'Alarm Farve (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zoner',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Nuværende login er \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Sidste %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'Den Seneste version er v%1$s, du har v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Monitor %1$s Function',
'RunningRecentVer' => 'Du Køre med seneste version af ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Events', 1=>'Event', 2=>'Events' ),
'Monitor' => array( 0=>'Monitors', 1=>'Monitor', 2=>'Monitors' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web UK English language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder <your language> Translation by <your name>
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=iso-8859-1" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'SystemLog' => 'System Log',
'DateTime' => 'Date/Time',
'Component' => 'Component',
'Pid' => 'PID',
'Level' => 'Level',
'Message' => 'Message',
'Line' => 'Line',
'More' => 'More',
'Clear' => 'Clear',
'24BitColour' => '24 bit colour',
'32BitColour' => '32 bit colour',
'8BitGrey' => '8 bit greyscale',
'Action' => 'Action',
'Actual' => 'Actual',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'Add New Monitor',
'AddNewUser' => 'Add New User',
'AddNewZone' => 'Add New Zone',
'Alarm' => 'Alarm',
'AlarmBrFrames' => 'Alarm<br/>Frames',
'AlarmFrame' => 'Alarm Frame',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'Alarm Limits',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Alarm Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Alert',
'All' => 'All',
'Apply' => 'Apply',
'ApplyingStateChange' => 'Applying State Change',
'ArchArchived' => 'Archived Only',
'Archive' => 'Archive',
'Archived' => 'Archived',
'ArchUnarchived' => 'Unarchived Only',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Alarm Frames',
'AttrArchiveStatus' => 'Archive Status',
'AttrAvgScore' => 'Avg. Score',
'AttrCause' => 'Cause',
'AttrDate' => 'Date',
'AttrDateTime' => 'Date/Time',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => 'Duration',
'AttrFrames' => 'Frames',
'AttrId' => 'Id',
'AttrMaxScore' => 'Max. Score',
'AttrMonitorId' => 'Monitor Id',
'AttrMonitorName' => 'Monitor Name',
'AttrName' => 'Name',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Time',
'AttrTotalScore' => 'Total Score',
'AttrWeekday' => 'Weekday',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available',
'AvgBrScore' => 'Avg.<br/>Score',
'Available' => 'Available',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadDevice' => 'Device must be set to a valid value',
'BadFormat' => 'Format must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Names may only contain alphanumeric characters plus hyphen and underscore',
'BadPalette' => 'Palette must be set to a valid value',
'BadColours' => 'Target colour must be set to a valid value',
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer' => 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Bandwidth',
'BlobPx' => 'Blob Px',
'Blobs' => 'Blobs',
'BlobSizes' => 'Blob Sizes',
'Brightness' => 'Brightness',
'Buffers' => 'Buffers',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'Cancel' => 'Cancel',
'CancelForcedAlarm' => 'Cancel Forced Alarm',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocus' => 'Can Focus',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGainAbs' => 'Can Gain Absolute',
'CanGain' => 'Can Gain ',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIris' => 'Can Iris',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMoveAbs' => 'Can Move Absolute',
'CanMove' => 'Can Move',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhite' => 'Can White Balance',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoom' => 'Can Zoom',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'CaptureHeight' => 'Capture Height',
'CaptureMethod' => 'Capture Method',
'CapturePalette' => 'Capture Palette',
'CaptureWidth' => 'Capture Width',
'Cause' => 'Cause',
'CheckMethod' => 'Alarm Check Method',
'ChooseDetectedCamera' => 'Choose Detected Camera',
'ChooseFilter' => 'Choose Filter',
'ChooseLogFormat' => 'Choose a log format',
'ChooseLogSelection' => 'Choose a log selection',
'ChoosePreset' => 'Choose Preset',
'Close' => 'Close',
'Colour' => 'Colour',
'Command' => 'Command',
'Config' => 'Config',
'ConfiguredFor' => 'Configured for',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Confirm Password',
'ConjAnd' => 'and',
'ConjOr' => 'or',
'Console' => 'Console',
'ContactAdmin' => 'Please contact your adminstrator for details.',
'Continue' => 'Continue',
'Contrast' => 'Contrast',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'Control' => 'Control',
'ControlDevice' => 'Control Device',
'Controllable' => 'Controllable',
'ControlType' => 'Control Type',
'Cycle' => 'Cycle',
'CycleWatch' => 'Cycle Watch',
'Day' => 'Day',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'DeleteAndNext' => 'Delete &amp; Next',
'DeleteAndPrev' => 'Delete &amp; Prev',
'Delete' => 'Delete',
'DeleteSavedFilter' => 'Delete saved filter',
'Description' => 'Description',
'DetectedCameras' => 'Detected Cameras',
'DeviceChannel' => 'Device Channel',
'DeviceFormat' => 'Device Format',
'DeviceNumber' => 'Device Number',
'DevicePath' => 'Device Path',
'Device' => 'Device',
'Devices' => 'Devices',
'Dimensions' => 'Dimensions',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disk',
'Display' => 'Display',
'Displaying' => 'Displaying',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br/><br/>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br/><br/>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'Donate' => 'Please Donate',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name',
'Duration' => 'Duration',
'Edit' => 'Edit',
'Email' => 'Email',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'Enabled',
'EnterNewFilterName' => 'Enter new filter name',
'ErrorBrackets' => 'Error, please check you have an equal number of opening and closing brackets',
'Error' => 'Error',
'ErrorValidValue' => 'Error, please check that all terms have a valid value',
'Etc' => 'etc',
'Event' => 'Event',
'EventFilter' => 'Event Filter',
'EventId' => 'Event Id',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'Events',
'Exclude' => 'Exclude',
'Execute' => 'Execute',
'ExportDetails' => 'Export Event Details',
'Export' => 'Export',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log',
'Exporting' => 'Exporting',
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded',
'ExportVideoFiles' => 'Export Video Files (if present)',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Feed',
'Ffmpeg' => 'Ffmpeg',
'File' => 'File',
'FilterArchiveEvents' => 'Archive all matches',
'FilterDeleteEvents' => 'Delete all matches',
'FilterEmailEvents' => 'Email details of all matches',
'FilterExecuteEvents' => 'Execute command on all matches',
'FilterMessageEvents' => 'Message details of all matches',
'FilterPx' => 'Filter Px',
'Filters' => 'Filters',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Upload all matches',
'FilterVideoEvents' => 'Create video for all matches',
'First' => 'First',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => 'Force Alarm',
'Format' => 'Format',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS Report Interval',
'Frame' => 'Frame',
'FrameId' => 'Frame Id',
'FrameRate' => 'Frame Rate',
'Frames' => 'Frames',
'FrameSkip' => 'Frame Skip',
'FTP' => 'FTP',
'Func' => 'Func',
'Function' => 'Function',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'Generate Video',
'GeneratingVideo' => 'Generating Video',
'GoToZoneMinder' => 'Go to ZoneMinder.com',
'Grey' => 'Grey',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'HighBW' => 'High&nbsp;B/W',
'High' => 'High',
'Home' => 'Home',
'Hour' => 'Hour',
'Hue' => 'Hue',
'Id' => 'Id',
'Idle' => 'Idle',
'Ignore' => 'Ignore',
'ImageBufferSize' => 'Image Buffer Size (frames)',
'Image' => 'Image',
'Images' => 'Images',
'Include' => 'Include',
'In' => 'In',
'Inverted' => 'Inverted',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Language',
'Last' => 'Last',
'Layout' => 'Layout',
'LimitResultsPost' => 'results only', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limit to first', // This is used at the beginning of the phrase 'Limit to first N results only'
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Load',
'Local' => 'Local',
'Log' => 'Log',
'Logs' => 'Logs',
'Logging' => 'Logging',
'LoggedInAs' => 'Logged in as',
'LoggingIn' => 'Logging In',
'Login' => 'Login',
'Logout' => 'Logout',
'LowBW' => 'Low&nbsp;B/W',
'Low' => 'Low',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Mark',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'Max.<br/>Score',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaximumFPS' => 'Maximum FPS',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'Max' => 'Max',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MediumBW' => 'Medium&nbsp;B/W',
'Medium' => 'Medium',
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Minimum blob area should be less than maximum',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Minimum blobs should be less than maximum',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Minimum pixel threshold should be less than maximum',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Misc',
'MonitorIds' => 'Monitor&nbsp;Ids',
'Monitor' => 'Monitor',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br/><br/>Please note that this may overwrite any values you already have configured for the current monitor.<br/><br/>',
'MonitorPreset' => 'Monitor Preset',
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>',
'MonitorProbe' => 'Monitor Probe',
'Monitors' => 'Monitors',
'Montage' => 'Montage',
'Month' => 'Month',
'Move' => 'Move',
'MustBeGe' => 'must be greater than or equal to',
'MustBeLe' => 'must be less than or equal to',
'MustConfirmPassword' => 'You must confirm the password',
'MustSupplyPassword' => 'You must supply a password',
'MustSupplyUsername' => 'You must supply a username',
'Name' => 'Name',
'Near' => 'Near',
'Network' => 'Network',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'New' => 'New',
'NewPassword' => 'New Password',
'NewState' => 'New State',
'NewUser' => 'New User',
'Next' => 'Next',
'NoDetectedCameras' => 'No Detected Cameras',
'NoFramesRecorded' => 'There are no frames recorded for this event',
'NoGroup' => 'No Group',
'NoneAvailable' => 'None available',
'None' => 'None',
'No' => 'No',
'Normal' => 'Normal',
'NoSavedFilters' => 'NoSavedFilters',
'NoStatisticsRecorded' => 'There are no statistics recorded for this event/frame',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'Open' => 'Open',
'OpEq' => 'equal to',
'OpGtEq' => 'greater than or equal to',
'OpGt' => 'greater than',
'OpIn' => 'in set',
'OpLtEq' => 'less than or equal to',
'OpLt' => 'less than',
'OpMatches' => 'matches',
'OpNe' => 'not equal to',
'OpNotIn' => 'not in set',
'OpNotMatches' => 'does not match',
'OptionHelp' => 'Option Help',
'OptionRestartWarning' => 'These changes may not come into effect fully\nwhile the system is running. When you have\nfinished making your changes please ensure that\nyou restart ZoneMinder.',
'Options' => 'Options',
'Order' => 'Order',
'OrEnterNewName' => 'or enter new name',
'Orientation' => 'Orientation',
'Out' => 'Out',
'OverwriteExisting' => 'Overwrite Existing',
'Paged' => 'Paged',
'PanLeft' => 'Pan Left',
'Pan' => 'Pan',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parameter',
'Password' => 'Password',
'PasswordsDifferent' => 'The new and confirm passwords are different',
'Paths' => 'Paths',
'Pause' => 'Pause',
'PhoneBW' => 'Phone&nbsp;B/W',
'Phone' => 'Phone',
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixels',
'PlayAll' => 'Play All',
'Play' => 'Play',
'PleaseWait' => 'Please Wait',
'Point' => 'Point',
'PostEventImageBuffer' => 'Post Event Image Count',
'PreEventImageBuffer' => 'Pre Event Image Count',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'Prev',
'Probe' => 'Probe',
'Protocol' => 'Protocol',
'Rate' => 'Rate',
'Real' => 'Real',
'Record' => 'Record',
'RefImageBlendPct' => 'Reference Image Blend %ge',
'Refresh' => 'Refresh',
'RemoteHostName' => 'Remote Host Name',
'RemoteHostPath' => 'Remote Host Path',
'RemoteHostSubPath' => 'Remote Host SubPath',
'RemoteHostPort' => 'Remote Host Port',
'RemoteImageColours' => 'Remote Image Colours',
'RemoteMethod' => 'Remote Method',
'RemoteProtocol' => 'Remote Protocol',
'Remote' => 'Remote',
'Rename' => 'Rename',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'Replay' => 'Replay',
'ReplaySingle' => 'Single Event',
'ResetEventCounts' => 'Reset Event Counts',
'Reset' => 'Reset',
'Restarting' => 'Restarting',
'Restart' => 'Restart',
'RestrictedCameraIds' => 'Restricted Camera Ids',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Rotate Left',
'RotateRight' => 'Rotate Right',
'RunLocalUpdate' => 'Please run zmupdate.pl to update',
'RunMode' => 'Run Mode',
'Running' => 'Running',
'RunState' => 'Run State',
'SaveAs' => 'Save as',
'SaveFilter' => 'Save Filter',
'Save' => 'Save',
'Scale' => 'Scale',
'Score' => 'Score',
'Secs' => 'Secs',
'Sectionlength' => 'Section length',
'SelectMonitors' => 'Select Monitors',
'Select' => 'Select',
'SelectFormat' => 'Select Format',
'SelectLog' => 'Select Log',
'SelfIntersecting' => 'Polygon edges must not intersect',
'SetNewBandwidth' => 'Set New Bandwidth',
'SetPreset' => 'Set Preset',
'Set' => 'Set',
'Settings' => 'Settings',
'ShowFilterWindow' => 'Show Filter Window',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer',
'Sleep' => 'Sleep',
'SortAsc' => 'Asc',
'SortBy' => 'Sort by',
'SortDesc' => 'Desc',
'Source' => 'Source',
'SourceColours' => 'Source Colours',
'SourcePath' => 'Source Path',
'SourceType' => 'Source Type',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'Speed' => 'Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'Start',
'State' => 'State',
'Stats' => 'Stats',
'Status' => 'Status',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Step' => 'Step',
'Stills' => 'Stills',
'Stopped' => 'Stopped',
'Stop' => 'Stop',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Stream' => 'Stream',
'Submit' => 'Submit',
'System' => 'System',
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'TimeDelta' => 'Time Delta',
'Timeline' => 'Timeline',
'TimestampLabelFormat' => 'Timestamp Label Format',
'TimestampLabelX' => 'Timestamp Label X',
'TimestampLabelY' => 'Timestamp Label Y',
'Timestamp' => 'Timestamp',
'TimeStamp' => 'Time Stamp',
'Time' => 'Time',
'Today' => 'Today',
'Tools' => 'Tools',
'Total' => 'Total',
'TotalBrScore' => 'Total<br/>Score',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Triggers',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'Type',
'Unarchive' => 'Unarchive',
'Undefined' => 'Undefined',
'Units' => 'Units',
'Unknown' => 'Unknown',
'UpdateAvailable' => 'An update to ZoneMinder is available.',
'UpdateNotNecessary' => 'No update is necessary.',
'Update' => 'Update',
'Upload' => 'Upload',
'Updated' => 'Updated',
'UseFilterExprsPost' => '&nbsp;filter&nbsp;expressions', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Use&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'UseFilter' => 'Use Filter',
'Username' => 'Username',
'Users' => 'Users',
'User' => 'User',
'Value' => 'Value',
'VersionIgnore' => 'Ignore this version',
'VersionRemindDay' => 'Remind again in 1 day',
'VersionRemindHour' => 'Remind again in 1 hour',
'VersionRemindNever' => 'Don\'t remind about new versions',
'VersionRemindWeek' => 'Remind again in 1 week',
'Version' => 'Version',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'Video Generation Failed!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Video Generation Parameters',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'Video Size',
'Video' => 'Video',
'ViewAll' => 'View All',
'ViewEvent' => 'View Event',
'ViewPaged' => 'View Paged',
'View' => 'View',
'Wake' => 'Wake',
'WarmupFrames' => 'Warmup Frames',
'Watch' => 'Watch',
'WebColour' => 'Web Colour',
'Web' => 'Web',
'Week' => 'Week',
'WhiteBalance' => 'White Balance',
'White' => 'White',
'Wide' => 'Wide',
'X10ActivationString' => 'X10 Activation String',
'X10InputAlarmString' => 'X10 Input Alarm String',
'X10OutputAlarmString' => 'X10 Output Alarm String',
'X10' => 'X10',
'X' => 'X',
'Yes' => 'Yes',
'YouNoPerms' => 'You do not have permissions to access this resource.',
'Y' => 'Y',
'ZoneAlarmColour' => 'Alarm Colour (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinderLog' => 'ZoneMinder Log',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zones',
'Zone' => 'Zone',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
'Zoom' => 'Zoom',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Current login is \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Last %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'The latest release is v%1$s, you have v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Monitor %1$s Function',
'RunningRecentVer' => 'You are running the most recent version of ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.',
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// 'Potato' => array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' ),
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Events', 1=>'Event', 2=>'Events' ),
'Monitor' => array( 0=>'Monitors', 1=>'Monitor', 2=>'Monitors' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $CLANG['MonitorCount'], count($monitors), zmVlang( $VLANG['VlangMonitor'], count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,699 +0,0 @@
<?php
//
// ZoneMinder web Argentinian Spanish language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Spanish 'Argentina' Translation by Fernando Diaz.
// Simple String Replacements
$SLANG = array(
'24BitColour' => 'Color 24 bits',
'32BitColour' => 'Color 32 bits', // Added - 2011-06-15
'8BitGrey' => 'Grises 8 bits',
'Action' => 'Action',
'Actual' => 'Actual',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'Agregar Nuevo Monitor',
'AddNewUser' => 'Agregar Nuevo Usuario',
'AddNewZone' => 'Agregar Nueva Zona',
'Alarm' => 'Alarma',
'AlarmBrFrames' => 'Alarma<br/>Cuadros',
'AlarmFrame' => 'Cuadro Alarma',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'Alarm Limits',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Alarm Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Alerta',
'All' => 'Todo',
'Apply' => 'Aplicar',
'ApplyingStateChange' => 'Aplicar Cambio Estado',
'ArchArchived' => 'Solo Archivados',
'ArchUnarchived' => 'Solo Sin Archivar',
'Archive' => 'Archivar',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Alarm Frames',
'AttrArchiveStatus' => 'Estado Archivo',
'AttrAvgScore' => 'Puntaje Prom.',
'AttrCause' => 'Cause',
'AttrDate' => 'Fecha',
'AttrDateTime' => 'Fecha/Hora',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => 'Duración',
'AttrFrames' => 'Cuadros',
'AttrId' => 'Id',
'AttrMaxScore' => 'Puntaje Máximo',
'AttrMonitorId' => 'Monitor Id',
'AttrMonitorName' => 'Nombre Monitor',
'AttrName' => 'Name',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Hora',
'AttrTotalScore' => 'Puntaje Total',
'AttrWeekday' => 'Día Semana',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Punt.<br/>Promedio',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Los nombres pueden contener solamente caracteres alfanuméricos más el guión y la raya',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Velocidad',
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
'Brightness' => 'Brillo',
'Buffers' => 'Buffers',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => 'Cancelar',
'CancelForcedAlarm' => 'Cancelar Alarma Forzada',
'CaptureHeight' => 'Captura Alto',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Captura Paleta',
'CaptureWidth' => 'Captura Ancho',
'Cause' => 'Cause',
'CheckMethod' => 'Alarm Check Method',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Elegir Filtro',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Cerrar',
'Colour' => 'Color',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Config.',
'ConfiguredFor' => 'Configurado Para',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Confirmar Contraseña',
'ConjAnd' => 'y',
'ConjOr' => 'o',
'Console' => 'Console',
'ContactAdmin' => 'Contacte el Administrador para detalles.',
'Continue' => 'Continue',
'Contrast' => 'Contraste',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'Cycle Watch',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Día',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'Borrar',
'DeleteAndNext' => 'Borrar &amp; Próximo',
'DeleteAndPrev' => 'Borrar &amp; Anterior',
'DeleteSavedFilter' => 'Borrar Filtro Guardado',
'Description' => 'Descripción',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Canal',
'DeviceFormat' => 'Señal',
'DeviceNumber' => 'Fuente',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => 'Dimensiones',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disco',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Duración',
'Edit' => 'Editar',
'Email' => 'Email',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'Habilitado',
'EnterNewFilterName' => 'Ingresar Nuevo Nombre De Filtro',
'Error' => 'Error',
'ErrorBrackets' => 'Error, Revisar si tiene la misma cantidad de paréntesis de apertura',
'ErrorValidValue' => 'Error, Revisar si los términos tienen nombres validos',
'Etc' => 'etc',
'Event' => 'Evento',
'EventFilter' => 'Filtro de Evento',
'EventId' => 'Event Id',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'Eventos',
'Exclude' => 'Excluir',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'fps',
'FPSReportInterval' => 'Intervalo de Reporte FPS',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Vista',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Archivar todos los eventos',
'FilterDeleteEvents' => 'Borrar todos los eventos',
'FilterEmailEvents' => 'Mandar un mail de todos los eventos',
'FilterExecuteEvents' => 'Ejecutar un comando en las coincidencias',
'FilterMessageEvents' => 'Mandar un mensaje de los eventos',
'FilterPx' => 'Filtro Px',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Subir los eventos que coincidan',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => 'Primero',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => 'Forzar Alarma',
'Format' => 'Format',
'Frame' => 'Cuadro',
'FrameId' => 'Id Cuadro',
'FrameRate' => 'Velocidad del video',
'FrameSkip' => 'Saltear Cuadro',
'Frames' => 'Cuadros',
'Func' => 'Func',
'Function' => 'Función',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'Crear Video',
'GeneratingVideo' => 'Creando Video',
'GoToZoneMinder' => 'Ir a Zoneminder.com',
'Grey' => 'Gris',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => 'Alta',
'HighBW' => 'Alta&nbsp;B/W',
'Home' => 'Home',
'Hour' => 'Hora',
'Hue' => 'Saturación',
'Id' => 'Id',
'Idle' => 'Pasivo',
'Ignore' => 'Ignorar',
'Image' => 'Imagen',
'ImageBufferSize' => 'Tamaño del Buffer de Imagen',
'Images' => 'Images',
'In' => 'In',
'Include' => 'Incluir',
'Inverted' => 'Invertido',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Lenguaje',
'Last' => 'Ultimo',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'Resultados;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Solo los primeros', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Carga',
'Local' => 'Local',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Registrado Como',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Ingresando',
'Login' => 'Ingresar',
'Logout' => 'Salir',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Baja',
'LowBW' => 'Baja&nbsp;B/W',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Marca',
'Max' => 'Max',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'Puntaje<br/>Max.',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'Maximos FPS',
'Medium' => 'Media',
'MediumBW' => 'Media&nbsp;B/W',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Minimum blob area should be less than maximum',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Minimum blobs should be less than maximum',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Minimum pixel threshold should be less than maximum',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Otros',
'Monitor' => 'Monitor',
'MonitorIds' => 'Ids&nbsp;Monitor',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Monitores',
'Montage' => 'Cámara Múltiple',
'Month' => 'Mes',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MustBeGe' => 'Debe ser mayor o igual que',
'MustBeLe' => 'Debe ser menor o igual que',
'MustConfirmPassword' => 'Debe confirmar la contraseña',
'MustSupplyPassword' => 'Debe ingresar una contraseña',
'MustSupplyUsername' => 'You must supply a username', // Added - 2009-02-08
'Name' => 'Nombre',
'Near' => 'Near',
'Network' => 'Red',
'New' => 'Nuevo',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'NewPassword' => 'Nueva Contraseña',
'NewState' => 'Nuevo Estado',
'NewUser' => 'Nuevo Usuario',
'Next' => 'Siguiente',
'No' => 'No',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'No hay movimientos grabados para este evento',
'NoGroup' => 'No Group',
'NoSavedFilters' => 'FiltrosNoGuardados',
'NoStatisticsRecorded' => 'No hay estadisticas guardadas para este evento/marco',
'None' => 'Ninguno',
'NoneAvailable' => 'Ninguno Disponible',
'Normal' => 'Normal',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'igual que',
'OpGt' => 'mayor que',
'OpGtEq' => 'mayor o igual que',
'OpIn' => 'En sistema',
'OpLt' => 'menor que',
'OpLtEq' => 'menor o igual que',
'OpMatches' => 'Coincide',
'OpNe' => 'distinto que',
'OpNotIn' => 'No en sistema',
'OpNotMatches' => 'No coincide',
'Open' => 'Open',
'OptionHelp' => 'Ayuda',
'OptionRestartWarning' => 'Estos cambios no se guardaran completamente\nmientras el sistema se ejecute. Cuando termine\nde realizar los cambios asegurese de\nreiniciar Zoneminder.',
'Options' => 'Opciones',
'OrEnterNewName' => 'o agregue nombre',
'Order' => 'Order',
'Orientation' => 'Orientación',
'Out' => 'Out',
'OverwriteExisting' => 'Sobreescribir Exitente',
'Paged' => 'Paged',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parametro',
'Password' => 'Contraseña',
'PasswordsDifferent' => 'Las contraseñas nueva y de confirmacion son diferentes',
'Paths' => 'Enlaces',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => 'Tel.&nbsp;B/N',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff', // Added - 2009-02-08
'Pixels' => 'pixels',
'Play' => 'Play',
'PlayAll' => 'Play All',
'PleaseWait' => 'Espere por favor',
'Point' => 'Point',
'PostEventImageBuffer' => 'Buffer Imagenes despues evento',
'PreEventImageBuffer' => 'Buffer Imagenes antes evento',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'Prev',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Ritmo',
'Real' => 'Real',
'Record' => 'Registro',
'RefImageBlendPct' => 'Reference Image Blend %ge',
'Refresh' => 'Actualizar',
'Remote' => 'Remote',
'RemoteHostName' => 'Nombre Servidor Remoto',
'RemoteHostPath' => 'Enlace Servidor Remoto',
'RemoteHostPort' => 'Puerto Servidor Remoto',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Remote Image Colours',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Renombrar',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'Borrar Contador Eventos',
'Restart' => 'Reiniciar',
'Restarting' => 'Reiniciando',
'RestrictedCameraIds' => 'Id. Camara restringida',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Rotar a la derecha',
'RotateRight' => 'Rotar a la izquierda',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Metodo Ejecucion',
'RunState' => 'Estado de Ejecución',
'Running' => 'Ejecutando',
'Save' => 'Guardar',
'SaveAs' => 'Guardar Como',
'SaveFilter' => 'Guardar Filtro',
'Scale' => 'Escala',
'Score' => 'Res.',
'Secs' => 'Seg',
'Sectionlength' => 'Longitud Sección',
'Select' => 'Select',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => 'Nuevo Ancho de Banda',
'SetPreset' => 'Set Preset',
'Settings' => 'Configuracion',
'ShowFilterWindow' => 'Abrir Filtro',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Asc',
'SortBy' => 'Ordenar por',
'SortDesc' => 'Desc',
'Source' => 'Origen',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Tipo Origen',
'Speed' => 'Speed',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'Iniciar',
'State' => 'Estado',
'Stats' => 'Est.',
'Status' => 'Estado',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'Fotos',
'Stop' => 'Desactivar',
'Stopped' => 'Apagado',
'Stream' => 'Stream',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'Sistema',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => 'Hora',
'TimeDelta' => 'Hora Delta',
'TimeStamp' => 'Etiqueta Hora',
'Timeline' => 'Timeline',
'Timestamp' => 'Etiqueta Hora',
'TimestampLabelFormat' => 'Formato Etiqueta Hora',
'TimestampLabelX' => 'Eje X Etiqueta Hora',
'TimestampLabelY' => 'Eje Y Etiqueta Hora',
'Today' => 'Today',
'Tools' => 'Herra.',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Total<br/>puntuación',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Gatillos',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'Tipo',
'Unarchive' => 'Desarchivar',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Unidades',
'Unknown' => 'Desconocido',
'Update' => 'Update',
'UpdateAvailable' => 'Una Actualización a ZoneMinder esta disponible',
'UpdateNotNecessary' => 'No se requiere Actualización',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Usar Filtro',
'UseFilterExprsPost' => '&nbsp;filtrar&nbsp;sentencias', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Utilizar&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Usuario',
'Username' => 'Nombre',
'Users' => 'Usuarios',
'Value' => 'Valor',
'Version' => 'Versión',
'VersionIgnore' => 'Ignore esta versión',
'VersionRemindDay' => 'Recordar en 1 día',
'VersionRemindHour' => 'Recordar en 1 hora',
'VersionRemindNever' => 'No avizar de nuevas versiones',
'VersionRemindWeek' => 'Recordar en 1 semana',
'Video' => 'Video',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'Fallo la creacion del video!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Parametros Generacion Video',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'Tamaño Video',
'View' => 'Ver',
'ViewAll' => 'Ver Todo',
'ViewEvent' => 'View Event',
'ViewPaged' => 'View Paged',
'Wake' => 'Wake',
'WarmupFrames' => 'Avisos Movimiento',
'Watch' => 'Monitor',
'Web' => 'Web',
'WebColour' => 'Web Colour',
'Week' => 'Semana',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 Comando Activación',
'X10InputAlarmString' => 'X10 Comando Entrada Alarma',
'X10OutputAlarmString' => 'X10 Output Alarm String',
'Y' => 'Y',
'Yes' => 'Si',
'YouNoPerms' => 'No tiene permisos para acceder a este recurso.',
'Zone' => 'Zona',
'ZoneAlarmColour' => 'Color Alarma (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zonas',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Usuario actual es \'%1$s\'',
'EventCount' => '%1$s %2$s',
'LastEvents' => 'Ultimo %1$s %2$s',
'LatestRelease' => 'The latest release is v%1$s, you have v%2$s.',
'MonitorCount' => '%1$s %2$s',
'MonitorFunction' => 'Monitor %1$s Funcion',
'RunningRecentVer' => 'You are running the most recent version of Zoneminder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Eventos', 1=>'Evento', 2=>'Eventos' ),
'Monitor' => array( 0=>'Monitores', 1=>'Monitor', 2=>'Monitores' ),
);
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
$OLANG = array(
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web UK French language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder French Translation by Jerome Hanoteau
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=iso-8859-1" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => 'Couleur 24 bit',
'32BitColour' => 'Couleur 32 bit', // Added - 2011-06-15
'8BitGrey' => 'Gris 8 bit',
'Action' => 'Action',
'Actual' => 'Réel',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'Aj. nouv. écran',
'AddNewUser' => 'Aj. nouv. util.',
'AddNewZone' => 'Aj. nouv. zone',
'Alarm' => 'Alarme',
'AlarmBrFrames' => 'Images<br/>alarme',
'AlarmFrame' => 'Image alarme',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'Limites alarme',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Px Alarme',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Alerte',
'All' => 'Tous',
'Apply' => 'Appliquer',
'ApplyingStateChange' => 'Appl. chgt état',
'ArchArchived' => 'Archivé seul.',
'ArchUnarchived' => 'Non-arch. seul.',
'Archive' => 'Archiver',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Images alarme',
'AttrArchiveStatus' => 'Etat Archive',
'AttrAvgScore' => 'Score moy.',
'AttrCause' => 'Cause',
'AttrDate' => 'Date',
'AttrDateTime' => 'Date/temps',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => 'Durée',
'AttrFrames' => 'Images',
'AttrId' => 'Id',
'AttrMaxScore' => 'Score max.',
'AttrMonitorId' => 'N° écran',
'AttrMonitorName' => 'Nom écran',
'AttrName' => 'Name',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Temps',
'AttrTotalScore' => 'Score total',
'AttrWeekday' => 'Semaine',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Score<br/>moy.',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Les noms ne peuvent contenir que des lettres, chiffres, trait d\'union ou souligné',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Bande-pass.',
'BlobPx' => 'Px forme',
'BlobSizes' => 'Taille forme',
'Blobs' => 'Formes',
'Brightness' => 'Luminosité;',
'Buffers' => 'Tampons',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => 'Annul.',
'CancelForcedAlarm' => 'Annul. Forc&eacute; Alarme',
'CaptureHeight' => 'Haut. capture',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'palette capture',
'CaptureWidth' => 'Larg. capture',
'Cause' => 'Cause',
'CheckMethod' => 'Méthode vérif. alarme',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Choisir filtre',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Fermer',
'Colour' => 'Couleur',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Config',
'ConfiguredFor' => 'Configuré pour',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Confirmer mt de pass.',
'ConjAnd' => 'et',
'ConjOr' => 'ou',
'Console' => 'Console',
'ContactAdmin' => 'Contactez votre administrateur SVP',
'Continue' => 'Continue',
'Contrast' => 'Contraste',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'Cycle vision',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Jour',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'Eff.',
'DeleteAndNext' => 'Eff. &amp; suiv.',
'DeleteAndPrev' => 'Eff. &amp; prec.',
'DeleteSavedFilter' => 'Eff. filtre sauvé',
'Description' => 'Description',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Canal caméra',
'DeviceFormat' => 'Format caméra',
'DeviceNumber' => 'Numéro caméra',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => 'Dimensions',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Durée',
'Edit' => 'Editer',
'Email' => 'Courriel',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'Activé',
'EnterNewFilterName' => 'Entrer nom nouv. filtre',
'Error' => 'Erreur',
'ErrorBrackets' => 'Erreur, vérifiez que toutes les parenthèses ouvertes sont fermées',
'ErrorValidValue' => 'Erreur, vérifiez que tous les termes ont une valeur valide',
'Etc' => 'etc',
'Event' => 'Evènt',
'EventFilter' => 'Filtre evènt',
'EventId' => 'Event Id',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'Evènts',
'Exclude' => 'Exclure',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'i/s',
'FPSReportInterval' => 'FPS Report Interval',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Feed',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Archive all matches',
'FilterDeleteEvents' => 'Delete all matches',
'FilterEmailEvents' => 'Email details of all matches',
'FilterExecuteEvents' => 'Execute command on all matches',
'FilterMessageEvents' => 'Message details of all matches',
'FilterPx' => 'Filter Px',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Upload all matches',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => 'Prem.',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => 'Force Alarme',
'Format' => 'Format',
'Frame' => 'Image',
'FrameId' => 'N° image',
'FrameRate' => 'Débit image',
'FrameSkip' => 'Saut image',
'Frames' => 'images',
'Func' => 'Fct',
'Function' => 'Fonction',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'Générer Vidéo',
'GeneratingVideo' => 'Génération Vidéo',
'GoToZoneMinder' => 'Aller sur ZoneMinder.com',
'Grey' => 'Gris',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => 'Haut',
'HighBW' => 'Haut&nbsp;N/B',
'Home' => 'Home',
'Hour' => 'Heure',
'Hue' => 'Teinte',
'Id' => 'N°',
'Idle' => 'Vide',
'Ignore' => 'Ignorer',
'Image' => 'Image',
'ImageBufferSize' => 'Taille tampon image',
'Images' => 'Images',
'In' => 'In',
'Include' => 'Inclure',
'Inverted' => 'Inversé',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Langue',
'Last' => 'Dernier',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'results only;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limit to first', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Load',
'Local' => 'Local',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Connecté cô',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Connexion',
'Login' => 'Login',
'Logout' => 'Déconnexion',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Bas',
'LowBW' => 'Basse&nbsp;N/B',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Marque',
'Max' => 'Max',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'Score<br/>max',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'i/s maximum',
'Medium' => 'Medium',
'MediumBW' => 'Moy.&nbsp;N/B',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Aire blob min. doit ê < aire blob maximum',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Blobs min. doit ê < blobs max.',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Seuil pixel min. doit ê < seuil pixel max.',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Div.',
'Monitor' => 'Ecran',
'MonitorIds' => 'N°&nbsp;écran',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Ecrans',
'Montage' => 'Montage',
'Month' => 'Mois',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MustBeGe' => 'doit être sup. ou égal à',
'MustBeLe' => 'doit être inf. ou égal à',
'MustConfirmPassword' => 'Confirmez le mot de passe',
'MustSupplyPassword' => 'Entrez un mot de passe',
'MustSupplyUsername' => 'Entrez un nom d\'utilisateur',
'Name' => 'Nom',
'Near' => 'Near',
'Network' => 'Réseau',
'New' => 'Nouv.',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'NewPassword' => 'Nouv. mt de passe',
'NewState' => 'Nv état',
'NewUser' => 'Nv util.',
'Next' => 'Suiv.',
'No' => 'Non',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Pas d\'image enregistrée pour cet évènement',
'NoGroup' => 'No Group',
'NoSavedFilters' => 'Pasfiltressauv',
'NoStatisticsRecorded' => 'Pas de statistiques disponibles pour cet évènmnt/imag.',
'None' => 'Aucun',
'NoneAvailable' => 'Aucun disponible',
'Normal' => 'Normal',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'égal à',
'OpGt' => 'sup. à',
'OpGtEq' => 'plus grand ou égal à',
'OpIn' => 'en lot',
'OpLt' => 'inf. à',
'OpLtEq' => 'inf. ou égal à',
'OpMatches' => 'correspond',
'OpNe' => 'diff. de',
'OpNotIn' => 'pas en lot',
'OpNotMatches' => 'ne correspond pas',
'Open' => 'Open',
'OptionHelp' => 'OptionAide',
'OptionRestartWarning' => 'These changes may not come into effect fully\nwhile the system is running. When you have\nfinished making your changes please ensure that\nyou restart ZoneMinder.',
'Options' => 'Options',
'OrEnterNewName' => 'ou entrez nv nom',
'Order' => 'Order',
'Orientation' => 'Orientation',
'Out' => 'Out',
'OverwriteExisting' => 'Ecraser l\'existant',
'Paged' => 'Paged',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Paramètre',
'Password' => 'Mt de passe',
'PasswordsDifferent' => 'Les 2 mots de passe sont différents',
'Paths' => 'Paths',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => 'Phone&nbsp;B/W',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixels',
'Play' => 'Play',
'PlayAll' => 'Play All',
'PleaseWait' => 'Attendez',
'Point' => 'Point',
'PostEventImageBuffer' => 'Post Event Image Count',
'PreEventImageBuffer' => 'Pre Event Image Count',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'Prec.',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Débit',
'Real' => 'Réel',
'Record' => 'Enreg.',
'RefImageBlendPct' => 'Reference Image Blend %ge',
'Refresh' => 'Rafraîchir',
'Remote' => 'Remote',
'RemoteHostName' => 'Remote Host Name',
'RemoteHostPath' => 'Remote Host Path',
'RemoteHostPort' => 'Remote Host Port',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Remote Image Colours',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Renommer',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'Rem. à 0 comptage des évts',
'Restart' => 'Redémarrer',
'Restarting' => 'Redémarrage',
'RestrictedCameraIds' => 'N° caméras confid.',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Rotation g.',
'RotateRight' => 'Rotation d.',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Run Mode',
'RunState' => 'Run State',
'Running' => 'Ca tourne',
'Save' => 'Enr.',
'SaveAs' => 'Enr. ss',
'SaveFilter' => 'Save Filter',
'Scale' => 'Echelle',
'Score' => 'Score',
'Secs' => 'Secs',
'Sectionlength' => 'Longueur section',
'Select' => 'Select',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => 'Régler la bande passante',
'SetPreset' => 'Set Preset',
'Settings' => 'Réglages',
'ShowFilterWindow' => 'Montrerfen.filtre',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Asc',
'SortBy' => 'Sort by',
'SortDesc' => 'Desc',
'Source' => 'Source',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Source Type',
'Speed' => 'Speed',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'Démarrer',
'State' => 'Etat',
'Stats' => 'Stats',
'Status' => 'Statut',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'Photos',
'Stop' => 'Stop',
'Stopped' => 'Arrêté',
'Stream' => 'Flux',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'Système',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => 'Temps',
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Time Stamp',
'Timeline' => 'Timeline',
'Timestamp' => 'Timestamp',
'TimestampLabelFormat' => 'Timestamp Label Format',
'TimestampLabelX' => 'Timestamp Label X',
'TimestampLabelY' => 'Timestamp Label Y',
'Today' => 'Today',
'Tools' => 'Outils',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Score<br/>total',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Déclenchements',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'Type',
'Unarchive' => 'Désarchiv.',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Unités',
'Unknown' => 'Inconnu',
'Update' => 'Update',
'UpdateAvailable' => 'Mise à jour de ZM dispo.',
'UpdateNotNecessary' => 'Pas de mise à jour dispo.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Util. Filtre',
'UseFilterExprsPost' => '&nbsp;filter&nbsp;expressions', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Util.&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Util.',
'Username' => 'nom util.',
'Users' => 'Utils',
'Value' => 'Valeur',
'Version' => 'Version',
'VersionIgnore' => 'Ignorer cette version',
'VersionRemindDay' => 'Me rappeler ds 1 j.',
'VersionRemindHour' => 'Me rappleler dans 1 h.',
'VersionRemindNever' => 'Ne pas avertir des nvelles versions',
'VersionRemindWeek' => 'Me rappeler ds 1 sem.',
'Video' => 'Vidéo',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'Echec génération vidéo!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Paramètres génération vidéo',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'taille vidéo',
'View' => 'Voir',
'ViewAll' => 'Voir tt',
'ViewEvent' => 'View Event',
'ViewPaged' => 'Vue recherchée',
'Wake' => 'Wake',
'WarmupFrames' => 'Images test',
'Watch' => 'Regarder',
'Web' => 'Web',
'WebColour' => 'Web Colour',
'Week' => 'Semaine',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10:chaîne activation',
'X10InputAlarmString' => 'X10:chaîne alarme entrée',
'X10OutputAlarmString' => 'X10:chaîne alarme sortie',
'Y' => 'Y',
'Yes' => 'Oui',
'YouNoPerms' => 'Permissions nécessaires pour cette ressource.',
'Zone' => 'Zone',
'ZoneAlarmColour' => 'Couleur alarme (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zones',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Util. Actuel: \'%1$s\'',
'EventCount' => '%1$s %2$s', // par ex. '37 évènts' (voir Vlang ci-dessous)
'LastEvents' => '%1$s derniers %2$s', // par ex. '37 derniers évènts' (voir Vlang ci-dessous)
'LatestRelease' => 'La dernière version est v%1$s, vous avez v%2$s.',
'MonitorCount' => '%1$s %2$s', // par exemple '4 écrans' (voir Vlang ci-dessous)
'MonitorFunction' => 'Ecran %1$s Fonction',
'RunningRecentVer' => 'Vs avez la dernière version de ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'évènts', 1=>'évènt', 2=>'évènts' ),
'Monitor' => array( 0=>'écrans', 1=>'écran', 2=>'écrans' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web IL Hebrew language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Hebrew Translation by oc666@netvision.net.il
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
header( "Content-Type: text/html; charset=iso-8859-8-i" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'he_IL' ); All locale settings pre-4.3.0
setlocale( LC_ALL, 'he_IL' ); //All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'he_IL' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'he_IL' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => 'öáò 24 áéè',
'32BitColour' => 'öáò 32 áéè', // Added - 2011-06-15
'8BitGrey' => 'âååðé àôåø 8 áéè',
'Action' => 'ôòåìä',
'Actual' => 'î÷åøé',
'AddNewControl' => 'äåñó ÷åðèøåì çãù',
'AddNewMonitor' => 'äåñó îåðéèåø çãù',
'AddNewUser' => 'äåñó îùúîù çãù',
'AddNewZone' => 'äåñó àéæåø çãù',
'Alarm' => 'àæò÷ä',
'AlarmBrFrames' => 'àæò÷ú<br/>ôøééîéí',
'AlarmFrame' => 'àæò÷ú ôøééîéí',
'AlarmFrameCount' => 'ñôéøú àæò÷åú ôøééîéí',
'AlarmLimits' => 'äâáìåú àæò÷ä',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'àæò÷ú Px',
'AlarmRGBUnset' => 'äéðê çééá ìàúçì àæò÷ú öáò',
'Alert' => 'äúøàä',
'All' => 'äëì',
'Apply' => 'äçì',
'ApplyingStateChange' => 'äçì ùéðåé îöá',
'ArchArchived' => 'àøëéá áìáã',
'ArchUnarchived' => 'ìà ìàøëéá áìáã',
'Archive' => 'àøëéá',
'Archived' => 'àåøëá',
'Area' => 'àæåø',
'AreaUnits' => 'àæåø (px/%)',
'AttrAlarmFrames' => 'Alarm Frames',
'AttrArchiveStatus' => 'Archive Status',
'AttrAvgScore' => 'ðé÷åã îîåöò',
'AttrCause' => 'ñéáä',
'AttrDate' => 'úàøéê',
'AttrDateTime' => 'úàøéê/ùòä',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => 'îùê æîï',
'AttrFrames' => 'ôøééîéí',
'AttrId' => 'Id',
'AttrMaxScore' => 'ðé÷åã î÷ñéîìé',
'AttrMonitorId' => 'Monitor Id',
'AttrMonitorName' => 'ùí îåðéèåø',
'AttrName' => 'ùí',
'AttrNotes' => 'äòøåú',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'ùòä',
'AttrTotalScore' => 'ñê ñëåí',
'AttrWeekday' => 'éåí áùáåò',
'Auto' => 'àåèå',
'AutoStopTimeout' => 'ôñ÷ æîï òöéøä àåèå',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'ðé÷åã<br/>îîåöò',
'Background' => 'ø÷ò',
'BackgroundFilter' => 'äøõ îñðï áø÷ò',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Names may only contain alphanumeric characters plus hyphen and underscore',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'øåçá ôñ',
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
'Brightness' => 'áäéøåú',
'Buffers' => 'Buffers',
'CanAutoFocus' => 'àôùø äúî÷ãåú àåèåîèé',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'àôùø æåí àåèåîèé',
'CanFocus' => 'àôùø äúî÷ãåú',
'CanFocusAbs' => 'àôùø äúî÷ãåú àáñåìåèé',
'CanFocusCon' => 'àôùø äúî÷ãåú îúîùê',
'CanFocusRel' => 'àôùø äúî÷ãåú éçñé',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'àôùø úðåòä',
'CanMoveAbs' => 'àôùø úðåòä àáñåìåèéú',
'CanMoveCon' => 'àôùø úæåæä îúîùëú',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'àôùø úæåæä éçñéú',
'CanPan' => 'Can Pan' ,
'CanReset' => 'àôùø àúçåì',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'àôùø îöá ùéðä',
'CanTilt' => 'àôùø æòæåò',
'CanWake' => 'àôùø éöéàä îîöá ùéðä',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'àôùø æåí',
'CanZoomAbs' => 'àôùø æåí àáñåìåèé',
'CanZoomCon' => 'àôùø æåí îúîùê',
'CanZoomRel' => 'àôùø æåí éçñé',
'Cancel' => 'áèì',
'CancelForcedAlarm' => 'Cancel Forced Alarm',
'CaptureHeight' => 'Capture Height',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Capture Palette',
'CaptureWidth' => 'Capture Width',
'Cause' => 'ñéáä',
'CheckMethod' => 'Alarm Check Method',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'áçø îñðï',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'ñâåø',
'Colour' => 'öáò',
'Command' => 'ô÷åãä',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'úöåøä',
'ConfiguredFor' => 'úöåøä òáåø',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'àùø ñéñîà',
'ConjAnd' => 'å',
'ConjOr' => 'àå',
'Console' => '÷åðñåì',
'ContactAdmin' => 'öåø ÷ùø òí îðäì äîòøëú áùáéì ôøèéí ðåñôéí.',
'Continue' => 'äîùê',
'Contrast' => 'ðéâåãéåú',
'Control' => '÷åðèøåì',
'ControlAddress' => 'ëúåáú ä÷åðèøåì',
'ControlCap' => 'éëåìú ä÷åðèøåì',
'ControlCaps' => 'éëåìåú ä÷åðèøåì',
'ControlDevice' => 'äú÷ï ä÷åðèøåì',
'ControlType' => 'ñåâ ä÷åðèøåì',
'Controllable' => 'Controllable',
'Cycle' => 'îçæåøé',
'CycleWatch' => 'öôééä îçæåøéú',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'éåí',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'îç÷',
'DeleteAndNext' => 'îç÷ &amp; äáà',
'DeleteAndPrev' => 'îç÷ &amp; ä÷åãí',
'DeleteSavedFilter' => 'îç÷ îñðï ùîåø',
'Description' => 'úéàåø',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'òøåõ ääú÷ï',
'DeviceFormat' => 'úáðéú ääú÷ï',
'DeviceNumber' => 'îñôø ääú÷ï',
'DevicePath' => 'ðúéá ääú÷ï',
'Devices' => 'äú÷ðéí',
'Dimensions' => 'îéîãéí',
'DisableAlarms' => 'ðèøì àæò÷åú',
'Disk' => 'ãéñ÷',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'úøåí áá÷ùä',
'DonateAlready' => 'ìà, úøîúé ëáø',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'òãééï ìà, äæëø ìà áòåã éåí àçã',
'DonateRemindHour' => 'òãééï ìà, äæëø ìé áòåã ùòä àçú',
'DonateRemindMonth' => 'òãééï ìà, äæëø ìé áòåã çåãù àçã',
'DonateRemindNever' => 'ìà, àðé ìà øåöä ìúøåí, àì úúæëø àåúé',
'DonateRemindWeek' => 'òãééï ìà, äæëø ìé áòåã ùáåò àçã',
'DonateYes' => 'ëï, àðé îòåðééï ìúøåí òëùéå',
'Download' => 'äåøã',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'îùê æîï',
'Edit' => 'òøåê',
'Email' => 'ãåà"ì',
'EnableAlarms' => 'àôùø àæò÷åú',
'Enabled' => 'àôùø',
'EnterNewFilterName' => 'äæï îñðï çãù',
'Error' => 'ùâéàä',
'ErrorBrackets' => 'Error, please check you have an equal number of opening and closing brackets',
'ErrorValidValue' => 'Error, please check that all terms have a valid value',
'Etc' => 'åëå\'',
'Event' => 'àéøåò',
'EventFilter' => 'îñðï àéøåò',
'EventId' => 'æéäåé àéøåò',
'EventName' => 'ùí àéøåò',
'EventPrefix' => 'Event Prefix',
'Events' => 'àéøåòéí',
'Exclude' => 'ììà',
'Execute' => 'áöò',
'Export' => 'éöà',
'ExportDetails' => 'éöà ôøèé àéøåò',
'ExportFailed' => 'éöåà ðëùì',
'ExportFormat' => 'éöà úáðéú ÷åáõ',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'éöà ÷áöé úîåðä',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'éöà ÷áöéí àçøéí (àí éùðí)',
'ExportOptions' => 'éöà àôùøåéåú',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'îééöà',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS Report Interval',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Feed',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => '÷åáõ',
'FilterArchiveEvents' => 'àøëá úåàîéí',
'FilterDeleteEvents' => 'îç÷ úåàîéí',
'FilterEmailEvents' => 'ùìç ãåàø ùì ëì äúåàîéí',
'FilterExecuteEvents' => 'Execute command on all matches',
'FilterMessageEvents' => 'Message details of all matches',
'FilterPx' => 'Filter Px',
'FilterUnset' => 'òìéê ìöééï øåçá åâåáä îñðï',
'FilterUploadEvents' => 'òìä àú ëì äúåàîéí',
'FilterVideoEvents' => 'öåø åéãàå ìëì äúåàîéí',
'Filters' => 'îñððéí',
'First' => 'äøàùåï',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'äúî÷ã',
'ForceAlarm' => 'äëøç àæò÷ä',
'Format' => 'úáðéú',
'Frame' => 'ôøééí',
'FrameId' => 'Frame Id',
'FrameRate' => 'Frame Rate',
'FrameSkip' => 'ãìâ ôøééí',
'Frames' => 'ôøééîéí',
'Func' => 'ôåð÷',
'Function' => 'ôåð÷öéä',
'Gain' => 'Gain',
'General' => 'ëììé',
'GenerateVideo' => 'öåø åéãàå',
'GeneratingVideo' => 'îééöø åéãàå',
'GoToZoneMinder' => 'á÷ø ZoneMinder.com',
'Grey' => 'àôåø',
'Group' => '÷áåöä',
'Groups' => '÷áåöåú',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => 'âáåä',
'HighBW' => 'âáåä&nbsp;ø/ô',
'Home' => 'áéú',
'Hour' => 'ùòä',
'Hue' => 'Hue',
'Id' => 'æéäåé',
'Idle' => 'äîúðä',
'Ignore' => 'äúòìí',
'Image' => 'úîåðä',
'ImageBufferSize' => 'Image Buffer Size (frames)',
'Images' => 'úîåðåú',
'In' => 'áúåê',
'Include' => 'ëìåì',
'Inverted' => 'äôåê',
'Iris' => 'Iris',
'KeyString' => 'îçøåæú úåéí',
'Label' => 'úååéú',
'Language' => 'ùôä',
'Last' => 'àçøåï',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'úåöàåú áìáã;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'äâáì ìøàùåï', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'îåðéèåøéí î÷åùøéí',
'List' => 'øùéîä',
'Load' => 'èòï',
'Local' => 'î÷åîé',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'äúçáø ë',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'îúçáø',
'Login' => 'äúçáø',
'Logout' => 'äúðú÷',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'ðîåê',
'LowBW' => 'ðîåê&nbsp;ø/ô',
'Main' => 'îøëæé',
'Man' => 'îãøéê',
'Manual' => 'îãøéê',
'Mark' => 'ñîï',
'Max' => 'î÷ñ',
'MaxBandwidth' => 'øåçá ôñ î÷ñ',
'MaxBrScore' => 'ðé÷åã<br/>î÷ñéîìé',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'Maximum FPS',
'Medium' => 'áéðåðé',
'MediumBW' => 'Medium&nbsp;B/W',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Minimum blob area should be less than maximum',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Minimum blobs should be less than maximum',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Minimum pixel threshold should be less than maximum',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Misc',
'Monitor' => 'îåðéèåø',
'MonitorIds' => 'Monitor&nbsp;Ids',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'îåðéèåøéí',
'Montage' => 'Montage',
'Month' => 'çåãù',
'More' => 'More', // Added - 2011-06-16
'Move' => 'äææ',
'MustBeGe' => 'must be greater than or equal to',
'MustBeLe' => 'must be less than or equal to',
'MustConfirmPassword' => 'You must confirm the password',
'MustSupplyPassword' => 'You must supply a password',
'MustSupplyUsername' => 'You must supply a username',
'Name' => 'ùí',
'Near' => 'ìéã',
'Network' => 'øùú',
'New' => 'çãù',
'NewGroup' => '÷áåöä çãùä',
'NewLabel' => 'úååéú çãùä',
'NewPassword' => 'ñéñîà çãùä',
'NewState' => 'îöá çãù',
'NewUser' => 'îùúîù çãù',
'Next' => 'äáà',
'No' => 'ìà',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'There are no frames recorded for this event',
'NoGroup' => 'ììà ÷áåöä',
'NoSavedFilters' => 'NoSavedFilters',
'NoStatisticsRecorded' => 'There are no statistics recorded for this event/frame',
'None' => 'øé÷',
'NoneAvailable' => 'áìúé æîéï',
'Normal' => 'ðåøîìé',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'ëáåé',
'On' => 'ãìå÷',
'OpEq' => 'ùååä ì',
'OpGt' => 'âãåì î',
'OpGtEq' => 'greater than or equal to',
'OpIn' => 'in set',
'OpLt' => 'ôçåú î',
'OpLtEq' => 'less than or equal to',
'OpMatches' => 'matches',
'OpNe' => 'àéðå ùååä',
'OpNotIn' => 'not in set',
'OpNotMatches' => 'àéðå úåàí',
'Open' => 'ôúç',
'OptionHelp' => 'OptionHelp',
'OptionRestartWarning' => 'These changes may not come into effect fully\nwhile the system is running. When you have\nfinished making your changes please ensure that\nyou restart ZoneMinder.',
'Options' => 'àôùøåéåú',
'OrEnterNewName' => 'or enter new name',
'Order' => 'îéåï',
'Orientation' => 'Orientation',
'Out' => 'Out',
'OverwriteExisting' => 'Overwrite Existing',
'Paged' => 'Paged',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'ôøîèø',
'Password' => 'ñéñîà',
'PasswordsDifferent' => 'The new and confirm passwords are different',
'Paths' => 'ðúéáéí',
'Pause' => 'Pause',
'Phone' => 'èìôåï',
'PhoneBW' => 'ø/ô&nbsp;èìôåï',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'ôé÷ñìéí',
'Play' => 'Play',
'PlayAll' => 'ðâï äëì',
'PleaseWait' => 'äîúï áá÷ùä',
'Point' => 'ð÷åãä',
'PostEventImageBuffer' => 'Post Event Image Count',
'PreEventImageBuffer' => 'Pre Event Image Count',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'ä÷åãí',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'ãéøåâ',
'Real' => 'àîéúé',
'Record' => 'ä÷ìèä',
'RefImageBlendPct' => 'Reference Image Blend %ge',
'Refresh' => 'øòðåï',
'Remote' => 'îøåç÷',
'RemoteHostName' => 'ùí îàøç îøåç÷',
'RemoteHostPath' => 'ðúéá îàøç îøåç÷',
'RemoteHostPort' => 'ôåøè îàøç îøåç÷',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Remote Image Colours',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'ùðä ùí',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'àôñ',
'ResetEventCounts' => 'Reset Event Counts',
'Restart' => 'àúçì',
'Restarting' => 'îàúçì',
'RestrictedCameraIds' => 'Restricted Camera Ids',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'çæøä îäùäéä',
'ReturnLocation' => 'îé÷åí çæøä',
'Rewind' => 'Rewind',
'RotateLeft' => 'ñåáá ùîàìä',
'RotateRight' => 'ñåáá éîéðä',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'öåøú øéöä',
'RunState' => 'îöá øéöä',
'Running' => 'îøéõ',
'Save' => 'ùîåø',
'SaveAs' => 'ùîåø áùí',
'SaveFilter' => 'ùîåø îñðï',
'Scale' => 'ñ÷àìä',
'Score' => 'ðé÷åã',
'Secs' => 'ùðéåú',
'Sectionlength' => 'àåøê ÷èò',
'Select' => 'áçø',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'áçø îåðéèåøéí',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => '÷áò',
'SetNewBandwidth' => 'Set New Bandwidth',
'SetPreset' => 'Set Preset',
'Settings' => 'äâãøåú',
'ShowFilterWindow' => 'Show Filter Window',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'âåãì',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'ùéðä',
'SortAsc' => 'Asc',
'SortBy' => 'Sort by',
'SortDesc' => 'Desc',
'Source' => 'î÷åø',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'ñåâ î÷åø',
'Speed' => 'îäéøåú',
'SpeedHigh' => 'îäéøåú âáåää',
'SpeedLow' => 'îäéøåú ðîåëä',
'SpeedMedium' => 'îöìîä áéðåðéú',
'SpeedTurbo' => 'îäéøåú èåøáå',
'Start' => 'äúçì',
'State' => 'îöá',
'Stats' => 'îöáéí',
'Status' => 'ñèèåñ',
'Step' => 'öòã',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'öòã âãåì',
'StepMedium' => 'öòã áéðåðé',
'StepNone' => 'àì úöòã',
'StepSmall' => 'öòã ÷èï',
'Stills' => 'ñèéìñ',
'Stop' => 'òöåø',
'Stopped' => 'ðòöø',
'Stream' => 'ñèøéí',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'îòøëú',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'èì',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => 'æîï',
'TimeDelta' => 'ùéðåé áæîï',
'TimeStamp' => 'çåúîú æîï',
'Timeline' => '÷å æîï',
'Timestamp' => 'çåúîú æîï',
'TimestampLabelFormat' => 'Timestamp Label Format',
'TimestampLabelX' => 'Timestamp Label X',
'TimestampLabelY' => 'Timestamp Label Y',
'Today' => 'äéåí',
'Tools' => 'ëìéí',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'ñê<br/>ðé÷åã',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'èøéâøéí',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'ñåâ',
'Unarchive' => 'áìúé àøëéá',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'éçéãåú',
'Unknown' => 'áìúé éãåò',
'Update' => 'òãëåï',
'UpdateAvailable' => 'òãëåï ìæåï-îéðãø àôùøé.',
'UpdateNotNecessary' => 'òãëåï àéðå äëøçé.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'ùéîåù áîñðï',
'UseFilterExprsPost' => '&nbsp;filter&nbsp;expressions', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'ùéîåù&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'îùúîù',
'Username' => 'ùí îùúîù',
'Users' => 'îùúîùéí',
'Value' => 'òøê',
'Version' => 'âéøñä',
'VersionIgnore' => 'äúòìí îâéøñä æå',
'VersionRemindDay' => 'äæëø ìé áòåã éåí àçã',
'VersionRemindHour' => 'äæëø ìé áòåã ùòä àçú',
'VersionRemindNever' => 'Don\'t remind about new versions',
'VersionRemindWeek' => 'Remind again in 1 week',
'Video' => 'åéãàå',
'VideoFormat' => 'úáðéú åéãàå',
'VideoGenFailed' => 'Video Generation Failed!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Video Generation Parameters',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'âåãì åéãàå',
'View' => 'äöâ',
'ViewAll' => 'äöâ äëì',
'ViewEvent' => 'äöâ àéøåò',
'ViewPaged' => 'View Paged',
'Wake' => 'äòø',
'WarmupFrames' => 'Warmup Frames',
'Watch' => 'öôä',
'Web' => 'àéðèøðè',
'WebColour' => 'öáò àéðèøðè',
'Week' => 'ùáåò',
'White' => 'ìáï',
'WhiteBalance' => 'White Balance',
'Wide' => 'øçá',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 Activation String',
'X10InputAlarmString' => 'X10 Input Alarm String',
'X10OutputAlarmString' => 'X10 Output Alarm String',
'Y' => 'Y',
'Yes' => 'ëï',
'YouNoPerms' => 'àéï ìê äøùàä ìäéëðñ ìî÷åø æä.',
'Zone' => 'àæåø',
'ZoneAlarmColour' => 'Alarm Colour (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'àæåøéí',
'Zoom' => 'æåí',
'ZoomIn' => 'æåí ôðéîä',
'ZoomOut' => 'æåí äçåöä',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Current login is \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Last %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'The latest release is v%1$s, you have v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Monitor %1$s Function',
'RunningRecentVer' => 'You are running the most recent version of ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Events', 1=>'Event', 2=>'Events' ),
'Monitor' => array( 0=>'Monitors', 1=>'Monitor', 2=>'Monitors' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,855 +0,0 @@
<?php
//
// ZoneMinder web HU Hungarian language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Hungarian Translation by szimszon at oregpreshaz dot eu, robi
// version: 0.6 - 2009.06.21. - frissítés 1.24.2-höz (robi)
// version: 0.5 - 2007.12.30. - frissítés 1.23.1-hez (robi)
// version: 0.4 - 2007.12.30. - frissítés 1.23.0-hoz (robi)
// version: 0.3 - 2006.04.27. - fordítás befejezése, elrendezése elféréshez (robi)
// version: 0.2 - 2006.12.05. - par javitas
// version: 0.1 - 2006.11.27. - sok typoval es par leforditatlan resszel
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
header( "Content-Type: text/html; charset=iso8859-2" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'hu_HU' ); //All locale settings 4.3.0 and after
//setlocale( LC_CTYPE, 'hu_HU'); //Character class settings 4.3.0 and after
//setlocale( LC_TIME, 'hu_HU'); //Date and time formatting 4.3.0 and after
setlocale( LC_TIME, 'hu_HU' );
setlocale( LC_ALL, 'hu_HU' );
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 bites szín',
'32BitColour' => '32 bites szín', // Added - 2011-06-15
'8BitGrey' => '8 bit szürkeárnyalat',
'Action' => 'Mûvelet',
'Actual' => 'Valós',
'AddNewControl' => 'Új vezérlés',
'AddNewMonitor' => 'Új monitor',
'AddNewUser' => 'Új felhasználó',
'AddNewZone' => 'Új zóna',
'Alarm' => 'Riadó',
'AlarmBrFrames' => 'Riadó<br/>képek',
'AlarmFrame' => 'Riadó kép',
'AlarmFrameCount' => 'Riadó képek száma',
'AlarmLimits' => 'Riasztási határok',
'AlarmMaximumFPS' => 'Maximális FPS riasztásnál',
'AlarmPx' => 'Riadó képpont',
'AlarmRGBUnset' => 'Be kell állítani egy RGB színt a riasztáshoz',
'Alert' => 'Riasztás',
'All' => 'Mind',
'Apply' => 'Alkalmaz',
'ApplyingStateChange' => 'Állapot váltás...',
'ArchArchived' => 'Csak archivált',
'ArchUnarchived' => 'Csak archiválatlan',
'Archive' => 'Archiválás',
'Archived' => 'Archívum',
'Area' => 'Terület',
'AreaUnits' => 'Terület (képpont / %)',
'AttrAlarmFrames' => 'Riadó képkockák',
'AttrArchiveStatus' => 'Archivált állapot',
'AttrAvgScore' => 'Átlagos érték',
'AttrCause' => 'Okozó',
'AttrDate' => 'Dátum',
'AttrDateTime' => 'Dátum/Idõ',
'AttrDiskBlocks' => 'Lemez blokkok',
'AttrDiskPercent' => 'Lemez százalék',
'AttrDuration' => 'Idõtartam',
'AttrFrames' => 'Képkockák',
'AttrId' => 'Azonosító',
'AttrMaxScore' => 'Max. érték',
'AttrMonitorId' => 'Monitor azon.',
'AttrMonitorName' => 'Monitor név',
'AttrName' => 'Név',
'AttrNotes' => 'Megjegyzés',
'AttrSystemLoad' => 'Rendszer terhelés',
'AttrTime' => 'Idõ',
'AttrTotalScore' => 'Össz. érték',
'AttrWeekday' => 'Hétköznap',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto megállási idõ túllépés',
'Available' => 'Elérhetõ',
'AvgBrScore' => 'Átlag<br/>érték',
'Background' => 'Háttér',
'BackgroundFilter' => 'Szûrõ futtatása a háttérben',
'BadAlarmFrameCount' => 'Riadó képek száma 1 vagy nagyobb egész szám legyen',
'BadAlarmMaxFPS' => 'A riadó maximális FPS száma pozitív szám legyen',
'BadChannel' => 'A csatorna száma 0 vagy nagyobb egész szám legyen',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Az eszköz érték valós legyen',
'BadFPSReportInterval' => 'FPS információs idõköz puffer számlálója 0 vagy nagyobb egész legyen',
'BadFormat' => 'A típus 0 vagy nagyobb egész szám legyen',
'BadFrameSkip' => 'Képkocka eldobások száma 0 vagy nagyobb egész szám legyen',
'BadHeight' => 'A képmagasság érvényes érték legyen képpontban',
'BadHost' => 'A hoszt valós IP cím vagy hosztnév legyen, http:// nélkül',
'BadImageBufferCount' => 'Kép puffer mérete legyen 10 vagy nagyobb szám',
'BadLabelX' => 'A cimke X koordinátája legyen 0 vagy nagyobb egész szám',
'BadLabelY' => 'A cimke Y koordinátája legyen 0 vagy nagyobb egész szám',
'BadMaxFPS' => 'A maximális FPS nullánál nagyobb szám legyen',
'BadNameChars' => 'A név csak alfanumerikus karaktereket, plusz-, kötõ-, és aláhúzásjelet tartalmazhat',
'BadPalette' => 'A palettának egy helyes értéket kell megadni',
'BadPath' => 'A kép elérési útvonala valós legyen',
'BadPort' => 'A portszám valós legyen',
'BadPostEventCount' => 'Az esemény utáni képek puffere 0 vagy nagyobb egész szám legyen',
'BadPreEventCount' => 'Az esemény elõtti képek puffere 0 vagy nagyobb egész szám legyen',
'BadRefBlendPerc' => 'A referencia képkeverék-százalék pozitív egész szám legyen',
'BadSectionLength' => 'Egy egység hossza 30 vagy hosszabb legyen',
'BadSignalCheckColour' => 'A jel ellenõrzési szín egy érvényes RGP kód kell legyen',
'BadStreamReplayBuffer'=> 'Folyam visszajátszó puffer 0 vagy nagyobb egész szám legyen',
'BadWarmupCount' => 'Bemelegítõ képek száma 0 vagy nagyobb egész szám legyen',
'BadWebColour' => 'A web szín érvényes web szín kód legyen',
'BadWidth' => 'A képszélesség érvényes érték legyen képpontban',
'Bandwidth' => 'sávszélességre',
'BlobPx' => 'Blob képpont',
'BlobSizes' => 'Blob mérete',
'Blobs' => 'Blob-ok',
'Brightness' => 'Fényerõ',
'Buffers' => 'Pufferek',
'CanAutoFocus' => 'Auto fókusz van',
'CanAutoGain' => 'Auto gain van',
'CanAutoIris' => 'Auto írisz van',
'CanAutoWhite' => 'Van autómata fehér egyensúly',
'CanAutoZoom' => 'Auto zoom van',
'CanFocus' => 'Tud fókuszálni',
'CanFocusAbs' => 'Tud abszolút fókuszt',
'CanFocusCon' => 'Tud folyamatos fókuszt',
'CanFocusRel' => 'Tud relatív fókuszt',
'CanGain' => 'Tud erõsíteni',
'CanGainAbs' => 'Tud abszolút erõsítést',
'CanGainCon' => 'Tud folyamatos erõsítést',
'CanGainRel' => 'Tud relatív erõsítést',
'CanIris' => 'Tud íriszt változtatni',
'CanIrisAbs' => 'Tud abszolut íriszt',
'CanIrisCon' => 'Folyamatosan tud íriszt változtatni',
'CanIrisRel' => 'Relatíven tud íriszt változtatni',
'CanMove' => 'Tud mozogni',
'CanMoveAbs' => 'Tud abszolult mozgást',
'CanMoveCon' => 'Folyamatosan tud mozogni',
'CanMoveDiag' => 'Diagonálban tud mozogni',
'CanMoveMap' => 'Útvonalon tud mozogni',
'CanMoveRel' => 'Relatíven tud mozogni',
'CanPan' => 'Tud jobb-bal mozgást' ,
'CanReset' => 'Tud alaphelyzetbe jönni',
'CanSetPresets' => 'Tud menteni profilokat',
'CanSleep' => 'Tud phihenõ üzemmódot',
'CanTilt' => 'Tud fel-le mozgást',
'CanWake' => 'Tud feléledni',
'CanWhite' => 'Tud fehér egyensúlyt',
'CanWhiteAbs' => 'Tud abszolut fehér egyensúlyt',
'CanWhiteBal' => 'Tud fehér egyensúlyt',
'CanWhiteCon' => 'Tud folyamatos fehér egyensúlyt',
'CanWhiteRel' => 'Tud relatív fehér egyensúlyt',
'CanZoom' => 'Tud zoom-olni',
'CanZoomAbs' => 'Tud abszolut zoom-ot',
'CanZoomCon' => 'Tud folyamatos zoom-ot',
'CanZoomRel' => 'Tud relatív zoom-ot',
'Cancel' => 'Mégsem',
'CancelForcedAlarm' => 'Kézi riasztás leállítása',
'CaptureHeight' => 'Képmagasság',
'CaptureMethod' => 'Digitalizálás módszere',
'CapturePalette' => 'Digitalizálás szín-palettája',
'CaptureWidth' => 'Képszélesség',
'Cause' => 'Okozó',
'CheckMethod' => 'A riasztás figyelésének módja',
'ChooseDetectedCamera' => 'Válasszon érzékelt kamerát',
'ChooseFilter' => 'Válassz szûrõt',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Válassz profilt',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Bezár',
'Colour' => 'Szín',
'Command' => 'Parancs',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Beállítás',
'ConfiguredFor' => 'Beállítva',
'ConfirmDeleteEvents' => 'Biztos benne, hogy törli a kiválasztott eseményeket?',
'ConfirmPassword' => 'Jelszó megerõsítés',
'ConjAnd' => 'és',
'ConjOr' => 'vagy',
'Console' => 'Konzol',
'ContactAdmin' => 'Kérem vegye fel a kapcsolatot a rendszergazdával a részletekért.',
'Continue' => 'Folytatás',
'Contrast' => 'Kontraszt',
'Control' => 'Vezérlés',
'ControlAddress' => 'Vezérlési jogok',
'ControlCap' => 'Vezérlési lehetõség',
'ControlCaps' => 'Vezérlési lehetõségek',
'ControlDevice' => 'Vezérlõ eszköz',
'ControlType' => 'Vezérlés típusa',
'Controllable' => 'Vezérelhetõ',
'Cycle' => 'Körbekapcsolás',
'CycleWatch' => 'Körbekapcsolás',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Napon',
'Debug' => 'Nyomon<br>követés',
'DefaultRate' => 'Alapértelmezett sebesség',
'DefaultScale' => 'Alapértelmezett méret',
'DefaultView' => 'Alapértelmezett nézet',
'Delete' => 'Töröl',
'DeleteAndNext' => 'Töröl &amp;<br>következõ',
'DeleteAndPrev' => 'Töröl &amp;<br>elõzõ',
'DeleteSavedFilter' => 'Mentett szûrõ törlése',
'Description' => 'Leírás',
'DetectedCameras' => 'Érzékelt kamerák',
'Device' => 'Eszköz',
'DeviceChannel' => 'Eszköz csatornája',
'DeviceFormat' => 'Eszköz formátuma',
'DeviceNumber' => 'Eszköz szám',
'DevicePath' => 'Eszköz elérési útvonala',
'Devices' => 'Eszközök',
'Dimensions' => 'Dimenziók',
'DisableAlarms' => 'Riasztás tiltása',
'Disk' => 'Tárhely',
'Display' => 'Megjelenés',
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Kérem támogasson',
'DonateAlready' => 'Nem, én már támogattam',
'DonateEnticement' => 'Ön már jó ideje használja a ZoneMindert remélhetõleg hasznos kiegészítésnek tartja háza vagy munkahelye biztosításában. Bár ZoneMinder szabad, nyílt forráskódú, és az is marad; a fejlesztése pénzbe kerül. Ha támogatni szeretné a jövõbeni fejlesztéseket és az új funkciókat kérem támogasson. A támogatás teljesen önkéntes, de nagyon megbecsült és annyival tud támogatni amennyivel kíván.<br><br>Ha támogatni szertne kérem válasszon az alábbi lehetõségekbõl vagy látogassa meg a http://www.zoneminder.com/donate.html oldalt.<br><br>Köszönöm, hogy használja a ZoneMinder-t és ne felejtse el meglátogatni a fórumokat a ZoneMinder.com oldalon támogatásért és ötletekért, hogy tudja még jobban használni a ZoneMinder-t.',
'DonateRemindDay' => 'Nem most, figyelmeztess 1 nap múlva',
'DonateRemindHour' => 'Nem most, figyelmeztess 1 óra múlva',
'DonateRemindMonth' => 'Nem most, figyelmeztess 1 hónap múlva',
'DonateRemindNever' => 'Nem akarom támogatni, ne is emlékeztess',
'DonateRemindWeek' => 'Nem most, figyelmeztess 1 hét múlva',
'DonateYes' => 'Igen, most szeretném támogatni',
'Download' => 'Letölt',
'DuplicateMonitorName' => 'Monitor nevének duplikálása',
'Duration' => 'Idõtartam',
'Edit' => 'Szerkeszt',
'Email' => 'Email',
'EnableAlarms' => 'Riasztás feloldása',
'Enabled' => 'Engedélyezve',
'EnterNewFilterName' => 'Írd be az új szûrõ nevét',
'Error' => 'Hiba',
'ErrorBrackets' => 'Hiba, ellenõrizd, hogy ugyanannyi nyitó és záró zárójel van',
'ErrorValidValue' => 'Hiba, ellenõrizd, hogy minden beállításnak érvényes értéke van',
'Etc' => 'stb',
'Event' => 'Esemény',
'EventFilter' => 'Esemény szûrõ',
'EventId' => 'Esemény azonosító',
'EventName' => 'Esemény név',
'EventPrefix' => 'Esemény elõtag',
'Events' => 'Események',
'Exclude' => 'Kizár',
'Execute' => 'Futtat',
'Export' => 'Exportál',
'ExportDetails' => 'Esemény adatainak exportálása',
'ExportFailed' => 'Hibás exportálás',
'ExportFormat' => 'Exportált fájl formátuma',
'ExportFormatTar' => 'TAR',
'ExportFormatZip' => 'ZIP',
'ExportFrames' => 'Képek adatainak exportálása',
'ExportImageFiles' => 'Képek exportálása',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Egyéb fájlok exportálása (ha vannak)',
'ExportOptions' => 'Exportálás beállításai',
'ExportSucceeded' => 'Az exportálás sikerült',
'ExportVideoFiles' => 'Videó fájlok exportálása (ha vannak)',
'Exporting' => 'Exportálás...',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS megjelenítés idõköze',
'FTP' => 'FTP',
'Far' => 'Távol',
'FastForward' => 'Elõre tekerés',
'Feed' => 'Folyam',
'Ffmpeg' => 'Ffmpeg',
'File' => 'Fájl',
'FilterArchiveEvents' => 'Minden találat archiválása',
'FilterDeleteEvents' => 'Minden találat törlése',
'FilterEmailEvents' => 'Minden találat adatainak elküldése E-mailben',
'FilterExecuteEvents' => 'Parancs futtatása minden találaton',
'FilterMessageEvents' => 'Minden találat adatainak üzenése',
'FilterPx' => 'Szûrt képkockák',
'FilterUnset' => 'Meg kell adnod a szûrõ szélességét és magasságát',
'FilterUploadEvents' => 'Minden találat feltöltése',
'FilterVideoEvents' => 'Videó készítése minden találatról',
'Filters' => 'Szûrõk',
'First' => 'Elsõ',
'FlippedHori' => 'Vízszintes tükrözés',
'FlippedVert' => 'Függõleges tükrözés',
'Focus' => 'Fókusz',
'ForceAlarm' => 'Kézi riasztás',
'Format' => 'Formátum',
'Frame' => 'Képkocka',
'FrameId' => 'Képkocka azonosító',
'FrameRate' => 'FPS',
'FrameSkip' => 'Képkocka kihagyás',
'Frames' => 'Képkocka',
'Func' => 'Funk.',
'Function' => 'Funkció',
'Gain' => 'Erõsítés',
'General' => 'Általános',
'GenerateVideo' => 'Videó készítés',
'GeneratingVideo' => 'Videó készítése...',
'GoToZoneMinder' => 'Látogatás a ZoneMinder.com-ra',
'Grey' => 'Szürke',
'Group' => 'Csoport',
'Groups' => 'Csoportok',
'HasFocusSpeed' => 'Van fókusz sebesség',
'HasGainSpeed' => 'Van erõsítés sebesség',
'HasHomePreset' => 'Van kedvenc profilja',
'HasIrisSpeed' => 'Van írisz sebesség',
'HasPanSpeed' => 'Van jobb-bal sebesség',
'HasPresets' => 'Vannak profiljai',
'HasTiltSpeed' => 'Van le-fel sebesség',
'HasTurboPan' => 'Van turbó jobb-bal',
'HasTurboTilt' => 'Van turbó le-fel',
'HasWhiteSpeed' => 'Van fehér egyensúly sebesség',
'HasZoomSpeed' => 'Van zoom sebesség',
'High' => 'Magas',
'HighBW' => 'Magas<br>sávsz.',
'Home' => 'Home',
'Hour' => 'Órában',
'Hue' => 'Színárnyalat',
'Id' => 'Az.',
'Idle' => 'Nyugalom',
'Ignore' => 'Figyelmen kívül hagy',
'Image' => 'Kép',
'ImageBufferSize' => 'Képpuffer mérete (képkockák)',
'Images' => 'Kép',
'In' => 'In',
'Include' => 'Beágyaz',
'Inverted' => 'Invertálva',
'Iris' => 'Írisz',
'KeyString' => 'Kulcs karaktersor',
'Label' => 'Cimke',
'Language' => 'Nyelv',
'Last' => 'Utolsó',
'Layout' => 'Elrendezés',
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'találatig korlátoz', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Az elsõ', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Összefüggõ monitorok',
'List' => 'Lista',
'Load' => 'Terhelés',
'Local' => 'Helyi',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Bejelentkezve mint',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Bejelentkezés folyamatban',
'Login' => 'Bejelentkezés',
'Logout' => 'Kilépés',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Alacsony',
'LowBW' => 'Alacsony<br>sávsz.',
'Main' => 'Fõ',
'Man' => 'Man',
'Manual' => 'Kézikönyv',
'Mark' => 'Jelölés',
'Max' => 'Max.',
'MaxBandwidth' => 'Max. sávszélesség',
'MaxBrScore' => 'Max.<br/>érték',
'MaxFocusRange' => 'Max. fókusz tartomány',
'MaxFocusSpeed' => 'Max. fókusz sebesség',
'MaxFocusStep' => 'Max. fókusz lépés',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max. írisz tartomány',
'MaxIrisSpeed' => 'Max. írisz sebesség',
'MaxIrisStep' => 'Max. írisz lépés',
'MaxPanRange' => 'Max. jobb-bal tartomány',
'MaxPanSpeed' => 'Max. jobb-bal sebesség',
'MaxPanStep' => 'Max. jobb-bal lépés',
'MaxTiltRange' => 'Max. fel-le tartomány',
'MaxTiltSpeed' => 'Max. fel-le sebesség',
'MaxTiltStep' => 'Max. fel-le lépés',
'MaxWhiteRange' => 'Max. fehér egyensúly tartomány',
'MaxWhiteSpeed' => 'Max. fehér egyensúly sebesség',
'MaxWhiteStep' => 'Max. fehér egyensúly lépés',
'MaxZoomRange' => 'Max. zoom tartomány',
'MaxZoomSpeed' => 'Max. zoom sebesség',
'MaxZoomStep' => 'Max. zoom lépés',
'MaximumFPS' => 'Maximum FPS',
'Medium' => 'Közepes',
'MediumBW' => 'Közepes<br>sávsz.',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'A minimum riasztott területnek kisebbnek kell lennie mint a maximumnak',
'MinAlarmAreaUnset' => 'Meg kell adnod a minimum riasztott képpontok számát',
'MinBlobAreaLtMax' => 'A minimum blob területnek kisebbnek kell lennie mint a maximumnak',
'MinBlobAreaUnset' => 'Meg kell adnod a minimum blob képpontok számát',
'MinBlobLtMinFilter' => 'A minimum blob területnek kisebbnek vagy egyenlõnek kell lennie a megszûrt területtel',
'MinBlobsLtMax' => 'A minimum bloboknak kisebbeknek kell lenniük, mint a maximum',
'MinBlobsUnset' => 'Meg kell adnod a blobok számát',
'MinFilterAreaLtMax' => 'A minimum megszûrt területnek kisebbnek kell lennie mint a maximum',
'MinFilterAreaUnset' => 'Meg kell adnod a megszûrt terület képpontjainak számát',
'MinFilterLtMinAlarm' => 'A megszûrt területnek kisebbnek vagy ugyanakkorának kell lennie mint a riasztott terület',
'MinFocusRange' => 'Min. fókusz terület',
'MinFocusSpeed' => 'Min. fókusz sebesség',
'MinFocusStep' => 'Min. fókusz lépés',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min. írisz terület',
'MinIrisSpeed' => 'Min. írisz sebesség',
'MinIrisStep' => 'Min. írisz lépés',
'MinPanRange' => 'Min. jobb-bal tartomány',
'MinPanSpeed' => 'Min. jobb-bal sebesség',
'MinPanStep' => 'Min. jobb-bal lépés',
'MinPixelThresLtMax' => 'A képpont minimum eltérési küszöbének kisebbnek kell lennie, mint a maximum',
'MinPixelThresUnset' => 'Meg kell adnod a képpont minimum eltérési küszöbét',
'MinTiltRange' => 'Min. fel-le tartomány',
'MinTiltSpeed' => 'Min. fel-le sebesség',
'MinTiltStep' => 'Min. fel-le lépés',
'MinWhiteRange' => 'Min. fehér egyensúly terület',
'MinWhiteSpeed' => 'Min. fehér egyensúly sebesség',
'MinWhiteStep' => 'Min. fehér egyensúly lépés',
'MinZoomRange' => 'Min. zoom terület',
'MinZoomSpeed' => 'Min. zoom sebesség',
'MinZoomStep' => 'Min. zoom lépés',
'Misc' => 'Egyéb',
'Monitor' => 'Monitor',
'MonitorIds' => 'Monitor&nbsp;azonosítók',
'MonitorPreset' => 'Elõre beállított monitorprofilok',
'MonitorPresetIntro' => 'Válassz egy, az elõre meghatározott<br> értékprofilt az alábbiak közül.<br><br>Vedd figyelembe, hogy ez felülírhatja <br>az általad már beállított értékeket.<br><br>',
'MonitorProbe' => 'Monitor észlelés',
'MonitorProbeIntro' => 'Az alábbi listában találhatók az automatikusan érzékelt analóg és hálózati kamerákat, illetve azt, hogy közülük melyik van használatban, vagy kiválasztható.<br/><br/>Válasszon egyet az alábbi listából.<br/><br/>Figyelem! Nem biztos, hogy minden kamerát lehet automatikusan érzékelni. Az itt kiválasztott kamara adatai felülírhatják azokat, amelyeket már ehhez a monitorhoz beállított.<br/><br/>',
'Monitors' => 'Monitorok',
'Montage' => 'Többkamerás nézet',
'Month' => 'Hónapban',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Mozgás',
'MustBeGe' => 'nagyobbnak vagy egyenlõnek kell lennie',
'MustBeLe' => 'kisebbnek vagy egyenlõnek kell lennie',
'MustConfirmPassword' => 'Meg kell erõsítened a jelszót',
'MustSupplyPassword' => 'Meg kell adnod a jelszót',
'MustSupplyUsername' => 'Meg kell adnod felhasználói nevet',
'Name' => 'Név',
'Near' => 'Közel',
'Network' => 'Hálózat',
'New' => 'Uj',
'NewGroup' => 'Új csoport',
'NewLabel' => 'Új cimke',
'NewPassword' => 'Új jelszó',
'NewState' => 'Új állapot neve',
'NewUser' => 'Új felhasználó',
'Next' => 'Következõ',
'No' => 'Nem',
'NoDetectedCameras' => 'Nincsenek érzékelt kamerák',
'NoFramesRecorded' => 'Nincs felvett képkocka ehhez az eseményhez',
'NoGroup' => 'Nincs csoport',
'NoSavedFilters' => 'Nincs mentett szûrõ',
'NoStatisticsRecorded' => 'Nincs mentett statisztika ehhez az eseményhez/képkockához',
'None' => 'Nincs kiválasztva',
'NoneAvailable' => 'Nem elérhetõ',
'Normal' => 'Normál',
'Notes' => 'Megjegyzések',
'NumPresets' => 'Profilok száma',
'Off' => 'Ki',
'On' => 'Be',
'OpEq' => 'egyenlõ',
'OpGt' => 'nagyobb mint',
'OpGtEq' => 'nagyobb van egyenlõ',
'OpIn' => 'beállítva',
'OpLt' => 'kisebb mint',
'OpLtEq' => 'kisebb vagy egyenlõ',
'OpMatches' => 'találatok',
'OpNe' => 'nem egyenlõ',
'OpNotIn' => 'nincs beállítva',
'OpNotMatches' => 'nincs találat',
'Open' => 'Megnyitás',
'OptionHelp' => 'Beállítási segítség',
'OptionRestartWarning' => 'Ez a beállítás nem jut teljesen érvényre\namíg a rendszer fut. Ha megtettél minden\nbeállítást, indítsd újra a ZoneMinder szolgáltatást.',
'Options' => 'Beállítások',
'OrEnterNewName' => 'vagy adj meg új nevet',
'Order' => 'Sorrend',
'Orientation' => 'Orientáció',
'Out' => 'Kifelé',
'OverwriteExisting' => 'Meglévõ felülírása',
'Paged' => 'Lapozva',
'Pan' => 'Jobb-bal mozgás',
'PanLeft' => 'Mozgás balra',
'PanRight' => 'Mozgás jobbra',
'PanTilt' => 'Mozgat',
'Parameter' => 'Paraméter',
'Password' => 'Jelszó',
'PasswordsDifferent' => 'Az új és a megerõsített jelszó különbözik!',
'Paths' => 'Útvonalak',
'Pause' => 'Szünet',
'Phone' => 'Telefonon betárcsázva',
'PhoneBW' => 'Betárcsázó<br>sávsz.',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Képpont eltérés',
'Pixels' => 'képpont',
'Play' => 'Lejátszás',
'PlayAll' => 'Mind lejátszása',
'PleaseWait' => 'Kérlek várj...',
'Point' => 'Pont',
'PostEventImageBuffer' => 'Esemény utáni képpuffer',
'PreEventImageBuffer' => 'Esemény elötti képpuffer',
'PreserveAspect' => 'Képarány megtartása',
'Preset' => 'Elõre beállított profil',
'Presets' => 'Elõre beállított profilok',
'Prev' => 'Elõzõ',
'Probe' => 'Érzékelés',
'Protocol' => 'Protocol',
'Rate' => 'FPS',
'Real' => 'Valós',
'Record' => 'Felvétel',
'RefImageBlendPct' => 'Változás a referenciaképtõl %-ban',
'Refresh' => 'Frissít',
'Remote' => 'Hálózati',
'RemoteHostName' => 'Hálózati IP cím/hosztnév',
'RemoteHostPath' => 'A kép elérési útvonala',
'RemoteHostPort' => 'Hálózati portszám',
'RemoteHostSubPath' => 'A kép elérési al-útvonala',
'RemoteImageColours' => 'A kép színe',
'RemoteMethod' => 'Hálózati metódus',
'RemoteProtocol' => 'Hálózati protokoll',
'Rename' => 'Átnevezés',
'Replay' => 'Visszajátszás',
'ReplayAll' => 'Minden eseményt',
'ReplayGapless' => 'Folyamatos eseményeket',
'ReplaySingle' => 'Egyéni esemény',
'Reset' => 'Alapértékre állít',
'ResetEventCounts' => 'Esemény számláló nullázása',
'Restart' => 'A szolgáltatás újraindítása',
'Restarting' => 'Újraindítás',
'RestrictedCameraIds' => 'Korlátozott kamerák azonosítói',
'RestrictedMonitors' => 'Korlátozott kamerák',
'ReturnDelay' => 'Visszaérkezés késleltetése',
'ReturnLocation' => 'Visszaérkezés helye',
'Rewind' => 'Visszatekerés',
'RotateLeft' => 'Balra forgatás',
'RotateRight' => 'Jobbra forgatás',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Futási mód',
'RunState' => 'A ZoneMinder állapota',
'Running' => 'Éles',
'Save' => 'Mentés',
'SaveAs' => 'Mentés mint',
'SaveFilter' => 'Szûrõ mentése',
'Scale' => 'Méret',
'Score' => 'Pontszám',
'Secs' => 'mp.',
'Sectionlength' => 'Rész hossz',
'Select' => 'Kiválasztás',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Monitorok kiválasztása',
'SelfIntersecting' => 'A sokszög szélei nem keresztezõdhetnek',
'Set' => 'Beállít',
'SetNewBandwidth' => 'Új sávszélesség beállítás',
'SetPreset' => 'Alapértelmezett beállítása',
'Settings' => 'Beállítások',
'ShowFilterWindow' => 'Szûrõablak megjelenítés',
'ShowTimeline' => 'Idõvonal megjelenítés',
'SignalCheckColour' => 'Szín a jel kimaradásakor',
'Size' => 'Fájlméret',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Alvás',
'SortAsc' => 'Növekvõ',
'SortBy' => 'Sorbarendezés:',
'SortDesc' => 'Csökkenõ',
'Source' => 'Forrás',
'SourceColours' => 'A kép színe',
'SourcePath' => 'A kép elérési útvonala',
'SourceType' => 'Kép-forrás típusa',
'Speed' => 'Sebesség',
'SpeedHigh' => 'Nagy sebsség',
'SpeedLow' => 'Alacsony sebesség',
'SpeedMedium' => 'Közepes sebesség',
'SpeedTurbo' => 'Turbó sebesség',
'Start' => 'Indít',
'State' => 'Állapot',
'Stats' => 'Statisztikák',
'Status' => 'Státusz',
'Step' => 'Ugrás',
'StepBack' => 'Visszalépés',
'StepForward' => 'Elõrelépés',
'StepLarge' => 'Nagy ugrás',
'StepMedium' => 'Közepes ugrás',
'StepNone' => 'Nincs ugrás',
'StepSmall' => 'Kis ugrás',
'Stills' => 'Állóképek',
'Stop' => 'A szolgáltatás leállítása',
'Stopped' => 'Leállítva',
'Stream' => 'Élõ folyam',
'StreamReplayBuffer' => 'Folyam visszajátszó képpuffer',
'Submit' => 'Elküld',
'System' => 'Rendszer',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Táv',
'Thumbnail' => 'Elõnézet',
'Tilt' => 'Fel-le mozgás',
'Time' => 'Idõpont',
'TimeDelta' => 'Idõ változás',
'TimeStamp' => 'Idõbélyeg',
'Timeline' => 'Idõvonal',
'Timestamp' => 'Idõbélyeg',
'TimestampLabelFormat' => 'Idõbélyeg formátum',
'TimestampLabelX' => 'Elhelyezés X pozició',
'TimestampLabelY' => 'Elhelyezés Y pozició',
'Today' => 'Ma',
'Tools' => 'Eszközök',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Össz.<br/>pontszám',
'TrackDelay' => 'Késleltetés követése',
'TrackMotion' => 'Mozgás követése',
'Triggers' => 'Elõidézõk',
'TurboPanSpeed' => 'Turbó jobb-bal sebesség',
'TurboTiltSpeed' => 'Turbo fel-le sebesség',
'Type' => 'Típus',
'Unarchive' => 'Archívumból ki',
'Undefined' => 'Nincs megadva',
'Units' => 'Egység',
'Unknown' => 'Ismeretlen',
'Update' => 'Frissítés',
'UpdateAvailable' => 'Elérhetõ ZoneMinder frissítés.',
'UpdateNotNecessary' => 'Nem szükséges a frissítés.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Szûrõt használ',
'UseFilterExprsPost' => '&nbsp;szürõ&nbsp;kifejezés használata', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => '&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Felhasználó',
'Username' => 'Felhasználónév',
'Users' => 'Felhasználók',
'Value' => 'Érték',
'Version' => 'Verzió',
'VersionIgnore' => 'Ennek a verziónak a figyelmen kívül hagyása',
'VersionRemindDay' => '1 nap múlva emlékeztess',
'VersionRemindHour' => '1 óra múlva emlékeztess',
'VersionRemindNever' => 'Ne emlékeztess az új verzióról',
'VersionRemindWeek' => '1 hét múlva emlékeztess',
'Video' => 'Videó',
'VideoFormat' => 'Videó formátum',
'VideoGenFailed' => 'Hiba a videó készítésekor!',
'VideoGenFiles' => 'Létezõ videók',
'VideoGenNoFiles' => 'Nem találhatók videók',
'VideoGenParms' => 'Videó készítési paraméterek',
'VideoGenSucceeded' => 'A videó elkészült!',
'VideoSize' => 'Kép mérete',
'View' => 'Megtekint',
'ViewAll' => 'Az összes listázása',
'ViewEvent' => 'Események nézet',
'ViewPaged' => 'Oldal nézet',
'Wake' => 'Ébreszt',
'WarmupFrames' => 'Bemelegítõ képkockák',
'Watch' => 'Figyel',
'Web' => 'Web',
'WebColour' => 'Szín az idõvonal ablakban',
'Week' => 'Héten',
'White' => 'Fehér',
'WhiteBalance' => 'Fehér egyensúly',
'Wide' => 'Széles',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 élesítõ karaktersor',
'X10InputAlarmString' => 'X10 bemeneti riadó karaktersor',
'X10OutputAlarmString' => 'X10 kimeneti riadó karaktersor',
'Y' => 'Y',
'Yes' => 'Igen',
'YouNoPerms' => 'Nincs jogod az erõforrás eléréséhez.',
'Zone' => 'Zóna:',
'ZoneAlarmColour' => 'Riadó színezés (R/G/B)',
'ZoneArea' => 'Zóna lefedettsége',
'ZoneFilterSize' => 'Szûrt szélesség/magasság<br>(képpont)',
'ZoneMinMaxAlarmArea' => 'Min/Max riadó terület',
'ZoneMinMaxBlobArea' => 'Min/Max Blob terület',
'ZoneMinMaxBlobs' => 'Min/Max Blobok',
'ZoneMinMaxFiltArea' => 'Min/Max szûrt terület',
'ZoneMinMaxPixelThres' => 'Min/Max képpont eltérési<br>küszöb (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Túlterhelés esetén<br>ennyi képkocka hagyható ki',
'Zones' => 'Zónák',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom be',
'ZoomOut' => 'Zoom ki',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Jelenleg belépve mint \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Utolsó %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'Az utolsó kiadás v%1$s, ami neked van v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Megfigyelés funkció: %1$s',
'RunningRecentVer' => 'A legfrissebb ZoneMinder verziót használod, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Esemény', 1=>'Esemény', 2=>'Esemény' ),
'Monitor' => array( 0=>'Monitor', 1=>'Monitor', 2=>'Monitor' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,851 +0,0 @@
<?php
//
// ZoneMinder web Italian language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder IT modified by Nicola Murino (23/09/2007)
// ZoneMinder IT modified by Alessio Chemeri (18/01/2006) (based on the translation done by
// Davide Morelli
// Tolmino Muccitelli - Sicurezza Informatica: info@tolmino.it
// Nicola Murino - IT Consultant: nicola.murino@gmail.com
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
//header( "Content-Type: text/html; charset=iso-8859-1" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
//setlocale( LC_ALL, 'it_IT.UTF-8' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => 'colori a 24 bit',
'32BitColour' => 'colori a 32 bit', // Added - 2011-06-15
'8BitGrey' => '8 bit scala di grigio',
'Action' => 'Azione',
'Actual' => 'Attuale',
'AddNewControl' => 'Aggiungi nuovo Controllo',
'AddNewMonitor' => 'Aggiungi nuovo Monitor',
'AddNewUser' => 'Aggiungi nuovo Utente',
'AddNewZone' => 'Aggiungi nuova Zona',
'Alarm' => 'Allarme',
'AlarmBrFrames' => 'Immagini<br/>Allarme',
'AlarmFrame' => 'Immagine Allarme',
'AlarmFrameCount' => 'Allarme Conta frame',
'AlarmLimits' => 'Limiti Allarme',
'AlarmMaximumFPS' => 'FPS massimi durante l\'allarme',
'AlarmPx' => 'Pixel Allarme',
'AlarmRGBUnset' => 'Devi settare un colore RGB di allarme',
'Alert' => 'Attenzione',
'All' => 'Tutto',
'Apply' => 'Applica',
'ApplyingStateChange' => 'Sto applicando le modifiche',
'ArchArchived' => 'Archiviato',
'ArchUnarchived' => 'Non archiviare',
'Archive' => 'Archivio',
'Archived' => 'Archiviato',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Immagini in Allarme',
'AttrArchiveStatus' => 'Stato Archivio',
'AttrAvgScore' => 'Punteggio medio',
'AttrCause' => 'Causa',
'AttrDate' => 'Data',
'AttrDateTime' => 'Data/Ora',
'AttrDiskBlocks' => 'Blocchi del Disco',
'AttrDiskPercent' => 'Percentuale del Disco',
'AttrDuration' => 'Durata',
'AttrFrames' => 'Immagini',
'AttrId' => 'Id',
'AttrMaxScore' => 'Punteggio massimo',
'AttrMonitorId' => 'Id Monitor',
'AttrMonitorName' => 'Nome Monitor',
'AttrName' => 'Nome',
'AttrNotes' => 'Note',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Ora',
'AttrTotalScore' => 'Punteggio totale',
'AttrWeekday' => 'Giorno della settimana',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Disponibile', // Added - 2009-03-31
'AvgBrScore' => 'Punteggio<br/>medio',
'Background' => 'Background',
'BackgroundFilter' => 'Esegui filtro in background',
'BadAlarmFrameCount' => 'Il numero di frame di un allarme deve essere un numero intero superiore a uno',
'BadAlarmMaxFPS' => 'Il numero massimo di FPS dell\'allarme deve essere un numero intero positivo o un valore in virgola mobile',
'BadChannel' => 'Il canale deve essere settato con un numero intero uguale o maggiore di zero',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Il dispositivo deve essere impostato con un valore valido',
'BadFPSReportInterval' => 'L\'intervallo di FPS per i report deve essere un numero intero superiore a 0',
'BadFormat' => 'Il formato deve essere impostato con un numero intero come 0 o maggiore',
'BadFrameSkip' => 'Il numero di Frame da scartare deve essere un intero uguale a 0 o superiore',
'BadHeight' => 'L\'altezza deve essere impostata con un valore valido',
'BadHost' => 'L\'host deve essere impostato con un indirizzo ip valido o con un hostname, non includendo http://',
'BadImageBufferCount' => 'La dimensione del buffer dell\'immagine deve essere impostata con un numero intero pari a 10 o maggiore',
'BadLabelX' => 'L\'etichetta della coordinata X deve essere un numero intero pari a 0 o maggiore',
'BadLabelY' => 'L\'etichetta della coordinata Y deve essere un numero intero pari a 0 o maggiore',
'BadMaxFPS' => 'I frame per secondo (FPS) massimi devono essere un numero intero positivo o un valore in virgola mobile',
'BadNameChars' => 'I nomi possono contenere solo caratteri alfanumerici pi&ugrave; i caratteri - e _',
'BadPalette' => 'La palette dei colori deve essere impostata ad un valore valido', // Added - 2009-03-31
'BadPath' => 'Il percorso deve essere impostato con un valore valido',
'BadPort' => 'La porta deve essere settata con un valore valido',
'BadPostEventCount' => 'Il buffer d\'immagine successivo ad un evento deve essere un numero maggiore o uguale a zero',
'BadPreEventCount' => 'Il buffer d\'immagine antecedente ad un evento deve essere minimo 0 e comunque minore della dimensione del buffer d\'immagine',
'BadRefBlendPerc' => 'La percentuale di miscela di riferimento deve essere un intero positivo',
'BadSectionLength' => 'La lunghezza della sezione deve essere un numero intero pari a 30 o maggiore',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Il numero di frame di allarme deve essere un numero intero maggiore o uguale a zero',
'BadWebColour' => 'L\'identificativo del colore deve essere una stringa valida',
'BadWidth' => 'La larghezza deve essere impostata con un valore valido',
'Bandwidth' => 'Banda',
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Dimensioni Blob',
'Blobs' => 'Blobs',
'Brightness' => 'Luminosit&agrave;',
'Buffers' => 'Buffers',
'CanAutoFocus' => 'Puo\' Auto Focus',
'CanAutoGain' => 'Puo\' Auto Gains',
'CanAutoIris' => 'Puo\' Auto Iris',
'CanAutoWhite' => 'Puo\' Auto bil bianco',
'CanAutoZoom' => 'Puo\' Auto Zoom',
'CanFocus' => 'Puo\' Fuoco',
'CanFocusAbs' => 'Puo\' Fuoco Assoluto',
'CanFocusCon' => 'Puo\' Fuoco Continuo ',
'CanFocusRel' => 'Puo\' Fuoco Relativo',
'CanGain' => 'Puo\' Gain ',
'CanGainAbs' => 'Puo\' Gain Assoluto',
'CanGainCon' => 'Puo\' Gain Continuo ',
'CanGainRel' => 'Puo\' Gain Relativo',
'CanIris' => 'Puo\' Iris',
'CanIrisAbs' => 'Puo\' Iris Assoluto',
'CanIrisCon' => 'Puo\' Iris Continuo ',
'CanIrisRel' => 'Puo\' Iris Relativo',
'CanMove' => 'Puo\' Mov.',
'CanMoveAbs' => 'Puo\' Mov. Assoluto',
'CanMoveCon' => 'Puo\' Mov. Continuo ',
'CanMoveDiag' => 'Puo\' Mov. Diagonale ',
'CanMoveMap' => 'Puo\' Mov Mappato',
'CanMoveRel' => 'Puo\' Mov. Relativo',
'CanPan' => 'Puo\' Pan' ,
'CanReset' => 'Puo\' Reset',
'CanSetPresets' => 'Puo\' impostare preset',
'CanSleep' => 'Puo\' andare in sleep',
'CanTilt' => 'Puo\' Tilt',
'CanWake' => 'Puo\' essere riattivato',
'CanWhite' => 'Puo\' bilanciare il bianco',
'CanWhiteAbs' => 'Puo\' bilanciare il bianco assoluto',
'CanWhiteBal' => 'Puo\' bilanciare il bianco',
'CanWhiteCon' => 'Puo\' bilanciare il bianco Continuo',
'CanWhiteRel' => 'Puo\' bilanciare il bianco Relativo',
'CanZoom' => 'Puo\' Zoom',
'CanZoomAbs' => 'Puo\' Zoom Assoluto',
'CanZoomCon' => 'Puo\' Zoom Continuo',
'CanZoomRel' => 'Puo\' Zoom Relativo',
'Cancel' => 'Annulla',
'CancelForcedAlarm' => 'Annulla Allarme Forzato',
'CaptureHeight' => 'Altezza img catturata',
'CaptureMethod' => 'Metodo di cattura', // Added - 2009-02-08
'CapturePalette' => 'Paletta img Catturata',
'CaptureWidth' => 'Larghezza img Catturata',
'Cause' => 'Causa',
'CheckMethod' => 'Metodo di Controllo Allarme',
'ChooseDetectedCamera' => 'Scegli telecamera rilevata', // Added - 2009-03-31
'ChooseFilter' => 'Scegli Filtro',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Scegli Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Chiudi',
'Colour' => 'Colori',
'Command' => 'Comando',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Configura',
'ConfiguredFor' => 'Configurato per',
'ConfirmDeleteEvents' => 'Sei sicuro di voler cancellare gli eventi selezionati',
'ConfirmPassword' => 'Conferma Password',
'ConjAnd' => 'e',
'ConjOr' => 'o',
'Console' => 'Console',
'ContactAdmin' => 'Contatta il tuo amministratore per dettagli.',
'Continue' => 'Continuo',
'Contrast' => 'Contrasto',
'Control' => 'Controllo',
'ControlAddress' => 'Indirizzo di controllo',
'ControlCap' => 'Capacita\' di controllo',
'ControlCaps' => 'Capacita\' di controllo',
'ControlDevice' => 'Dispositivo di controllo',
'ControlType' => 'Tipo Controllo',
'Controllable' => 'Controllabile',
'Cycle' => 'Cicla',
'CycleWatch' => 'Vista Ciclica',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Giorno',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Scala di default',
'DefaultView' => 'Visualizzazione di default',
'Delete' => 'Elimina',
'DeleteAndNext' => 'Elimina &amp; Prossimo',
'DeleteAndPrev' => 'Elimina &amp; Precedente',
'DeleteSavedFilter' => 'Elimina il filtro salvato',
'Description' => 'Descrizione',
'DetectedCameras' => 'Telecamere Rilevate', // Added - 2009-03-31
'Device' => 'Periferica', // Added - 2009-02-08
'DeviceChannel' => 'Canale Periferica',
'DeviceFormat' => 'Formato',
'DeviceNumber' => 'Numero Periferica',
'DevicePath' => 'Percorso Dispositivo',
'Devices' => 'Dispositivi',
'Dimensions' => 'Dimensioni',
'DisableAlarms' => 'Disabil Allarme',
'Disk' => 'Utilizzo Disco',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Donate,per favore',
'DonateAlready' => 'No, ho gia donato... ',
'DonateEnticement' => 'Stai usando ZoneMinder da un po\' di tempo e spero che tu lo stia trovando utile per la sicurezza di casa tua o del tuo posto di lavoro..Anche se ZoneMinder e\' distribuito liberamente come software libero,costa soldi sia svilupparlo che supportarlo. Se preferisci che questo software continui ad avere supporto e sviluppo in futuro allora considera l\idea di fare una piccola donazione. Donare e\' ovviamente opzionale, ma apprezzato e puoi donare quanto vuoi,quel poco o tanto che tu desideri.<br><br>Se hai voglia per cortesia seleziona l\'opzione sotto o punta il tuo browser a http://www.zoneminder.com/donate.html .<br><br>Grazie per usare ZoneMinder e non dimenticare di visitare il forum in ZoneMinder.com se cerchi supporto o hai suggerimenti riguardo a come rendere migliore Zoneminder.',
'DonateRemindDay' => 'Non ancora, ricordamelo ancora tra 1 giorno',
'DonateRemindHour' => 'Non ancora, ricordamelo ancora tra 1 ora',
'DonateRemindMonth' => 'Non ancora, ricordamelo ancora tra 1 mese',
'DonateRemindNever' => 'No, io non voglio donare, non lo faro\' mai',
'DonateRemindWeek' => 'Non ancora, ricordamelo ancora tra 1 settimana',
'DonateYes' => 'Si,mi piacerebbe donare qualcosa ora',
'Download' => 'Download',
'DuplicateMonitorName' => 'Il nome del monitor e\' gia\' presente', // Added - 2009-03-31
'Duration' => 'Durata',
'Edit' => 'Modifica',
'Email' => 'Email',
'EnableAlarms' => 'Abilita Allarmi',
'Enabled' => 'Attivo',
'EnterNewFilterName' => 'Inserisci il nome del nuovo filtro',
'Error' => 'Errore',
'ErrorBrackets' => 'Errore, controlla di avere un ugual numero di parentesti aperte e chiuse.',
'ErrorValidValue' => 'Errore, controlla che tutti i termini abbiano un valore valido',
'Etc' => 'ecc.',
'Event' => 'Evento',
'EventFilter' => 'Filtro Eventi',
'EventId' => 'Id Evento',
'EventName' => 'Nome Evento',
'EventPrefix' => 'Prefisso Evento',
'Events' => 'Eventi',
'Exclude' => 'Escludi',
'Execute' => 'Esegui',
'Export' => 'Esporta',
'ExportDetails' => 'Esp. dettagli eventi',
'ExportFailed' => 'Esp. Fallita ',
'ExportFormat' => 'Formato File Esp. ',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Dettagli frame espo.',
'ExportImageFiles' => 'Esporta le immagini',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Esporto Altri file (se presenti)',
'ExportOptions' => 'Opzioni Esportazione',
'ExportSucceeded' => 'Export completata con successo', // Added - 2009-02-08
'ExportVideoFiles' => 'Esporto File Video (se presenti)',
'Exporting' => 'In corso.',
'FPS' => 'fps',
'FPSReportInterval' => 'Intervallo Report FPS',
'FTP' => 'FTP',
'Far' => 'Lontano',
'FastForward' => 'Fast Forward',
'Feed' => 'Feed',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Archivia gli eventi',
'FilterDeleteEvents' => 'Elimina gli eventi',
'FilterEmailEvents' => 'Invia dettagli via email',
'FilterExecuteEvents' => 'Esegui un comando',
'FilterMessageEvents' => 'Invia dettagli tramite messaggio',
'FilterPx' => 'Px Filtro',
'FilterUnset' => 'Devi specificare altezza e larghezza per il filtro',
'FilterUploadEvents' => 'Fai upload eventi (FTP)',
'FilterVideoEvents' => 'Crea video per tutte le corrispondenze',
'Filters' => 'Filtri',
'First' => 'Primo',
'FlippedHori' => 'ribaltato orizzontale',
'FlippedVert' => 'ribaltato verticale',
'Focus' => 'Focus',
'ForceAlarm' => 'Forza Allarme',
'Format' => 'Formato',
'Frame' => 'Immagini',
'FrameId' => 'Id Immagine',
'FrameRate' => 'Immagini al secondo',
'FrameSkip' => 'Immagini saltate',
'Frames' => 'Immagini',
'Func' => 'Funz',
'Function' => 'Funzione',
'Gain' => 'Gain',
'General' => 'Generale',
'GenerateVideo' => 'Genera Video',
'GeneratingVideo' => 'Sto generando il Video',
'GoToZoneMinder' => 'Vai su zoneminder.com',
'Grey' => 'Grigio',
'Group' => 'Gruppo',
'Groups' => 'Gruppi',
'HasFocusSpeed' => 'Ha velocita\' di focus',
'HasGainSpeed' => 'Ha velocita\' di guadagno',
'HasHomePreset' => 'Ha posizioni di present',
'HasIrisSpeed' => 'Ha velocota\' di iris',
'HasPanSpeed' => 'Ha velocita\' di Pan',
'HasPresets' => 'Ha preset',
'HasTiltSpeed' => 'Ha velocita\' di Tilt',
'HasTurboPan' => 'Ha il Turbo Pan',
'HasTurboTilt' => 'Ha il Turbo Tilt',
'HasWhiteSpeed' => 'Ha velocita\' di bilanciamento del bianco',
'HasZoomSpeed' => 'Ha velocita\' di zoom',
'High' => 'Alta',
'HighBW' => 'Banda&nbsp;Alta',
'Home' => 'Home',
'Hour' => 'Ora',
'Hue' => 'Tinta',
'Id' => 'Id',
'Idle' => 'Inattivo',
'Ignore' => 'Ignora',
'Image' => 'Immagine',
'ImageBufferSize' => 'Grandezza Buffer Immagine (frames)',
'Images' => 'Immagini',
'In' => 'In',
'Include' => 'Includi',
'Inverted' => 'Invertito',
'Iris' => 'Iris',
'KeyString' => 'Stringa Chiave',
'Label' => 'Etichetta',
'Language' => 'Linguaggio',
'Last' => 'Ultimo',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'risultati;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limita ai primi', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Monitor Collegati',
'List' => 'Lista',
'Load' => 'Carico Sistema',
'Local' => 'Locale',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Collegato come:',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Mi Sto Collegando',
'Login' => 'Login',
'Logout' => 'Logout',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Bassa',
'LowBW' => 'Banda&nbsp;Bassa',
'Main' => 'Principale',
'Man' => 'Man',
'Manual' => 'Manuale',
'Mark' => 'Seleziona',
'Max' => 'Massima',
'MaxBandwidth' => 'Banda Massima',
'MaxBrScore' => 'Punteggio<br/>Massimo',
'MaxFocusRange' => 'Massimo range del focus',
'MaxFocusSpeed' => 'Massima velocita\' del focus',
'MaxFocusStep' => 'Massimo step del focus',
'MaxGainRange' => 'Massimo range del guadagno',
'MaxGainSpeed' => 'Massima velocita\' del guadagno',
'MaxGainStep' => 'Massimo step del guadagno',
'MaxIrisRange' => 'Massima range dell\'Iris',
'MaxIrisSpeed' => 'Massima velocita\' dell\'Iris',
'MaxIrisStep' => 'Massimo step dell\'Iris',
'MaxPanRange' => 'Massimo range del pan',
'MaxPanSpeed' => 'Massima velocita\' del tilt',
'MaxPanStep' => 'Massimo step del pan',
'MaxTiltRange' => 'Massimo range del tilt',
'MaxTiltSpeed' => 'Massima velocita\' del tilt',
'MaxTiltStep' => 'Massimo passo del tilt',
'MaxWhiteRange' => 'Massimo range del bilanciamento del bianco',
'MaxWhiteSpeed' => 'Massima velocita\' del bilanciamento del bianco',
'MaxWhiteStep' => 'Massimo Step del bilanciamento del bianco',
'MaxZoomRange' => 'Massimo range dello zoom',
'MaxZoomSpeed' => 'Massima velocita\' dello zoom',
'MaxZoomStep' => 'Massimo step dello zoom',
'MaximumFPS' => 'Massimi FPS',
'Medium' => 'Media',
'MediumBW' => 'Banda&nbsp;Media',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'L\'area minima dell\'allarme deve essere minore di quella massima',
'MinAlarmAreaUnset' => 'Devi specificare il numero minimo di pixel per l\'allarme',
'MinBlobAreaLtMax' => 'L\'area di blob minima deve essere minore dell\'area di blob massima',
'MinBlobAreaUnset' => 'Devi specificare il numero minimo di pixel per il blob',
'MinBlobLtMinFilter' => 'L\'area minima di blob deve essere minore o uguale dell\'area minima del filtro',
'MinBlobsLtMax' => 'I blob minimi devono essere minori dei blob massimi',
'MinBlobsUnset' => 'Devi specificare il numero minimo di blob',
'MinFilterAreaLtMax' => 'L\'area minima del filtro deve essere minore di quella massima',
'MinFilterAreaUnset' => 'Devi specificare il numero minimo di pixel per il filtro',
'MinFilterLtMinAlarm' => 'L\'area minima di filtro deve essere minore o uguale dell\area minima di allarme',
'MinFocusRange' => 'Range minimo del Focus',
'MinFocusSpeed' => 'Velocita\' minima del Focus',
'MinFocusStep' => 'Minimo step del Focus',
'MinGainRange' => 'Minimo range del Guadagno',
'MinGainSpeed' => 'Velocita\' minima del Guadagno',
'MinGainStep' => 'Step minimo del guadagno',
'MinIrisRange' => 'Range minimo dell\'Iris',
'MinIrisSpeed' => 'Velocita\' minima dell\'Iris',
'MinIrisStep' => 'Step minimo dell\'Iris',
'MinPanRange' => 'Range minimo del pan',
'MinPanSpeed' => 'Velocita\' minima del Pan',
'MinPanStep' => 'Step minimo del Pan',
'MinPixelThresLtMax' => 'I pixel minimi della soglia devono essere minori dei pixel massimi della soglia',
'MinPixelThresUnset' => 'Devi specificare una soglia minima di pixel', // Added - 2009-02-08
'MinTiltRange' => 'Range minimo del Tilt',
'MinTiltSpeed' => 'Velocita\' minima del Tilt',
'MinTiltStep' => 'Step minimo del Tilt',
'MinWhiteRange' => 'Range minimo del bilanciamento del bianco',
'MinWhiteSpeed' => 'Velocita\' minima del bialnciamento del bianco',
'MinWhiteStep' => 'Minimo step del bilanciamento del bianco',
'MinZoomRange' => 'Range minimo dello zoom',
'MinZoomSpeed' => 'Velocita\' minima dello zoom',
'MinZoomStep' => 'Step minimo dello zoom',
'Misc' => 'Altro',
'Monitor' => 'Monitor',
'MonitorIds' => 'Monitor&nbsp;Ids',
'MonitorPreset' => 'Monitor Presenti',
'MonitorPresetIntro' => 'Selezionare un appropriato pre settaggio dalla lista riportata qui sotto.<br><br>Per favore notare che questo potrebbe sovrascrivere ogni valore che hai gi&agrave; configurato su questo monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Monitors',
'Montage' => 'Montaggio',
'Month' => 'Mese',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Sposta',
'MustBeGe' => 'deve essere superiore a',
'MustBeLe' => 'deve essere inferiore o pari a',
'MustConfirmPassword' => 'Devi confermare la password',
'MustSupplyPassword' => 'Devi inserire una password',
'MustSupplyUsername' => 'Devi specificare un nome utente',
'Name' => 'Nome',
'Near' => 'Vicino',
'Network' => 'Rete',
'New' => 'Nuovo',
'NewGroup' => 'Nuovo Gruppo',
'NewLabel' => 'Nuova Etichetta',
'NewPassword' => 'Nuova Password',
'NewState' => 'Nuovo Stato',
'NewUser' => 'Nuovo Utente',
'Next' => 'Prossimo',
'No' => 'No',
'NoDetectedCameras' => 'Nessuna telecamera rilevata', // Added - 2009-03-31
'NoFramesRecorded' => 'Non ci sono immagini salvate per questo evento',
'NoGroup' => 'Nessun gruppo', // Added - 2009-02-08
'NoSavedFilters' => 'NessunFiltroSalvato',
'NoStatisticsRecorded' => 'Non ci sono statistiche salvate per questo evento/immagine',
'None' => 'Nessuno',
'NoneAvailable' => 'Nessuno disponibile',
'Normal' => 'Normale',
'Notes' => 'Note',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'uguale a',
'OpGt' => 'maggiore di',
'OpGtEq' => 'maggiore o uguale a',
'OpIn' => 'impostato',
'OpLt' => 'minore di',
'OpLtEq' => 'minore o uguale a',
'OpMatches' => 'corrisponde',
'OpNe' => 'diverso da',
'OpNotIn' => 'non impostato',
'OpNotMatches' => 'non corrisponde',
'Open' => 'Apri',
'OptionHelp' => 'Opzioni di Aiuto',
'OptionRestartWarning' => 'Queste modifiche potrebbero essere attive solo dopo un riavvio del sistema. Riavviare ZoneMinder.',
'Options' => 'Opzioni',
'OrEnterNewName' => 'o inserisci un nuovo nome',
'Order' => 'Ordine',
'Orientation' => 'Orientamento',
'Out' => 'Out',
'OverwriteExisting' => 'Sovrascrivi',
'Paged' => 'Con paginazione',
'Pan' => 'Pan',
'PanLeft' => 'Pan Sinistra',
'PanRight' => 'Pan Destra',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parametri',
'Password' => 'Password',
'PasswordsDifferent' => 'Le password non coincidono',
'Paths' => 'Percorsi',
'Pause' => 'Pause',
'Phone' => 'Telefono',
'PhoneBW' => 'Banda&nbsp;Tel',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixels',
'Play' => 'Play',
'PlayAll' => 'Vedi tutti',
'PleaseWait' => 'Attendere prego',
'Point' => 'Punto',
'PostEventImageBuffer' => 'Buffer di immagini Dopo Evento',
'PreEventImageBuffer' => 'Buffer di immagini Pre Evento',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'Prec',
'Probe' => 'Prova la telecamera', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Velocita\'',
'Real' => 'Reale',
'Record' => 'Registra',
'RefImageBlendPct' => 'Riferimento Miscela Immagine percentuale',
'Refresh' => 'Aggiorna',
'Remote' => 'Remoto',
'RemoteHostName' => 'Nome dell\'Host Remoto',
'RemoteHostPath' => 'Percorso dell\'Host Remoto',
'RemoteHostPort' => 'Porta dell\'Host Remoto',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Colori delle immagini Remote',
'RemoteMethod' => 'Metodo Remoto', // Added - 2009-02-08
'RemoteProtocol' => 'Protocollo Remoto', // Added - 2009-02-08
'Rename' => 'Rinomina',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Resetta',
'ResetEventCounts' => 'Resetta Contatore Eventi',
'Restart' => 'Riavvia',
'Restarting' => 'Sto riavviando',
'RestrictedCameraIds' => 'Camera Ids Riservati',
'RestrictedMonitors' => 'Monitor limitati',
'ReturnDelay' => 'Ritardo del ritorno',
'ReturnLocation' => 'Posizione del ritorno',
'Rewind' => 'Riavvolgi',
'RotateLeft' => 'Ruota a Sinista',
'RotateRight' => 'Ruota a Destra',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Modalita\' funzionamento',
'RunState' => 'Stato di funzionamento',
'Running' => 'Attivo',
'Save' => 'Salva',
'SaveAs' => 'Salva come',
'SaveFilter' => 'salva Filtro',
'Scale' => 'Scala',
'Score' => 'Punteggio',
'Secs' => 'Secs',
'Sectionlength' => 'Lunghezza Sezione',
'Select' => 'Seleziona',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Monitor Selezionati',
'SelfIntersecting' => 'I vertici del poligono non devono intersecarsi',
'Set' => 'Imposta',
'SetNewBandwidth' => 'Imposta nuova Banda',
'SetPreset' => 'Imposta Preset',
'Settings' => 'Impostazioni',
'ShowFilterWindow' => 'MostraFinestraFiltri',
'ShowTimeline' => 'Mostra linea temporale',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'grandezza',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Cresc',
'SortBy' => 'Ordina per',
'SortDesc' => 'Decr',
'Source' => 'Sorgente',
'SourceColours' => 'Colori della Sorgente', // Added - 2009-02-08
'SourcePath' => 'Percorso della Sorgente', // Added - 2009-02-08
'SourceType' => 'Tipo Sorgente',
'Speed' => 'Velocita\'',
'SpeedHigh' => 'Alta Velocita\'',
'SpeedLow' => 'Bassa Velocita\'',
'SpeedMedium' => 'Media Velocita\'',
'SpeedTurbo' => 'Turbo Velocita\'',
'Start' => 'Avvia',
'State' => 'Stato',
'Stats' => 'Statistiche',
'Status' => 'Stato',
'Step' => 'Passo',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Lungo passo',
'StepMedium' => 'Medio passo',
'StepNone' => 'No passo',
'StepSmall' => 'Piccolo passo',
'Stills' => 'Foto',
'Stop' => 'Stop',
'Stopped' => 'Inattivo',
'Stream' => 'Flusso',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Accetta',
'System' => 'Sistema',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Anteprima',
'Tilt' => 'Tilt',
'Time' => 'Ora',
'TimeDelta' => 'Tempo di Delta',
'TimeStamp' => 'Time Stamp',
'Timeline' => 'Linea Temporale',
'Timestamp' => 'Timestamp',
'TimestampLabelFormat' => 'Formato etichetta timestamp',
'TimestampLabelX' => 'coordinata X etichetta',
'TimestampLabelY' => 'coordinata Y etichetta',
'Today' => 'Oggi ',
'Tools' => 'Strumenti',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Punteggio<br/>Totale',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Triggers',
'TurboPanSpeed' => 'Velocita\' Turbo Pan',
'TurboTiltSpeed' => 'Velocita\' Turbo Tilt',
'Type' => 'Tipo',
'Unarchive' => 'Togli dall\'archivio',
'Undefined' => 'Non specificato', // Added - 2009-02-08
'Units' => 'Unit&agrave;',
'Unknown' => 'Sconosciuto',
'Update' => 'Aggiorna',
'UpdateAvailable' => 'Un aggiornamento di ZoneMinder &egrave; disponibilie.',
'UpdateNotNecessary' => 'Nessun aggiornamento necessario.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Usa Filtro',
'UseFilterExprsPost' => '&nbsp;espressioni&nbsp;filtri', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Usa&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Utente',
'Username' => 'Nome Utente',
'Users' => 'Utenti',
'Value' => 'Valore',
'Version' => 'Versione',
'VersionIgnore' => 'Ignora questa versione',
'VersionRemindDay' => 'Ricordami ancora tra un giorno',
'VersionRemindHour' => 'Ricordami ancora tra un\'ora',
'VersionRemindNever' => 'Non ricordarmi di nuove versioni',
'VersionRemindWeek' => 'Ricordami ancora tra una settimana',
'Video' => 'Video',
'VideoFormat' => 'Formato Video',
'VideoGenFailed' => 'Generazione Video Fallita!',
'VideoGenFiles' => 'File Video Esistenti',
'VideoGenNoFiles' => 'Non ho trovato file ',
'VideoGenParms' => 'Parametri Generazione Video',
'VideoGenSucceeded' => 'Successo: Generato Video !',
'VideoSize' => 'Dimensioni Video',
'View' => 'vedi',
'ViewAll' => 'Vedi Tutto',
'ViewEvent' => 'Vedi Evento',
'ViewPaged' => 'Vedi con paginazione',
'Wake' => 'Riattiva',
'WarmupFrames' => 'Immagini Allerta',
'Watch' => 'Guarda',
'Web' => 'Web',
'WebColour' => 'Colore Web',
'Week' => 'Settimana',
'White' => 'Bianco',
'WhiteBalance' => 'Bil. Bianco ',
'Wide' => 'Larghezza',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'Stringa attivazione X10',
'X10InputAlarmString' => 'Stringa allarme input X10',
'X10OutputAlarmString' => 'Stringa allarme output X10',
'Y' => 'Y',
'Yes' => 'Si',
'YouNoPerms' => 'Non hai i permessi per accedere a questa risorsa.',
'Zone' => 'Zona',
'ZoneAlarmColour' => 'Colore Allarme (RGB)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Larghezza/Altezza Filtro (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Area Allarmata',
'ZoneMinMaxBlobArea' => 'Min/Max Area di Blob',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Area Filtrata',
'ZoneMinMaxPixelThres' => 'Min/Max Soglia Pixel (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zone',
'Zoom' => 'Zoom',
'ZoomIn' => 'Ingrandisci',
'ZoomOut' => 'Rimpicciolisci',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Login attuale: \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Ultimi %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'L\'ultima release v%1$s, tu hai v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Funzione Monitor %1$s',
'RunningRecentVer' => 'Stai usando la versione pi&ugrave; aggiornata di ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Eventi', 1=>'Evento', 2=>'Eventi' ),
'Monitor' => array( 0=>'Monitor', 1=>'Monitor', 2=>'Monitor' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Errore, sono incapace di correlare le stringhe del file-linguaggio');
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web Japanese language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Japanese Translation by Andrew Arkley
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=iso-8859-1" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24ビットカラー',
'32BitColour' => '32ビットカラー', // Added - 2011-06-15
'8BitGrey' => '8ビット濃淡画像',
'Action' => 'Action',
'Actual' => '生中継',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'モニター追加',
'AddNewUser' => 'ユーザ追加',
'AddNewZone' => 'ゾーン追加',
'Alarm' => 'アラーム',
'AlarmBrFrames' => 'アラーム<br/>フレーム',
'AlarmFrame' => 'アラーム フレーム',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'アラーム限度',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'アラーム Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => '警告',
'All' => '全て',
'Apply' => '適用',
'ApplyingStateChange' => '変更適用中',
'ArchArchived' => '保存分のみ',
'ArchUnarchived' => '保存分以外のみ',
'Archive' => 'アーカイブ',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'アラーム フレーム',
'AttrArchiveStatus' => '保存状態',
'AttrAvgScore' => '平均スコアー',
'AttrCause' => 'Cause',
'AttrDate' => '日付',
'AttrDateTime' => '日時',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => '継続時間',
'AttrFrames' => 'フレーム',
'AttrId' => 'Id',
'AttrMaxScore' => '最高スコアー',
'AttrMonitorId' => 'モニター Id',
'AttrMonitorName' => 'モニター 名前',
'AttrName' => 'Name',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => '時間',
'AttrTotalScore' => '合計スコアー',
'AttrWeekday' => '曜日',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => '平均<br/>スコアー',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Names may only contain alphanumeric characters plus hyphen and underscore',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => '帯域幅',
'BlobPx' => 'ブロブ Px',
'BlobSizes' => 'ブロブ サイズ',
'Blobs' => 'ブロブ',
'Brightness' => '輝度',
'Buffers' => 'バッファ',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => 'キャンセル',
'CancelForcedAlarm' => '強制アラームキャンセル',
'CaptureHeight' => '取り込み高さ',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => '取り込みパレット',
'CaptureWidth' => '取り込み幅',
'Cause' => 'Cause',
'CheckMethod' => 'アラーム チェック方法',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'フィルターの選択',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => '閉じる',
'Colour' => '色',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Config',
'ConfiguredFor' => '設定:',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'パスワードの確認',
'ConjAnd' => '及び',
'ConjOr' => '又は',
'Console' => 'コンソール',
'ContactAdmin' => '管理者にお問い合わせください。',
'Continue' => 'Continue',
'Contrast' => 'コントラスト',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'サイクル観察',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => '曜日',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => '削除',
'DeleteAndNext' => '次を削除',
'DeleteAndPrev' => '前を削除',
'DeleteSavedFilter' => '保存フィルターの削除',
'Description' => '説明',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'デバイス チャンネル',
'DeviceFormat' => 'デバイス フォーマット',
'DeviceNumber' => 'デバイス番号',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => '寸法',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => '継続時間',
'Edit' => '編集',
'Email' => 'メール',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => '使用可能\',
'EnterNewFilterName' => '新しいフィルター名の入力',
'Error' => 'エラー',
'ErrorBrackets' => 'エラー、開き括弧と閉じ括弧の数が合っているのかを確認してください',
'ErrorValidValue' => 'エラー、全ての項の数値が有効かどうかを確認してください',
'Etc' => '等',
'Event' => 'イベント',
'EventFilter' => 'イベント フィルター',
'EventId' => 'Event Id',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'イベント',
'Exclude' => '排除',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS報告間隔',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => '送り込む',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Archive all matches',
'FilterDeleteEvents' => 'Delete all matches',
'FilterEmailEvents' => 'Email details of all matches',
'FilterExecuteEvents' => 'Execute command on all matches',
'FilterMessageEvents' => 'Message details of all matches',
'FilterPx' => 'フィルター Px',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Upload all matches',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => '最初',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => '強制アラーム',
'Format' => 'Format',
'Frame' => 'フレーム',
'FrameId' => 'フレーム ID',
'FrameRate' => 'フレームレート',
'FrameSkip' => 'フレームスキップ',
'Frames' => 'フレーム',
'Func' => '機能\',
'Function' => '機能\',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'ビデオの生成',
'GeneratingVideo' => 'ビデオ生成中',
'GoToZoneMinder' => 'ZoneMinder.comに行く',
'Grey' => 'グレー',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => '高',
'HighBW' => '高帯域',
'Home' => 'Home',
'Hour' => '時',
'Hue' => '色相',
'Id' => 'ID',
'Idle' => '待機状態',
'Ignore' => '無視',
'Image' => '画像',
'ImageBufferSize' => '画像 バッファ サイズ',
'Images' => 'Images',
'In' => 'In',
'Include' => '組み込む',
'Inverted' => '反転',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => '言語',
'Last' => '最終',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'results only;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limit to first', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Load',
'Local' => 'ローカル',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'ログイン済み:',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'ログイン中',
'Login' => 'ログイン',
'Logout' => 'ログアウト',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => '低',
'LowBW' => '低帯域',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => '選択',
'Max' => '最高',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => '最高<br/>スコアー',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => '最高 FPS',
'Medium' => '中',
'MediumBW' => '中帯域',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => '最低ブロッブ範囲は最高値より以下でなければいけない',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => '最低ブロッブ数は最高数より以下でなければいけない',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => '最低ピクセル閾値は最高値より以下でなければいけない',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'その他',
'Monitor' => 'モニター',
'MonitorIds' => 'モニター ID',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'モニター',
'Montage' => 'モンタージュ',
'Month' => '月',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MustBeGe' => '同等か以上でなければいけない',
'MustBeLe' => '同等か以下でなければいけない',
'MustConfirmPassword' => 'パスワードの確認をしてください',
'MustSupplyPassword' => 'パスワードを入力してください',
'MustSupplyUsername' => 'ユーザ名を入力してください',
'Name' => '名前',
'Near' => 'Near',
'Network' => 'ネットワーク',
'New' => '新規',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'NewPassword' => '新しいパスワード',
'NewState' => '新規状態',
'NewUser' => '新しいユーザ',
'Next' => '次',
'No' => 'いいえ',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'このイベントのフレームは登録されていません',
'NoGroup' => 'No Group',
'NoSavedFilters' => '保存されたフィルターはありません',
'NoStatisticsRecorded' => 'このイベント/フレームの統計は登録されていません',
'None' => 'ありません',
'NoneAvailable' => 'ありません',
'Normal' => '普通',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => '同等',
'OpGt' => '以下',
'OpGtEq' => '同等か以上',
'OpIn' => 'セットに入っている',
'OpLt' => '以下',
'OpLtEq' => '同等か以下',
'OpMatches' => '一致する',
'OpNe' => '同等でない',
'OpNotIn' => 'セットに入っていない',
'OpNotMatches' => '一致しない',
'Open' => 'Open',
'OptionHelp' => 'オプション ヘルプ',
'OptionRestartWarning' => 'この変更は起動中反映されない場合があります。\n変更してからZoneMinderを再起動してください。',
'Options' => 'オプション',
'OrEnterNewName' => '又は新しい名前を入力してください',
'Order' => 'Order',
'Orientation' => 'オリオンテーション',
'Out' => 'Out',
'OverwriteExisting' => '上書きします',
'Paged' => 'ページ化',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'パラメータ',
'Password' => 'パスワード',
'PasswordsDifferent' => '新しいパスワードと再入力パスワードが一致しません',
'Paths' => 'パス',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => '携帯用',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'ピクセル',
'Play' => 'Play',
'PlayAll' => 'Play All',
'PleaseWait' => 'お待ちください',
'Point' => 'Point',
'PostEventImageBuffer' => 'イベント イメージ バッファ後',
'PreEventImageBuffer' => 'イベント イメージ バッファ前',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => '前',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'レート',
'Real' => '生中継',
'Record' => '録画',
'RefImageBlendPct' => 'イメージ ブレンド 参照 %',
'Refresh' => '最新の情報に更新',
'Remote' => 'リモート',
'RemoteHostName' => 'リモート ホスト 名',
'RemoteHostPath' => 'リモート ホスト パス',
'RemoteHostPort' => 'リモート ホスト ポート',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'リモート イメージ カラー',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => '新しい名前をつける',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'イベント カウント リセット',
'Restart' => '再起動',
'Restarting' => '再起動中',
'RestrictedCameraIds' => '制限されたカメラ ID',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => '左に回転',
'RotateRight' => '右に回転',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => '起動モード',
'RunState' => '起動状態',
'Running' => '起動中',
'Save' => '保存',
'SaveAs' => '名前をつけて保存',
'SaveFilter' => 'フィルターを保存',
'Scale' => 'スケール',
'Score' => 'スコアー',
'Secs' => '秒',
'Sectionlength' => '長さ',
'Select' => 'Select',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => '新しい帯域幅の設定',
'SetPreset' => 'Set Preset',
'Settings' => '設定',
'ShowFilterWindow' => 'フィルター ウインドーの表示',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Asc',
'SortBy' => 'Sort by',
'SortDesc' => 'Desc',
'Source' => 'ソース',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'ソース タイプ',
'Speed' => 'Speed',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'スタート',
'State' => '状態',
'Stats' => '統計',
'Status' => '状態',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'スチール画像',
'Stop' => '停止',
'Stopped' => '停止状態',
'Stream' => 'ストリーム',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'システム',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => '時間',
'TimeDelta' => 'デルタ タイム',
'TimeStamp' => 'タイム スタンプ',
'Timeline' => 'Timeline',
'Timestamp' => 'タイムスタンプ',
'TimestampLabelFormat' => 'タイムスタンプ ラベル フォーマット',
'TimestampLabelX' => 'タイムスタンプ ラベル X',
'TimestampLabelY' => 'タイムスタンプ ラベル Y',
'Today' => 'Today',
'Tools' => 'ツール',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => '合計<br/>スコアー',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'トリガー',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'タイプ',
'Unarchive' => '解凍',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'ユニット',
'Unknown' => '不明',
'Update' => 'Update',
'UpdateAvailable' => 'ZoneMinderのアップデートがあります',
'UpdateNotNecessary' => 'アップデートの必要はありません',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'フィルターを使用してください',
'UseFilterExprsPost' => '&nbsp;フィルター個数', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => '指定してください:&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'ユーザ',
'Username' => 'ユーザ名',
'Users' => 'ユーザ',
'Value' => '数値',
'Version' => 'バージョン',
'VersionIgnore' => 'このバージョンを無視',
'VersionRemindDay' => '1日後に再度知らせる',
'VersionRemindHour' => '1時間後に再度知らせる',
'VersionRemindNever' => '新しいバージョンの知らせは必要ない',
'VersionRemindWeek' => '1週間後に再度知らせる',
'Video' => 'ビデオ',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'ビデオ生成の失敗!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'ビデオ生成 パラメータ',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'ビデオ サイズ',
'View' => '表示',
'ViewAll' => '全部表示',
'ViewEvent' => 'View Event',
'ViewPaged' => 'ページ化の表示',
'Wake' => 'Wake',
'WarmupFrames' => 'ウォームアップ フレーム',
'Watch' => '監視',
'Web' => 'ウェブ',
'WebColour' => 'Web Colour',
'Week' => '週',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10起動文字列',
'X10InputAlarmString' => 'X10入力アラーム文字列',
'X10OutputAlarmString' => 'X10出力アラーム文字列',
'Y' => 'Y',
'Yes' => 'はい',
'YouNoPerms' => 'この資源のアクセス権がありません。',
'Zone' => 'ゾーン',
'ZoneAlarmColour' => 'アラーム カラー (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'ゾーン',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'ただ今\'%1$s\がログインしています',
'EventCount' => '%1$s %2$s',
'LastEvents' => '最終 %1$s %2$s',
'LatestRelease' => '最新バージョンは v%1$s、ご利用バージョンはv%2$s.',
'MonitorCount' => '%1$s %2$s',
'MonitorFunction' => 'モニター%1$s 機能\',
'RunningRecentVer' => 'あなたはZoneMinderの最新バージョン v%s.を使っています',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'イベント', 1=>'イベント', 2=>'イベント' ),
'Monitor' => array( 0=>'モニター', 1=>'モニター', 2=>'モニター' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web Dutch language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Dutch Translation by Koen Veen
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=iso-8859-1" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 bit kleuren',
'32BitColour' => '32 bit kleuren', // Added - 2011-06-15
'8BitGrey' => '8 bit grijstinten',
'Action' => 'Action',
'Actual' => 'Aktueel',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'Voeg een nieuwe monitor toe',
'AddNewUser' => 'Voeg een nieuwe gebruiker toe',
'AddNewZone' => 'Voeg een nieuwe zone toe',
'Alarm' => 'Alarm',
'AlarmBrFrames' => 'Alarm<br/>Frames',
'AlarmFrame' => 'Alarm Frame',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'Alarm Limieten',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Alarm Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Waarschuwing',
'All' => 'Alle',
'Apply' => 'Voer uit',
'ApplyingStateChange' => 'Status verandering aan het uitvoeren',
'ArchArchived' => 'Alleen gearchiveerd',
'ArchUnarchived' => 'Alleen ongearchiveerd',
'Archive' => 'Archief',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Alarm frames',
'AttrArchiveStatus' => 'Archief status',
'AttrAvgScore' => 'Gem. score',
'AttrCause' => 'Cause',
'AttrDate' => 'Datum',
'AttrDateTime' => 'Datum/tijd',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => 'Duur',
'AttrFrames' => 'Frames',
'AttrId' => 'Id',
'AttrMaxScore' => 'Max. Score',
'AttrMonitorId' => 'Monitor Id',
'AttrMonitorName' => 'Monitor Naam',
'AttrName' => 'Name',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Tijd',
'AttrTotalScore' => 'Totale Score',
'AttrWeekday' => 'Weekdag',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Gem.<br/>score',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Namen mogen alleen alpha numerieke karakters bevatten plus hyphens en underscores',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Bandbreedte',
'BlobPx' => 'Blob px',
'BlobSizes' => 'Blob grootte',
'Blobs' => 'Blobs',
'Brightness' => 'Helderheid',
'Buffers' => 'Buffers',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => 'Cancel',
'CancelForcedAlarm' => 'Cancel geforceerd alarm',
'CaptureHeight' => 'Capture hoogte',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Capture pallet',
'CaptureWidth' => 'Capture breedte',
'Cause' => 'Cause',
'CheckMethod' => 'Alarm Check Methode',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Kies filter',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Sluit',
'Colour' => 'Kleur',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Config',
'ConfiguredFor' => 'Geconfigureerd voor',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Bevestig wachtwoord',
'ConjAnd' => 'en',
'ConjOr' => 'of',
'Console' => 'Console',
'ContactAdmin' => 'Neem A.U.B. contact op met je beheerder voor details.',
'Continue' => 'Continue',
'Contrast' => 'Contrast',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'Observeer cyclus',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Dag',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'verwijder',
'DeleteAndNext' => 'verwijder &amp; volgende',
'DeleteAndPrev' => 'verwijder &amp; vorige',
'DeleteSavedFilter' => 'verwijder opgeslagen filter',
'Description' => 'Omschrijving',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Apparaat kanaal',
'DeviceFormat' => 'Apparaat formaat',
'DeviceNumber' => 'apparaat nummer',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => 'Afmetingen',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Duur',
'Edit' => 'Bewerk',
'Email' => 'Email',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'Uitgeschakeld',
'EnterNewFilterName' => 'Voer nieuwe filter naam in',
'Error' => 'Error',
'ErrorBrackets' => 'Error, controleer of je even veel openings als afsluiting brackets hebt gebruikt',
'ErrorValidValue' => 'Error, Controleer of alle termen een geldige waarde hebben',
'Etc' => 'etc',
'Event' => 'Gebeurtenis',
'EventFilter' => 'Gebeurtenis filter',
'EventId' => 'Event Id',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'Gebeurtenissen',
'Exclude' => 'Sluit uit',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS rapport interval',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'toevoer',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Archiveer alle overeenkomsten',
'FilterDeleteEvents' => 'Verwijder alle overeenkomsten',
'FilterEmailEvents' => 'Email de details van alle overeenkomsten',
'FilterExecuteEvents' => 'Voer opdrachten op alle overeenkomsten uit',
'FilterMessageEvents' => 'Bericht de details van alle overeenkomsten',
'FilterPx' => 'Filter px',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Upload alle overeenkomsten',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => 'Eerste',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => 'Forceeer alarm',
'Format' => 'Format',
'Frame' => 'Frame',
'FrameId' => 'Frame id',
'FrameRate' => 'Frame rate',
'FrameSkip' => 'Frame overgeslagen',
'Frames' => 'Frames',
'Func' => 'Func',
'Function' => 'Functie',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'Genereer Video',
'GeneratingVideo' => 'Genereren Video',
'GoToZoneMinder' => 'ga naar ZoneMinder.com',
'Grey' => 'Grijs',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => 'Hoog',
'HighBW' => 'Hoog&nbsp;B/W',
'Home' => 'Home',
'Hour' => 'Uur',
'Hue' => 'Hue',
'Id' => 'Id',
'Idle' => 'Ongebruikt',
'Ignore' => 'Negeer',
'Image' => 'Image',
'ImageBufferSize' => 'Image buffer grootte (frames)',
'Images' => 'Images',
'In' => 'In',
'Include' => 'voeg in',
'Inverted' => 'omgedraaid',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Taal',
'Last' => 'Laatste',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'resultaten;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'beperk tot eerste', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Load',
'Local' => 'Lokaal',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Ingelogd als',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'In loggen',
'Login' => 'Login',
'Logout' => 'Logout',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Laag',
'LowBW' => 'Laag&nbsp;B/W',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Markeer',
'Max' => 'Max',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'Max.<br/>score',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'Maximum FPS',
'Medium' => 'Medium',
'MediumBW' => 'Medium&nbsp;B/W',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'minimum blob gebied moet kleiner zijn dan maximum blob gebied',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'minimum blobs moet kleiner zijn dan maximum blobs',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'minimum pixel kleurdiepte moet kleiner zijn dan maximum pixel threshold',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Misc',
'Monitor' => 'Monitor',
'MonitorIds' => 'Monitor&nbsp;Ids',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Monitoren',
'Montage' => 'Montage',
'Month' => 'Maand',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MustBeGe' => 'Moet groter zijn of gelijk aan',
'MustBeLe' => 'Moet kleiner zijn of gelijk aan',
'MustConfirmPassword' => 'Je moet je wachtwoord bevestigen',
'MustSupplyPassword' => 'Je moet een wachtwoord geven',
'MustSupplyUsername' => 'Je moet een gebruikersnaam geven',
'Name' => 'Naam',
'Near' => 'Near',
'Network' => 'Netwerk',
'New' => 'Nieuw',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'NewPassword' => 'Nieuw Wachtwoord',
'NewState' => 'Nieuwe Status',
'NewUser' => 'Nieuwe gebruiker',
'Next' => 'Volgende',
'No' => 'Nee',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Er zijn geen frames opgenomen voor deze gebeurtenis',
'NoGroup' => 'No Group',
'NoSavedFilters' => 'GeenOpgeslagenFilters',
'NoStatisticsRecorded' => 'er zijn geen statistieken opgenomen voor dit event/frame',
'None' => 'Geen',
'NoneAvailable' => 'geen beschikbaar',
'Normal' => 'Normaal',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'gelijk aan',
'OpGt' => 'groter dan',
'OpGtEq' => 'groter dan of gelijk aan',
'OpIn' => 'in set',
'OpLt' => 'kleiner dan',
'OpLtEq' => 'kleiner dan of gelijk aan',
'OpMatches' => 'Komt overeen',
'OpNe' => 'niet gelijk aan',
'OpNotIn' => 'niet in set',
'OpNotMatches' => 'Komt niet overeen',
'Open' => 'Open',
'OptionHelp' => 'OptieHelp',
'OptionRestartWarning' => 'Deze veranderingen passen niet aan\nals het systeem loopt. Als je\nKlaar bent met veranderen vergeet dan niet dat\nje ZoneMinder herstart.',
'Options' => 'Opties',
'OrEnterNewName' => 'of voer een nieuwe naam in',
'Order' => 'Order',
'Orientation' => 'Orientatie',
'Out' => 'Out',
'OverwriteExisting' => 'Overschrijf bestaande',
'Paged' => 'Paged',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parameter',
'Password' => 'Wachtwoord',
'PasswordsDifferent' => 'Het nieuwe en bevestigde wachtwoord zijn verschillend',
'Paths' => 'Paden',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => 'Telefoon&nbsp;B/W',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixels',
'Play' => 'Play',
'PlayAll' => 'Play All',
'PleaseWait' => 'wacht A.U.B.',
'Point' => 'Point',
'PostEventImageBuffer' => 'Post gebeurtenis Image Buffer',
'PreEventImageBuffer' => 'Pre gebeurtenis Image Buffer',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'vorige',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Waardering',
'Real' => 'Echte',
'Record' => 'Record',
'RefImageBlendPct' => 'Referentie Image Blend %ge',
'Refresh' => 'Ververs',
'Remote' => 'Remote',
'RemoteHostName' => 'Remote Host Naam',
'RemoteHostPath' => 'Remote Host Pad',
'RemoteHostPort' => 'Remote Host Poort',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Remote Image kleuren',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Hernoem',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'Reset gebeurtenis teller',
'Restart' => 'herstart',
'Restarting' => 'herstarten',
'RestrictedCameraIds' => 'Verboden Camera Ids',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Draai linksom',
'RotateRight' => 'Draai rechtsom',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Run Mode',
'RunState' => 'Run Status',
'Running' => 'Running',
'Save' => 'Opslaan',
'SaveAs' => 'opslaan als',
'SaveFilter' => 'opslaan Filter',
'Scale' => 'Schaal',
'Score' => 'Score',
'Secs' => 'Secs',
'Sectionlength' => 'Sectie lengte',
'Select' => 'Select',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => 'Zet Nieuwe Bandbreedte',
'SetPreset' => 'Set Preset',
'Settings' => 'Instellingen',
'ShowFilterWindow' => 'ToonFilterWindow',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Opl.',
'SortBy' => 'Sorteer op',
'SortDesc' => 'afl.',
'Source' => 'Bron',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Bron Type',
'Speed' => 'Speed',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'Start',
'State' => 'Status',
'Stats' => 'Stats',
'Status' => 'Status',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'Plaatjes',
'Stop' => 'Stop',
'Stopped' => 'gestopt',
'Stream' => 'Stroom',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'Systeem',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => 'Tijd',
'TimeDelta' => 'Tijd Delta',
'TimeStamp' => 'Tijdstempel',
'Timeline' => 'Timeline',
'Timestamp' => 'Tijdstempel',
'TimestampLabelFormat' => 'Tijdstempel Label Format',
'TimestampLabelX' => 'Tijdstempel Label X',
'TimestampLabelY' => 'Tijdstempel Label Y',
'Today' => 'Today',
'Tools' => 'Gereedschappen',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Totaal<br/>Score',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Triggers',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'Type',
'Unarchive' => 'Dearchiveer',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Eenheden',
'Unknown' => 'Onbekend',
'Update' => 'Update',
'UpdateAvailable' => 'een update voor ZoneMinder is beschikbaar',
'UpdateNotNecessary' => 'geen update noodzakelijk',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Gebruik Filter',
'UseFilterExprsPost' => '&nbsp;filter&nbsp;expressies', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Gebruik&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Gebruiker',
'Username' => 'Gebruikersnaam',
'Users' => 'Gebruikers',
'Value' => 'Waarde',
'Version' => 'Versie',
'VersionIgnore' => 'negeer deze versie',
'VersionRemindDay' => 'herinner me na 1 dag',
'VersionRemindHour' => 'herinner me na 1 uur',
'VersionRemindNever' => 'herinner me niet aan nieuwe versies',
'VersionRemindWeek' => 'herinner me na 1 week',
'Video' => 'Video',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'Video Generatie mislukt!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Video Generatie Parameters',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'Video grootte',
'View' => 'Bekijk',
'ViewAll' => 'Bekijk Alles',
'ViewEvent' => 'View Event',
'ViewPaged' => 'Bekijk Paged',
'Wake' => 'Wake',
'WarmupFrames' => 'Warmup Frames',
'Watch' => 'Observeer',
'Web' => 'Web',
'WebColour' => 'Web Colour',
'Week' => 'Week',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 Activatie String',
'X10InputAlarmString' => 'X10 Input Alarm String',
'X10OutputAlarmString' => 'X10 Output Alarm String',
'Y' => 'Y',
'Yes' => 'Ja',
'YouNoPerms' => 'Je hebt niet de rechten om toegang te krijgen tot deze bronnen.',
'Zone' => 'Zone',
'ZoneAlarmColour' => 'Alarm Kleur (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zones',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'huidige login is \'%1$s\'',
'EventCount' => '%1$s %2$s', // Als voorbeeld '37 gebeurtenissen' (from Vlang below)
'LastEvents' => 'Last %1$s %2$s', // Als voorbeeld 'Laatste 37 gebeurtenissen' (from Vlang below)
'LatestRelease' => 'de laatste release is v%1$s, jij hebt v%2$s.',
'MonitorCount' => '%1$s %2$s', // Als voorbeeld '4 Monitoren' (from Vlang below)
'MonitorFunction' => 'Monitor %1$s Functie',
'RunningRecentVer' => 'Je draait al met de laatste versie van ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'gebeurtenissen', 1=>'gebeurtenis', 2=>'gebeurtenissen' ),
'Monitor' => array( 0=>'Monitoren', 1=>'Monitor', 2=>'Monitoren' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,825 +0,0 @@
<?php
//
// ZoneMinder web Polish language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Polish Translation by Robert Krysztof
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
header( "Content-Type: text/html; charset=iso-8859-2" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'pl_PL' ); // All locale settings pre-4.3.0
setlocale( LC_ALL, 'pl_PL' ); // All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'pl_PL' ); // Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'pl_PL' ); // Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => 'Kolor (24 bity)',
'32BitColour' => 'Kolor (32 bity)', // Added - 2011-06-15
'8BitGrey' => 'Cz/b (8 bitów)',
'Action' => 'Action',
'Actual' => 'Aktualny',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'Dodaj nowy monitor',
'AddNewUser' => 'Dodaj u¿ytkownika',
'AddNewZone' => 'Dodaj now± strefê',
'Alarm' => 'Alarm',
'AlarmBrFrames' => 'Ramki<br/>alarmowe',
'AlarmFrame' => 'Ramka alarmowa',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'Ograniczenia alarmu',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Alarm Px',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Gotowosc',
'All' => 'Wszystko',
'Apply' => 'Zastosuj',
'ApplyingStateChange' => 'Zmieniam stan pracy',
'ArchArchived' => 'Tylko zarchiwizowane',
'ArchUnarchived' => 'Tylko niezarchiwizowane',
'Archive' => 'Archiwum',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Ramki alarmowe',
'AttrArchiveStatus' => 'Status archiwum',
'AttrAvgScore' => '¦red. wynik',
'AttrCause' => 'Cause',
'AttrDate' => 'Data',
'AttrDateTime' => 'Data/Czas',
'AttrDiskBlocks' => 'Dysk Bloki',
'AttrDiskPercent' => 'Dysk Procent',
'AttrDuration' => 'Czas trwania',
'AttrFrames' => 'Ramek',
'AttrId' => 'Id',
'AttrMaxScore' => 'Maks. wynik',
'AttrMonitorId' => 'Nr monitora',
'AttrMonitorName' => 'Nazwa monitora',
'AttrName' => 'Nazwa',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Czas',
'AttrTotalScore' => 'Ca³kowity wynik',
'AttrWeekday' => 'Dzieñ roboczy',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => '¦red.<br/>wynik',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Nazwy mog± zawieraæ tylko litery, cyfry oraz my¶lnik i podkre¶lenie',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'przepustowo¶æ',
'BlobPx' => 'Plamka Px',
'BlobSizes' => 'Rozmiary plamek',
'Blobs' => 'Plamki',
'Brightness' => 'Jaskrawo¶æ',
'Buffers' => 'Bufory',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => 'Anuluj',
'CancelForcedAlarm' => 'Anuluj wymuszony alarm',
'CaptureHeight' => 'Wysoko¶æ obrazu',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Paleta kolorów obrazu',
'CaptureWidth' => 'Szeroko¶æ obrazu',
'Cause' => 'Cause',
'CheckMethod' => 'Metoda sprawdzenia alarmu',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Wybierz filtr',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Zamknij',
'Colour' => 'Nasycenie',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Konfiguracja',
'ConfiguredFor' => 'Ustawiona',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Potwierd¼ has³o',
'ConjAnd' => 'i',
'ConjOr' => 'lub',
'Console' => 'Konsola',
'ContactAdmin' => 'Skontaktuj siê z Twoim adminstratorem w sprawie szczegó³ów.',
'Continue' => 'Continue',
'Contrast' => 'Kontrast',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'Cykl podgl±du',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Dzieñ',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'Usuñ',
'DeleteAndNext' => 'Usuñ &amp; nastêpny',
'DeleteAndPrev' => 'Usuñ &amp; poprzedni',
'DeleteSavedFilter' => 'Usuñ zapisany filtr',
'Description' => 'Opis',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Numer wej¶cia w urz±dzeniu',
'DeviceFormat' => 'System TV',
'DeviceNumber' => 'Numer urz±dzenia',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => 'Rozmiary',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Dysk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Czas trwania',
'Edit' => 'Edycja',
'Email' => 'Email',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'Zezwolono',
'EnterNewFilterName' => 'Wpisz now± nazwê filtra',
'Error' => 'B³±d',
'ErrorBrackets' => 'B³±d, proszê sprawdziæ ilo¶æ nawiasów otwieraj±cych i zamykaj±cych',
'ErrorValidValue' => 'B³±d, proszê sprawdziæ czy wszystkie warunki maj± poprawne warto¶ci',
'Etc' => 'itp',
'Event' => 'Zdarzenie',
'EventFilter' => 'Filtr zdarzeñ',
'EventId' => 'Id zdarzenia',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'Zdarzenia',
'Exclude' => 'Wyklucz',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'fps',
'FPSReportInterval' => 'Raport (ramek/s)',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Dostarcz',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Archiwizuj wszystkie pasuj±ce',
'FilterDeleteEvents' => 'Usuwaj wszystkie pasuj±ce',
'FilterEmailEvents' => 'Wysy³aj poczt± wszystkie pasuj±ce',
'FilterExecuteEvents' => 'Wywo³uj komendê na wszystkie pasuj±ce',
'FilterMessageEvents' => 'Wy¶wietlaj komunikat na wszystkie pasuj±ce',
'FilterPx' => 'Filtr Px',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Wysy³aj wszystkie pasuj±ce',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => 'Pierwszy',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => 'Wymu¶ alarm',
'Format' => 'Format',
'Frame' => 'Ramka',
'FrameId' => 'Nr ramki',
'FrameRate' => 'Tempo ramek',
'FrameSkip' => 'Pomiñ ramkê',
'Frames' => 'Ramek',
'Func' => 'Funkcja',
'Function' => 'Funkcja',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'Generowanie Video',
'GeneratingVideo' => 'Generujê Video',
'GoToZoneMinder' => 'Przejd¼ na ZoneMinder.com',
'Grey' => 'Cz/b',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => 'wysoka',
'HighBW' => 'Wys.&nbsp;prz.',
'Home' => 'Home',
'Hour' => 'Godzina',
'Hue' => 'Odcieñ',
'Id' => 'Nr',
'Idle' => 'Bezczynny',
'Ignore' => 'Ignoruj',
'Image' => 'Obraz',
'ImageBufferSize' => 'Rozmiar bufora obrazu (ramek)',
'Images' => 'Images',
'In' => 'In',
'Include' => 'Do³±cz',
'Inverted' => 'Odwrócony',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Jêzyk',
'Last' => 'Ostatni',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'wyników;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Ogranicz do pocz±tkowych', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Obc.',
'Local' => 'Lokalny',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Zalogowany jako',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Logowanie',
'Login' => 'Login',
'Logout' => 'Wyloguj',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'niska',
'LowBW' => 'Nis.&nbsp;prz.',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Znacznik',
'Max' => 'Maks.',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'Maks.<br/>wynik',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'Maks. FPS',
'Medium' => '¶rednia',
'MediumBW' => '¦red.&nbsp;prz.',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'Minimalny obszar plamki powinien byæ mniejszy od maksymalnego obszaru plamki',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'Najmniejsze plamki powinny byæ mniejsze od najwiêkszych plamek' ,
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Najmniejsze progi pikseli powinny byæ mniejsze od najwiêkszych progów pikseli',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Inne',
'Monitor' => 'Monitor',
'MonitorIds' => 'Numery&nbsp;monitorów',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Monitory',
'Montage' => 'Monta¿',
'Month' => 'Miesi±c',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MustBeGe' => 'musi byæ wiêksze lub równe od',
'MustBeLe' => 'musi byæ mniejsze lub równe od',
'MustConfirmPassword' => 'Musisz potwierdziæ has³o',
'MustSupplyPassword' => 'Musisz podaæ has³o',
'MustSupplyUsername' => 'Musisz podaæ nazwê u¿ytkownika',
'Name' => 'Nazwa',
'Near' => 'Near',
'Network' => 'Sieæ',
'New' => 'Nowy',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'NewPassword' => 'Nowe has³o',
'NewState' => 'Nowy stan',
'NewUser' => 'nowy',
'Next' => 'Nastêpny',
'No' => 'Nie',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Brak zapisanych ramek dla tego zdarzenia',
'NoGroup' => 'No Group',
'NoSavedFilters' => 'BrakZapisanychFiltrów',
'NoStatisticsRecorded' => 'Brak zapisanych statystyk dla tego zdarzenia/ramki',
'None' => 'Brak',
'NoneAvailable' => 'Niedostêpne',
'Normal' => 'Normalny',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'równy',
'OpGt' => 'wiêksze od',
'OpGtEq' => 'wiêksze lub równe od',
'OpIn' => 'w zestawie',
'OpLt' => 'mniejsze od',
'OpLtEq' => 'mniejsze lub równe od',
'OpMatches' => 'pasuj±ce',
'OpNe' => 'ró¿ne od',
'OpNotIn' => 'brak w zestawie',
'OpNotMatches' => 'nie pasuj±ce',
'Open' => 'Open',
'OptionHelp' => 'OpcjePomoc',
'OptionRestartWarning' => 'Te zmiany nie przynios± natychmiastowego efektu\ndopóki system pracuje. Kiedy zakoñczysz robiæ zmiany\nproszê koniecznie zrestartowaæ ZoneMinder.',
'Options' => 'Opcje',
'OrEnterNewName' => 'lub wpisz now± nazwê',
'Order' => 'Order',
'Orientation' => 'Orientacja',
'Out' => 'Out',
'OverwriteExisting' => 'Nadpisz istniej±ce',
'Paged' => 'Stronicowane',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parametr',
'Password' => 'Has³o',
'PasswordsDifferent' => 'Has³a: nowe i potwierdzone s± ró¿ne!',
'Paths' => '¦cie¿ki',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => 'Tel.&nbsp;prz.',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pikseli',
'Play' => 'Play',
'PlayAll' => 'Play All',
'PleaseWait' => 'Proszê czekaæ',
'Point' => 'Point',
'PostEventImageBuffer' => 'Bufor obrazów po zdarzeniu',
'PreEventImageBuffer' => 'Bufor obrazów przed zdarzeniem',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'Poprzedni',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Tempo',
'Real' => 'Rzeczywiste',
'Record' => 'Zapis',
'RefImageBlendPct' => 'Miks z obrazem odniesienia',
'Refresh' => 'Od¶wie¿',
'Remote' => 'Zdalny',
'RemoteHostName' => 'Nazwa zdalnego hosta',
'RemoteHostPath' => 'Scie¿ka zdalnego hosta',
'RemoteHostPort' => 'Port zdalnego hosta',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Kolory zdalnego obrazu',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Zmieñ nazwê',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'Kasuj licznik zdarzeñ',
'Restart' => 'Restart',
'Restarting' => 'Restartujê',
'RestrictedCameraIds' => 'Numery kamer',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Obróæ w lewo',
'RotateRight' => 'Obróæ w prawo',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Tryb pracy',
'RunState' => 'Stan pracy',
'Running' => 'Pracuje',
'Save' => 'Zapisz',
'SaveAs' => 'Zapisz jako',
'SaveFilter' => 'Zapisz filtr',
'Scale' => 'Skala',
'Score' => 'Wynik',
'Secs' => 'Sekund',
'Sectionlength' => 'D³ugo¶æ sekcji',
'Select' => 'Select',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => 'Ustaw now± przepustowo¶æ',
'SetPreset' => 'Set Preset',
'Settings' => 'Ustawienia',
'ShowFilterWindow' => 'Poka¿OknoFiltru',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Nara.',
'SortBy' => 'Sortuj',
'SortDesc' => 'Opad.',
'Source' => '¬ród³o',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Typ ¼ród³a',
'Speed' => 'Speed',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'Start',
'State' => 'Stan',
'Stats' => 'Statystyki',
'Status' => 'Status',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'Nieruchome',
'Stop' => 'Stop',
'Stopped' => 'Zatrzymany',
'Stream' => 'Ruchomy',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'System',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => 'Czas',
'TimeDelta' => 'Ró¿nica czasu',
'TimeStamp' => 'Pieczêæ czasu',
'Timeline' => 'Timeline',
'Timestamp' => 'Czas',
'TimestampLabelFormat' => 'Format etykiety czasu',
'TimestampLabelX' => 'Wsp. X etykiety czasu',
'TimestampLabelY' => 'Wsp. Y etykiety czasu',
'Today' => 'Today',
'Tools' => 'Narzêdzia',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Ca³kowity<br/>wynik',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Wyzwalacze',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'Typ',
'Unarchive' => 'Nie archiwizuj',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Jednostki',
'Unknown' => 'Nieznany',
'Update' => 'Update',
'UpdateAvailable' => 'Jest dostêpne uaktualnienie ZoneMinder ',
'UpdateNotNecessary' => 'Nie jest wymagane uaktualnienie',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'U¿yj filtru',
'UseFilterExprsPost' => '&nbsp;wyra¿enie&nbsp;filtru', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'U¿yj&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'U¿ytkownik',
'Username' => 'Nazwa u¿ytkownika',
'Users' => 'U¿ytkownicy',
'Value' => 'Warto¶æ',
'Version' => 'Wersja',
'VersionIgnore' => 'Zignoruj t± wersjê',
'VersionRemindDay' => 'Przypomnij po 1 dniu',
'VersionRemindHour' => 'Przypomnij po 1 godzinie',
'VersionRemindNever' => 'Nie przypominaj o nowych wersjach',
'VersionRemindWeek' => 'Przypomnij po 1 tygodniu',
'Video' => 'Video',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'Generowanie filmu Video nie powiod³o siê!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Parametery generowania filmu Video',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'Rozmiar filmu Video',
'View' => 'Podgl±d',
'ViewAll' => 'Poka¿ wszystko',
'ViewEvent' => 'View Event',
'ViewPaged' => 'Poka¿ stronami',
'Wake' => 'Wake',
'WarmupFrames' => 'Ignorowane ramki',
'Watch' => 'podgl±d',
'Web' => 'Web',
'WebColour' => 'Web Colour',
'Week' => 'Tydzieñ',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10: ³añcuch aktywuj±cy',
'X10InputAlarmString' => 'X10: ³añcuch wej¶cia alarmu',
'X10OutputAlarmString' => 'X10: ³añcuch wyj¶cia alarmu',
'Y' => 'Y',
'Yes' => 'Tak',
'YouNoPerms' => 'Nie masz uprawnieñ na dostêp do tego zasobu.',
'Zone' => 'Strefa',
'ZoneAlarmColour' => 'Kolor alarmu (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Strefy',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Aktualny login \'%1$s\'',
'EventCount' => '%1$s %2$s',
'LastEvents' => 'Ostatnie %1$s %2$s',
'LatestRelease' => 'Najnowsza wersja to v%1$s, Ty posiadasz v%2$s.',
'MonitorCount' => '%1$s %2$s',
'MonitorFunction' => 'Monitor %1$s Funkcja',
'RunningRecentVer' => 'Uruchomi³e¶ najnowsz± wersjê ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Zdarzeñ', 1=>'Zdarzenie', 2=>'Zdarzenia'),
'Monitor' => array( 0=>'Monitorów', 1=>'Monitor', 2=>'Monitory'),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
// This is an version that could be used in the Polish language
//
function zmVlang( $langVarArray, $count )
{
$secondlastdigit = substr( $count, -2, 1 );
$lastdigit = substr( $count, -1, 1 );
if ( $count == 1 )
{
return( $langVarArray[1] );
}
if (($secondlastdigit == 0)|( $secondlastdigit == 1))
{
return( $langVarArray[0] );
}
if ( $secondlastdigit >= 2)
{
switch ( $lastdigit )
{
case 0 :
case 1 :
case 5 :
case 6 :
case 7 :
case 8 :
case 9 :
{
return( $langVarArray[0] );
break;
}
case 2 :
case 3 :
case 4 :
{
return( $langVarArray[2] );
break;
}
}
}
die( 'B£¡D! zmVlang nie mo¿e skorelowac ³añcucha!' );
}
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
// $monitors = 12; // Choose any number
// echo $monitors." ";
// echo zmVlang( $zmVlangMonitor, $monitors);
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,786 +0,0 @@
<?php
// ZoneMinder Brazilian Portuguese Traduction By Victor Diago
//
// Feel Free to contact Me at illuminati@linuxmail.org
//
// Tradução Para Português do Brasil do Zoneminder
//
// Sinta-se Livre para me contactar em illuminati@linuxmail.org
// Simple String Replacements
$SLANG = array(
'24BitColour' => 'cor 24 bits',
'32BitColour' => 'cor 32 bits', // Added - 2011-06-15
'8BitGrey' => 'cinza 8 bits',
'Action' => 'Action',
'Actual' => 'Atual',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'Adicionar Monitor',
'AddNewUser' => 'Adicionar Usuário',
'AddNewZone' => 'Adicionar Zona',
'Alarm' => 'Alarme',
'AlarmBrFrames' => 'Imagens<br/>Alarmadas',
'AlarmFrame' => 'Imagem Alarmada',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'Limites de Alarme',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'Pixel de Alarme',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'Alerta',
'All' => 'Tudo',
'Apply' => 'Aplicar',
'ApplyingStateChange' => 'Aplicando mudança de estado',
'ArchArchived' => 'Somente Arquivados',
'ArchUnarchived' => 'Somente Nao Arquivados',
'Archive' => 'Arquivar',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'Imagens Alarmadas',
'AttrArchiveStatus' => 'Status/Arquivamento',
'AttrAvgScore' => 'Maior Score',
'AttrCause' => 'Cause',
'AttrDate' => 'Data',
'AttrDateTime' => 'Data/Horario',
'AttrDiskBlocks' => 'Blocos de Disco',
'AttrDiskPercent' => 'Porcentagem de Disco',
'AttrDuration' => 'Duração',
'AttrFrames' => 'Imagens',
'AttrId' => 'Id',
'AttrMaxScore' => 'Max. Score',
'AttrMonitorId' => 'Id do Monitor',
'AttrMonitorName' => 'Nome do Monitor',
'AttrName' => 'Nome',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => 'Horário',
'AttrTotalScore' => 'Score Total',
'AttrWeekday' => 'Dia/Semana',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Maior<br/>Score',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Nomes devem ser caracteres alfanuméricos mais hífen e underscore',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Larg/Banda',
'BlobPx' => 'Px Blob',
'BlobSizes' => 'Tam Blob',
'Blobs' => 'Blobs',
'Brightness' => 'Brilho',
'Buffers' => 'Buffers',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => 'Cancelar',
'CancelForcedAlarm' => 'Cancelar Alarme Forçado',
'CaptureHeight' => 'Altura da Captura',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Paleta de Captura',
'CaptureWidth' => 'Largura de Captura',
'Cause' => 'Cause',
'CheckMethod' => 'Metodo marcar por alarme',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Escolher Filtro',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Fechar',
'Colour' => 'Cor',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Config',
'ConfiguredFor' => 'Configurado para',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'Confirmar Senha',
'ConjAnd' => 'E',
'ConjOr' => 'OU',
'Console' => 'Console',
'ContactAdmin' => 'Por favor contate o administrador para detalhes.',
'Continue' => 'Continue',
'Contrast' => 'Contraste',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'Ciclo Monitor',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Dia',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'Deletar',
'DeleteAndNext' => 'Deletar &amp; Próx',
'DeleteAndPrev' => 'Deletar &amp; Ant',
'DeleteSavedFilter' => 'Deletar Filtros Salvos',
'Description' => 'Descrição',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Canal do Dispositivo',
'DeviceFormat' => 'Formato do Dispos.',
'DeviceNumber' => 'Num. do Dispos.',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => 'Dimensões',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disco',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Duração',
'Edit' => 'Editar',
'Email' => 'Email',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'Habilitado',
'EnterNewFilterName' => 'Digite nome do novo filtro',
'Error' => 'Erro',
'ErrorBrackets' => 'Por favor cheque se você tem o mesmo numero de chaves abertas e fechadas',
'ErrorValidValue' => 'Erro, por favor cheque se os campos estão corretos',
'Etc' => 'etc',
'Event' => 'Evento',
'EventFilter' => 'Filtro de Evento',
'EventId' => 'Id do Evento',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'Eventos',
'Exclude' => 'Excluir',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'fps',
'FPSReportInterval' => 'Intervalo de mostragem FPS',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Alimentar',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Arquivar resultados',
'FilterDeleteEvents' => 'Apagar resultados',
'FilterEmailEvents' => 'Enviar e-mail com detalhes dos resultados',
'FilterExecuteEvents' => 'Executar comando p/ resultados',
'FilterMessageEvents' => 'Enviar Mensagem dos resultados',
'FilterPx' => 'Px de Filtro',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Fazer upload dos resultados',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => 'Primeiro',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => 'Forçar Alarme',
'Format' => 'Format',
'Frame' => 'Imagem',
'FrameId' => 'Id de Imagem',
'FrameRate' => 'Velocidade de Imagem',
'FrameSkip' => 'Salto de Imagem',
'Frames' => 'Imagens',
'Func' => 'Func',
'Function' => 'Função',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'Gerar Video',
'GeneratingVideo' => 'Gerando Video',
'GoToZoneMinder' => 'Ir Para ZoneMinder.com',
'Grey' => 'Cinza',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => 'Alto',
'HighBW' => 'Alta&nbsp;L/B',
'Home' => 'Home',
'Hour' => 'Hora',
'Hue' => 'Saturação',
'Id' => 'Id',
'Idle' => 'Parado',
'Ignore' => 'Ignorar',
'Image' => 'Imagem',
'ImageBufferSize' => 'Tamanho de Buffer (imagens)',
'Images' => 'Images',
'In' => 'In',
'Include' => 'Incluir',
'Inverted' => 'Invertido',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'Linguagem',
'Last' => 'Último',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'resultados somente;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limitar aos primeiros', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Carga',
'Local' => 'Local',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Conectado como',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Conectando',
'Login' => 'Conectar',
'Logout' => 'Sair',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Baixa',
'LowBW' => 'Baixa&nbsp;L/B',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'Marcar',
'Max' => 'Maximo',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'Max.<br/>Score',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'Maximo FPS',
'Medium' => 'Media',
'MediumBW' => 'Media&nbsp;L/B',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'A area minima de blob deve ser menor do que a area máxima de blob',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'O minimo de Blobs deve ser menor que o maximo de blobs',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'Minimum pixel threshold should be less than maximum',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'Misc',
'Monitor' => 'Monitor',
'MonitorIds' => 'Ids&nbsp;de Monitor',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Monitores',
'Montage' => 'Montagem',
'Month' => 'Mês',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MustBeGe' => 'deve ser maior ou igual a',
'MustBeLe' => 'deve ser menor ou igual a',
'MustConfirmPassword' => 'Voce deve Confirmar a senha',
'MustSupplyPassword' => 'Voce deve informar a senha',
'MustSupplyUsername' => 'Voce deve informar nome de usuário',
'Name' => 'Nome',
'Near' => 'Near',
'Network' => 'Rede',
'New' => 'Novo',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'NewPassword' => 'Nova Senha',
'NewState' => 'Novo Estado',
'NewUser' => 'Novo Usuário',
'Next' => 'Próx',
'No' => 'Não',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Não há imagens gravadas neste evento',
'NoGroup' => 'No Group',
'NoSavedFilters' => 'SemFiltrosSalvos',
'NoStatisticsRecorded' => 'Não há estatísticas gravadas neste evento/imagem',
'None' => 'Nada',
'NoneAvailable' => 'Nada disponível',
'Normal' => 'Normal',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'igual a',
'OpGt' => 'maior que',
'OpGtEq' => 'maior que ou igual a',
'OpIn' => 'no set',
'OpLt' => 'menor que',
'OpLtEq' => 'menor que ou igual a',
'OpMatches' => 'combina',
'OpNe' => 'diferente de',
'OpNotIn' => 'não no set',
'OpNotMatches' => 'não combina',
'Open' => 'Open',
'OptionHelp' => 'OpçãoAjuda',
'OptionRestartWarning' => 'Reinicie o Zoneminder para que as mudanças tenham efeito',
'Options' => 'Opções',
'OrEnterNewName' => 'ou defina novo nome',
'Order' => 'Order',
'Orientation' => 'Orientação',
'Out' => 'Out',
'OverwriteExisting' => 'Sobrescrever Existente',
'Paged' => 'Paginado',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parametro',
'Password' => 'Senha',
'PasswordsDifferent' => 'A nova senha e a de confirmação são diferentes',
'Paths' => 'Caminhos',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => 'Discada&nbsp;L/B',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => 'pixels',
'Play' => 'Play',
'PlayAll' => 'Play All',
'PleaseWait' => 'Por Favor Espere',
'Point' => 'Point',
'PostEventImageBuffer' => 'Buffer de imagem pós evento',
'PreEventImageBuffer' => 'Buffer de imagem pré evento',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'Ant.',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'Vel.',
'Real' => 'Real',
'Record' => 'Gravar',
'RefImageBlendPct' => 'Referência de imagem Blend %ge',
'Refresh' => 'Atualizar',
'Remote' => 'Remoto',
'RemoteHostName' => 'Nome do host remoto',
'RemoteHostPath' => 'Caminho do host remoto',
'RemoteHostPort' => 'Porta do host remoto',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Cores de imagem remota',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Renomear',
'Replay' => 'Ver Novamente',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'Resetar contagem de eventos',
'Restart' => 'Reiniciar',
'Restarting' => 'Reiniciando',
'RestrictedCameraIds' => 'Ids de camera proibídos',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'Rotacionar à esquerda ',
'RotateRight' => 'Rotacionar à direita',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Modo de Execução',
'RunState' => 'Estado de Execução',
'Running' => 'Rodando',
'Save' => 'Salvar',
'SaveAs' => 'Salvar Como',
'SaveFilter' => 'Salvar Filtro',
'Scale' => 'Tamanho',
'Score' => 'Score',
'Secs' => 'Segs',
'Sectionlength' => 'Tamanho de evento Fixo',
'Select' => 'Select',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => 'Defina Nova L/B',
'SetPreset' => 'Set Preset',
'Settings' => 'Configurações',
'ShowFilterWindow' => 'MostrarJanelaDeFiltros',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Asc',
'SortBy' => 'mostrar por',
'SortDesc' => 'Desc',
'Source' => 'Origem',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Tipo de Origem',
'Speed' => 'Speed',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'Iniciar',
'State' => 'Estado',
'Stats' => 'Status',
'Status' => 'Status',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'Imagens',
'Stop' => 'Parar',
'Stopped' => 'Parado',
'Stream' => 'Contínuo',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'Sistema',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => 'Tempo',
'TimeDelta' => 'Tempo Delta',
'TimeStamp' => 'Tempo',
'Timeline' => 'Timeline',
'Timestamp' => 'Tempo',
'TimestampLabelFormat' => 'Formato de etiqueta de tempo',
'TimestampLabelX' => 'posição de etiqueta X',
'TimestampLabelY' => 'posição de etiqueta Y',
'Today' => 'Today',
'Tools' => 'Ferramentas',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Score<br/>Total',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'Acionadores',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'Tipo',
'Unarchive' => 'Desarquivar',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Unidades',
'Unknown' => 'Desconhecido',
'Update' => 'Update',
'UpdateAvailable' => 'Um update ao zoneminder está disponível.',
'UpdateNotNecessary' => 'Não é necessário update.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Use Filtro',
'UseFilterExprsPost' => '&nbsp;expressões&nbsp;de&nbsp;filtragem', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Use&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Usuário',
'Username' => 'Nome de Usuário',
'Users' => 'Usuários',
'Value' => 'Valor',
'Version' => 'Versão',
'VersionIgnore' => 'Ignorar esta versão',
'VersionRemindDay' => 'Lembre novamente em 1 dia',
'VersionRemindHour' => 'Lembre novamente em 1 hora',
'VersionRemindNever' => 'Nao lembrar novas versões',
'VersionRemindWeek' => 'Lembrar novamente em 1 semana',
'Video' => 'Video',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'Geração de Vídeo falhou!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'Parametros de geração de vídeo',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'Tamanho do vídeo',
'View' => 'Ver',
'ViewAll' => 'Ver Tudo',
'ViewEvent' => 'View Event',
'ViewPaged' => 'Ver Paginado',
'Wake' => 'Wake',
'WarmupFrames' => 'Imagens Desconsideradas',
'Watch' => 'Assistir',
'Web' => 'Web',
'WebColour' => 'Web Colour',
'Week' => 'Semana',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'String de Ativação X10',
'X10InputAlarmString' => 'String de Entrada de alarme X10',
'X10OutputAlarmString' => 'String de Saída de Alarme X10',
'Y' => 'Y',
'Yes' => 'Sim',
'YouNoPerms' => 'Você não tem permissões para acessar este recurso.',
'Zone' => 'Zona',
'ZoneAlarmColour' => 'Cor de Alarme (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zonas',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Login atual é \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Últimos %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'A Última versão é v%1$s, você tem v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Monitor %1$s Funcção',
'RunningRecentVer' => 'Você está usando a versão mais recente do ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Events', 1=>'Event', 2=>'Events' ),
'Monitor' => array( 0=>'Monitors', 1=>'Monitor', 2=>'Monitors' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

File diff suppressed because it is too large Load Diff

View File

@ -1,845 +0,0 @@
<?php
//
// ZoneMinder web UK English language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Russian Translation by Borodin A.S.
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
header( "Content-Type: text/html; charset=koi8-r" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 ÂÉÔÎÙÊ Ã×ÅÔ',
'32BitColour' => '32 ÂÉÔÎÙÊ Ã×ÅÔ', // Added - 2011-06-15
'8BitGrey' => '256 ÏÔÔÅÎËÏ× ÓÅÒÏÇÏ',
'Action' => 'Action',
'Actual' => 'äÅÊÓÔ×ÉÔÅÌØÎÙÊ',
'AddNewControl' => 'Add New Control',
'AddNewMonitor' => 'äÏÂÁ×ÉÔØ ÍÏÎÉÔÏÒ',
'AddNewUser' => 'äÏÂÁ×ÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ',
'AddNewZone' => 'äÏÂÁ×ÉÔØ ÚÏÎÕ',
'Alarm' => 'ôÒÅ×ÏÇÁ',
'AlarmBrFrames' => 'ëÁÄÒÙ<br/>ÔÒÅ×ÏÇÉ',
'AlarmFrame' => 'ëÁÄÒ ÔÒÅ×ÏÇÉ',
'AlarmFrameCount' => 'Alarm Frame Count',
'AlarmLimits' => 'çÒÁÎ.&nbsp;ÚÏÎÙ&nbsp;ÔÒÅ×.',
'AlarmMaximumFPS' => 'Alarm Maximum FPS',
'AlarmPx' => 'ðËÓ&nbsp;ÔÒÅ×.',
'AlarmRGBUnset' => 'You must set an alarm RGB colour',
'Alert' => 'îÁÓÔÏÒÏÖÅ',
'All' => '÷ÓÅ',
'Apply' => 'ðÒÉÍÅÎÉÔØ',
'ApplyingStateChange' => 'óÏÓÔÏÑÎÉÅ ÓÅÒ×ÉÓÁ ÉÚÍÅÎÑÅÔÓÑ',
'ArchArchived' => 'ôÏÌØËÏ × ÁÒÈÉ×Å',
'ArchUnarchived' => 'ôÏÌØËÏ ÎÅ × ÁÒÈÉ×Å',
'Archive' => 'áÒÈÉ×',
'Archived' => 'Archived',
'Area' => 'Area',
'AreaUnits' => 'Area (px/%)',
'AttrAlarmFrames' => 'ëÏÌ-×Ï ËÁÄÒÏ× ÔÒÅ×ÏÇÉ',
'AttrArchiveStatus' => 'óÔÁÔÕÓ ÁÒÈÉ×ÁÃÉÉ',
'AttrAvgScore' => 'óÒÅÄ. ÏÃÅÎËÁ',
'AttrCause' => 'Cause',
'AttrDate' => 'äÁÔÁ',
'AttrDateTime' => 'äÁÔÁ/÷ÒÅÍÑ',
'AttrDiskBlocks' => 'Disk Blocks',
'AttrDiskPercent' => 'Disk Percent',
'AttrDuration' => 'äÌÉÔÅÌØÎÏÓÔØ',
'AttrFrames' => 'ëÏÌ-×Ï ËÁÄÒÏ×',
'AttrId' => 'Id',
'AttrMaxScore' => 'íÁËÓ. ÏÃÅÎËÁ',
'AttrMonitorId' => 'Id íÏÎÉÔÏÒÁ',
'AttrMonitorName' => 'îÁÚ×ÁÎÉÅ íÏÎÉÔÏÒÁ',
'AttrName' => 'Name',
'AttrNotes' => 'Notes',
'AttrSystemLoad' => 'System Load',
'AttrTime' => '÷ÒÅÍÑ',
'AttrTotalScore' => 'óÕÍÍ. ÏÃÅÎËÁ',
'AttrWeekday' => 'äÅÎØ ÎÅÄÅÌÉ',
'Auto' => 'Auto',
'AutoStopTimeout' => 'Auto Stop Timeout',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'óÒÅÄ.<br/>ÏÃÅÎËÁ',
'Background' => 'Background',
'BackgroundFilter' => 'Run filter in background',
'BadAlarmFrameCount' => 'Alarm frame count must be an integer of one or more',
'BadAlarmMaxFPS' => 'Alarm Maximum FPS must be a positive integer or floating point value',
'BadChannel' => 'Channel must be set to an integer of zero or more',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Device must be set to a valid value',
'BadFPSReportInterval' => 'FPS report interval buffer count must be an integer of 0 or more',
'BadFormat' => 'Format must be set to an integer of zero or more',
'BadFrameSkip' => 'Frame skip count must be an integer of zero or more',
'BadHeight' => 'Height must be set to a valid value',
'BadHost' => 'Host must be set to a valid ip address or hostname, do not include http://',
'BadImageBufferCount' => 'Image buffer size must be an integer of 10 or more',
'BadLabelX' => 'Label X co-ordinate must be set to an integer of zero or more',
'BadLabelY' => 'Label Y co-ordinate must be set to an integer of zero or more',
'BadMaxFPS' => 'Maximum FPS must be a positive integer or floating point value',
'BadNameChars' => 'Names may only contain alphanumeric characters plus hyphen and underscore',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Path must be set to a valid value',
'BadPort' => 'Port must be set to a valid number',
'BadPostEventCount' => 'Post event image count must be an integer of zero or more',
'BadPreEventCount' => 'Pre event image count must be at least zero, and less than image buffer size',
'BadRefBlendPerc' => 'Reference blend percentage must be a positive integer',
'BadSectionLength' => 'Section length must be an integer of 30 or more',
'BadSignalCheckColour' => 'Signal check colour must be a valid RGB colour string',
'BadStreamReplayBuffer'=> 'Stream replay buffer must be an integer of zero or more',
'BadWarmupCount' => 'Warmup frames must be an integer of zero or more',
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'ËÁÎÁÌ',
'BlobPx' => 'ðËÓ ÏÂßÅËÔÁ',
'BlobSizes' => 'òÁÚÍÅÒ ÏÂßÅËÔÏ×',
'Blobs' => 'ëÏÌ-×Ï ÏÂßÅËÔÏ×',
'Brightness' => 'ñÒËÏÓÔØ',
'Buffers' => 'âÕÆÅÒÙ',
'CanAutoFocus' => 'Can Auto Focus',
'CanAutoGain' => 'Can Auto Gain',
'CanAutoIris' => 'Can Auto Iris',
'CanAutoWhite' => 'Can Auto White Bal.',
'CanAutoZoom' => 'Can Auto Zoom',
'CanFocus' => 'Can Focus',
'CanFocusAbs' => 'Can Focus Absolute',
'CanFocusCon' => 'Can Focus Continuous',
'CanFocusRel' => 'Can Focus Relative',
'CanGain' => 'Can Gain ',
'CanGainAbs' => 'Can Gain Absolute',
'CanGainCon' => 'Can Gain Continuous',
'CanGainRel' => 'Can Gain Relative',
'CanIris' => 'Can Iris',
'CanIrisAbs' => 'Can Iris Absolute',
'CanIrisCon' => 'Can Iris Continuous',
'CanIrisRel' => 'Can Iris Relative',
'CanMove' => 'Can Move',
'CanMoveAbs' => 'Can Move Absolute',
'CanMoveCon' => 'Can Move Continuous',
'CanMoveDiag' => 'Can Move Diagonally',
'CanMoveMap' => 'Can Move Mapped',
'CanMoveRel' => 'Can Move Relative',
'CanPan' => 'Can Pan' ,
'CanReset' => 'Can Reset',
'CanSetPresets' => 'Can Set Presets',
'CanSleep' => 'Can Sleep',
'CanTilt' => 'Can Tilt',
'CanWake' => 'Can Wake',
'CanWhite' => 'Can White Balance',
'CanWhiteAbs' => 'Can White Bal. Absolute',
'CanWhiteBal' => 'Can White Bal.',
'CanWhiteCon' => 'Can White Bal. Continuous',
'CanWhiteRel' => 'Can White Bal. Relative',
'CanZoom' => 'Can Zoom',
'CanZoomAbs' => 'Can Zoom Absolute',
'CanZoomCon' => 'Can Zoom Continuous',
'CanZoomRel' => 'Can Zoom Relative',
'Cancel' => 'ïÔÍÅÎÉÔØ',
'CancelForcedAlarm' => 'ïÔÍÅÎÉÔØ ÆÏÒÓÉÒÏ×ÁÎÎÕÀ ÔÒÅ×ÏÇÕ',
'CaptureHeight' => 'òÁÚÍÅÒ ÐÏ Y',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'òÅÖÉÍ ÚÁÈ×ÁÔÁ',
'CaptureWidth' => 'òÁÚÍÅÒ ÐÏ X',
'Cause' => 'Cause',
'CheckMethod' => 'íÅÔÏÄ ÐÒÏ×ÅÒËÉ ÔÒÅ×ÏÇÉ',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => '÷ÙÂÒÁÔØ ÆÉÌØÔÒ',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Choose Preset',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'úÁËÒÙÔØ',
'Colour' => 'ã×ÅÔ',
'Command' => 'Command',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Config',
'ConfiguredFor' => 'îÁÓÔÒÏÅÎ ÎÁ',
'ConfirmDeleteEvents' => 'Are you sure you wish to delete the selected events?',
'ConfirmPassword' => 'ðÏÄÔ×ÅÒÄÉÔÅ ÐÁÒÏÌØ',
'ConjAnd' => 'É',
'ConjOr' => 'ÉÌÉ',
'Console' => 'óÅÒ×ÅÒ',
'ContactAdmin' => 'ðÏÖÁÌÕÊÓÔÁ ÏÂÒÁÔÉÔÅÓØ Ë ×ÁÛÅÍÕ ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ.',
'Continue' => 'Continue',
'Contrast' => 'ëÏÎÔÒÁÓÔ',
'Control' => 'Control',
'ControlAddress' => 'Control Address',
'ControlCap' => 'Control Capability',
'ControlCaps' => 'Control Capabilities',
'ControlDevice' => 'Control Device',
'ControlType' => 'Control Type',
'Controllable' => 'Controllable',
'Cycle' => 'Cycle',
'CycleWatch' => 'ãÉËÌÉÞÅÓËÉÊ ÐÒÏÓÍÏÔÒ',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'äÅÎØ',
'Debug' => 'Debug',
'DefaultRate' => 'Default Rate',
'DefaultScale' => 'Default Scale',
'DefaultView' => 'Default View',
'Delete' => 'õÄÁÌÉÔØ',
'DeleteAndNext' => 'õÄÁÌÉÔØ &amp; ÓÌÅÄ.',
'DeleteAndPrev' => 'õÄÁÌÉÔØ &amp; ÐÒÅÄ.',
'DeleteSavedFilter' => 'õÄÁÌÉÔØ ÓÏÈÒÁÎÅÎÎÙÊ ÆÉÌØÔÒ',
'Description' => 'ïÐÉÓÁÎÉÅ',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'ëÁÎÁÌ',
'DeviceFormat' => 'æÏÒÍÁÔ',
'DeviceNumber' => 'îÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á',
'DevicePath' => 'Device Path',
'Devices' => 'Devices',
'Dimensions' => 'òÁÚÍÅÒÙ',
'DisableAlarms' => 'Disable Alarms',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Please Donate',
'DonateAlready' => 'No, I\'ve already donated',
'DonateEnticement' => 'You\'ve been running ZoneMinder for a while now and hopefully are finding it a useful addition to your home or workplace security. Although ZoneMinder is, and will remain, free and open source, it costs money to develop and support. If you would like to help support future development and new features then please consider donating. Donating is, of course, optional but very much appreciated and you can donate as much or as little as you like.<br><br>If you would like to donate please select the option below or go to http://www.zoneminder.com/donate.html in your browser.<br><br>Thank you for using ZoneMinder and don\'t forget to visit the forums on ZoneMinder.com for support or suggestions about how to make your ZoneMinder experience even better.',
'DonateRemindDay' => 'Not yet, remind again in 1 day',
'DonateRemindHour' => 'Not yet, remind again in 1 hour',
'DonateRemindMonth' => 'Not yet, remind again in 1 month',
'DonateRemindNever' => 'No, I don\'t want to donate, never remind',
'DonateRemindWeek' => 'Not yet, remind again in 1 week',
'DonateYes' => 'Yes, I\'d like to donate now',
'Download' => 'Download',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'äÌÉÔÅÌØÎÏÓÔØ',
'Edit' => 'òÅÄÁËÔÉÒÏ×ÁÎÉÅ',
'Email' => 'Email',
'EnableAlarms' => 'Enable Alarms',
'Enabled' => 'ÒÁÚÒÅÛÅÎ',
'EnterNewFilterName' => '÷×ÅÄÉÔÅ ÎÏ×ÏÅ ÎÁÚ×ÁÎÉÅ ÆÉÌØÔÒÁ',
'Error' => 'ïÛÉÂËÁ',
'ErrorBrackets' => 'ïÛÉÂËÁ: ËÏÌÉÞÅÓÔ×Ï ÏÔËÒÙ×ÁÀÝÉÈ É ÚÁËÒÙ×ÁÀÝÉÈ ÓËÏÂÏË ÄÏÌÖÎÏ ÂÙÔØ ÏÄÉÎÁËÏ×ÙÍ',
'ErrorValidValue' => 'ïÛÉÂËÁ: ÐÒÏ×ÅÒØÔÅ ÞÔÏ ×ÓÅ ÔÅÒÍÙ ÉÍÅÀÔ ÄÅÊÓÔ×ÉÔÅÌØÎÏÅ ÚÎÁÞÅÎÉÅ',
'Etc' => 'É Ô.Ä.',
'Event' => 'óÏÂÙÔÉÅ',
'EventFilter' => 'æÉÌØÔÒ ÓÏÂÙÔÉÊ',
'EventId' => 'Event Id',
'EventName' => 'Event Name',
'EventPrefix' => 'Event Prefix',
'Events' => 'óÏÂÙÔÉÑ',
'Exclude' => 'éÓËÌÀÞÉÔØ',
'Execute' => 'Execute',
'Export' => 'Export',
'ExportDetails' => 'Export Event Details',
'ExportFailed' => 'Export Failed',
'ExportFormat' => 'Export File Format',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Export Frame Details',
'ExportImageFiles' => 'Export Image Files',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Export Other Files (if present)',
'ExportOptions' => 'Export Options',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Export Video Files (if present)',
'Exporting' => 'Exporting',
'FPS' => 'Ë/c',
'FPSReportInterval' => 'ðÅÒÉÏÄ ÏÂÎÏ×ÌÅÎÉÑ ÉÎÄÉËÁÃÉÉ ÓËÏÒÏÓÔÉ',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Feed',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'File',
'FilterArchiveEvents' => 'Archive all matches',
'FilterDeleteEvents' => 'Delete all matches',
'FilterEmailEvents' => 'Email details of all matches',
'FilterExecuteEvents' => 'Execute command on all matches',
'FilterMessageEvents' => 'Message details of all matches',
'FilterPx' => 'ðËÓ ÆÉÌØÔÒÁ',
'FilterUnset' => 'You must specify a filter width and height',
'FilterUploadEvents' => 'Upload all matches',
'FilterVideoEvents' => 'Create video for all matches',
'Filters' => 'Filters',
'First' => 'ðÅÒ×ÙÊ',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'Focus' => 'Focus',
'ForceAlarm' => '÷ËÌÀÞÉÔØ ÔÒÅ×ÏÇÕ',
'Format' => 'Format',
'Frame' => 'ëÁÄÒ',
'FrameId' => 'Id ËÁÄÒÁ',
'FrameRate' => 'óËÏÒÏÓÔØ',
'FrameSkip' => 'ðÒÏÐÕÓËÁÔØ ËÁÄÒÙ',
'Frames' => 'ËÁÄÒÙ',
'Func' => 'æÕÎË.',
'Function' => 'æÕÎËÃÉÑ',
'Gain' => 'Gain',
'General' => 'General',
'GenerateVideo' => 'çÅÎÅÒÉÒÏ×ÁÔØ ×ÉÄÅÏ',
'GeneratingVideo' => 'çÅÎÅÒÉÒÕÅÔÓÑ ×ÉÄÅÏ',
'GoToZoneMinder' => 'ðÅÒÅÊÔÉ ÎÁ ZoneMinder.com',
'Grey' => 'Þ/Â',
'Group' => 'Group',
'Groups' => 'Groups',
'HasFocusSpeed' => 'Has Focus Speed',
'HasGainSpeed' => 'Has Gain Speed',
'HasHomePreset' => 'Has Home Preset',
'HasIrisSpeed' => 'Has Iris Speed',
'HasPanSpeed' => 'Has Pan Speed',
'HasPresets' => 'Has Presets',
'HasTiltSpeed' => 'Has Tilt Speed',
'HasTurboPan' => 'Has Turbo Pan',
'HasTurboTilt' => 'Has Turbo Tilt',
'HasWhiteSpeed' => 'Has White Bal. Speed',
'HasZoomSpeed' => 'Has Zoom Speed',
'High' => 'ÛÉÒÏËÉÊ',
'HighBW' => 'ûÉÒÏËÉÊ ËÁÎÁÌ',
'Home' => 'Home',
'Hour' => 'þÁÓ',
'Hue' => 'ïÔÔÅÎÏË',
'Id' => 'Id',
'Idle' => 'Idle',
'Ignore' => 'éÇÎÏÒÉÒÏ×ÁÔØ',
'Image' => 'éÚÏÂÒÁÖÅÎÉÅ',
'ImageBufferSize' => 'òÁÚÍÅÒ ÂÕÆÅÒÁ ÉÚÏÂÒÁÖÅÎÉÑ',
'Images' => 'Images',
'In' => 'In',
'Include' => '÷ËÌÀÞÉÔØ',
'Inverted' => 'éÎ×ÅÒÔÉÒÏ×ÁÔØ',
'Iris' => 'Iris',
'KeyString' => 'Key String',
'Label' => 'Label',
'Language' => 'ñÚÙË',
'Last' => 'ðÏÓÌÅÄÎÉÊ',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'results only;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Limit to first', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Linked Monitors',
'List' => 'List',
'Load' => 'Load',
'Local' => 'ìÏËÁÌØÎÙÊ',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'ðÏÌØÚÏ×ÁÔÅÌØ',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => '÷ÈÏÄ × ÓÉÓÔÅÍÕ',
'Login' => '÷ÏÊÔÉ',
'Logout' => '÷ÙÊÔÉ',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'ÕÚËÉÊ',
'LowBW' => 'õÚËÉÊ ËÁÎÁÌ',
'Main' => 'Main',
'Man' => 'Man',
'Manual' => 'Manual',
'Mark' => 'íÅÔËÁ',
'Max' => 'íÁËÓ.',
'MaxBandwidth' => 'Max Bandwidth',
'MaxBrScore' => 'íÁËÓ.<br/>ÏÃÅÎËÁ',
'MaxFocusRange' => 'Max Focus Range',
'MaxFocusSpeed' => 'Max Focus Speed',
'MaxFocusStep' => 'Max Focus Step',
'MaxGainRange' => 'Max Gain Range',
'MaxGainSpeed' => 'Max Gain Speed',
'MaxGainStep' => 'Max Gain Step',
'MaxIrisRange' => 'Max Iris Range',
'MaxIrisSpeed' => 'Max Iris Speed',
'MaxIrisStep' => 'Max Iris Step',
'MaxPanRange' => 'Max Pan Range',
'MaxPanSpeed' => 'Max Pan Speed',
'MaxPanStep' => 'Max Pan Step',
'MaxTiltRange' => 'Max Tilt Range',
'MaxTiltSpeed' => 'Max Tilt Speed',
'MaxTiltStep' => 'Max Tilt Step',
'MaxWhiteRange' => 'Max White Bal. Range',
'MaxWhiteSpeed' => 'Max White Bal. Speed',
'MaxWhiteStep' => 'Max White Bal. Step',
'MaxZoomRange' => 'Max Zoom Range',
'MaxZoomSpeed' => 'Max Zoom Speed',
'MaxZoomStep' => 'Max Zoom Step',
'MaximumFPS' => 'ïÇÒÁÎÉÞÅÎÉÅ ÓËÏÒÏÓÔÉ ÚÁÐÉÓÉ (Ë/Ó)',
'Medium' => 'ÓÒÅÄÎÉÊ',
'MediumBW' => 'ïÂÙÞÎÙÊ ËÁÎÁÌ',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minimum alarm area should be less than maximum',
'MinAlarmAreaUnset' => 'You must specify the minimum alarm pixel count',
'MinBlobAreaLtMax' => 'íÉÎÉÍÁÌØÎÁÑ ÐÌÏÝÁÄØ ÏÂßÅËÔÁ ÄÏÌÖÎÁ ÂÙÔØ ÍÅÎØÛÅ ÞÅÍ ÍÁËÓÉÍÁÌØÎÁÑ ÐÌÏÝÁÄØ ÏÂßÅËÔÁ',
'MinBlobAreaUnset' => 'You must specify the minimum blob pixel count',
'MinBlobLtMinFilter' => 'Minimum blob area should be less than or equal to minimum filter area',
'MinBlobsLtMax' => 'íÉÎÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÏÂßÅËÔÏ× ÄÏÌÖÎÏ ÂÙÔØ ÍÅÎØÛÅ ÞÅÍ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÏÂßÅËÔÏ×',
'MinBlobsUnset' => 'You must specify the minimum blob count',
'MinFilterAreaLtMax' => 'Minimum filter area should be less than maximum',
'MinFilterAreaUnset' => 'You must specify the minimum filter pixel count',
'MinFilterLtMinAlarm' => 'Minimum filter area should be less than or equal to minimum alarm area',
'MinFocusRange' => 'Min Focus Range',
'MinFocusSpeed' => 'Min Focus Speed',
'MinFocusStep' => 'Min Focus Step',
'MinGainRange' => 'Min Gain Range',
'MinGainSpeed' => 'Min Gain Speed',
'MinGainStep' => 'Min Gain Step',
'MinIrisRange' => 'Min Iris Range',
'MinIrisSpeed' => 'Min Iris Speed',
'MinIrisStep' => 'Min Iris Step',
'MinPanRange' => 'Min Pan Range',
'MinPanSpeed' => 'Min Pan Speed',
'MinPanStep' => 'Min Pan Step',
'MinPixelThresLtMax' => 'îÉÖÎÉÊ ÐÏÒÏÇ ËÏÌ-×Á ÐÉËÓÅÌÅÊ ÄÏÌÖÅÎ ÂÙÔØ ÎÉÖÅ ×ÅÒÈÎÅÇÏ ÐÏÒÏÇÁ ËÏÌ-×Á ÐÉËÓÅÌÅÊ',
'MinPixelThresUnset' => 'You must specify a minimum pixel threshold',
'MinTiltRange' => 'Min Tilt Range',
'MinTiltSpeed' => 'Min Tilt Speed',
'MinTiltStep' => 'Min Tilt Step',
'MinWhiteRange' => 'Min White Bal. Range',
'MinWhiteSpeed' => 'Min White Bal. Speed',
'MinWhiteStep' => 'Min White Bal. Step',
'MinZoomRange' => 'Min Zoom Range',
'MinZoomSpeed' => 'Min Zoom Speed',
'MinZoomStep' => 'Min Zoom Step',
'Misc' => 'òÁÚÎÏÅ',
'Monitor' => 'íÏÎÉÔÏÒ',
'MonitorIds' => 'Id&nbsp;íÏÎÉÔÏÒÏ×',
'MonitorPreset' => 'Monitor Preset',
'MonitorPresetIntro' => 'Select an appropriate preset from the list below.<br><br>Please note that this may overwrite any values you already have configured for this monitor.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'íÏÎÉÔÏÒÙ',
'Montage' => 'Montage',
'Month' => 'íÅÓÑÃ',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MustBeGe' => 'ÄÏÌÖÎÏ ÂÙÔØ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÎÏ',
'MustBeLe' => 'ÄÏÌÖÎÏ ÂÙÔØ ÍÅÎØÛÅ ÉÌÉ ÒÁ×ÎÏ',
'MustConfirmPassword' => '÷Ù ÄÏÌÖÎÙ ÐÏÄÔ×ÅÒÄÉÔØ ÐÁÒÏÌØ',
'MustSupplyPassword' => '÷Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÐÁÒÏÌØ',
'MustSupplyUsername' => '÷Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ',
'Name' => 'éÍÑ',
'Near' => 'Near',
'Network' => 'óÅÔØ',
'New' => 'îÏ×.',
'NewGroup' => 'New Group',
'NewLabel' => 'New Label',
'NewPassword' => 'îÏ×ÙÊ ÐÁÒÏÌØ',
'NewState' => 'îÏ×ÏÅ ÓÏÓÔÏÑÎÉÅ',
'NewUser' => 'îÏ×ÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ',
'Next' => 'óÌÅÄ.',
'No' => 'îÅÔ',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'üÔÏ ÓÏÂÙÔÉÅ ÎÅ ÓÏÄÅÖÉÔ ËÁÄÒÏ×',
'NoGroup' => 'No Group',
'NoSavedFilters' => 'ÎÅÔ ÓÏÈÒÁÎÅÎÎÙÈ ÆÉÌØÔÒÏ×',
'NoStatisticsRecorded' => 'óÔÁÔÉÓÔÉËÁ ÐÏ ÜÔÏÍÕ ÓÏÂÙÔÉÀ/ËÁÄÒÕ ÎÅ ÚÁÐÉÓÁÎÁ',
'None' => 'ÏÔÓÕÔÓÔ×ÕÅÔ',
'NoneAvailable' => 'ÎÅ ÄÏÓÔÕÐÎÙ',
'Normal' => 'îÏÒÍÁÌØÎÁÑ',
'Notes' => 'Notes',
'NumPresets' => 'Num Presets',
'Off' => 'Off',
'On' => 'On',
'OpEq' => 'ÒÁ×ÎÏ',
'OpGt' => 'ÂÏÌØÛÅ',
'OpGtEq' => 'ÂÏÌØÛÅ ÌÉÂÏ ÒÁ×ÎÏ',
'OpIn' => '× ÓÐÉÓËÅ',
'OpLt' => 'ÍÅÎØÛÅ',
'OpLtEq' => 'ÍÅÎØÛÅ ÉÌÉ ÒÁ×ÎÏ',
'OpMatches' => 'ÓÏ×ÐÁÄÁÅÔ',
'OpNe' => 'ÎÅ ÒÁ×ÎÏ',
'OpNotIn' => 'ÎÅ × ÓÐÉÓËÅ',
'OpNotMatches' => 'ÎÅ ÓÏ×ÐÁÄÁÅÔ',
'Open' => 'Open',
'OptionHelp' => 'OptionHelp',
'OptionRestartWarning' => 'üÔÉ ÉÚÍÅÎÅÎÉÑ ÐÏÄÅÊÓÔ×ÕÀÔ ÔÏÌØËÏ ÐÏÓÌÅ ÐÅÒÅÚÁÐÕÓËÁ ÐÒÏÇÒÁÍÍÙ.',
'Options' => 'ïÐÃÉÉ',
'OrEnterNewName' => 'ÉÌÉ ××ÅÄÉÔÅ ÎÏ×ÏÅ ÉÍÑ',
'Order' => 'Order',
'Orientation' => 'ïÒÉÅÎÔÁÃÉÑ',
'Out' => 'Out',
'OverwriteExisting' => 'ðÅÒÅÚÁÐÉÓÁÔØ ÓÕÝÅÓÔ×ÕÀÝÅÅ',
'Paged' => 'ðÏ ÓÔÒÁÎÉÃÁÍ',
'Pan' => 'Pan',
'PanLeft' => 'Pan Left',
'PanRight' => 'Pan Right',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'ðÁÒÁÍÅÒ',
'Password' => 'ðÁÒÏÌØ',
'PasswordsDifferent' => 'ðÁÒÏÌÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ',
'Paths' => 'ðÕÔÉ',
'Pause' => 'Pause',
'Phone' => 'Phone',
'PhoneBW' => 'ôÅÌÅÆÏÎÎÁÑ ÌÉÎÉÑ',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Pixel Diff',
'Pixels' => '× ÐÉËÓÅÌÑÈ',
'Play' => 'Play',
'PlayAll' => 'Play All',
'PleaseWait' => 'ðÏÖÁÌÕÊÓÔÁ ÐÏÄÏÖÄÉÔÅ',
'Point' => 'Point',
'PostEventImageBuffer' => 'âÕÆÅÒ ÐÏÓÌÅ ÓÏÂÙÔÉÑ',
'PreEventImageBuffer' => 'âÕÆÅÒ ÄÏ ÓÏÂÙÔÉÑ',
'PreserveAspect' => 'Preserve Aspect Ratio',
'Preset' => 'Preset',
'Presets' => 'Presets',
'Prev' => 'ðÒÅÄ.',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protocol',
'Rate' => 'óËÏÒÏÓÔØ',
'Real' => 'òÅÁÌØÎÁÑ',
'Record' => 'Record',
'RefImageBlendPct' => 'ðÒÏÚÒÁÞÎÏÓÔØ ÏÐÏÒÎÏÇÏ ËÁÄÒÁ, %',
'Refresh' => 'ïÂÎÏ×ÉÔØ',
'Remote' => 'õÄÁÌÅÎÎÙÊ',
'RemoteHostName' => 'éÍÑ ÕÄÁÌÅÎÎÏÇÏ ÈÏÓÔÁ',
'RemoteHostPath' => 'ðÕÔØ ÎÁ ÕÄÁÌÅÎÎÏÍ ÈÏÓÔÅ',
'RemoteHostPort' => 'ÕÄÁÌÅÎÎÙÊ ÐÏÒÔ',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'ã×ÅÔÎÏÓÔØ ÎÁ ÕÄÁÌÅÎÎÏÍ ÈÏÓÔÅ',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'ðÅÒÅÉÍÅÎÏ×ÁÔØ',
'Replay' => 'Replay',
'ReplayAll' => 'All Events',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Single Event',
'Reset' => 'Reset',
'ResetEventCounts' => 'ïÂÎÕÌÉÔØ ÓÞÅÔÞÉË ÓÏÂÙÔÉÊ',
'Restart' => 'ðÅÒÅÚÁÐÕÓÔÉÔØ',
'Restarting' => 'ðÅÒÅÚÁÐÕÓËÁÅÔÓÑ',
'RestrictedCameraIds' => 'Id ÚÁÐÒÅÝÅÎÎÙÈ ËÁÍÅÒ',
'RestrictedMonitors' => 'Restricted Monitors',
'ReturnDelay' => 'Return Delay',
'ReturnLocation' => 'Return Location',
'Rewind' => 'Rewind',
'RotateLeft' => 'ðÏ×ÅÒÎÕÔØ ×ÌÅ×Ï',
'RotateRight' => 'ðÏ×ÅÒÎÕÔØ ×ÐÒÁ×Ï',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'òÅÖÉÍ ÒÁÂÏÔÙ',
'RunState' => 'óÏÓÔÏÑÎÉÅ',
'Running' => '÷ÙÐÏÌÎÑÅÔÓÑ',
'Save' => 'óÏÈÒÁÎÉÔØ',
'SaveAs' => 'óÏÈÒÁÎÉÔØ ËÁË',
'SaveFilter' => 'óÏÈÒÁÎÉÔØ ÆÉÌØÔÒ',
'Scale' => 'íÁÓÛÔÁÂ',
'Score' => 'ïÃÅÎËÁ',
'Secs' => 'óÅË.',
'Sectionlength' => 'äÌÉÎÁ ÓÅËÃÉÉ (× ËÁÄÒÁÈ)',
'Select' => 'Select',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Select Monitors',
'SelfIntersecting' => 'Polygon edges must not intersect',
'Set' => 'Set',
'SetNewBandwidth' => 'õÓÔÁÎÏ×ËÁ ÎÏ×ÏÊ ÛÉÒÉÎÁ ËÁÎÁÌÁ',
'SetPreset' => 'Set Preset',
'Settings' => 'îÁÓÔÒÏÊËÉ',
'ShowFilterWindow' => 'ðÏËÁÚÁÔØ ÏËÎÏ ÆÉÌØÔÒÁ',
'ShowTimeline' => 'Show Timeline',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Size',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Sleep',
'SortAsc' => 'Asc',
'SortBy' => 'Sort by',
'SortDesc' => 'Desc',
'Source' => 'éÓÔÏÞÎÉË',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'ôÉÐ ÉÓÔÏÞÎÉËÁ',
'Speed' => 'Speed',
'SpeedHigh' => 'High Speed',
'SpeedLow' => 'Low Speed',
'SpeedMedium' => 'Medium Speed',
'SpeedTurbo' => 'Turbo Speed',
'Start' => 'úÁÐÕÓÔÉÔØ',
'State' => 'óÏÓÔÏÑÎÉÅ',
'Stats' => 'óÔÁÔÉÓÔÉËÁ',
'Status' => 'óÔÁÔÕÓ',
'Step' => 'Step',
'StepBack' => 'Step Back',
'StepForward' => 'Step Forward',
'StepLarge' => 'Large Step',
'StepMedium' => 'Medium Step',
'StepNone' => 'No Step',
'StepSmall' => 'Small Step',
'Stills' => 'óÔÏÐ-ËÁÄÒÙ',
'Stop' => 'ïÓÔÁÎÏ×ÉÔØ',
'Stopped' => 'ïÓÔÁÎÏ×ÌÅÎ',
'Stream' => 'ðÏÔÏË',
'StreamReplayBuffer' => 'Stream Replay Image Buffer',
'Submit' => 'Submit',
'System' => 'óÉÓÔÅÍÁ',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Thumbnail',
'Tilt' => 'Tilt',
'Time' => '÷ÒÅÍÑ',
'TimeDelta' => 'ïÔÎÏÓÉÔÅÌØÎÏÅ ×ÒÅÍÑ',
'TimeStamp' => 'íÅÔËÁ ×ÒÅÍÅÎÉ',
'Timeline' => 'Timeline',
'Timestamp' => 'íÅÔËÁ ×ÒÅÍÅÎÉ',
'TimestampLabelFormat' => 'æÏÒÍÁÔ ÍÅÔËÉ',
'TimestampLabelX' => 'X-ËÏÏÒÄÉÎÁÔÁ ÍÅÔËÉ',
'TimestampLabelY' => 'Y-ËÏÏÒÄÉÎÁÔÁ ÍÅÔËÉ',
'Today' => 'Today',
'Tools' => 'éÎÓÔÒÕÍÅÎÔÙ',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'óÕÍÍ.<br/>ÏÃÅÎËÁ',
'TrackDelay' => 'Track Delay',
'TrackMotion' => 'Track Motion',
'Triggers' => 'ôÒÉÇÇÅÒÙ',
'TurboPanSpeed' => 'Turbo Pan Speed',
'TurboTiltSpeed' => 'Turbo Tilt Speed',
'Type' => 'ôÉÐ',
'Unarchive' => 'õÄ.&nbsp;ÉÚ&nbsp;ÁÒÈÉ×Á',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'åÄ. ÉÚÍÅÒÅÎÉÑ',
'Unknown' => 'Unknown',
'Update' => 'Update',
'UpdateAvailable' => 'äÏÓÔÕÐÎÏ ÏÂÎÏ×ÌÅÎÉÅ ZoneMinder',
'UpdateNotNecessary' => 'ïÂÎÏ×ÌÅÎÉÅ ÎÅ ÔÒÅÂÕÅÔÓÑ',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'éÓÐÏÌØÚÏ×ÁÔØ ÆÉÌØÔÒ',
'UseFilterExprsPost' => '&nbsp;×ÙÒÁÖÅÎÉÊ&nbsp;ÄÌÑ&nbsp;ÆÉÌØÔÒÁ', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'éÓÐÏÌ.&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'ðÏÌØÚÏ×ÁÔÅÌØ',
'Username' => 'éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ',
'Users' => 'ðÏÌØÚÏ×ÁÔÅÌÉ',
'Value' => 'úÎÁÞÅÎÉÅ',
'Version' => '÷ÅÒÓÉÑ',
'VersionIgnore' => 'éÇÎÏÒÉÒÏ×ÁÔØ ÜÔÕ ×ÅÒÓÉÀ',
'VersionRemindDay' => 'îÁÐÏÍÎÉÔØ ÞÅÒÅÚ ÄÅÎØ',
'VersionRemindHour' => 'îÁÐÏÍÎÉÔØ ÞÅÒÅÚ ÞÁÓ',
'VersionRemindNever' => 'îÅ ÇÏ×ÏÒÉÔØ Ï ÎÏ×ÙÈ ×ÅÒÓÉÑÈ',
'VersionRemindWeek' => 'îÁÐÏÍÎÉÔØ ÞÅÒÅÚ ÎÅÄÅÌÀ',
'Video' => '÷ÉÄÅÏ',
'VideoFormat' => 'Video Format',
'VideoGenFailed' => 'ïÛÉÂËÁ ÇÅÎÅÒÁÃÉÉ ×ÉÄÅÏ!',
'VideoGenFiles' => 'Existing Video Files',
'VideoGenNoFiles' => 'No Video Files Found',
'VideoGenParms' => 'ðÁÒÁÍÅÔÒÙ ÇÅÎÅÒÁÃÉÉ ×ÉÄÅÏ',
'VideoGenSucceeded' => 'Video Generation Succeeded!',
'VideoSize' => 'òÁÚÍÅÒ ÉÚÏÂÒÁÖÅÎÉÑ',
'View' => 'ðÒÏÓÍÏÔÒ',
'ViewAll' => 'ðÒÏÓÍ. ×ÓÅ',
'ViewEvent' => 'View Event',
'ViewPaged' => 'ðÒÏÓÍ. ÐÏÓÔÒÁÎÉÞÎÏ',
'Wake' => 'Wake',
'WarmupFrames' => 'ëÁÄÒÙ ÒÁÚÏÇÒÅ×Á',
'Watch' => 'Watch',
'Web' => 'éÎÔÅÒÆÅÊÓ',
'WebColour' => 'Web Colour',
'Week' => 'îÅÄÅÌÑ',
'White' => 'White',
'WhiteBalance' => 'White Balance',
'Wide' => 'Wide',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 Activation String',
'X10InputAlarmString' => 'X10 Input Alarm String',
'X10OutputAlarmString' => 'X10 Output Alarm String',
'Y' => 'Y',
'Yes' => 'äÁ',
'YouNoPerms' => 'õ ×ÁÓ ÎÅ ÄÏÓÔÁÔÏÞÎÏ ÐÒÁ× ÄÌÑ ÄÏÓÔÕÐÁ Ë ÜÔÏÍÕ ÒÅÓÕÒÓÕ.',
'Zone' => 'úÏÎÁ',
'ZoneAlarmColour' => 'ã×ÅÔ ÔÒÅ×ÏÇÉ (Red/Green/Blue)',
'ZoneArea' => 'Zone Area',
'ZoneFilterSize' => 'Filter Width/Height (pixels)',
'ZoneMinMaxAlarmArea' => 'Min/Max Alarmed Area',
'ZoneMinMaxBlobArea' => 'Min/Max Blob Area',
'ZoneMinMaxBlobs' => 'Min/Max Blobs',
'ZoneMinMaxFiltArea' => 'Min/Max Filtered Area',
'ZoneMinMaxPixelThres' => 'Min/Max Pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'úÏÎÙ',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zoom In',
'ZoomOut' => 'Zoom Out',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'ôÅËÕÝÉÊ ÐÏÌØÚÏ×ÁÔÅÌØ: \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'ðÏÓÌÅÄÎÉÅ %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'ðÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ: v%1$s, Õ ÷ÁÓ ÕÓÔÁÎÏ×ÌÅÎÁ: v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'æÕÎËÃÉÑ ÍÏÎÉÔÏÒÁ %1$s',
'RunningRecentVer' => 'õ ×ÁÓ ÕÓÔÁÎÏ×ÌÅÎÁ ÎÏ×ÅÊÛÁÑ ×ÅÒÓÉÑ ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
// --> actually, if written in 'translit', or russian words in english letters,
// the example would be ( 1=>"Kartoshek", 2=>"Katroshka", 3=>"Kartoshki"); :)
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 1=>'óÏÂÙÔÉÊ', 2=>'óÏÂÙÔÉÅ', 3=>'óÏÂÙÔÉÑ' ),
'Monitor' => array( 1=>'íÏÎÉÔÏÒÏ×', 2=>'íÏÎÉÔÏÒ', 3=>'íÏÎÉÔÏÒÁ' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
/*function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Error, unable to correlate variable language string' );
}*/
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
function zmVlang( $langVarArray, $count )
{
$secondlastdigit = ($count/10)%10;
$lastdigit = $count%10;
// Get rid of the special cases first, the teens
if ( $secondlastdigit == 1 && $lastdigit != 0 )
{
return( $langVarArray[1] );
}
switch ( $lastdigit )
{
case 0 :
case 5 :
case 6 :
case 7 :
case 8 :
case 9 :
{
return( $langVarArray[1] );
break;
}
case 1 :
{
return( $langVarArray[2] );
break;
}
case 2 :
case 3 :
case 4 :
{
return( $langVarArray[3] );
break;
}
}
die( 'Error, unable to correlate variable language string' );
}
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
// So for example, to override the help text for ZM_LANG_DEFAULT do
$OLANG = array(
// 'LANG_DEFAULT' => array(
// 'Prompt' => "This is a new prompt for this option",
// 'Help' => "This is some new help for this option which will be displayed in the popup window when the ? is clicked"
// ),
);
?>

View File

@ -1,846 +0,0 @@
<?php
//
// ZoneMinder web Swedish language file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// ZoneMinder Swedish Translation by Mikael Carlsson
// Updated 2008-12 by Mikael Carlsson
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
// 2. There are four types of string replacement
// a) Simple replacements are words or short phrases that are static and used directly. This type of
// replacement can be used 'as is'.
// b) Complex replacements involve some dynamic element being included and so may require substitution
// or changing into a different order. The token listed in this file will be passed through sprintf as
// a formatting string. If the dynamic element is a number you will usually need to use a variable
// replacement also as described below.
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
// the zmVlang section below for a further description of this.
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
// of the web interface. These are not listed below as they are quite large and held in the database
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
// quite easily from the Config table in the database if necessary.
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
// you can safely assume that a single word token will only be used in that context.
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
// maintenance point of view to include the original language file and override the old definitions rather
// than copy all the language tokens across. To do this change the line below to whatever your base language
// is and uncomment it.
// require_once( 'zm_lang_en_gb.php' );
// You may need to change the character set here, if your web server does not already
// do this by default, uncomment this if required.
//
// Example
// header( "Content-Type: text/html; charset=iso-8859-1" );
// You may need to change your locale here if your default one is incorrect for the
// language described in this file, or if you have multiple languages supported.
// If you do need to change your locale, be aware that the format of this function
// is subtlely different in versions of PHP before and after 4.3.0, see
// http://uk2.php.net/manual/en/function.setlocale.php for details.
// Also be aware that changing the whole locale may affect some floating point or decimal
// arithmetic in the database, if this is the case change only the individual locale areas
// that don't affect this rather than all at once. See the examples below.
// Finally, depending on your setup, PHP may not enjoy have multiple locales in a shared
// threaded environment, if you get funny errors it may be this.
//
// Examples
// setlocale( 'LC_ALL', 'en_GB' ); All locale settings pre-4.3.0
// setlocale( LC_ALL, 'en_GB' ); All locale settings 4.3.0 and after
// setlocale( LC_CTYPE, 'en_GB' ); Character class settings 4.3.0 and after
// setlocale( LC_TIME, 'en_GB' ); Date and time formatting 4.3.0 and after
// Simple String Replacements
$SLANG = array(
'24BitColour' => '24 bitars färg',
'32BitColour' => '32 bitars färg', // Added - 2011-06-15
'8BitGrey' => '8 bit gråskala',
'Action' => 'Action',
'Actual' => 'Verklig',
'AddNewControl' => 'Ny kontroll',
'AddNewMonitor' => 'Ny bevakare',
'AddNewUser' => 'Ny användare',
'AddNewZone' => 'Ny zon',
'Alarm' => 'Larm',
'AlarmBrFrames' => 'Larm<br/>ramar',
'AlarmFrame' => 'Larmram',
'AlarmFrameCount' => 'Larmramsräknare',
'AlarmLimits' => 'Larmgränser',
'AlarmMaximumFPS' => 'Max. ramar/s för larm',
'AlarmPx' => 'Larmpunkter',
'AlarmRGBUnset' => 'Du måste sätta en färg för RGB-larm',
'Alert' => 'Varning',
'All' => 'Alla',
'Apply' => 'Lägg till',
'ApplyingStateChange' => 'Aktivera statusändring',
'ArchArchived' => 'Arkivera endast',
'ArchUnarchived' => 'Endast ej arkiverade',
'Archive' => 'Arkiv',
'Archived' => 'Arkiverad',
'Area' => 'Område',
'AreaUnits' => 'Område (px/%)',
'AttrAlarmFrames' => 'Larmramar',
'AttrArchiveStatus' => 'Arkivstatus',
'AttrAvgScore' => 'Ung. värde',
'AttrCause' => 'Orsak',
'AttrDate' => 'Datum',
'AttrDateTime' => 'Datum/Tid',
'AttrDiskBlocks' => 'Diskblock',
'AttrDiskPercent' => 'Diskprocent',
'AttrDuration' => 'Längd',
'AttrFrames' => 'Ramar',
'AttrId' => 'Id',
'AttrMaxScore' => 'Max. värde',
'AttrMonitorId' => 'Bevakningsid',
'AttrMonitorName' => 'Bevakningsnamn',
'AttrName' => 'Namn',
'AttrNotes' => 'Notering',
'AttrSystemLoad' => 'Systemlast',
'AttrTime' => 'Tid',
'AttrTotalScore' => 'Totalvärde',
'AttrWeekday' => 'Veckodag',
'Auto' => 'Automatik',
'AutoStopTimeout' => 'Tidsutlösning för automatstop',
'Available' => 'Available', // Added - 2009-03-31
'AvgBrScore' => 'Ung.<br/>träff',
'Background' => 'Bakgrund',
'BackgroundFilter' => 'Kör filter i bakgrunden',
'BadAlarmFrameCount' => 'Ramantalet för larm måste vara ett heltal, minsta värdet är 1',
'BadAlarmMaxFPS' => 'Larm för bilder/s måste vara ett positivt heltal eller ett flyttal',
'BadChannel' => 'Kanalen måste vara ett heltal, noll eller högre',
'BadColours' => 'Target colour must be set to a valid value', // Added - 2011-06-15
'BadDevice' => 'Enheten måste sättas till ett giltigt värde',
'BadFPSReportInterval' => 'Buffern för ramintervallrapporten måste vara ett heltal på minst 0 eller högre',
'BadFormat' => 'Formatet måste vara ett heltal, noll eller högre',
'BadFrameSkip' => 'Värdet för ramöverhopp måste vara ett heltal på 0 eller högre',
'BadHeight' => 'Höjden måste sättas till ett giltigt värde',
'BadHost' => 'Detta fält ska innehålla en giltig ip-adress eller värdnamn, inkludera inte http://',
'BadImageBufferCount' => 'Bufferstorleken för avbilden måste vara ett heltal på minst 10 eller högre',
'BadLabelX' => 'Etiketten för X koordinaten måste sättas till ett heltal, 0 eller högre',
'BadLabelY' => 'Etiketten för Y koordinaten måste sättas till ett heltal, 0 eller högre',
'BadMaxFPS' => 'Max. ramar/s måste vara ett positivt heltal eller ett flyttal',
'BadNameChars' => 'Namn kan endast innehålla alfanumeriska tecken, bindestreck och understreck',
'BadPalette' => 'Palette must be set to a valid value', // Added - 2009-03-31
'BadPath' => 'Sökvägen måste innehålla ett giltigt värde',
'BadPort' => 'Porten måste innehålla ett giltigt nummer',
'BadPostEventCount' => 'Räknaren för efterhändelsen måste vara ett heltal på 0 eller högre',
'BadPreEventCount' => 'Räknaren för för-händelsen måste vara ett heltal på 0 eller högre, och mindre än bufferstorleken på avbilden',
'BadRefBlendPerc' => 'Mixprocenten för referensen måste hara ett positivt heltal',
'BadSectionLength' => 'Sektionslängden måste vara ett heltal på minst 30 eller högre',
'BadSignalCheckColour' => 'Kontrollfärgen på signalen måste vara en giltig RGB färgsträng',
'BadStreamReplayBuffer'=> 'Buffern för strömmande uppspelning måste vara ett heltal på 0 eller högre',
'BadWarmupCount' => 'Uppvärmingsramen måste vara ett heltal på 0 eller högre',
'BadWebColour' => 'Webbfärgen måste vara en giltig sträng för webbfärg',
'BadWidth' => 'Bredden måste sättas til ett giltigt värde',
'Bandwidth' => 'Bandbredd',
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blobstorlek',
'Blobs' => 'Blobbar',
'Brightness' => 'Ljusstyrka',
'Buffers' => 'Buffrar',
'CanAutoFocus' => 'Har autofokus',
'CanAutoGain' => 'Har autonivå',
'CanAutoIris' => 'Har autoiris',
'CanAutoWhite' => 'Har autovitbalans.',
'CanAutoZoom' => 'Har autozoom',
'CanFocus' => 'Har fokus',
'CanFocusAbs' => 'Har absolut fokus',
'CanFocusCon' => 'Har kontinuerlig fokus',
'CanFocusRel' => 'Har relativ fokus',
'CanGain' => 'Har nivå',
'CanGainAbs' => 'Har absolut nivå',
'CanGainCon' => 'Har kontinuerlig nivå',
'CanGainRel' => 'Har relativ nivå',
'CanIris' => 'Har iris',
'CanIrisAbs' => 'Har absolut iris',
'CanIrisCon' => 'Har kontinuerlig iris',
'CanIrisRel' => 'Har relativ iris',
'CanMove' => 'Har förflyttning',
'CanMoveAbs' => 'Har absolut förflyttning',
'CanMoveCon' => 'Har kontinuerlig förflyttning',
'CanMoveDiag' => 'Har diagonal förflyttning',
'CanMoveMap' => 'Har mappad förflyttning',
'CanMoveRel' => 'Har relativ förflyttning',
'CanPan' => 'Har panorering',
'CanReset' => 'Har återställning',
'CanSetPresets' => 'Har förinställningar',
'CanSleep' => 'Kan vila',
'CanTilt' => 'Kan tilta',
'CanWake' => 'Kan vakna',
'CanWhite' => 'Kan vitbalansera',
'CanWhiteAbs' => 'Har absolut vitbalans',
'CanWhiteBal' => 'Kan vitbalans',
'CanWhiteCon' => 'Kan kontinuerligt vitbalansera',
'CanWhiteRel' => 'Kan relativt vitbalansera',
'CanZoom' => 'Kan zooma',
'CanZoomAbs' => 'Kan zooma absolut',
'CanZoomCon' => 'Kan zooma kontinuerligt',
'CanZoomRel' => 'Kan zooma realativt',
'Cancel' => 'Ångra',
'CancelForcedAlarm' => 'Ångra tvingande larm',
'CaptureHeight' => 'Fångsthöjd',
'CaptureMethod' => 'Capture Method', // Added - 2009-02-08
'CapturePalette' => 'Fångstpalett',
'CaptureWidth' => 'Fångstbredd',
'Cause' => 'Orsak',
'CheckMethod' => 'Larmkontrollmetod',
'ChooseDetectedCamera' => 'Choose Detected Camera', // Added - 2009-03-31
'ChooseFilter' => 'Välj filter',
'ChooseLogFormat' => 'Choose a log format', // Added - 2011-06-17
'ChooseLogSelection' => 'Choose a log selection', // Added - 2011-06-17
'ChoosePreset' => 'Välj standard',
'Clear' => 'Clear', // Added - 2011-06-16
'Close' => 'Stäng',
'Colour' => 'Färg',
'Command' => 'Kommando',
'Component' => 'Component', // Added - 2011-06-16
'Config' => 'Konfigurera',
'ConfiguredFor' => 'Konfigurerad för',
'ConfirmDeleteEvents' => 'Är du säker på att du vill ta bort dom valda händelserna?',
'ConfirmPassword' => 'Bekräfta lösenord',
'ConjAnd' => 'och',
'ConjOr' => 'eller',
'Console' => 'Konsoll',
'ContactAdmin' => 'Kontakta din administratör för detaljer.',
'Continue' => 'Fortsätt',
'Contrast' => 'Kontrast',
'Control' => 'Kontroll',
'ControlAddress' => 'Kontrolladress',
'ControlCap' => 'Kontrollförmåga',
'ControlCaps' => 'Kontrollförmågor',
'ControlDevice' => 'Kontrollenhet',
'ControlType' => 'Kontrolltyp',
'Controllable' => 'Kontrollerbar',
'Cycle' => 'Period',
'CycleWatch' => 'Cycle Watch',
'DateTime' => 'Date/Time', // Added - 2011-06-16
'Day' => 'Dag',
'Debug' => 'Avlusa',
'DefaultRate' => 'Standardhastighet',
'DefaultScale' => 'Standardskala',
'DefaultView' => 'Standardvy',
'Delete' => 'Radera',
'DeleteAndNext' => 'Radera &amp; Nästa',
'DeleteAndPrev' => 'Radera &amp; Föreg.',
'DeleteSavedFilter' => 'Radera sparade filter',
'Description' => 'Beskrivning',
'DetectedCameras' => 'Detected Cameras', // Added - 2009-03-31
'Device' => 'Device', // Added - 2009-02-08
'DeviceChannel' => 'Enhetskanal',
'DeviceFormat' => 'Enhetsformat',
'DeviceNumber' => 'Enhetsnummer',
'DevicePath' => 'Enhetssökväg',
'Devices' => 'Enheter',
'Dimensions' => 'Dimensioner',
'DisableAlarms' => 'Avaktivera larm',
'Disk' => 'Disk',
'Display' => 'Display', // Added - 2011-01-30
'Displaying' => 'Displaying', // Added - 2011-06-16
'Donate' => 'Var vänlig och donera',
'DonateAlready' => 'Nej, Jag har redan donerat',
'DonateEnticement' => 'Du har kört ZoneMinder ett tag nu och förhoppningsvis har du sett att det fungerar bra hemma eller på ditt företag. Även om ZoneMinder är, och kommer att vara, fri programvara och öppen kallkod, så kostar det pengar att utveckla och underhålla. Om du vill hjälpa till med framtida utveckling och nya funktioner så var vanlig och bidrag med en slant. Bidragen är naturligtvis en option men mycket uppskattade och du kan bidra med precis hur mycket du vill.<br><br>Om du vill ge ett bidrag väljer du nedan eller surfar till http://www.zoneminder.com/donate.html.<br><br>Tack för att du använder ZoneMinder, glöm inte att besöka forumen på ZoneMinder.com för support och förslag om hur du får din ZoneMinder att fungera lite bättre.',
'DonateRemindDay' => 'Inte än, påminn om 1 dag',
'DonateRemindHour' => 'Inte än, påminn om en 1 timme',
'DonateRemindMonth' => 'Inte än, påminn om 1 månad',
'DonateRemindNever' => 'Nej, Jag vill inte donera, påminn mig inte mer',
'DonateRemindWeek' => 'Inte än, påminn om 1 vecka',
'DonateYes' => 'Ja, jag vill gärna donera nu',
'Download' => 'Ladda ner',
'DuplicateMonitorName' => 'Duplicate Monitor Name', // Added - 2009-03-31
'Duration' => 'Längd',
'Edit' => 'Redigera',
'Email' => 'E-post',
'EnableAlarms' => 'Aktivera larm',
'Enabled' => 'Aktiverad',
'EnterNewFilterName' => 'Mata in nytt filternamn',
'Error' => 'Fel',
'ErrorBrackets' => 'Fel, kontrollera att du har samma antal vänster som höger-hakar',
'ErrorValidValue' => 'Fel, kontrollera att alla parametrar har giltligt värde',
'Etc' => 'etc',
'Event' => 'Händelse',
'EventFilter' => 'Händelsefilter',
'EventId' => 'Händelse nr',
'EventName' => 'Händelsenamn',
'EventPrefix' => 'Händelseprefix',
'Events' => 'Händelser',
'Exclude' => 'Exkludera',
'Execute' => 'Utför',
'Export' => 'Exportera',
'ExportDetails' => 'Exportera händelsedetaljer',
'ExportFailed' => 'Exporten misslyckades',
'ExportFormat' => 'Filformat för exporter',
'ExportFormatTar' => 'Tar',
'ExportFormatZip' => 'Zip',
'ExportFrames' => 'Exportera ramdetaljer',
'ExportImageFiles' => 'Exportera bildfiler',
'ExportLog' => 'Export Log', // Added - 2011-06-17
'ExportMiscFiles' => 'Exportera andra filer (om dom finns)',
'ExportOptions' => 'Konfiguera export',
'ExportSucceeded' => 'Export Succeeded', // Added - 2009-02-08
'ExportVideoFiles' => 'Exportera videofiler (om dom finns)',
'Exporting' => 'Exporterar',
'FPS' => 'fps',
'FPSReportInterval' => 'FPS rapportintervall',
'FTP' => 'FTP',
'Far' => 'Far',
'FastForward' => 'Fast Forward',
'Feed' => 'Matning',
'Ffmpeg' => 'Ffmpeg', // Added - 2009-02-08
'File' => 'Fil',
'FilterArchiveEvents' => 'Arkivera alla träffar',
'FilterDeleteEvents' => 'Radera alla träffar',
'FilterEmailEvents' => 'Skicka e-post med detaljer om alla träffar',
'FilterExecuteEvents' => 'Utför kommando på alla träffar',
'FilterMessageEvents' => 'Meddela detaljer om alla träffar',
'FilterPx' => 'Filter Px',
'FilterUnset' => 'Du måste specificera filtrets bredd och höjd',
'FilterUploadEvents' => 'Ladda upp alla träffar',
'FilterVideoEvents' => 'Skapa video för alla träffar',
'Filters' => 'Filter',
'First' => 'Först',
'FlippedHori' => 'Vänd horisontellt',
'FlippedVert' => 'Vänd vertikalt',
'Focus' => 'Fokus',
'ForceAlarm' => 'Tvinga larm',
'Format' => 'Format',
'Frame' => 'Ram',
'FrameId' => 'Ram id',
'FrameRate' => 'Ram hastighet',
'FrameSkip' => 'Hoppa över ram',
'Frames' => 'Ramar',
'Func' => 'Funk',
'Function' => 'Funktion',
'Gain' => 'Nivå',
'General' => 'Generell',
'GenerateVideo' => 'Skapa video',
'GeneratingVideo' => 'Skapar video',
'GoToZoneMinder' => 'Gå till ZoneMinder.com',
'Grey' => 'Grå',
'Group' => 'Grupp',
'Groups' => 'Grupper',
'HasFocusSpeed' => 'Har focushastighet',
'HasGainSpeed' => 'Har nivåhastighet',
'HasHomePreset' => 'Har normalinställning',
'HasIrisSpeed' => 'Har irishastighet',
'HasPanSpeed' => 'Har panoramahastighet',
'HasPresets' => 'Har förinställningar',
'HasTiltSpeed' => 'Har tilthastighet',
'HasTurboPan' => 'Har turbopanorering',
'HasTurboTilt' => 'Har turbotilt',
'HasWhiteSpeed' => 'Har vitbalanshastighet',
'HasZoomSpeed' => 'Har Zoomhastighet',
'High' => 'Hög',
'HighBW' => 'Hög bandbredd',
'Home' => 'Hem',
'Hour' => 'Timme',
'Hue' => 'Hue',
'Id' => 'nr',
'Idle' => 'Vila',
'Ignore' => 'Ignorera',
'Image' => 'Bild',
'ImageBufferSize' => 'Bildbufferstorlek (ramar)',
'Images' => 'Images',
'In' => 'I',
'Include' => 'Inkludera',
'Inverted' => 'Inverterad',
'Iris' => 'Iris',
'KeyString' => 'Nyckelsträng',
'Label' => 'Etikett',
'Language' => 'Språk',
'Last' => 'Sist',
'Layout' => 'Layout', // Added - 2009-02-08
'Level' => 'Level', // Added - 2011-06-16
'LimitResultsPost' => 'resultaten;', // This is used at the end of the phrase 'Limit to first N results only'
'LimitResultsPre' => 'Begränsa till första', // This is used at the beginning of the phrase 'Limit to first N results only'
'Line' => 'Line', // Added - 2011-06-16
'LinkedMonitors' => 'Länkade övervakare',
'List' => 'Lista',
'Load' => 'Belastning',
'Local' => 'Lokal',
'Log' => 'Log', // Added - 2011-06-16
'LoggedInAs' => 'Inloggad som',
'Logging' => 'Logging', // Added - 2011-06-16
'LoggingIn' => 'Loggar in',
'Login' => 'Logga in',
'Logout' => 'Logga ut',
'Logs' => 'Logs', // Added - 2011-06-17
'Low' => 'Låg',
'LowBW' => 'Låg bandbredd',
'Main' => 'Huvudmeny',
'Man' => 'Man',
'Manual' => 'Manuell',
'Mark' => 'Markera',
'Max' => 'Max',
'MaxBandwidth' => 'Max bandbredd',
'MaxBrScore' => 'Max.<br/>Score',
'MaxFocusRange' => 'Max fokusområde',
'MaxFocusSpeed' => 'Max fokushastighet',
'MaxFocusStep' => 'Max fokussteg',
'MaxGainRange' => 'Max nivåområde',
'MaxGainSpeed' => 'Max nivåhastighet',
'MaxGainStep' => 'Max nivåsteg',
'MaxIrisRange' => 'Max irsiområde',
'MaxIrisSpeed' => 'Max irishastighet',
'MaxIrisStep' => 'Max irissteg',
'MaxPanRange' => 'Max panoramaområde',
'MaxPanSpeed' => 'Max panoramahastighet',
'MaxPanStep' => 'Max panoramasteg',
'MaxTiltRange' => 'Max tiltområde',
'MaxTiltSpeed' => 'Max tilthastighet',
'MaxTiltStep' => 'Max tiltsteg',
'MaxWhiteRange' => 'Max vitbalansområde',
'MaxWhiteSpeed' => 'Max vitbalanshastighet',
'MaxWhiteStep' => 'Max vitbalanssteg',
'MaxZoomRange' => 'Max zoomområde',
'MaxZoomSpeed' => 'Max zoomhastighet',
'MaxZoomStep' => 'Max zoomsteg',
'MaximumFPS' => 'Max ramar/s',
'Medium' => 'Mellan',
'MediumBW' => 'Mellan bandbredd',
'Message' => 'Message', // Added - 2011-06-16
'MinAlarmAreaLtMax' => 'Minsta larmarean skall vara mindre än största',
'MinAlarmAreaUnset' => 'Du måste ange minsta antal larmbildpunkter',
'MinBlobAreaLtMax' => 'Minsta blobarean skall vara mindre än högsta',
'MinBlobAreaUnset' => 'Du måste ange minsta antalet blobpixlar',
'MinBlobLtMinFilter' => 'Minsta blobarean skall vara mindre än eller lika med minsta filterarean',
'MinBlobsLtMax' => 'Minsta antalet blobbar skall vara mindre än största',
'MinBlobsUnset' => 'Du måste ange minsta antalet blobbar',
'MinFilterAreaLtMax' => 'Minsta filterarean skall vara mindre än högsta',
'MinFilterAreaUnset' => 'Du måste ange minsta antal filterbildpunkter',
'MinFilterLtMinAlarm' => 'Minsta filterarean skall vara mindre än eller lika med minsta larmarean',
'MinFocusRange' => 'Min fokusområde',
'MinFocusSpeed' => 'Min fokushastighet',
'MinFocusStep' => 'Min fokussteg',
'MinGainRange' => 'Min nivåområde',
'MinGainSpeed' => 'Min nivåhastighet',
'MinGainStep' => 'Min nivåsteg',
'MinIrisRange' => 'Min irisområde',
'MinIrisSpeed' => 'Min irishastighet',
'MinIrisStep' => 'Min irissteg',
'MinPanRange' => 'Min panoramaområde',
'MinPanSpeed' => 'Min panoramahastighet',
'MinPanStep' => 'Min panoramasteg',
'MinPixelThresLtMax' => 'Minsta tröskelvärde för bildpunkter ska vara mindre än högsta',
'MinPixelThresUnset' => 'Du måste ange minsta tröskelvärde för bildpunkter',
'MinTiltRange' => 'Min tiltområde',
'MinTiltSpeed' => 'Min tilthastighet',
'MinTiltStep' => 'Min tiltsteg',
'MinWhiteRange' => 'Min vitbalansområde',
'MinWhiteSpeed' => 'Min vitbalanshastighet',
'MinWhiteStep' => 'Min vitbalanssteg',
'MinZoomRange' => 'Min zoomområde',
'MinZoomSpeed' => 'Min zoomhastighet',
'MinZoomStep' => 'Min zoomsteg',
'Misc' => 'Övrigt',
'Monitor' => 'Bevakning',
'MonitorIds' => 'Bevakningsnr',
'MonitorPreset' => 'Förinställd bevakning',
'MonitorPresetIntro' => 'Välj en förinställning från listan.<br><br>Var medveten om att detta kan skriva över inställningar du redan gjort för denna bevakare.<br><br>',
'MonitorProbe' => 'Monitor Probe', // Added - 2009-03-31
'MonitorProbeIntro' => 'The list below shows detected analog and network cameras and whether they are already being used or available for selection.<br/><br/>Select the desired entry from the list below.<br/><br/>Please note that not all cameras may be detected and that choosing a camera here may overwrite any values you already have configured for the current monitor.<br/><br/>', // Added - 2009-03-31
'Monitors' => 'Bevakare',
'Montage' => 'Montera',
'Month' => 'Månad',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Flytta',
'MustBeGe' => 'måste vara större än eller lika med',
'MustBeLe' => 'måste vara mindre än eller lika med',
'MustConfirmPassword' => 'Du måste bekräfta lösenordet',
'MustSupplyPassword' => 'Du måste ange ett lösenord',
'MustSupplyUsername' => 'Du måste ange ett användarnamn',
'Name' => 'Namn',
'Near' => 'Nära',
'Network' => 'Nätverk',
'New' => 'Ny',
'NewGroup' => 'Ny grupp',
'NewLabel' => 'Ny etikett',
'NewPassword' => 'Nytt lösenord',
'NewState' => 'Nytt läge',
'NewUser' => 'Ny användare',
'Next' => 'Nästa',
'No' => 'Nej',
'NoDetectedCameras' => 'No Detected Cameras', // Added - 2009-03-31
'NoFramesRecorded' => 'Det finns inga ramar inspelade för denna händelse',
'NoGroup' => 'Ingen grupp',
'NoSavedFilters' => 'Inga sparade filter',
'NoStatisticsRecorded' => 'Det finns ingen statistik inspelad för denna händelse/ram',
'None' => 'Ingen',
'NoneAvailable' => 'Ingen tillgänglig',
'Normal' => 'Normal',
'Notes' => 'Not.',
'NumPresets' => 'Antal förinställningar',
'Off' => 'Av',
'On' => 'På',
'OpEq' => 'lika med',
'OpGt' => 'större än',
'OpGtEq' => 'större än eller lika med',
'OpIn' => 'in set',
'OpLt' => 'mindre än',
'OpLtEq' => 'mindre än eller lika med',
'OpMatches' => 'matchar',
'OpNe' => 'inte lika med',
'OpNotIn' => 'inte i set',
'OpNotMatches' => 'matchar inte',
'Open' => 'Öppna',
'OptionHelp' => 'Optionhjälp',
'OptionRestartWarning' => 'Dessa ändringar kommer inte att vara implementerade\nnär systemet körs. När du är klar starta om\n ZoneMinder.',
'Options' => 'Alternativ',
'OrEnterNewName' => 'eller skriv in nytt namn',
'Order' => 'Sortera',
'Orientation' => 'Orientation',
'Out' => 'Ut',
'OverwriteExisting' => 'Skriv över',
'Paged' => 'Paged',
'Pan' => 'Panorera',
'PanLeft' => 'Panorera vänster',
'PanRight' => 'Panorera höger',
'PanTilt' => 'Pan/Tilt',
'Parameter' => 'Parameter',
'Password' => 'Lösenord',
'PasswordsDifferent' => 'Lösenorden skiljer sig åt',
'Paths' => 'Sökvägar',
'Pause' => 'Paus',
'Phone' => 'Mobil',
'PhoneBW' => 'Mobil bandbredd',
'Pid' => 'PID', // Added - 2011-06-16
'PixelDiff' => 'Skillnad i bildpunkter',
'Pixels' => 'bildpunkter',
'Play' => 'Spela',
'PlayAll' => 'Visa alla',
'PleaseWait' => 'Vänta...',
'Point' => 'Punkt',
'PostEventImageBuffer' => 'Post Event Image Count',
'PreEventImageBuffer' => 'Pre Event Image Count',
'PreserveAspect' => 'Bevara lägesförhållande',
'Preset' => 'Förinställning',
'Presets' => 'Förinställningar',
'Prev' => 'Föreg.',
'Probe' => 'Probe', // Added - 2009-03-31
'Protocol' => 'Protokol',
'Rate' => 'Hastighet',
'Real' => 'Verklig',
'Record' => 'Spela in',
'RefImageBlendPct' => 'Reference Image Blend %ge',
'Refresh' => 'Uppdatera',
'Remote' => 'Fjärr',
'RemoteHostName' => 'Fjärrnamn',
'RemoteHostPath' => 'Fjärrsökväg',
'RemoteHostPort' => 'Fjärrport',
'RemoteHostSubPath' => 'Remote Host SubPath', // Added - 2009-02-08
'RemoteImageColours' => 'Fjärrbildfärger',
'RemoteMethod' => 'Remote Method', // Added - 2009-02-08
'RemoteProtocol' => 'Remote Protocol', // Added - 2009-02-08
'Rename' => 'Byt namn',
'Replay' => 'Repris',
'ReplayAll' => 'Alla händelser',
'ReplayGapless' => 'Gapless Events',
'ReplaySingle' => 'Ensam händelse',
'Reset' => 'Återställ',
'ResetEventCounts' => 'Återställ händelseräknare',
'Restart' => 'Återstart',
'Restarting' => 'Återstartar',
'RestrictedCameraIds' => 'Begränsade kameranr.',
'RestrictedMonitors' => 'Begränsade bevakare',
'ReturnDelay' => 'Fördröjd retur',
'ReturnLocation' => 'Återvänd till position',
'Rewind' => 'Backa',
'RotateLeft' => 'Rotera vänster',
'RotateRight' => 'Rotera höger',
'RunLocalUpdate' => 'Please run zmupdate.pl to update', // Added - 2011-05-25
'RunMode' => 'Körläge',
'RunState' => 'Körläge',
'Running' => 'Körs',
'Save' => 'Spara',
'SaveAs' => 'Spara som',
'SaveFilter' => 'Spara filter',
'Scale' => 'Skala',
'Score' => 'Resultat',
'Secs' => 'Sek',
'Sectionlength' => 'Sektionslängd',
'Select' => 'Välj',
'SelectFormat' => 'Select Format', // Added - 2011-06-17
'SelectLog' => 'Select Log', // Added - 2011-06-17
'SelectMonitors' => 'Välj bevakare',
'SelfIntersecting' => 'Polygonändarna får inte överlappa',
'Set' => 'Ställ in',
'SetNewBandwidth' => 'Ställ in ny bandbredd',
'SetPreset' => 'Ställ in förinställning',
'Settings' => 'Inställningar',
'ShowFilterWindow' => 'Visa fönsterfilter',
'ShowTimeline' => 'Visa tidslinje',
'SignalCheckColour' => 'Signal Check Colour',
'Size' => 'Storlek',
'SkinDescription' => 'Change the default skin for this computer', // Added - 2011-01-30
'Sleep' => 'Vila',
'SortAsc' => 'Stigande',
'SortBy' => 'Sortera',
'SortDesc' => 'Fallande',
'Source' => 'Källa',
'SourceColours' => 'Source Colours', // Added - 2009-02-08
'SourcePath' => 'Source Path', // Added - 2009-02-08
'SourceType' => 'Källtyp',
'Speed' => 'Hastighet',
'SpeedHigh' => 'Höghastighet',
'SpeedLow' => 'Låghastighet',
'SpeedMedium' => 'Normalhastighet',
'SpeedTurbo' => 'Turbohastighet',
'Start' => 'Start',
'State' => 'Läge',
'Stats' => 'Statistik',
'Status' => 'Status',
'Step' => 'Steg',
'StepBack' => 'Stepga bakåt',
'StepForward' => 'Stega framåt',
'StepLarge' => 'Stora steg',
'StepMedium' => 'Normalsteg',
'StepNone' => 'Inga steg',
'StepSmall' => 'Små steg',
'Stills' => 'Stillbilder',
'Stop' => 'Stopp',
'Stopped' => 'Stoppad',
'Stream' => 'Strömmande',
'StreamReplayBuffer' => 'Buffert för strömmande uppspelning',
'Submit' => 'Skicka',
'System' => 'System',
'SystemLog' => 'System Log', // Added - 2011-06-16
'Tele' => 'Tele',
'Thumbnail' => 'Miniatyrer',
'Tilt' => 'Tilt',
'Time' => 'Tid',
'TimeDelta' => 'tidsdelta',
'TimeStamp' => 'Tidsstämpel',
'Timeline' => 'Tidslinje',
'Timestamp' => 'Tidsstämpel',
'TimestampLabelFormat' => 'Format på tidsstämpel',
'TimestampLabelX' => 'Värde på tidsstämpel X',
'TimestampLabelY' => 'Värde på tidsstämpel Y',
'Today' => 'Idag',
'Tools' => 'Verktyg',
'Total' => 'Total', // Added - 2011-06-16
'TotalBrScore' => 'Total<br/>Score',
'TrackDelay' => 'Spårfördröjning',
'TrackMotion' => 'Spåra rörelse',
'Triggers' => 'Triggers',
'TurboPanSpeed' => 'Turbo panoramahastighet',
'TurboTiltSpeed' => 'Turbo tilthastighet',
'Type' => 'Typ',
'Unarchive' => 'Packa upp',
'Undefined' => 'Undefined', // Added - 2009-02-08
'Units' => 'Enheter',
'Unknown' => 'Okänd',
'Update' => 'Uppdatera',
'UpdateAvailable' => 'En uppdatering till ZoneMinder finns tillgänglig.',
'UpdateNotNecessary' => 'Ingen uppdatering behövs.',
'Updated' => 'Updated', // Added - 2011-06-16
'Upload' => 'Upload', // Added - 2011-08-23
'UseFilter' => 'Använd filter',
'UseFilterExprsPost' => '&nbsp;filter&nbsp;expressions', // This is used at the end of the phrase 'use N filter expressions'
'UseFilterExprsPre' => 'Använd&nbsp;', // This is used at the beginning of the phrase 'use N filter expressions'
'User' => 'Användare',
'Username' => 'Användarnamn',
'Users' => 'Användare',
'Value' => 'Värde',
'Version' => 'Version',
'VersionIgnore' => 'Ignorera denna version',
'VersionRemindDay' => 'Påminn om 1 dag',
'VersionRemindHour' => 'Påminn om 1 timme',
'VersionRemindNever' => 'Påminn inte om nya versioner',
'VersionRemindWeek' => 'Påminn om en 1 vecka',
'Video' => 'Video',
'VideoFormat' => 'Videoformat',
'VideoGenFailed' => 'Videogenereringen misslyckades!',
'VideoGenFiles' => 'Befintliga videofiler',
'VideoGenNoFiles' => 'Inga videofiler',
'VideoGenParms' => 'Inställningar för videogenerering',
'VideoGenSucceeded' => 'Videogenereringen lyckades!',
'VideoSize' => 'Videostorlek',
'View' => 'Visa',
'ViewAll' => 'Visa alla',
'ViewEvent' => 'Visa händelse',
'ViewPaged' => 'Visa Paged',
'Wake' => 'Vakna',
'WarmupFrames' => 'Värm upp ramar',
'Watch' => 'Se',
'Web' => 'Webb',
'WebColour' => 'Webbfärg',
'Week' => 'Vecka',
'White' => 'Vit',
'WhiteBalance' => 'Vitbalans',
'Wide' => 'Vid',
'X' => 'X',
'X10' => 'X10',
'X10ActivationString' => 'X10 aktiveringssträng',
'X10InputAlarmString' => 'X10 larmingångssträng',
'X10OutputAlarmString' => 'X10 larmutgångssträng',
'Y' => 'J',
'Yes' => 'Ja',
'YouNoPerms' => 'Du har inte tillstånd till denna resurs.',
'Zone' => 'Zon',
'ZoneAlarmColour' => 'Larmfärg (Röd/Grön/Blå)',
'ZoneArea' => 'Zonarea',
'ZoneFilterSize' => 'Filterbredd/höjd (pixlar)',
'ZoneMinMaxAlarmArea' => 'Min/Max larmarea',
'ZoneMinMaxBlobArea' => 'Min/Max blobbarea',
'ZoneMinMaxBlobs' => 'Min/Max blobbar',
'ZoneMinMaxFiltArea' => 'Min/Max filterarea',
'ZoneMinMaxPixelThres' => 'Min/Max pixel Threshold (0-255)',
'ZoneMinderLog' => 'ZoneMinder Log', // Added - 2011-06-17
'ZoneOverloadFrames' => 'Overload Frame Ignore Count',
'Zones' => 'Zoner',
'Zoom' => 'Zoom',
'ZoomIn' => 'Zooma in',
'ZoomOut' => 'Zooma ut',
);
// Complex replacements with formatting and/or placements, must be passed through sprintf
$CLANG = array(
'CurrentLogin' => 'Aktuell inloggning är \'%1$s\'',
'EventCount' => '%1$s %2$s', // For example '37 Events' (from Vlang below)
'LastEvents' => 'Senaste %1$s %2$s', // For example 'Last 37 Events' (from Vlang below)
'LatestRelease' => 'Aktuell version är v%1$s, du har v%2$s.',
'MonitorCount' => '%1$s %2$s', // For example '4 Monitors' (from Vlang below)
'MonitorFunction' => 'Bevakare %1$s funktion',
'RunningRecentVer' => 'Du använder den senaste versionen av ZoneMinder, v%s.',
'VersionMismatch' => 'Version mismatch, system is version %1$s, database is %2$s.', // Added - 2011-05-25
);
// The next section allows you to describe a series of word ending and counts used to
// generate the correctly conjugated forms of words depending on a count that is associated
// with that word.
// This intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to
// conjugate correctly with the associated count.
// In some languages such as English this is fairly simple and can be expressed by assigning
// a count with a singular or plural form of a word and then finding the nearest (lower) value.
// So '0' of something generally ends in 's', 1 of something is singular and has no extra
// ending and 2 or more is a plural and ends in 's' also. So to find the ending for '187' of
// something you would find the nearest lower count (2) and use that ending.
//
// So examples of this would be
// $zmVlangPotato = array( 0=>'Potatoes', 1=>'Potato', 2=>'Potatoes' );
// $zmVlangSheep = array( 0=>'Sheep' );
//
// where you can have as few or as many entries in the array as necessary
// If your language is similar in form to this then use the same format and choose the
// appropriate zmVlang function below.
// If however you have a language with a different format of plural endings then another
// approach is required . For instance in Russian the word endings change continuously
// depending on the last digit (or digits) of the numerator. In this case then zmVlang
// arrays could be written so that the array index just represents an arbitrary 'type'
// and the zmVlang function does the calculation about which version is appropriate.
//
// So an example in Russian might be (using English words, and made up endings as I
// don't know any Russian!!)
// $zmVlangPotato = array( 1=>'Potati', 2=>'Potaton', 3=>'Potaten' );
//
// and the zmVlang function decides that the first form is used for counts ending in
// 0, 5-9 or 11-19 and the second form when ending in 1 etc.
//
// Variable arrays expressing plurality, see the zmVlang description above
$VLANG = array(
'Event' => array( 0=>'Händelser', 1=>'Händelsen', 2=>'Händelserna' ),
'Monitor' => array( 0=>'Bevakare', 1=>'Bevakare', 2=>'Bevakare' ),
);
// You will need to choose or write a function that can correlate the plurality string arrays
// with variable counts. This is used to conjugate the Vlang arrays above with a number passed
// in to generate the correct noun form.
//
// In languages such as English this is fairly simple
// Note this still has to be used with printf etc to get the right formating
function zmVlang( $langVarArray, $count )
{
krsort( $langVarArray );
foreach ( $langVarArray as $key=>$value )
{
if ( abs($count) >= $key )
{
return( $value );
}
}
die( 'Fel, kan inte relatera variabel språksträng' );
}
// This is an version that could be used in the Russian example above
// The rules are that the first word form is used if the count ends in
// 0, 5-9 or 11-19. The second form is used then the count ends in 1
// (not including 11 as above) and the third form is used when the
// count ends in 2-4, again excluding any values ending in 12-14.
//
// function zmVlang( $langVarArray, $count )
// {
// $secondlastdigit = substr( $count, -2, 1 );
// $lastdigit = substr( $count, -1, 1 );
// // or
// // $secondlastdigit = ($count/10)%10;
// // $lastdigit = $count%10;
//
// // Get rid of the special cases first, the teens
// if ( $secondlastdigit == 1 && $lastdigit != 0 )
// {
// return( $langVarArray[1] );
// }
// switch ( $lastdigit )
// {
// case 0 :
// case 5 :
// case 6 :
// case 7 :
// case 8 :
// case 9 :
// {
// return( $langVarArray[1] );
// break;
// }
// case 1 :
// {
// return( $langVarArray[2] );
// break;
// }
// case 2 :
// case 3 :
// case 4 :
// {
// return( $langVarArray[3] );
// break;
// }
// }
// die( 'Error, unable to correlate variable language string' );
// }
// This is an example of how the function is used in the code which you can uncomment and
// use to test your custom function.
//$monitors = array();
//$monitors[] = 1; // Choose any number
//echo sprintf( $zmClangMonitorCount, count($monitors), zmVlang( $zmVlangMonitor, count($monitors) ) );
// In this section you can override the default prompt and help texts for the options area
// These overrides are in the form show below where the array key represents the option name minus the initial ZM_
$OLANG = array(
'LANG_DEFAULT' => array(
'Prompt' => "Välj språk för ZoneMinder",
'Help' => "ZoneMinder kan använda annat språk än engelska i menyer och texter. Välj här det språk du vill använda till ZoneMinder."
),
);
?>

View File

@ -1,580 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/skins
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
SUBDIRS = \
classic \
mobile \
xml
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/skins/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/skins/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic ctags \
ctags-recursive distclean distclean-generic distclean-tags \
distdir dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
tags-recursive uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,641 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/skins/classic
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/skins/classic
SUBDIRS = \
ajax \
css \
graphics \
includes \
js \
lang \
views
dist_web_DATA = \
skin.php
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/skins/classic/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/skins/classic/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic ctags \
ctags-recursive distclean distclean-generic distclean-tags \
distdir dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-dist_webDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,428 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/skins/classic/ajax
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/skins/classic/ajax
dist_web_DATA = # No files here
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/skins/classic/ajax/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/skins/classic/ajax/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,432 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/skins/classic/css
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/skins/classic/css
dist_web_DATA = \
skin.css \
control.css \
export.css
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/skins/classic/css/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/skins/classic/css/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,447 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/skins/classic/graphics
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/skins/classic/graphics
dist_web_DATA = \
arrow-d.gif \
arrow-dl.gif \
arrow-dr.gif \
arrow-l-d.gif \
arrow-l.gif \
arrow-l-u.gif \
arrow-r.gif \
arrow-s-d.gif \
arrow-s-u.gif \
arrow-u.gif \
arrow-ul.gif \
arrow-ur.gif \
center.gif \
point-g.gif \
point-o.gif \
point-r.gif \
seq-d.gif \
seq-u.gif
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/skins/classic/graphics/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/skins/classic/graphics/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,435 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/skins/classic/includes
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/skins/classic/includes
dist_web_DATA = \
init.php \
config.php \
functions.php \
control_functions.php \
export_functions.php \
timeline_functions.php
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/skins/classic/includes/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/skins/classic/includes/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,431 +0,0 @@
# Makefile.in generated by automake 1.11.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
# Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = web/skins/classic/js
DIST_COMMON = $(dist_web_DATA) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(webdir)"
DATA = $(dist_web_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_CXXFLAGS = @AM_CXXFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CGI_PREFIX = @CGI_PREFIX@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_MMAP = @ENABLE_MMAP@
EXEEXT = @EXEEXT@
EXTRA_LIBS = @EXTRA_LIBS@
EXTRA_PERL_LIB = @EXTRA_PERL_LIB@
FFMPEG_CFLAGS = @FFMPEG_CFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FFMPEG_PREFIX = @FFMPEG_PREFIX@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ARCH = @LIB_ARCH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_PREFIX = @MYSQL_PREFIX@
OBJEXT = @OBJEXT@
OPT_FFMPEG = @OPT_FFMPEG@
OPT_NETPBM = @OPT_NETPBM@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_BUILD = @PATH_BUILD@
PATH_FFMPEG = @PATH_FFMPEG@
PATH_NETPBM = @PATH_NETPBM@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERL_MM_PARMS = @PERL_MM_PARMS@
POW_LIB = @POW_LIB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
TIME_BUILD = @TIME_BUILD@
VERSION = @VERSION@
WEB_GROUP = @WEB_GROUP@
WEB_HOST = @WEB_HOST@
WEB_PREFIX = @WEB_PREFIX@
WEB_USER = @WEB_USER@
ZM_CONFIG = @ZM_CONFIG@
ZM_DB_HOST = @ZM_DB_HOST@
ZM_DB_NAME = @ZM_DB_NAME@
ZM_DB_PASS = @ZM_DB_PASS@
ZM_DB_USER = @ZM_DB_USER@
ZM_HAS_GNUTLS = @ZM_HAS_GNUTLS@
ZM_HAS_GNUTLS_OPENSSL = @ZM_HAS_GNUTLS_OPENSSL@
ZM_HAS_V4L = @ZM_HAS_V4L@
ZM_HAS_V4L1 = @ZM_HAS_V4L1@
ZM_HAS_V4L2 = @ZM_HAS_V4L2@
ZM_LOGDIR = @ZM_LOGDIR@
ZM_MYSQL_ENGINE = @ZM_MYSQL_ENGINE@
ZM_PCRE = @ZM_PCRE@
ZM_PID = @ZM_PID@
ZM_RUNDIR = @ZM_RUNDIR@
ZM_SSL_LIB = @ZM_SSL_LIB@
ZM_TMPDIR = @ZM_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = gnu
webdir = @WEB_PREFIX@/skins/classic/js
dist_web_DATA = \
skin.js \
skin.js.php
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu web/skins/classic/js/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu web/skins/classic/js/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_webDATA: $(dist_web_DATA)
@$(NORMAL_INSTALL)
test -z "$(webdir)" || $(MKDIR_P) "$(DESTDIR)$(webdir)"
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(webdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(webdir)" || exit $$?; \
done
uninstall-dist_webDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_web_DATA)'; test -n "$(webdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(webdir)'; $(am__uninstall_files_from_dir)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(webdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_webDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_webDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-dist_webDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-dist_webDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Some files were not shown because too many files have changed in this diff Show More