Updated file headers and footers and added the '(frames)' comment to the
end of the Image Buffer Size prompt. git-svn-id: http://svn.zoneminder.com/svn/zm/trunk@756 e3e1d417-86f3-4887-817a-d78f3d33393f
This commit is contained in:
parent
74d85b38af
commit
ae27ac2e40
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
//
|
//
|
||||||
// ZoneMinder web UK English language file, $Date$, $Revision$
|
// ZoneMinder web German language file, $Date$, $Revision$
|
||||||
// Copyright (C) 2003 Philip Coombes
|
// Copyright (C) 2003 Philip Coombes
|
||||||
//
|
//
|
||||||
// This program is free software; you can redistribute it and/or
|
// This program is free software; you can redistribute it and/or
|
||||||
|
@ -18,10 +18,13 @@
|
||||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// ZoneMinder <your language> Translation by <your name>
|
||||||
|
|
||||||
// Notes for Translators
|
// 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
|
// 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.
|
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
|
||||||
// 2. There are three types of string replacement
|
// 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
|
// a) Simple replacements are words or short phrases that are static and used directly. This type of
|
||||||
// replacement can be used 'as is'.
|
// replacement can be used 'as is'.
|
||||||
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
||||||
|
@ -29,13 +32,12 @@
|
||||||
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
||||||
// replacement also as described below.
|
// replacement also as described below.
|
||||||
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
|
// 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. This is
|
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
|
||||||
// intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to conjunct correctly
|
// the zmVlang section below for a further description of this.
|
||||||
// with the associated numerator. Variable replacements are expressed are arrays with a series of
|
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
|
||||||
// counts and their associated words. When doing a replacement the passed value is compared with
|
// of the web interface. These are not listed below as they are quite large and held in the database
|
||||||
// those counts in descending order and the nearest match below is used if no exact match is found.
|
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
|
||||||
// Therefore is you have a variable replacement with 0,1 and 2 counts, which would be the normal form
|
// quite easily from the Config table in the database if necessary.
|
||||||
// in English, if you have 5 'things' then the nearest match below is '2' and so that plural would be used.
|
|
||||||
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
|
// 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.
|
// 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
|
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
|
||||||
|
@ -44,6 +46,29 @@
|
||||||
// is and uncomment it.
|
// is and uncomment it.
|
||||||
// require_once( 'zm_lang_en_gb.php' );
|
// 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
|
// Simple String Replacements
|
||||||
$zmSlang24BitColour = '24 bit Farbe';
|
$zmSlang24BitColour = '24 bit Farbe';
|
||||||
$zmSlang8BitGrey = '8 bit Graustufe';
|
$zmSlang8BitGrey = '8 bit Graustufe';
|
||||||
|
@ -328,8 +353,120 @@ $zmClangLastEvents = 'Letzen %1$s %2$s'; // For example 'Last 37 Event
|
||||||
$zmClangMonitorCount = '%1$s %2$s'; // For example '4 Monitors' (from Vlang below)
|
$zmClangMonitorCount = '%1$s %2$s'; // For example '4 Monitors' (from Vlang below)
|
||||||
$zmClangMonitorFunction = 'Monitor %1$s Function';
|
$zmClangMonitorFunction = 'Monitor %1$s Function';
|
||||||
|
|
||||||
// Variable arrays expressing plurality
|
// 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
|
||||||
$zmVlangEvent = array( 0=>'Ereigniss', 1=>'Ereigisse', 2=>'Ereignisse' );
|
$zmVlangEvent = array( 0=>'Ereigniss', 1=>'Ereigisse', 2=>'Ereignisse' );
|
||||||
$zmVlangMonitor = array( 0=>'Monitors', 1=>'Monitor', 2=>'Monitors' );
|
$zmVlangMonitor = 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( $lang_var_array, $count )
|
||||||
|
{
|
||||||
|
krsort( $lang_var_array );
|
||||||
|
foreach ( $lang_var_array 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( $lang_var_array, $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( $lang_var_array[1] );
|
||||||
|
// }
|
||||||
|
// switch ( $lastdigit )
|
||||||
|
// {
|
||||||
|
// case 0 :
|
||||||
|
// case 5 :
|
||||||
|
// case 6 :
|
||||||
|
// case 7 :
|
||||||
|
// case 8 :
|
||||||
|
// case 9 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[1] );
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// case 1 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[2] );
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// case 2 :
|
||||||
|
// case 3 :
|
||||||
|
// case 4 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[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 of $zmVarOlangPrompt<option> and $zmVarOlangHelp<option>
|
||||||
|
// where <option> represents the option name minus the initial ZM_
|
||||||
|
// So for example, to override the help text for ZM_LANG_DEFAULT do
|
||||||
|
// $zmVarOlangPromptLANG_DEFAULT = "This is a new prompt for this option";
|
||||||
|
// $zmVarOlangHelpLANG_DEFAULT = "This is some new help for this option which will be displayed in the popup window when the ? is clicked";
|
||||||
|
//
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -18,10 +18,13 @@
|
||||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// ZoneMinder <your language> Translation by <your name>
|
||||||
|
|
||||||
// Notes for Translators
|
// 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
|
// 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.
|
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
|
||||||
// 2. There are three types of string replacement
|
// 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
|
// a) Simple replacements are words or short phrases that are static and used directly. This type of
|
||||||
// replacement can be used 'as is'.
|
// replacement can be used 'as is'.
|
||||||
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
||||||
|
@ -29,13 +32,12 @@
|
||||||
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
||||||
// replacement also as described below.
|
// replacement also as described below.
|
||||||
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
|
// 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. This is
|
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
|
||||||
// intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to conjunct correctly
|
// the zmVlang section below for a further description of this.
|
||||||
// with the associated numerator. Variable replacements are expressed are arrays with a series of
|
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
|
||||||
// counts and their associated words. When doing a replacement the passed value is compared with
|
// of the web interface. These are not listed below as they are quite large and held in the database
|
||||||
// those counts in descending order and the nearest match below is used if no exact match is found.
|
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
|
||||||
// Therefore is you have a variable replacement with 0,1 and 2 counts, which would be the normal form
|
// quite easily from the Config table in the database if necessary.
|
||||||
// in English, if you have 5 'things' then the nearest match below is '2' and so that plural would be used.
|
|
||||||
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
|
// 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.
|
// 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
|
// 4. In new language files, or if you are changing only a few words or phrases it makes sense from a
|
||||||
|
@ -44,6 +46,29 @@
|
||||||
// is and uncomment it.
|
// is and uncomment it.
|
||||||
// require_once( 'zm_lang_en_gb.php' );
|
// 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
|
// Simple String Replacements
|
||||||
$zmSlang24BitColour = '24 bit colour';
|
$zmSlang24BitColour = '24 bit colour';
|
||||||
$zmSlang8BitGrey = '8 bit greyscale';
|
$zmSlang8BitGrey = '8 bit greyscale';
|
||||||
|
@ -151,7 +176,7 @@ $zmSlangHue = 'Hue';
|
||||||
$zmSlangId = 'Id';
|
$zmSlangId = 'Id';
|
||||||
$zmSlangIdle = 'Idle';
|
$zmSlangIdle = 'Idle';
|
||||||
$zmSlangIgnore = 'Ignore';
|
$zmSlangIgnore = 'Ignore';
|
||||||
$zmSlangImageBufferSize = 'Image Buffer Size';
|
$zmSlangImageBufferSize = 'Image Buffer Size (frames)';
|
||||||
$zmSlangImage = 'Image';
|
$zmSlangImage = 'Image';
|
||||||
$zmSlangInclude = 'Include';
|
$zmSlangInclude = 'Include';
|
||||||
$zmSlangInverted = 'Inverted';
|
$zmSlangInverted = 'Inverted';
|
||||||
|
@ -328,8 +353,120 @@ $zmClangLastEvents = 'Last %1$s %2$s'; // For example 'Last 37 Events'
|
||||||
$zmClangMonitorCount = '%1$s %2$s'; // For example '4 Monitors' (from Vlang below)
|
$zmClangMonitorCount = '%1$s %2$s'; // For example '4 Monitors' (from Vlang below)
|
||||||
$zmClangMonitorFunction = 'Monitor %1$s Function';
|
$zmClangMonitorFunction = 'Monitor %1$s Function';
|
||||||
|
|
||||||
// Variable arrays expressing plurality
|
// 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
|
||||||
$zmVlangEvent = array( 0=>'Events', 1=>'Event', 2=>'Events' );
|
$zmVlangEvent = array( 0=>'Events', 1=>'Event', 2=>'Events' );
|
||||||
$zmVlangMonitor = array( 0=>'Monitors', 1=>'Monitor', 2=>'Monitors' );
|
$zmVlangMonitor = 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( $lang_var_array, $count )
|
||||||
|
{
|
||||||
|
krsort( $lang_var_array );
|
||||||
|
foreach ( $lang_var_array 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( $lang_var_array, $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( $lang_var_array[1] );
|
||||||
|
// }
|
||||||
|
// switch ( $lastdigit )
|
||||||
|
// {
|
||||||
|
// case 0 :
|
||||||
|
// case 5 :
|
||||||
|
// case 6 :
|
||||||
|
// case 7 :
|
||||||
|
// case 8 :
|
||||||
|
// case 9 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[1] );
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// case 1 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[2] );
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// case 2 :
|
||||||
|
// case 3 :
|
||||||
|
// case 4 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[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 of $zmVarOlangPrompt<option> and $zmVarOlangHelp<option>
|
||||||
|
// where <option> represents the option name minus the initial ZM_
|
||||||
|
// So for example, to override the help text for ZM_LANG_DEFAULT do
|
||||||
|
// $zmVarOlangPromptLANG_DEFAULT = "This is a new prompt for this option";
|
||||||
|
// $zmVarOlangHelpLANG_DEFAULT = "This is some new help for this option which will be displayed in the popup window when the ? is clicked";
|
||||||
|
//
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -18,10 +18,13 @@
|
||||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// ZoneMinder <your language> Translation by <your name>
|
||||||
|
|
||||||
// Notes for Translators
|
// 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
|
// 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.
|
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
|
||||||
// 2. There are three types of string replacement
|
// 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
|
// a) Simple replacements are words or short phrases that are static and used directly. This type of
|
||||||
// replacement can be used 'as is'.
|
// replacement can be used 'as is'.
|
||||||
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
||||||
|
@ -29,20 +32,42 @@
|
||||||
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
||||||
// replacement also as described below.
|
// replacement also as described below.
|
||||||
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
|
// 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. This is
|
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
|
||||||
// intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to conjunct correctly
|
// the zmVlang section below for a further description of this.
|
||||||
// with the associated numerator. Variable replacements are expressed are arrays with a series of
|
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
|
||||||
// counts and their associated words. When doing a replacement the passed value is compared with
|
// of the web interface. These are not listed below as they are quite large and held in the database
|
||||||
// those counts in descending order and the nearest match below is used if no exact match is found.
|
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
|
||||||
// Therefore is you have a variable replacement with 0,1 and 2 counts, which would be the normal form
|
// quite easily from the Config table in the database if necessary.
|
||||||
// in English, if you have 5 'things' then the nearest match below is '2' and so that plural would be used.
|
|
||||||
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
|
// 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.
|
// 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
|
// 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
|
// 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
|
// than copy all the language tokens across. To do this change the line below to whatever your base language
|
||||||
// is and uncomment it.
|
// is and uncomment it.
|
||||||
require_once( 'zm_lang_en_gb.php' );
|
require_once( 'zm_lang_en_us.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
|
// Simple String Replacements
|
||||||
$zmSlang24BitColour = '24 bit color';
|
$zmSlang24BitColour = '24 bit color';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
//
|
//
|
||||||
// ZoneMinder web UK English language file, $Date$, $Revision$
|
// ZoneMinder web Polish language file, $Date$, $Revision$
|
||||||
// Copyright (C) 2003 Philip Coombes
|
// Copyright (C) 2003 Philip Coombes
|
||||||
//
|
//
|
||||||
// This program is free software; you can redistribute it and/or
|
// This program is free software; you can redistribute it and/or
|
||||||
|
@ -18,10 +18,13 @@
|
||||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// ZoneMinder <your language> Translation by <your name>
|
||||||
|
|
||||||
// Notes for Translators
|
// 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
|
// 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.
|
// same length text if possible. Abbreviate where necessary as spacing is quite close in a number of places.
|
||||||
// 2. There are three types of string replacement
|
// 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
|
// a) Simple replacements are words or short phrases that are static and used directly. This type of
|
||||||
// replacement can be used 'as is'.
|
// replacement can be used 'as is'.
|
||||||
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
// b) Complex replacements involve some dynamic element being included and so may require substitution
|
||||||
|
@ -29,20 +32,42 @@
|
||||||
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
// a formatting string. If the dynamic element is a number you will usually need to use a variable
|
||||||
// replacement also as described below.
|
// replacement also as described below.
|
||||||
// c) Variable replacements are used in conjunction with complex replacements and involve the generation
|
// 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. This is
|
// of a singular or plural noun depending on the number passed into the zmVlang function. See the
|
||||||
// intended to allow phrases such a '0 potatoes', '1 potato', '2 potatoes' etc to conjunct correctly
|
// the zmVlang section below for a further description of this.
|
||||||
// with the associated numerator. Variable replacements are expressed are arrays with a series of
|
// d) Optional strings which can be used to replace the prompts and/or help text for the Options section
|
||||||
// counts and their associated words. When doing a replacement the passed value is compared with
|
// of the web interface. These are not listed below as they are quite large and held in the database
|
||||||
// those counts in descending order and the nearest match below is used if no exact match is found.
|
// so that they can also be used by the zmconfig.pl script. However you can build up your own list
|
||||||
// Therefore is you have a variable replacement with 0,1 and 2 counts, which would be the normal form
|
// quite easily from the Config table in the database if necessary.
|
||||||
// in English, if you have 5 'things' then the nearest match below is '2' and so that plural would be used.
|
|
||||||
// 3. The tokens listed below are not used to build up phrases or sentences from single words. Therefore
|
// 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.
|
// 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
|
// 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
|
// 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
|
// than copy all the language tokens across. To do this change the line below to whatever your base language
|
||||||
// is and uncomment it.
|
// is and uncomment it.
|
||||||
//require_once( 'zm_lang_en_gb.php' );
|
// 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
|
// Simple String Replacements
|
||||||
$zmSlang24BitColour = 'Kolor (24 bity)';
|
$zmSlang24BitColour = 'Kolor (24 bity)';
|
||||||
|
@ -328,8 +353,120 @@ $zmClangLastEvents = 'Ostatnie %1$s %2$s';
|
||||||
$zmClangMonitorCount = '%1$s %2$s';
|
$zmClangMonitorCount = '%1$s %2$s';
|
||||||
$zmClangMonitorFunction = 'Monitor %1$s Funkcja';
|
$zmClangMonitorFunction = 'Monitor %1$s Funkcja';
|
||||||
|
|
||||||
// Variable arrays expressing plurality
|
// 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
|
||||||
$zmVlangEvent = array( 0=>'Zdarzeñ', 1=>'Zdarzenie', 2=>'Zdarzenia' );
|
$zmVlangEvent = array( 0=>'Zdarzeñ', 1=>'Zdarzenie', 2=>'Zdarzenia' );
|
||||||
$zmVlangMonitor = array( 0=>'Monitorów', 1=>'Monitor', 2=>'Monitory' );
|
$zmVlangMonitor = 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.
|
||||||
|
//
|
||||||
|
// 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( $lang_var_array, $count )
|
||||||
|
{
|
||||||
|
krsort( $lang_var_array );
|
||||||
|
foreach ( $lang_var_array 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( $lang_var_array, $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( $lang_var_array[1] );
|
||||||
|
// }
|
||||||
|
// switch ( $lastdigit )
|
||||||
|
// {
|
||||||
|
// case 0 :
|
||||||
|
// case 5 :
|
||||||
|
// case 6 :
|
||||||
|
// case 7 :
|
||||||
|
// case 8 :
|
||||||
|
// case 9 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[1] );
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// case 1 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[2] );
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// case 2 :
|
||||||
|
// case 3 :
|
||||||
|
// case 4 :
|
||||||
|
// {
|
||||||
|
// return( $lang_var_array[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 of $zmVarOlangPrompt<option> and $zmVarOlangHelp<option>
|
||||||
|
// where <option> represents the option name minus the initial ZM_
|
||||||
|
// So for example, to override the help text for ZM_LANG_DEFAULT do
|
||||||
|
// $zmVarOlangPromptLANG_DEFAULT = "This is a new prompt for this option";
|
||||||
|
// $zmVarOlangHelpLANG_DEFAULT = "This is some new help for this option which will be displayed in the popup window when the ? is clicked";
|
||||||
|
//
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue