Some examples
This commit is contained in:
parent
04b2a2c796
commit
8b34f081b2
Binary file not shown.
After Width: | Height: | Size: 129 B |
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
// $Horde: nmslib/base.php,v 1.6 2002/06/19 02:31:26 chuck Exp $
|
||||
// modified 2002/07/13 Tilo Lutz
|
||||
/*
|
||||
* NMS base inclusion file.
|
||||
*
|
||||
* This file brings in all of the dependencies that every NMS script
|
||||
* will need, and sets up objects that all scripts use.
|
||||
*/
|
||||
|
||||
// Find the base file path of Horde
|
||||
@define('HORDE_BASE', dirname(__FILE__) . '/../..');
|
||||
|
||||
// Find the base file path of VACATION
|
||||
@define('NMS_BASE', dirname(__FILE__) . '/..');
|
||||
|
||||
// Registry
|
||||
require_once HORDE_BASE . '/lib/Registry.php';
|
||||
$registry = &Registry::singleton();
|
||||
$registry->pushApp('nms');
|
||||
$conf = &$GLOBALS['conf'];
|
||||
@define('NMS_TEMPLATES', $registry->getParam('templates'));
|
||||
|
||||
// Horde base libraries
|
||||
require_once HORDE_BASE . '/lib/Horde.php';
|
||||
require_once HORDE_BASE . '/lib/Auth.php';
|
||||
require_once HORDE_BASE . '/lib/Secret.php';
|
||||
require_once HORDE_BASE . '/lib/Text.php';
|
||||
require_once HORDE_BASE . '/lib/Help.php';
|
||||
|
||||
// Browser detection library
|
||||
require_once HORDE_BASE . '/lib/Browser.php';
|
||||
$browser = new Browser();
|
||||
if (isset($session_control)) {
|
||||
switch ($session_control) {
|
||||
case 'netscape':
|
||||
if ($browser->isBrowser('mozilla')) {
|
||||
session_cache_limiter('private, must-revalidate');
|
||||
}
|
||||
break;
|
||||
|
||||
case 'cache_ssl_downloads':
|
||||
header('Vary: User-Agent');
|
||||
if ($browser->hasQuirk('cache_ssl_downloads')) {
|
||||
session_cache_limiter('private, must-revalidate');
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Notification system
|
||||
require_once HORDE_BASE . '/lib/Notification.php';
|
||||
$notification = &Notification::singleton();
|
||||
$notification->attach('status');
|
||||
|
||||
// NMS base library
|
||||
#require_once NMS_BASE . '/lib/version.php';
|
||||
define('NMS_NAME', 'Horde nms module');
|
||||
|
||||
// Don't allow access unless there is a Horde login
|
||||
// NOTE: We explicitely do not honor the guests flag here!!!
|
||||
if (!Auth::getAuth()) {
|
||||
header('Location: ' . Horde::url($registry->getWebRoot("horde") . '/login.php?url=' . urlencode(Horde::selfUrl()), true));
|
||||
echo "\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,44 @@
|
|||
# Lam .mo files makefile
|
||||
#
|
||||
# $Lam: lam/po/Makefile,v 1.5 2002/04/16 12:38:24 jan Exp $
|
||||
# This file was copyied from the horde-project, www.horde.org
|
||||
#
|
||||
|
||||
APPLICATION = lam
|
||||
MSGFMT = msgfmt --statistics -c -v -o
|
||||
MSGFMTSOL = msgfmt -v -o
|
||||
|
||||
all: install
|
||||
|
||||
install: *.po
|
||||
@echo "Checking for os ... ${OSTYPE}"; \
|
||||
if test "${OSTYPE}" = "solaris"; then \
|
||||
echo "You'll probably get some warnings on Solaris. This is normal."; \
|
||||
fi; \
|
||||
for LOCALE in `ls *.po | sed 's/\.[^.]*$$//g'`; do \
|
||||
if test $${LOCALE}.po = "messages.po"; then \
|
||||
continue; \
|
||||
fi; \
|
||||
echo "Compiling locale $${LOCALE}:"; \
|
||||
if ./shtool mkdir -p ../locale/$${LOCALE}/LC_MESSAGES; then \
|
||||
if test "${OSTYPE}" = "solaris"; then \
|
||||
if ${MSGFMTSOL} ../locale/$${LOCALE}/LC_MESSAGES/${APPLICATION}.mo $${LOCALE}.po; then \
|
||||
echo " ... done"; \
|
||||
echo; \
|
||||
else \
|
||||
echo " ... FAILED"; \
|
||||
echo; \
|
||||
fi \
|
||||
else \
|
||||
if ${MSGFMT} ../locale/$${LOCALE}/LC_MESSAGES/${APPLICATION}.mo $${LOCALE}.po; then \
|
||||
echo " ... done"; \
|
||||
echo; \
|
||||
else \
|
||||
echo " ... FAILED"; \
|
||||
echo; \
|
||||
fi \
|
||||
fi; \
|
||||
else \
|
||||
echo "Could not create locale directory for $${LOCALE}."; \
|
||||
fi \
|
||||
done;
|
|
@ -0,0 +1,191 @@
|
|||
$Horde: horde/po/README,v 1.11 2002/03/24 13:35:14 jan Exp $
|
||||
|
||||
Horde Translation Guide
|
||||
Copyright 2000-2002 Joris Braakman <jbraakman@yahoo.com>
|
||||
Copyright 2001-2002 Chuck Hagenbuch <chuck@horde.org>
|
||||
Copyright 2001-2002 Jan Schneider <jan@horde.org>
|
||||
|
||||
Contents
|
||||
========
|
||||
- GNU gettext, PHP and Horde
|
||||
- Starting a new translation
|
||||
- Example messages header
|
||||
- Updating a existing translation
|
||||
- Debugging
|
||||
- Solaris
|
||||
- Changing the English standard texts
|
||||
|
||||
|
||||
GNU gettext, PHP and Horde
|
||||
--------------------------
|
||||
|
||||
Horde uses GNU gettext for internationalization (i18n) and localization
|
||||
(l10n). The manual at http://www.gnu.org/manual/gettext/index.html is
|
||||
biased against C and using Emacs. This is more for Horde.
|
||||
|
||||
There is a good explanation for PHP and gettext at:
|
||||
http://www.faqts.com/knowledge-base/view.phtml/aid/2953/fid/422
|
||||
|
||||
People seem to like learning from examples better, so I have used
|
||||
dutch (nl_NL) as an example everywhere.
|
||||
|
||||
|
||||
Starting a new translation
|
||||
--------------------------
|
||||
|
||||
- run xgettext.sh (in this directory - horde/po/), this generates a
|
||||
messages.po file.
|
||||
- rename it to the language you are translating to, e.g. nl_NL.po
|
||||
- adjust the header of nl_NL.po, then remove the #, fuzzy line.
|
||||
Emacs has support for .po files, but I used vi
|
||||
- translate, the time consuming part.
|
||||
- convert the nl_NL.po to horde.mo and put the file in place:
|
||||
$ make install
|
||||
Compiling locale nl_NL:
|
||||
261 translated messages, 21 untranslated messages.
|
||||
... done
|
||||
|
||||
- modify the horde/config/lang.php to use nl_NL as the default language, if you
|
||||
wish.
|
||||
- Make sure your language exists in the horde/config/lang.php file. Also, if
|
||||
the translation uses a character set that isn't ascii, make sure the
|
||||
appropriate charset is defined in $nls['charsets']. You should also define
|
||||
an alias for the language because some browsers only send a two letter code
|
||||
in their Accept-Charset header.
|
||||
|
||||
And then it works.
|
||||
|
||||
|
||||
Example messages header
|
||||
-----------------------
|
||||
# Dutch translation for Horde.
|
||||
# Joris Braakman <jbraakman@yahoo.com>, 2000.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Horde 2.3\n"
|
||||
"POT-Creation-Date: 2000-08-14 10:30+0200\n"
|
||||
"PO-Revision-Date: 2000-08-14 17:17+02:00\n"
|
||||
"Last-Translator: Joris Braakman <jbraakman@yahoo.com>\n"
|
||||
"Language-Team: Dutch <dev@lists.horde.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
|
||||
Updating a existing translation
|
||||
-------------------------------
|
||||
As soon as you check out a new version you have to check the translations
|
||||
again, messages might have been changed after all. If you don't, you
|
||||
can get strange effects. Information is cached every where so as a no
|
||||
brain solutions I sometimes also restart the webbrowser and webserver
|
||||
to make sure everything is fresh. msgmerge will mark translations that
|
||||
have changed a bit to fuzzy.
|
||||
|
||||
If you want to update an existing translation and contribute it to the Horde
|
||||
project you should first contact the last translator to see if he is still
|
||||
working on it, doesn't have time to further maintain it or is even unreachable.
|
||||
|
||||
- run xgettext.sh again, this generates a messages.po file.
|
||||
- merge it with the old .po file:
|
||||
$ msgmerge nl_NL.po messages.po > nl_NL-new.po
|
||||
|
||||
- translate/update the strings that are new or have become fuzzy.
|
||||
- delete the '#, fuzzy' lines.
|
||||
- move the nl_NL-new.po to nl_NL.po
|
||||
- put the new translations in effect
|
||||
$ make install
|
||||
Compiling locale nl_NL:
|
||||
261 translated messages, 21 untranslated messages.
|
||||
... done
|
||||
|
||||
|
||||
Debugging
|
||||
---------
|
||||
Is this locale (nl_NL) installed at all?
|
||||
$ locale -a
|
||||
should list all locales installed on your system.
|
||||
|
||||
On Debian not all locales may be enabled by default. Edit /etc/locale.gen and
|
||||
run locale-gen if you changed the list of enabled locales.
|
||||
|
||||
Do you have any .mo files? Usually in /usr/share/locale/
|
||||
e.g. /usr/share/locale/nl/LC_MESSAGES/tar.mo
|
||||
|
||||
Does gettext even work?
|
||||
Get a string to translate,
|
||||
$ strings /bin/tar | grep Memory
|
||||
Memory exhausted
|
||||
$ (LANG=nl_NL; LANGUAGE=nl_NL; LC_MESSAGES=nl_NL; gettext tar "Memory exhausted" )
|
||||
Geheugen uitgeput
|
||||
|
||||
Does the local Horde file work?
|
||||
Assuming that you have put the translated Horde file in
|
||||
/data/www/horde/locale/nl_NL/LC_MESSAGES/horde.mo
|
||||
$ export TEXTDOMAINDIR=/data/www/horde/locale
|
||||
$ (LANG=nl_NL; LANGUAGE=nl_NL; LC_MESSAGES=nl_NL; gettext horde "Message" )
|
||||
Bericht
|
||||
|
||||
Create a file in the horde directory, langtest.php:
|
||||
<?php
|
||||
setlocale(LC_MESSAGES, 'nl_NL');
|
||||
putenv('LANG=nl_NL');
|
||||
putenv('LANGUAGE=nl_NL');
|
||||
// use the tar test.
|
||||
echo dgettext('tar', 'Memory exhausted');
|
||||
echo '<br />';
|
||||
|
||||
// Specify location of translation tables
|
||||
bindtextdomain('horde', './locale');
|
||||
|
||||
// Choose domain
|
||||
textdomain('horde');
|
||||
|
||||
// Print the already tested message
|
||||
echo _("Message");
|
||||
echo '<br />';
|
||||
|
||||
// this should print the same.
|
||||
echo dgettext('horde', 'Message');
|
||||
|
||||
?>
|
||||
|
||||
OUTPUT web browser:
|
||||
Geheugen uitgeput
|
||||
Bericht
|
||||
Bericht
|
||||
|
||||
|
||||
Solaris
|
||||
-------
|
||||
Since the .mo files are binary, they are platform specific. You
|
||||
have to rerun make in all po directories.
|
||||
|
||||
You have not installed the Supplementary Partial Locales (SUNWploc1) if
|
||||
you get:
|
||||
$ LANG=nl_NL
|
||||
couldn't set locale correctly
|
||||
|
||||
This is what it should say.
|
||||
$ pkginfo | grep ploc
|
||||
system SUNWploc Partial Locales
|
||||
system SUNWploc1 Supplementary Partial Locales
|
||||
|
||||
The stuff is installed in /usr/lib/locale
|
||||
$ ls /usr/lib/locale/nl
|
||||
LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME nl.so.1
|
||||
|
||||
We assume that the Solaris gettext implementation is installed when we compile
|
||||
the translations. Thus the make process will fail if the installed gettext is
|
||||
from GNU. If anyone knows how to determine if the installed gettext is from
|
||||
Solaris or GNU on Solaris systems, please send us a note.
|
||||
|
||||
|
||||
Changing the English standard texts
|
||||
-----------------------------------
|
||||
You can also use gettext to change some of the English texts to your own taste.
|
||||
|
||||
- Create a message.po file as described in "Starting a new translation"
|
||||
- Edit the msgstr entry of the strings you want to change. You can leave all
|
||||
other msgstr entries empty.
|
||||
- Run "make install"
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# $Horde: horde/po/extract.pl,v 1.6 2001/09/14 20:03:33 jon Exp $
|
||||
#
|
||||
# Perl script to extract strings from all the files and print
|
||||
# to stdout for use with xgettext.
|
||||
|
||||
use FileHandle;
|
||||
use File::Basename;
|
||||
use File::Find;
|
||||
use Cwd;
|
||||
|
||||
use strict;
|
||||
use vars qw($exts @dirs $dirs %strings);
|
||||
|
||||
chdir(dirname($0));
|
||||
|
||||
@dirs = qw($ /templates /lib /config /admin /util);
|
||||
|
||||
$exts = '(\.php$|\.inc$|\.dist$)';
|
||||
$dirs = '^' . cwd() . '/..(' . join('|', @dirs) . ')';
|
||||
|
||||
find(\&extract, cwd() . '/..');
|
||||
print join("\n", sort keys %strings), "\n";
|
||||
|
||||
sub extract
|
||||
{
|
||||
my $file = $File::Find::name;
|
||||
my $dir = $File::Find::dir;
|
||||
my $fd = new FileHandle;
|
||||
|
||||
if ($dir !~ /$dirs/s) {
|
||||
$File::Find::prune = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if ($file =~ /$exts/) {
|
||||
open($fd, basename($file));
|
||||
my $data = join('', <$fd>);
|
||||
while ($data =~ s/_\("(.*?)"\)//s) {
|
||||
$strings{"_(\"$1\")"}++;
|
||||
}
|
||||
close($fd);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,716 @@
|
|||
#!/bin/sh
|
||||
##
|
||||
## GNU shtool -- The GNU Portable Shell Tool
|
||||
## Copyright (c) 1994-2000 Ralf S. Engelschall <rse@engelschall.com>
|
||||
##
|
||||
## See http://www.gnu.org/software/shtool/ for more information.
|
||||
## See ftp://ftp.gnu.org/gnu/shtool/ for latest version.
|
||||
##
|
||||
## Version 1.4.9 (16-Apr-2000)
|
||||
## Ingredients: 3/17 available modules
|
||||
##
|
||||
|
||||
##
|
||||
## 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, or contact Ralf S. Engelschall <rse@engelschall.com>.
|
||||
##
|
||||
## Notice: Given that you include this file verbatim into your own
|
||||
## source tree, you are justified in saying that it remains separate
|
||||
## from your package, and that this way you are simply just using GNU
|
||||
## shtool. So, in this situation, there is no requirement that your
|
||||
## package itself is licensed under the GNU General Public License in
|
||||
## order to take advantage of GNU shtool.
|
||||
##
|
||||
|
||||
##
|
||||
## Usage: shtool [<options>] [<cmd-name> [<cmd-options>] [<cmd-args>]]
|
||||
##
|
||||
## Available commands:
|
||||
## echo Print string with optional construct expansion
|
||||
## install Install a program, script or datafile
|
||||
## mkdir Make one or more directories
|
||||
##
|
||||
## Not available commands (because module was not built-in):
|
||||
## mdate Pretty-print modification time of a file or dir
|
||||
## table Pretty-print a field-separated list as a table
|
||||
## prop Display progress with a running propeller
|
||||
## move Move files with simultaneous substitution
|
||||
## mkln Make link with calculation of relative paths
|
||||
## mkshadow Make a shadow tree through symbolic links
|
||||
## fixperm Fix file permissions inside a source tree
|
||||
## tarball Roll distribution tarballs
|
||||
## guessos Simple operating system guesser
|
||||
## arx Extended archive command
|
||||
## slo Separate linker options by library class
|
||||
## scpp Sharing C Pre-Processor
|
||||
## version Generate and maintain a version information file
|
||||
## path Deal with program paths
|
||||
##
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "$0:Error: invalid command line" 1>&2
|
||||
echo "$0:Hint: run \`$0 -h' for usage" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [ ".$1" = ".-h" -o ".$1" = ".--help" ]; then
|
||||
echo "This is GNU shtool, version 1.4.9 (16-Apr-2000)"
|
||||
echo "Copyright (c) 1994-2000 Ralf S. Engelschall <rse@engelschall.com>"
|
||||
echo "Report bugs to <bug-shtool@gnu.org>"
|
||||
echo ''
|
||||
echo "Usage: shtool [<options>] [<cmd-name> [<cmd-options>] [<cmd-args>]]"
|
||||
echo ''
|
||||
echo 'Available global <options>:'
|
||||
echo ' -v, --version display shtool version information'
|
||||
echo ' -h, --help display shtool usage help page (this one)'
|
||||
echo ' -d, --debug display shell trace information'
|
||||
echo ''
|
||||
echo 'Available <cmd-name> [<cmd-options>] [<cmd-args>]:'
|
||||
echo ' echo [-n] [-e] [<str> ...]'
|
||||
echo ' install [-v] [-t] [-c] [-C] [-s] [-m<mode>] [-o<owner>] [-g<group>]'
|
||||
echo ' [-e<ext>] <file> <path>'
|
||||
echo ' mkdir [-t] [-f] [-p] [-m<mode>] <dir> [<dir> ...]'
|
||||
echo ''
|
||||
echo 'Not available <cmd-name> (because module was not built-in):'
|
||||
echo ' mdate [-n] [-z] [-s] [-d] [-f<str>] [-o<spec>] <path>'
|
||||
echo ' table [-F<sep>] [-w<width>] [-c<cols>] [-s<strip>] <str><sep><str>...'
|
||||
echo ' prop [-p<str>]'
|
||||
echo ' move [-v] [-t] [-e] [-p] <src-file> <dst-file>'
|
||||
echo ' mkln [-t] [-f] [-s] <src-path> [<src-path> ...] <dst-path>'
|
||||
echo ' mkshadow [-v] [-t] [-a] <src-dir> <dst-dir>'
|
||||
echo ' fixperm [-v] [-t] <path> [<path> ...]'
|
||||
echo ' tarball [-t] [-v] [-o <tarball>] [-c <prog>] [-d <dir>] [-u'
|
||||
echo ' <user>] [-g <group>] [-e <pattern>] <path> [<path> ...]'
|
||||
echo ' guessos '
|
||||
echo ' arx [-t] [-C<cmd>] <op> <archive> [<file> ...]'
|
||||
echo ' slo [-p<str>] -- -L<dir> -l<lib> [-L<dir> -l<lib> ...]'
|
||||
echo ' scpp [-v] [-p] [-f<filter>] [-o<ofile>] [-t<tfile>] [-M<mark>]'
|
||||
echo ' [-D<dname>] [-C<cname>] <file> [<file> ...]'
|
||||
echo ' version [-l<lang>] [-n<name>] [-p<prefix>] [-s<version>] [-i<knob>]'
|
||||
echo ' [-d<type>] <file>'
|
||||
echo ' path [-s] [-r] [-d] [-b] [-m] [-p<path>] <str> [<str> ...]'
|
||||
echo ''
|
||||
exit 0
|
||||
fi
|
||||
if [ ".$1" = ".-v" -o ".$1" = ."--version" ]; then
|
||||
echo "GNU shtool 1.4.9 (16-Apr-2000)"
|
||||
exit 0
|
||||
fi
|
||||
if [ ".$1" = ".-d" -o ".$1" = ."--debug" ]; then
|
||||
shift
|
||||
set -x
|
||||
fi
|
||||
name=`echo "$0" | sed -e 's;.*/\([^/]*\)$;\1;' -e 's;-sh$;;' -e 's;\.sh$;;'`
|
||||
case "$name" in
|
||||
echo|install|mkdir )
|
||||
# implicit tool command selection
|
||||
tool="$name"
|
||||
;;
|
||||
* )
|
||||
# explicit tool command selection
|
||||
tool="$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
arg_spec=""
|
||||
opt_spec=""
|
||||
gen_tmpfile=no
|
||||
|
||||
##
|
||||
## DISPATCH INTO SCRIPT PROLOG
|
||||
##
|
||||
|
||||
case $tool in
|
||||
echo )
|
||||
str_tool="echo"
|
||||
str_usage="[-n] [-e] [<str> ...]"
|
||||
arg_spec="0+"
|
||||
opt_spec="n.e."
|
||||
opt_n=no
|
||||
opt_e=no
|
||||
;;
|
||||
install )
|
||||
str_tool="install"
|
||||
str_usage="[-v] [-t] [-c] [-C] [-s] [-m<mode>] [-o<owner>] [-g<group>] [-e<ext>] <file> <path>"
|
||||
arg_spec="2="
|
||||
opt_spec="v.t.c.C.s.m:o:g:e:"
|
||||
opt_v=no
|
||||
opt_t=no
|
||||
opt_c=no
|
||||
opt_C=no
|
||||
opt_s=no
|
||||
opt_m=""
|
||||
opt_o=""
|
||||
opt_g=""
|
||||
opt_e=""
|
||||
;;
|
||||
mkdir )
|
||||
str_tool="mkdir"
|
||||
str_usage="[-t] [-f] [-p] [-m<mode>] <dir> [<dir> ...]"
|
||||
arg_spec="1+"
|
||||
opt_spec="t.f.p.m:"
|
||||
opt_t=no
|
||||
opt_f=no
|
||||
opt_p=no
|
||||
opt_m=""
|
||||
;;
|
||||
-* )
|
||||
echo "$0:Error: unknown option \`$tool'" 2>&1
|
||||
echo "$0:Hint: run \`$0 -h' for usage" 2>&1
|
||||
exit 1
|
||||
;;
|
||||
* )
|
||||
echo "$0:Error: unknown command \`$tool'" 2>&1
|
||||
echo "$0:Hint: run \`$0 -h' for usage" 2>&1
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
##
|
||||
## COMMON UTILITY CODE
|
||||
##
|
||||
|
||||
# determine name of tool
|
||||
if [ ".$tool" != . ]; then
|
||||
# used inside shtool script
|
||||
toolcmd="$0 $tool"
|
||||
toolcmdhelp="shtool $tool"
|
||||
msgprefix="shtool:$tool"
|
||||
else
|
||||
# used as standalone script
|
||||
toolcmd="$0"
|
||||
toolcmdhelp="sh $0"
|
||||
msgprefix="$str_tool"
|
||||
fi
|
||||
|
||||
# parse argument specification string
|
||||
eval `echo $arg_spec |\
|
||||
sed -e 's/^\([0-9]*\)\([+=]\)/arg_NUMS=\1; arg_MODE=\2/'`
|
||||
|
||||
# parse option specification string
|
||||
eval `echo h.$opt_spec |\
|
||||
sed -e 's/\([a-zA-Z0-9]\)\([.:+]\)/opt_MODE_\1=\2;/g'`
|
||||
|
||||
# interate over argument line
|
||||
opt_PREV=''
|
||||
while [ $# -gt 0 ]; do
|
||||
# special option stops processing
|
||||
if [ ".$1" = ".--" ]; then
|
||||
shift
|
||||
break
|
||||
fi
|
||||
|
||||
# determine option and argument
|
||||
opt_ARG_OK=no
|
||||
if [ ".$opt_PREV" != . ]; then
|
||||
# merge previous seen option with argument
|
||||
opt_OPT="$opt_PREV"
|
||||
opt_ARG="$1"
|
||||
opt_ARG_OK=yes
|
||||
opt_PREV=''
|
||||
else
|
||||
# split argument into option and argument
|
||||
case "$1" in
|
||||
-[a-zA-Z0-9]*)
|
||||
eval `echo "x$1" |\
|
||||
sed -e 's/^x-\([a-zA-Z0-9]\)/opt_OPT="\1";/' \
|
||||
-e 's/";\(.*\)$/"; opt_ARG="\1"/'`
|
||||
;;
|
||||
-[a-zA-Z0-9])
|
||||
opt_OPT=`echo "x$1" | cut -c3-`
|
||||
opt_ARG=''
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# eat up option
|
||||
shift
|
||||
|
||||
# determine whether option needs an argument
|
||||
eval "opt_MODE=\$opt_MODE_${opt_OPT}"
|
||||
if [ ".$opt_ARG" = . -a ".$opt_ARG_OK" != .yes ]; then
|
||||
if [ ".$opt_MODE" = ".:" -o ".$opt_MODE" = ".+" ]; then
|
||||
opt_PREV="$opt_OPT"
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
|
||||
# process option
|
||||
case $opt_MODE in
|
||||
'.' )
|
||||
# boolean option
|
||||
eval "opt_${opt_OPT}=yes"
|
||||
;;
|
||||
':' )
|
||||
# option with argument (multiple occurances override)
|
||||
eval "opt_${opt_OPT}=\"\$opt_ARG\""
|
||||
;;
|
||||
'+' )
|
||||
# option with argument (multiple occurances append)
|
||||
eval "opt_${opt_OPT}=\"\$opt_${opt_OPT} \$opt_ARG\""
|
||||
;;
|
||||
* )
|
||||
echo "$msgprefix:Error: unknown option: \`-$opt_OPT'" 1>&2
|
||||
echo "$msgprefix:Hint: run \`$toolcmdhelp -h' or \`man shtool' for details" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if [ ".$opt_PREV" != . ]; then
|
||||
echo "$msgprefix:Error: missing argument to option \`-$opt_PREV'" 1>&2
|
||||
echo "$msgprefix:Hint: run \`$toolcmdhelp -h' or \`man shtool' for details" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# process help option
|
||||
if [ ".$opt_h" = .yes ]; then
|
||||
echo "Usage: $toolcmdhelp $str_usage"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# complain about incorrect number of arguments
|
||||
case $arg_MODE in
|
||||
'=' )
|
||||
if [ $# -ne $arg_NUMS ]; then
|
||||
echo "$msgprefix:Error: invalid number of arguments (exactly $arg_NUMS expected)" 1>&2
|
||||
echo "$msgprefix:Hint: run \`$toolcmd -h' or \`man shtool' for details" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
'+' )
|
||||
if [ $# -lt $arg_NUMS ]; then
|
||||
echo "$msgprefix:Error: invalid number of arguments (at least $arg_NUMS expected)" 1>&2
|
||||
echo "$msgprefix:Hint: run \`$toolcmd -h' or \`man shtool' for details" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# establish a temporary file on request
|
||||
if [ ".$gen_tmpfile" = .yes ]; then
|
||||
if [ ".$TMPDIR" != . ]; then
|
||||
tmpdir="$TMPDIR"
|
||||
elif [ ".$TEMPDIR" != . ]; then
|
||||
tmpdir="$TEMPDIR"
|
||||
else
|
||||
tmpdir="/tmp"
|
||||
fi
|
||||
tmpfile="$tmpdir/.shtool.$$"
|
||||
rm -f $tmpfile >/dev/null 2>&1
|
||||
touch $tmpfile
|
||||
fi
|
||||
|
||||
##
|
||||
## DISPATCH INTO SCRIPT BODY
|
||||
##
|
||||
|
||||
case $tool in
|
||||
|
||||
echo )
|
||||
##
|
||||
## echo -- Print string with optional construct expansion
|
||||
## Copyright (c) 1998-2000 Ralf S. Engelschall <rse@engelschall.com>
|
||||
## Originally written for WML as buildinfo
|
||||
##
|
||||
|
||||
text="$*"
|
||||
|
||||
# check for broken escape sequence expansion
|
||||
seo=''
|
||||
bytes=`echo '\1' | wc -c | awk '{ printf("%s", $1); }'`
|
||||
if [ ".$bytes" != .3 ]; then
|
||||
bytes=`echo -E '\1' | wc -c | awk '{ printf("%s", $1); }'`
|
||||
if [ ".$bytes" = .3 ]; then
|
||||
seo='-E'
|
||||
fi
|
||||
fi
|
||||
|
||||
# check for existing -n option (to suppress newline)
|
||||
minusn=''
|
||||
bytes=`echo -n 123 2>/dev/null | wc -c | awk '{ printf("%s", $1); }'`
|
||||
if [ ".$bytes" = .3 ]; then
|
||||
minusn='-n'
|
||||
fi
|
||||
|
||||
# determine terminal bold sequence
|
||||
term_bold=''
|
||||
term_norm=''
|
||||
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[Bb]'`" != . ]; then
|
||||
case $TERM in
|
||||
# for the most important terminal types we directly know the sequences
|
||||
xterm|xterm*|vt220|vt220*)
|
||||
term_bold=`awk 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' </dev/null 2>/dev/null`
|
||||
term_norm=`awk 'BEGIN { printf("%c%c%c", 27, 91, 109); }' </dev/null 2>/dev/null`
|
||||
;;
|
||||
vt100|vt100*)
|
||||
term_bold=`awk 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' </dev/null 2>/dev/null`
|
||||
term_norm=`awk 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' </dev/null 2>/dev/null`
|
||||
;;
|
||||
# for all others, we try to use a possibly existing `tput' or `tcout' utility
|
||||
* )
|
||||
paths=`echo $PATH | sed -e 's/:/ /g'`
|
||||
for tool in tput tcout; do
|
||||
for dir in $paths; do
|
||||
if [ -r "$dir/$tool" ]; then
|
||||
for seq in bold md smso; do # 'smso' is last
|
||||
bold="`$dir/$tool $seq 2>/dev/null`"
|
||||
if [ ".$bold" != . ]; then
|
||||
term_bold="$bold"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ ".$term_bold" != . ]; then
|
||||
for seq in sgr0 me rmso reset; do # 'reset' is last
|
||||
norm="`$dir/$tool $seq 2>/dev/null`"
|
||||
if [ ".$norm" != . ]; then
|
||||
term_norm="$norm"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ ".$term_bold" != . -a ".$term_norm" != . ]; then
|
||||
break;
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
if [ ".$term_bold" = . -o ".$term_norm" = . ]; then
|
||||
echo "$msgprefix:Warning: unable to determine terminal sequence for bold mode" 1>&2
|
||||
fi
|
||||
fi
|
||||
|
||||
# determine user name
|
||||
username=''
|
||||
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[uU]'`" != . ]; then
|
||||
username="$LOGNAME"
|
||||
if [ ".$username" = . ]; then
|
||||
username="$USER"
|
||||
if [ ".$username" = . ]; then
|
||||
username="`(whoami) 2>/dev/null |\
|
||||
awk '{ printf("%s", $1); }'`"
|
||||
if [ ".$username" = . ]; then
|
||||
username="`(who am i) 2>/dev/null |\
|
||||
awk '{ printf("%s", $1); }'`"
|
||||
if [ ".$username" = . ]; then
|
||||
username='unknown'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# determine user id
|
||||
userid=''
|
||||
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%U'`" != . ]; then
|
||||
userid="`(id -u) 2>/dev/null`"
|
||||
if [ ".$userid" = . ]; then
|
||||
str="`(id) 2>/dev/null`"
|
||||
if [ ".`echo $str | grep '^uid[ ]*=[ ]*[0-9]*('`" != . ]; then
|
||||
userid=`echo $str | sed -e 's/^uid[ ]*=[ ]*//' -e 's/(.*//'`
|
||||
fi
|
||||
if [ ".$userid" = . ]; then
|
||||
userid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \
|
||||
sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`
|
||||
if [ ".$userid" = . ]; then
|
||||
userid=`(ypcat passwd) 2>/dev/null |
|
||||
egrep "^${username}:" | \
|
||||
sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`
|
||||
if [ ".$userid" = . ]; then
|
||||
userid='?'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# determine host name
|
||||
hostname=''
|
||||
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%h'`" != . ]; then
|
||||
hostname="`(uname -n) 2>/dev/null |\
|
||||
awk '{ printf("%s", $1); }'`"
|
||||
if [ ".$hostname" = . ]; then
|
||||
hostname="`(hostname) 2>/dev/null |\
|
||||
awk '{ printf("%s", $1); }'`"
|
||||
if [ ".$hostname" = . ]; then
|
||||
hostname='unknown'
|
||||
fi
|
||||
fi
|
||||
case $hostname in
|
||||
*.* )
|
||||
domainname=".`echo $hostname | cut -d. -f2-`"
|
||||
hostname="`echo $hostname | cut -d. -f1`"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# determine domain name
|
||||
domainname=''
|
||||
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%d'`" != . ]; then
|
||||
if [ ".$domainname" = . ]; then
|
||||
if [ -f /etc/resolv.conf ]; then
|
||||
domainname="`egrep '^[ ]*domain' /etc/resolv.conf | head -1 |\
|
||||
sed -e 's/.*domain//' \
|
||||
-e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \
|
||||
-e 's/^\.//' -e 's/^/./' |\
|
||||
awk '{ printf("%s", $1); }'`"
|
||||
if [ ".$domainname" = . ]; then
|
||||
domainname="`egrep '^[ ]*search' /etc/resolv.conf | head -1 |\
|
||||
sed -e 's/.*search//' \
|
||||
-e 's/^[ ]*//' -e 's/^ *//' -e 's/^ *//' \
|
||||
-e 's/ .*//' -e 's/ .*//' \
|
||||
-e 's/^\.//' -e 's/^/./' |\
|
||||
awk '{ printf("%s", $1); }'`"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# determine current time
|
||||
time_day=''
|
||||
time_month=''
|
||||
time_year=''
|
||||
time_monthname=''
|
||||
if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[DMYm]'`" != . ]; then
|
||||
time_day=`date '+%d'`
|
||||
time_month=`date '+%m'`
|
||||
time_year=`date '+%Y' 2>/dev/null`
|
||||
if [ ".$time_year" = . ]; then
|
||||
time_year=`date '+%y'`
|
||||
case $time_year in
|
||||
[5-9][0-9]) time_year="19$time_year" ;;
|
||||
[0-4][0-9]) time_year="20$time_year" ;;
|
||||
esac
|
||||
fi
|
||||
case $time_month in
|
||||
1|01) time_monthname='Jan' ;;
|
||||
2|02) time_monthname='Feb' ;;
|
||||
3|03) time_monthname='Mar' ;;
|
||||
4|04) time_monthname='Apr' ;;
|
||||
5|05) time_monthname='May' ;;
|
||||
6|06) time_monthname='Jun' ;;
|
||||
7|07) time_monthname='Jul' ;;
|
||||
8|08) time_monthname='Aug' ;;
|
||||
9|09) time_monthname='Sep' ;;
|
||||
10) time_monthname='Oct' ;;
|
||||
11) time_monthname='Nov' ;;
|
||||
12) time_monthname='Dec' ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# expand special ``%x'' constructs
|
||||
if [ ".$opt_e" = .yes ]; then
|
||||
text=`echo $seo "$text" |\
|
||||
sed -e "s/%B/${term_bold}/g" \
|
||||
-e "s/%b/${term_norm}/g" \
|
||||
-e "s/%u/${username}/g" \
|
||||
-e "s/%U/${userid}/g" \
|
||||
-e "s/%h/${hostname}/g" \
|
||||
-e "s/%d/${domainname}/g" \
|
||||
-e "s/%D/${time_day}/g" \
|
||||
-e "s/%M/${time_month}/g" \
|
||||
-e "s/%Y/${time_year}/g" \
|
||||
-e "s/%m/${time_monthname}/g" 2>/dev/null`
|
||||
fi
|
||||
|
||||
# create output
|
||||
if [ .$opt_n = .no ]; then
|
||||
echo $seo "$text"
|
||||
else
|
||||
# the harder part: echo -n is best, because
|
||||
# awk may complain about some \xx sequences.
|
||||
if [ ".$minusn" != . ]; then
|
||||
echo $seo $minusn "$text"
|
||||
else
|
||||
echo dummy | awk '{ printf("%s", TEXT); }' TEXT="$text"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
install )
|
||||
##
|
||||
## install -- Install a program, script or datafile
|
||||
## Copyright (c) 1997-2000 Ralf S. Engelschall <rse@engelschall.com>
|
||||
## Originally written for shtool
|
||||
##
|
||||
|
||||
src="$1"
|
||||
dst="$2"
|
||||
|
||||
# If destination is a directory, append the input filename
|
||||
if [ -d $dst ]; then
|
||||
dst=`echo "$dst" | sed -e 's:/$::'`
|
||||
dstfile=`echo "$src" | sed -e 's;.*/\([^/]*\)$;\1;'`
|
||||
dst="$dst/$dstfile"
|
||||
fi
|
||||
|
||||
# Add a possible extension to src and dst
|
||||
if [ ".$opt_e" != . ]; then
|
||||
src="$src$opt_e"
|
||||
dst="$dst$opt_e"
|
||||
fi
|
||||
|
||||
# Check for correct arguments
|
||||
if [ ".$src" = ".$dst" ]; then
|
||||
echo "$msgprefix:Error: source and destination are the same" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make a temp file name in the destination directory
|
||||
dstdir=`echo $dst | sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;' -e 's;^$;.;'`
|
||||
dsttmp="$dstdir/#INST@$$#"
|
||||
|
||||
# Verbosity
|
||||
if [ ".$opt_v" = .yes ]; then
|
||||
echo "$src -> $dst" 1>&2
|
||||
fi
|
||||
|
||||
# Copy or move the file name to the temp name
|
||||
# (because we might be not allowed to change the source)
|
||||
if [ ".$opt_C" = .yes ]; then
|
||||
opt_c=yes
|
||||
fi
|
||||
if [ ".$opt_c" = .yes ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "cp $src $dsttmp" 1>&2
|
||||
fi
|
||||
cp $src $dsttmp || exit $?
|
||||
else
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "mv $src $dsttmp" 1>&2
|
||||
fi
|
||||
mv $src $dsttmp || exit $?
|
||||
fi
|
||||
|
||||
# Adjust the target file
|
||||
# (we do chmod last to preserve setuid bits)
|
||||
if [ ".$opt_s" = .yes ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "strip $dsttmp" 1>&2
|
||||
fi
|
||||
strip $dsttmp || exit $?
|
||||
fi
|
||||
if [ ".$opt_o" != . ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "chown $opt_o $dsttmp" 1>&2
|
||||
fi
|
||||
chown $opt_o $dsttmp || exit $?
|
||||
fi
|
||||
if [ ".$opt_g" != . ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "chgrp $opt_g $dsttmp" 1>&2
|
||||
fi
|
||||
chgrp $opt_g $dsttmp || exit $?
|
||||
fi
|
||||
if [ ".$opt_m" != . ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "chmod $opt_m $dsttmp" 1>&2
|
||||
fi
|
||||
chmod $opt_m $dsttmp || exit $?
|
||||
fi
|
||||
|
||||
# Determine whether to do a quick install
|
||||
# (has to be done _after_ the strip was already done)
|
||||
quick=no
|
||||
if [ ".$opt_C" = .yes ]; then
|
||||
if [ -r $dst ]; then
|
||||
if cmp -s $src $dst; then
|
||||
quick=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Finally install the file to the real destination
|
||||
if [ $quick = yes ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "rm -f $dsttmp" 1>&2
|
||||
fi
|
||||
rm -f $dsttmp
|
||||
else
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "rm -f $dst && mv $dsttmp $dst" 1>&2
|
||||
fi
|
||||
rm -f $dst && mv $dsttmp $dst
|
||||
fi
|
||||
;;
|
||||
|
||||
mkdir )
|
||||
##
|
||||
## mkdir -- Make one or more directories
|
||||
## Copyright (c) 1996-2000 Ralf S. Engelschall <rse@engelschall.com>
|
||||
## Originally written for public domain by Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
## Cleaned up and enhanced for shtool
|
||||
##
|
||||
|
||||
errstatus=0
|
||||
for p in ${1+"$@"}; do
|
||||
# if the directory already exists...
|
||||
if [ -d "$p" ]; then
|
||||
if [ ".$opt_f" = .no ] && [ ".$opt_p" = .no ]; then
|
||||
echo "$msgprefix:Error: directory already exists: $p" 1>&2
|
||||
errstatus=1
|
||||
break
|
||||
else
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
# if the directory has to be created...
|
||||
if [ ".$opt_p" = .no ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "mkdir $p" 1>&2
|
||||
fi
|
||||
mkdir $p || errstatus=$?
|
||||
else
|
||||
# the smart situation
|
||||
set fnord `echo ":$p" |\
|
||||
sed -e 's/^:\//%/' \
|
||||
-e 's/^://' \
|
||||
-e 's/\// /g' \
|
||||
-e 's/^%/\//'`
|
||||
shift
|
||||
pathcomp=''
|
||||
for d in ${1+"$@"}; do
|
||||
pathcomp="$pathcomp$d"
|
||||
case "$pathcomp" in
|
||||
-* ) pathcomp="./$pathcomp" ;;
|
||||
esac
|
||||
if [ ! -d "$pathcomp" ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "mkdir $pathcomp" 1>&2
|
||||
fi
|
||||
mkdir $pathcomp || errstatus=$?
|
||||
if [ ".$opt_m" != . ]; then
|
||||
if [ ".$opt_t" = .yes ]; then
|
||||
echo "chmod $opt_m $pathcomp" 1>&2
|
||||
fi
|
||||
chmod $opt_m $pathcomp || errstatus=$?
|
||||
fi
|
||||
fi
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
fi
|
||||
done
|
||||
exit $errstatus
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
##EOF##
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# Copyright (C) 2001 Ignat Ikryanov <iignat@newmail.ru>
|
||||
#
|
||||
|
||||
use strict;
|
||||
my @INtext;
|
||||
|
||||
open (text, "ru_RU.po") || die "$!";
|
||||
open (text1,">ru_RU.KOI8-R.po") || die "$!";
|
||||
|
||||
@INtext=<text>;
|
||||
close(text);
|
||||
|
||||
foreach(@INtext)
|
||||
{
|
||||
tr/면坼劉帳票寤浹顥涉尊陰艶<E999B0>琶麟潗愁㉸爐脚稿妹합樸龐일近愷펀裳緊훽保<ED9BBD>/J촹愾曠百珉尙墓죗碌箝鷺螺答<EFBFBD>輓윰儒蓄蘖晤犧<EFBFBD>殮投倧睛隘劃<EFBFBD>樟初循/;
|
||||
s/CP1251/KOI8-R/;
|
||||
|
||||
# You can alternatively use the following lines to change the conversion direction.
|
||||
# tr/J촹愾曠百珉尙墓죗碌箝鷺螺答<EFA491>輓윰儒蓄蘖晤犧<E699A4>殮投倧睛隘劃<E99A98>樟初循/면坼劉帳票寤浹顥涉尊陰艶<E999B0>琶麟潗愁㉸爐脚稿妹합樸龐일近愷펀裳緊훽保<ED9BBD>/;
|
||||
|
||||
print text1;
|
||||
}
|
||||
close (text1);
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd `dirname $0`;
|
||||
perl extract.pl | xgettext --keyword=_ -C --no-location -
|
|
@ -0,0 +1,39 @@
|
|||
<!-- $Horde: nms/templates/notconfigured.inc,v 1.2 2002/06/15 05:05:30 chuck Exp $-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo _("Nms module is not properly configured") ?></title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
<?php include NMS_BASE . '/templates/css.inc'; ?>
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table border="0" align="center" width="500" cellpadding="2" cellspacing="4">
|
||||
<tr><td colspan="2" class="header"><b><?php echo _("Some of NMS module's configuration files are missing:") ?></b></td></tr>
|
||||
|
||||
<?php if (!@is_readable('./config/conf.php')): ?>
|
||||
<tr>
|
||||
<td align="right" class="smallheader"><b>conf.php</b></td>
|
||||
<td class="light"><?php echo _("This is the main NMS module configuration file. It contains paths and options for all NMS module scripts.") ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!@is_readable('./config/html.php')): ?>
|
||||
<tr>
|
||||
<td align="right" class="smallheader"><b>html.php</b></td>
|
||||
<td class="light"><?php echo _("This file controls the stylesheet that is used to set colors and fonts in addition to or overriding Horde defaults.") ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!@is_readable('./config/prefs.php')): ?>
|
||||
<tr>
|
||||
<td align="right" class="smallheader"><b>prefs.php</b></td>
|
||||
<td class="light"><?php echo _("This file controls the default preferences for NMS module, and also controls which preferences users can alter.") ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue