Imported Upstream version 4.0.5

This commit is contained in:
Mario Fetka
2021-07-25 07:50:50 +02:00
parent 8ff3be4216
commit 3bfaa6e020
2049 changed files with 317193 additions and 1632423 deletions

18
install/po/LINGUAS Normal file
View File

@@ -0,0 +1,18 @@
bn_IN # Bengali (India)
de # German
ca # Catalan
cs # Czech
es # Spanish
eu # Basque
fr # French
hi # Hindi
hu # Hungarian
id # Indonesian
ja # Japanese
kn # Kannada
nl # Dutch
pl # Polish
ru # Russian
tg # Tajik
uk # Ukrainian
zh_CN # Chinese (China)

214
install/po/Makefile.in Normal file
View File

@@ -0,0 +1,214 @@
prefix = @prefix@
exec_prefix = ${prefix}
datarootdir = ${prefix}/share
datadir = ${datarootdir}
localedir = ${datarootdir}/locale
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL@ -m 644
AWK = @AWK@
SED = @SED@
MKDIR_P = @MKDIR_P@
XGETTEXT = @XGETTEXT@
MSGFMT = @MSGFMT@
MSGINIT = @MSGINIT@
MSGMERGE = @MSGMERGE@
MSGCMP = @MSGCMP@
MSGATTRIB = @MSGATTRIB@
TX = @TX@
IPA_TEST_I18N = ../../ipatests/i18n.py
DOMAIN = @GETTEXT_DOMAIN@
MSGMERGE_UPDATE = $(MSGMERGE) --update
COPYRIGHT_HOLDER = Red Hat
PACKAGE_NAME = $(DOMAIN)
PACKAGE_BUGREPORT = https://hosted.fedoraproject.org/projects/freeipa/newticket
XGETTEXT_OPTIONS = \
--add-comments="TRANSLATORS:" \
--copyright-holder="$(COPYRIGHT_HOLDER)" \
--package-name="$(PACKAGE_NAME)" \
--msgid-bugs-address="$(PACKAGE_BUGREPORT)"
languages = $(shell $(SED) 's/\#.*//' LINGUAS) # The sed command removes comments
po_files = $(patsubst %, %.po, $(languages))
mo_files = $(patsubst %.po, %.mo, $(po_files))
po_count=$(words $(po_files))
PY_FILES = $(shell cd ../..; git ls-files | grep -v -e "^ipatests/" -e "^doc/" -e "^install/po/" -e "^ipapython/test/" -e "setup.py" -e "setup-client.py" | grep "\.py$$" | tr '\n' ' '; cd install/po)
C_FILES = $(shell cd ../..; git ls-files | grep "\.c$$" | tr '\n' ' '; cd install/po)
H_FILES = $(shell cd ../..; git ls-files | grep "\.h$$" | tr '\n' ' '; cd install/po)
# Please keep this list sorted!
PY_EXPLICIT_FILES = \
install/tools/ipa-adtrust-install \
install/tools/ipa-ca-install \
install/tools/ipa-compat-manage \
install/tools/ipa-csreplica-manage \
install/tools/ipactl \
install/tools/ipa-dns-install \
install/tools/ipa-ldap-updater \
install/tools/ipa-managed-entries \
install/tools/ipa-nis-manage \
install/tools/ipa-replica-conncheck \
install/tools/ipa-replica-install \
install/tools/ipa-replica-manage \
install/tools/ipa-replica-prepare \
install/tools/ipa-server-certinstall \
install/tools/ipa-server-install \
install/tools/ipa-upgradeconfig \
ipa \
ipa-client/ipa-install/ipa-client-install
PYTHON_POTFILES = $(PY_FILES) $(PY_EXPLICIT_FILES)
C_POTFILES = $(C_FILES) $(H_FILES)
.SUFFIXES:
.SUFFIXES: .po .mo
.PHONY: all create-po update-po update-pot install mostlyclean clean distclean test mo-files debug strip-po merge-po $(po_files)
all:
SUFFIXES = .po .mo
.po.mo:
@echo Creating $@; \
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
$(po_files): $(DOMAIN).pot
@if [ ! -f $@ ]; then \
lang=`echo $@ | $(SED) -r -e 's/\.po$$//'` # Strip .po suffix ; \
echo Creating nonexistent $@, you should add this file to your SCM repository; \
$(MSGINIT) --locale $$lang --no-translator -i $(DOMAIN).pot -o $@; \
fi; \
echo Merging $(DOMAIN).pot into $@; \
$(MSGMERGE) --no-fuzzy-matching -o $@ $@ $(DOMAIN).pot
strip-po:
@for po_file in $(po_files); do \
echo Stripping $$po_file; \
$(MSGATTRIB) --translated --no-fuzzy --no-location $$po_file > $$po_file.tmp; \
mv $$po_file.tmp $$po_file; \
done
@export FILES_TO_REMOVE=`find . -name '*.po' -empty`; \
if [ "$$FILES_TO_REMOVE" != "" ]; then \
echo Removing empty translation files; \
rm -v $$FILES_TO_REMOVE; \
echo; echo Please remove the deleted files from LINGUAS!; echo; \
fi
create-po: $(DOMAIN).pot
@for po_file in $(po_files); do \
if [ ! -e $$po_file ]; then \
lang=`echo $$po_file | $(SED) -r -e 's/\.po$$//'` # Strip .po suffix ; \
echo Creating nonexistent $$po_file, you should add this file to your SCM repository; \
$(MSGINIT) --locale $$lang --no-translator -i $(DOMAIN).pot -o $$po_file; \
fi; \
done
pull-po:
cd ../..; $(TX) pull -f
$(MAKE) strip-po
merge-po: update-pot
$(MAKE) $(po_files)
update-po: merge-po
$(MAKE) strip-po
update-pot:
@rm -f $(DOMAIN).pot.update
@pushd ../.. ; \
$(XGETTEXT) $(XGETTEXT_OPTIONS) \
--output install/po/$(DOMAIN).pot.update \
--language="python" \
$(PYTHON_POTFILES) \
&& \
$(XGETTEXT) $(XGETTEXT_OPTIONS) \
--output install/po/$(DOMAIN).pot.update \
--join-existing \
--language="c" \
--from-code="UTF-8" \
--keyword='_' \
$(C_POTFILES) ; \
popd ; \
$(SED) '/^"POT-Creation-Date: .*"$$/d' $(DOMAIN).pot.update > $(DOMAIN).pot.update.tmp ; \
$(SED) -i -r -e 's%("Content-Type: text/plain; charset=)(.*)(\\n")%\1UTF-8\3%' $(DOMAIN).pot.update.tmp ; \
$(SED) '/^"POT-Creation-Date: .*"$$/d' $(DOMAIN).pot > $(DOMAIN).pot.tmp ; \
if ! cmp -s $(DOMAIN).pot.update.tmp $(DOMAIN).pot.tmp ; then \
echo "$(DOMAIN).pot updated" ; \
mv $(DOMAIN).pot.update $(DOMAIN).pot ; \
# Replace the charset with UTF-8 ; \
$(SED) -i -r -e 's%("Content-Type: text/plain; charset=)(.*)(\\n")%\1UTF-8\3%' $(DOMAIN).pot ; \
else \
echo "$(DOMAIN).pot unmodified" ; \
fi || :
@rm -f $(DOMAIN).pot.update $(DOMAIN).pot.update.tmp $(DOMAIN).pot.tmp
$(IPA_TEST_I18N) --show-strings --validate-pot $(DOMAIN).pot
msg-stats:
@pot_count=`$(MSGFMT) --statistics $(DOMAIN).pot 2>&1 | \
$(AWK) '{match($$0, /([0-9]+) translated messages, ([0-9]+) untranslated messages/, groups); \
printf "%s\n", groups[2];}'` ; \
echo "$(DOMAIN).pot has $$pot_count messages. There are $(po_count) po translation files." ; \
for po_file in $(po_files); do \
$(MSGFMT) --statistics $$po_file 2>&1 | \
$(AWK) -v po_file=$$po_file -v pot_count=$$pot_count -v pot_file=$(DOMAIN).pot \
'BEGIN {po_name = gensub(/\.po$$/, "", 1, po_file);} \
match($$0, /([[:digit:]]+) translated/, group) {translated = group[1]} \
match($$0, /([[:digit:]]+) untranslated/, group) {untranslated = group[1]} \
match($$0, /([[:digit:]]+) fuzzy/, group) {fuzzy = group[1]} \
END {pot_untranslated = pot_count - translated; \
ratio = sprintf("%d/%d", translated, pot_count); \
printf "%-7s %11s %5.1f%% %5d untranslated, %5d fuzzy\n", \
po_name ":", ratio, translated/pot_count*100.0, pot_untranslated, fuzzy;}'; \
done
mo-files: $(mo_files)
install: $(mo_files)
@for lang in $(languages); do \
dstdir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
$(MKDIR_P) $$dstdir; \
$(INSTALL) $$lang.mo $$dstdir/$(DOMAIN).mo; \
done
mostlyclean:
rm -rf *.mo test.po test_locale tmp.pot
rm -f $(DOMAIN).pot.update $(DOMAIN).pot.update.tmp $(DOMAIN).pot.tmp
clean: mostlyclean
distclean: clean
rm -f Makefile
maintainer-clean: distclean
test:
$(IPA_TEST_I18N) --test-gettext
validate-pot:
$(IPA_TEST_I18N) --show-strings --validate-pot $(DOMAIN).pot
validate-po:
$(IPA_TEST_I18N) --show-strings --validate-po $(po_files)
validate-src-strings:
@rm -f tmp.pot
@touch tmp.pot
@$(MAKE) DOMAIN=tmp update-pot; \
status=$$?; \
rm tmp.pot; \
exit $$status
debug:
@echo Python potfiles:
@echo PY_FILES = $(PY_FILES)
@echo PY_EXPLICIT_FILES = $(PY_EXPLICIT_FILES)
@echo C potfiles:
@echo C_FILES = $(C_FILES)
@echo H_FILES = $(H_FILES)

143
install/po/README Normal file
View File

@@ -0,0 +1,143 @@
Q: I've added a new source file, how do I make sure it's strings get translated?
A: Edit Makefile.in and add the source file to the appropriate *_POTFILES list.
Then run "make update-po".
NOTE: Now this i only necessary for python files that lack the .py
extension. All .py, .c and .h files are automatically sourced.
Q: Untranslated strings and file locations are missing from my .po file.
How do I add them?
A: make merge-po
Untranslated strings are left out of the files in SCM. The merge-po command
runs msgmerge to add them again.
Q: How do I pick up new strings to translate from the source files after the
source have been modified?
A: make merge-po
This regenerates the pot template file by scanning all the source files.
Then the new strings are merged into each .po file from the new pot file.
Q: How do I just regenerate the pot template file without regenerating all the
.po files?
A: make update-pot
Q: I am done translating. How do I commit my changes?
A: Run `make strip-po` to remove unneeded information from the po files, then
add your changes to SCM.
Q: How do I add a new language for translation?
A: Edit the LINGUAS file and add the new language. Then run "make create-po".
This will generate a new .po file for each language which doesn't have one
yet. Be sure to add the new .po file(s) to the source code repository. For
certain languages, you may have to edit the Plurals line. See:
http://www.gnu.org/software/hello/manual/gettext/Plural-forms.html
However, if this line is wrong, it is often an indicator that the locale
value is incorrect. For example, using 'jp' for Japanese in stead of 'ja'
will result in an invalid Plurals line.
Q: What files must be under source code control?
A: The files Makefile.in, LINGUAS control the build, they must be in the SCM.
The *.pot and *.po files are used by translators, they must be in SCM so the
translator can checkout out a .po files, add the translations, and then check
the .po file back in.
Be careful, .po files may be automatically updated when the source files
change (or the .pot changes, usually the .pot file changes only as a result
of rescanning the source files). This mean a .po file might be automatically
updated while a translator has the file out for editing, all the caveats
about SCM merging apply.
Q: Which are automatically generated and thus do not need to be in SCM?
A: The *.mo files are automatically generated on demand from their corresponding
.po file.
Q: What role does the .pot file play?
A: The .pot file is called a template file. It is generated by scanning all the
source files (e.g. *.py *.c *.h) in the project using xgettext. xgettext
locates every translatable string (e.g. strings marked with _()) and adds
that string along with metadata about it's location to the .pot file. Thus
the .pot file is a collection of every translatable string in the project. If
you edit a source file and add a translatable string you will have to
regenerate the .pot file in order to pick up the new string.
Q: What is the relationship between a .po file and the .pot file?
A: A .po file contains the translations for particular language. It derives from
the .pot file. When the .pot file is updated with new strings to translate
each .po will merge the new strings in. The .po file is where translators
work providing translations for their language. Thus it's important the .po
not be recreated from scratch and is kept in SCM, otherwise the translators
work will be lost.
Let's use an example for French, it's .po file will be fr.po.
1) Developer creates main.c with one translatable sting _("Begin").
2) Produce the .pot file by running xgettext on main.c
3) .pot file contains one msgid, "Begin"
4) fr.po is created from the .pot file, it also contains one msgid, "Begin"
5) Translator edits fr.po and provide the French translation of "Begin".
6) Developer adds new translatable sting _("End") to main.c
7) Generate a new .pot file by running xgettext on main.c
8) .pot file contains two msgid's, "Begin", and "End"
9) fr.po is missing the new msgid in the .pot file, so the .pot is merged
into fr.po by running msgmerge. This copies into fr.po the new "End" msgid
but preserves the existing translations in fr.po (e.g. "Begin"). The fr.po
will now have 2 msgid's one which is translated already (e.g. "Begin") and
one that untranslated (e.g. "End").
10) Sometime later the French translator comes back to see if he/she needs to
add more translations to fr.po. They see there is a missing translation,
they check fr.po out from SCM, add the missing translation, and then
check fr.po back into SCM.
This means at any given moment the set of .po files will have varying degrees
of translation completeness. Because the .po files are merged when the source
code files are updated existing translations are not lost. It also means a
.po file which was fully translated may need new translations after a .pot
update. It is permissible to have incomplete translations in a message
catalog, at run time if a translation for a particular string is available in
the message catalog the user will be presented with the string in their
language. However if the string is not yet translated in the .po file then
they just get the original string (typically in English).
Q: What are .mo files?
A: .mo files are the content of a .po file but in "machine" format for fast
run time access (mo = Machine Object, po = Portable Object). .mo files are
what gets installed along with the package. Think of a .po as a source file
which is compiled into a object file for run time use.
Q: Why don't we use gettexize and autopoint?
A: Because the framework they produce is too limited. Specifically there is no
way to pass the source language to xgettext when it scans a file. xgettext
only knows how to automatically determine the language from the source files
extension. However we have many files without extensions, thus we have to
group all Python (et. al.) files together and run xgettext on every file *we*
know to Python (because xgettext can't figure this out itself if there is no
file extension). There is another added benefit of avoiding gettextize and
autopoint, simplicity. Managing translations is complex and hard enough as it
is, gettextize and autopoint adds another whole layer of complexity which
just further obscures things.
Q: Who created the awful mess and who do I ask when things don't work as I
expect or I have further questions?
A: John Dennis <jdennis@redhat.com>

55
install/po/bn_IN.po Normal file
View File

@@ -0,0 +1,55 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# jdennis <jdennis@redhat.com>, 2011
# sankarshan mukhopadhyay <sankarshan@fedoraproject.org>, 2010
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Bengali (India) (http://www.transifex.com/projects/p/freeipa/"
"language/bn_IN/)\n"
"Language: bn_IN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Passwords do not match"
msgstr "পাসওয়ার্ড দুটি মিলছে না"
msgid "This is already a posix group"
msgstr "একটি পসিক্স (posix) গ্রুপ আগে থেকে উপস্থিত"
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
msgid "incorrect type"
msgstr "ভুল প্রকার"
msgid "Only one value is allowed"
msgstr "কেবলমাত্র একটি মান অনুমদিত"
msgid "must be a decimal number"
msgstr "একটি দশমিক সংখ্যা হওয়া জরুরি"
#, python-format
msgid "%(count)d variables"
msgstr "%(count)d ভেরিয়াবেল"
#, python-format
msgid "%(count)d plugin loaded"
msgid_plural "%(count)d plugins loaded"
msgstr[0] "%(count)d প্লাগ-ইন লোড করা হয়েছে"
msgstr[1] "%(count)d প্লাগ-ইন লোড করা হয়েছে"
#, python-format
msgid "Added user \"%(value)s\""
msgstr "\"%(value)s\" ব্যবহারকারী যোগ করা হয়েছে"

582
install/po/ca.po Normal file
View File

@@ -0,0 +1,582 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Jordi Mas <jmas@softcatala.org>, 2013
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/freeipa/language/"
"ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Passwords do not match"
msgstr "Les contrasenyes no coincideixen"
msgid "Command not implemented"
msgstr "No s'ha implementat l'ordre"
msgid "Permission"
msgstr "Permís"
msgid "Permissions"
msgstr "Permisos"
msgid "Attributes"
msgstr "Atributs"
msgid "Type"
msgstr "Tipus"
msgid "Filter"
msgstr "Filtre"
msgid "Subtree"
msgstr "Subarbre"
msgid "Description"
msgstr "Descripció"
msgid "Users"
msgstr "Usuaris"
msgid "Location"
msgstr "Ubicació"
msgid "Map"
msgstr "Mapa"
msgid "Key"
msgstr "Tecla"
msgid "description"
msgstr "descripció"
msgid "Mount point"
msgstr "Punt de muntatge"
msgid "Password"
msgstr "Contrasenya"
msgid "entry"
msgstr "entrada"
msgid "Rights"
msgstr "Drets"
msgid "Rename"
msgstr "Canvia el nom"
msgid "Certificate"
msgstr "Certificat"
msgid "Subject"
msgstr "Assumpte"
msgid "Issuer"
msgstr "Emissor"
msgid "Not Before"
msgstr "No abans"
msgid "Not After"
msgstr "No després"
msgid "Serial number"
msgstr "Número de sèrie"
msgid "Revoked"
msgstr "Revocat"
msgid "Reason"
msgstr "Raó"
msgid "Error"
msgstr "Error"
msgid "Status"
msgstr "Estat"
msgid "Configuration"
msgstr "Configuració"
msgid "IP Address"
msgstr "Adreça IP"
msgid "Subtype"
msgstr "Subtipus"
msgid "Hostname"
msgstr "Nom de l'ordinador"
msgid "Algorithm"
msgstr "Algorisme"
msgid "Target"
msgstr "Objectiu"
msgid "Size"
msgstr "Mida"
msgid "Flags"
msgstr "Indicadors"
msgid "Regular Expression"
msgstr "Expressió regular"
msgid "Priority"
msgstr "Prioritat"
msgid "Weight"
msgstr "Pes"
msgid "Port"
msgstr "Port"
msgid "Fingerprint"
msgstr "Empremta"
msgid "Force"
msgstr "Força"
msgid "Class"
msgstr "Classe"
msgid "group"
msgstr "grup"
msgid "Group name"
msgstr "Nom del grup"
msgid "Enabled"
msgstr "S'ha habilitat"
msgid "Services"
msgstr "Serveis"
msgid "Access time"
msgstr "Temps d'accés"
msgid "Warning"
msgstr "Avís"
msgid "User name"
msgstr "Nom d'usuari"
msgid "Serial Number"
msgstr "Número de sèrie"
msgid "Host"
msgstr "Ordinador central"
msgid "Host name"
msgstr "Nom de l'amfitrió"
msgid "Locality"
msgstr "Localitat"
msgid "Platform"
msgstr "Plataforma"
msgid "Operating system"
msgstr "Sistema operatiu"
msgid "Apply"
msgstr "Aplica"
msgid "Actions"
msgstr "Accions"
msgid "Add"
msgstr "Afegeix-ho"
msgid "Back"
msgstr "Enrere"
msgid "Cancel"
msgstr "Cancel·la"
msgid "Close"
msgstr "Tanca"
msgid "Disable"
msgstr "Inhabilita"
msgid "Edit"
msgstr "Edita"
msgid "Enable"
msgstr "Habilita"
msgid "Find"
msgstr "Cerca"
msgid "OK"
msgstr "D'acord"
msgid "Refresh"
msgstr "Refresca"
msgid "Delete"
msgstr "Suprimeix"
msgid "Reset"
msgstr "Reinicia"
msgid "Restore"
msgstr "Restaura"
msgid "Retry"
msgstr "Reintent"
msgid "Revoke"
msgstr "Revoca"
msgid "Set"
msgstr "Aplica"
msgid "Update"
msgstr "Actualització"
msgid "View"
msgstr "Visualització"
msgid "General"
msgstr "General"
msgid "Identity Settings"
msgstr "Paràmetres de la identitat"
msgid "Available"
msgstr "Disponible"
msgid "Confirmation"
msgstr "Confirmació"
msgid "Unsaved Changes"
msgstr "Canvis sense desar"
msgid "Show details"
msgstr "Mostra els detalls"
msgid "Unknown Error"
msgstr "Error desconegut"
msgid "URL"
msgstr "URL"
msgid "Settings"
msgstr "Paràmetres"
msgid "Search"
msgstr "Cerca"
msgid "False"
msgstr "Fals"
msgid "Login"
msgstr "Entra"
msgid "Logout"
msgstr "Surt"
msgid "Username"
msgstr "Nom d'usuari"
msgid "seconds"
msgstr "segons"
msgid "Attribute"
msgstr "Atribut"
msgid "Add Rule"
msgstr "Afegeix una regla"
msgid "Exclusive"
msgstr "Exclusiu"
msgid "Expression"
msgstr "Expressió"
msgid "Affiliation Changed"
msgstr "L'afiliació ha canviat"
msgid "CA Compromise"
msgstr "CA en compromís"
msgid "Certificates"
msgstr "Certificats"
msgid "Certificate Hold"
msgstr "Retenció del certificat"
msgid "Cessation of Operation"
msgstr "Cessació de l'operació"
msgid "Common Name"
msgstr "Nom comú"
msgid "Expires On"
msgstr "Data de venciment"
msgid "Fingerprints"
msgstr "Empremtes digitals"
msgid "Issued By"
msgstr "Emès per"
msgid "Issued On"
msgstr "Data d'emissió"
msgid "Issued To"
msgstr "Emès a nom de"
msgid "Key Compromise"
msgstr "Clau en compromís"
msgid "MD5 Fingerprint"
msgstr "Empremta digital MD5"
msgid "Note"
msgstr "Nota"
msgid "Organization"
msgstr "Organització"
msgid "Organizational Unit"
msgstr "Unitat organitzativa"
msgid "SHA1 Fingerprint"
msgstr "Empremta digital SHA1"
msgid "Superseded"
msgstr "Substituït"
msgid "Unspecified"
msgstr "Sense especificar"
msgid "Validity"
msgstr "Validesa"
msgid "Options"
msgstr "Opcions"
msgid "Data"
msgstr "Dades"
msgid "Record Type"
msgstr "Tipus de registre"
msgid "External"
msgstr "Extern"
msgid "Normal"
msgstr "Normal"
msgid "Anyone"
msgstr "Qualsevol"
msgid "Who"
msgstr "Qui"
msgid "Access Denied"
msgstr "S'ha denegat l'accés"
msgid "Access Granted"
msgstr "Accés permès"
msgid "Matched"
msgstr "Coincideix"
msgid "Rules"
msgstr "Regles"
msgid "Unmatched"
msgstr "No coincideix"
msgid "Host Name"
msgstr "Nom de l'ordinador"
msgid "User"
msgstr "Usuari"
msgid "Active Directory domain"
msgstr "Domini d'Active Directory"
msgid "Modified"
msgstr "Modificat"
msgid "Groups"
msgstr "Grups"
msgid "Commands"
msgstr "Ordres"
msgid "Allow"
msgstr "Permet"
msgid "Account"
msgstr "Compte"
msgid "Domain"
msgstr "Domini"
msgid "Account Settings"
msgstr "Paràmetres dels comptes"
msgid "Mailing Address"
msgstr "Adreça postal"
msgid "New Password"
msgstr "Contrasenya nova"
msgid "Reset Password"
msgstr "Reinicia la contrasenya"
msgid "Select All"
msgstr "Selecciona-ho tot"
msgid "Unselect All"
msgstr "No seleccionis res"
msgid "Disabled"
msgstr "Inhabilitat"
msgid "DNS"
msgstr "DNS"
msgid "Identity"
msgstr "Identitat"
msgid "Policy"
msgstr "Política"
msgid "True"
msgstr "Cert"
msgid "Next"
msgstr "Següent"
msgid "Page"
msgstr "Pàgina"
msgid "Prev"
msgstr "Anterior"
msgid "undo"
msgstr "desfés"
msgid "Continue"
msgstr "Continua"
msgid "Netgroup name"
msgstr "Nom de grup de xarxa"
msgid "Manager"
msgstr "Gestor"
msgid "Invalid credentials"
msgstr "Credencials no vàlides"
msgid "permissions"
msgstr "permisos"
msgid "Group"
msgstr "Grup"
msgid "Server"
msgstr "Servidor"
msgid "Role"
msgstr "Rol"
msgid "services"
msgstr "serveis"
msgid "user"
msgstr "usuari"
msgid "users"
msgstr "usuaris"
msgid "Unknown"
msgstr "Desconegut"
msgid "Trust"
msgstr "Confiança"
msgid "Time now"
msgstr "L'hora actual"
msgid "User login"
msgstr "Entrada"
msgid "First name"
msgstr "Nom"
msgid "Last name"
msgstr "Cognom"
msgid "Full name"
msgstr "Nom complet"
msgid "Initials"
msgstr "Inicials"
msgid "Home directory"
msgstr "Directori de l'usuari"
msgid "Login shell"
msgstr "Intèrpret d'ordres de l'inici de sessió"
msgid "Email address"
msgstr "Adreça de correu electrònic"
msgid "UID"
msgstr "UID"
msgid "City"
msgstr "Ciutat"
msgid "State/Province"
msgstr "Estat/província"
msgid "Telephone Number"
msgstr "Número de telèfon"
msgid "Pager Number"
msgstr "Número de buscapersones"
msgid "Fax Number"
msgstr "Número de fax"
msgid "Job Title"
msgstr "Càrrec"
msgid "Self"
msgstr "Ell mateix"
msgid "Server Name"
msgstr "Nom del servidor"
msgid "filename"
msgstr "nomdelfitxer"
msgid "password"
msgstr "contrasenya"
msgid "Debugging output"
msgstr "Sortida de depuració"
msgid "Out of memory\n"
msgstr "Sense memòria\n"

View File

@@ -0,0 +1,16 @@
bn_IN: Bengali India
sankarshan mukhopadhyay <sankarshan@fedoraproject.org>
es: Spanish
Héctor Daniel Cabrera <logan@fedoraproject.org>
id: Indonesian
Teguh DC <dheche@songolimo.net>
kn: Kannada
gundachandru <gundachandru@gmail.com>
pl: Polish
Piotr Drąg <piotrdrag@gmail.com>
ru: Russian
Andrew Martynov <andrewm@inventa.ru>
uk: Ukrainian
Yuri Chornoivan <yurchor@ukr.net>
zh_CN: Chinese Simplified
Jake Li <gnozil@gmail.com>

31
install/po/cs.po Normal file
View File

@@ -0,0 +1,31 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Petr Viktorin <encukou@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/freeipa/language/"
"cs/)\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#, python-format
msgid "%(reason)s"
msgstr "%(reason)s"
msgid "Operating system"
msgstr "Operační systém"
msgid "User password"
msgstr "Uživatelské heslo"

2015
install/po/de.po Normal file

File diff suppressed because it is too large Load Diff

5306
install/po/es.po Normal file

File diff suppressed because it is too large Load Diff

553
install/po/eu.po Normal file
View File

@@ -0,0 +1,553 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/freeipa/language/"
"eu/)\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid "Passwords do not match!"
msgstr "Pasahitzak ez datoz bat!"
msgid "Command name"
msgstr "Komandoaren izena"
msgid "an internal error has occurred"
msgstr "barne-errore bat gertatu da"
#, python-format
msgid "Invalid JSON-RPC request: %(error)s"
msgstr "Baliogabeko JSON-RPC eskaera: %(error)s"
#, python-format
msgid "Kerberos error: %(major)s/%(minor)s"
msgstr "Kerberos errorea: %(major)s/%(minor)s"
msgid "Passwords do not match"
msgstr "Pasahitzak ez datoz bat"
#, python-format
msgid "%(reason)s"
msgstr "%(reason)s"
msgid "This entry already exists"
msgstr "Sarrera hau dagoeneko existitzen da"
#, python-format
msgid "%(desc)s: %(info)s"
msgstr "%(desc)s: %(info)s"
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
msgid "A list of ACI values"
msgstr "ACI balioen zerrenda bat"
#, python-format
msgid "Syntax Error: %(error)s"
msgstr "Sintaxi-errorea: %(error)s"
msgid "ACI prefix"
msgstr "ACI aurrizkia"
msgid "ACIs"
msgstr "ACIak"
msgid "ACI name"
msgstr "ACI izena"
msgid "Permission"
msgstr "Baimena"
msgid "User group"
msgstr "Erabiltzaile-taldea"
msgid "Permissions"
msgstr "Baimenak"
msgid "Attributes"
msgstr "Atributuak"
msgid "Type"
msgstr "Mota"
msgid "Filter"
msgstr "Iragazkia"
msgid "Subtree"
msgstr "Azpi-zuhaitza"
msgid "Target group"
msgstr "Helburuko taldea"
msgid "ACI"
msgstr "ACI"
msgid "New ACI name"
msgstr "ACI izen berria"
msgid "Description"
msgstr "Deskribapena"
msgid "Users"
msgstr "Erabiltzaileak"
msgid "Hosts"
msgstr "Ostalariak"
msgid "description"
msgstr "deskribapena"
msgid "Password"
msgstr "Pasahitza"
msgid "External host"
msgstr "Kanpoko ostalaria"
msgid "entry"
msgstr "sarrera"
msgid "entries"
msgstr "sarrerak"
msgid "Rename"
msgstr "Berrizendatu"
#, python-format
msgid "Rename the %(ldap_obj_name)s object"
msgstr "%(ldap_obj_name)s objektua berrizendatu"
msgid "Certificate"
msgstr "Ziurtagiria"
msgid "Subject"
msgstr "Gaia"
msgid "Fingerprint (MD5)"
msgstr "Hatz-marka (MD5)"
msgid "Fingerprint (SHA1)"
msgstr "Hatz-marka (SHA1)"
msgid "Serial number"
msgstr "Serie-zenbakia"
msgid "Output filename"
msgstr "Irteerako fitxategi-izena"
msgid "Reason"
msgstr "Arrazoia"
msgid "Error"
msgstr "Errorea"
msgid "Status"
msgstr "Egoera"
msgid "Configuration"
msgstr "Konfigurazioa"
msgid "Maximum username length"
msgstr "Erabiltzaile-izenaren gehienezko luzera"
msgid "Home directory base"
msgstr "Direktorio nagusiaren oinarria"
msgid "Default location of home directories"
msgstr "Karpeta nagusien kokaleku lehenetsia"
msgid "Default shell"
msgstr "Shell lehenetsia"
msgid "Default shell for new users"
msgstr "Erabiltzaile berrientzako shell lehenetsia"
msgid "Default users group"
msgstr "Erabiltzaile-talde lehenetsia"
msgid "Default group for new users"
msgstr "Erabiltzaile berrientzako talde lehenetsia"
msgid "Default e-mail domain"
msgstr "E-posta domeinu lehenetsia"
msgid "The group doesn't exist"
msgstr "Taldea ez da existitzen"
msgid "invalid IP address format"
msgstr "IP helbide formatu baliogabea"
msgid "invalid IP network format"
msgstr "IP sare formatu baliogabea"
msgid "Hostname"
msgstr "Ostalari-izena"
msgid "Administrator e-mail address"
msgstr "Administratzailearen e-posta helbidea"
msgid "Force"
msgstr "Behartu"
msgid "Class"
msgstr "Klasea"
msgid "group"
msgstr "taldea"
msgid "groups"
msgstr "taldeak"
msgid "User Groups"
msgstr "Erabiltzaile-taldeak"
msgid "User Group"
msgstr "Erabiltzaile-taldea"
msgid "Create a new group."
msgstr "Sortu talde berri bat."
msgid "Delete group."
msgstr "Ezabatu taldea."
msgid "Modify a group."
msgstr "Aldatu talde bat."
msgid "Search for groups."
msgstr "Bilatu taldeak."
msgid "HBAC rule"
msgstr "HBAC araua"
msgid "HBAC rules"
msgstr "HBAC arauak"
msgid "HBAC Rules"
msgstr "HBAC arauak"
msgid "Rule type"
msgstr "Arau-mota"
msgid "Enabled"
msgstr "Gaituta"
msgid "Host Groups"
msgstr "Ostalari-taldeak"
msgid "Services"
msgstr "Zerbitzuak"
msgid "Service Groups"
msgstr "Zerbitzu-taldeak"
msgid "HBAC service"
msgstr "HBAC zerbitzua"
msgid "HBAC Services"
msgstr "HBAC zerbitzuak"
msgid "Service name"
msgstr "Zerbitzuaren izena"
msgid "HBAC service description"
msgstr "HBAC zerbitzuaren deskribapena"
msgid "Service group name"
msgstr "Zerbitzu-taldearen izena"
msgid "HBAC service group description"
msgstr "HBAC zerbitzu-taldearen deskribapena"
msgid "Serial Number"
msgstr "Serie-zenbakia"
msgid "Host name"
msgstr "Ostalari-izena"
msgid "A description of this host"
msgstr "Ostalari honen deskribapena"
msgid "Operating system"
msgstr "Sistema eragilea"
msgid "Host operating system and version (e.g. \"Fedora 9\")"
msgstr "Ostalariaren sistema eragilea eta bertsioa (adibidez, \"Fedora 9\")"
msgid "User password"
msgstr "Erabiltzailearen pasahitza"
msgid "Random password"
msgstr "Ausazko pasahitza"
#, python-format
msgid "Added host \"%(value)s\""
msgstr "\"%(value)s\" ostalaria gehituta"
#, python-format
msgid "Deleted host \"%(value)s\""
msgstr "\"%(value)s\" ostalaria ezabatuta"
#, python-format
msgid "Modified host \"%(value)s\""
msgstr "\"%(value)s\" ostalaria aldatuta"
msgid "Host-group"
msgstr "Ostalari-taldea"
msgid "Name of host-group"
msgstr "Ostalari-taldearen izena"
msgid "A description of this host-group"
msgstr "Ostalari-talde honen deskribapena"
#, python-format
msgid "Added hostgroup \"%(value)s\""
msgstr "\"%(value)s\" ostalari-taldea gehituta"
msgid "Add and Add Another"
msgstr "Gehitu eta gehitu beste bat"
msgid "Add and Close"
msgstr "Gehitu eta itxi"
msgid "Add and Edit"
msgstr "Gehitu eta editatu"
msgid "Add Many"
msgstr "Gehitu hainbat"
msgid "Cancel"
msgstr "Utzi"
msgid "Close"
msgstr "Itxi"
msgid "OK"
msgstr "Ados"
msgid "Retry"
msgstr "Saiatu berriz"
msgid "View"
msgstr "Ikusi"
msgid "General"
msgstr "Orokorra"
msgid "Settings"
msgstr "Ezarpenak"
msgid "Search"
msgstr "Bilatu"
msgid "Username"
msgstr "Erabiltzaile-izena"
msgid "Attribute"
msgstr "Atributua"
msgid "Fingerprints"
msgstr "Hatz-markak"
msgid "MD5 Fingerprint"
msgstr "MD5 hatz-marka"
msgid "New Certificate"
msgstr "Ziurtagiri berria"
msgid "Organization"
msgstr "Erakundea"
msgid "SHA1 Fingerprint"
msgstr "SHA1 hatz-marka"
msgid "Data"
msgstr "Datuak"
msgid "Group Settings"
msgstr "Taldearen ezarpenak"
msgid "Host Name"
msgstr "Ostalari-izena"
msgid "Set OTP"
msgstr "Ezarri OTP"
msgid "User"
msgstr "Erabiltzailea"
msgid "Groups"
msgstr "Taldeak"
msgid "Allow"
msgstr "Onartu"
msgid "Any Command"
msgstr "Edozein komando"
msgid "Any Group"
msgstr "Edozein talde"
msgid "Run Commands"
msgstr "Exekutatu komandoak"
msgid "Deny"
msgstr "Ukatu"
msgid "Specified Groups"
msgstr "Zehazturiko taldeak"
msgid "Account Settings"
msgstr "Kontuaren ezarpenak"
msgid "Contact Settings"
msgstr "Kontaktuaren ezarpenak"
msgid "New Password"
msgstr "Pasahitz berria"
msgid "Passwords must match"
msgstr "Pasahitzek bat etorri behar dute"
msgid "Reset Password"
msgstr "Berrezarri pasahitza"
msgid "Are you sure you want to delete selected entries?"
msgstr "Ziur zaude hautatutako sarrerak ezabatu nahi dituzula?"
msgid "DNS"
msgstr "DNS"
msgid "IPA Server"
msgstr "IPA zerbitzaria"
msgid "Sudo"
msgstr "Sudo"
msgid "Invalid LDAP URI."
msgstr "LDAP URI baliogabea."
msgid "NIS domain name"
msgstr "NIS domeinu-izena"
msgid "Manager"
msgstr "Kudeatzailea"
msgid "PKINIT"
msgstr "PKINIT"
msgid "Group"
msgstr "Taldea"
msgid "History size"
msgstr "Historiaren tamaina"
#, python-format
msgid "Added service \"%(value)s\""
msgstr "\"%(value)s\" zerbitzua gehituta"
#, python-format
msgid "Deleted service \"%(value)s\""
msgstr "\"%(value)s\" zerbitzua ezabatuta"
msgid "Sudo Commands"
msgstr "Sudo komandoak"
msgid "Sudo Command Group"
msgstr "Sudo komando-taldea"
msgid "External User"
msgstr "Kanpoko erabiltzailea"
msgid "RunAs External User"
msgstr "Exekutatu kanpoko erabiltzaile bezala"
msgid "RunAs External Group"
msgstr "Exekutatu kanpoko talde bezala"
msgid "Sudo Option"
msgstr "Sudo aukera"
msgid "First name"
msgstr "Izena"
msgid "Last name"
msgstr "Abizena"
msgid "Full name"
msgstr "Izen osoa"
msgid "Display name"
msgstr "Bistaratu izena"
msgid "Email address"
msgstr "E-posta helbidea"
msgid "UID"
msgstr "UID"
msgid "Street address"
msgstr "Kalea"
msgid "Telephone Number"
msgstr "Telefono-zenbakia"
msgid "Mobile Telephone Number"
msgstr "Mugikor-zenbakia"
msgid "Pager Number"
msgstr "Bilagailu-zenbakia"
msgid "Fax Number"
msgstr "Fax-zenbakia"
#, python-format
msgid "Added user \"%(value)s\""
msgstr "\"%(value)s\" erabiltzailea gehituta"
#, python-format
msgid "Deleted user \"%(value)s\""
msgstr "\"%(value)s\" erabiltzailea ezabatuta"
#, python-format
msgid "Modified user \"%(value)s\""
msgstr "\"%(value)s\" erabiltzailea aldatuta"
msgid "LDAP password"
msgstr "LDAP pasahitza"
#, c-format
msgid "Incorrect password.\n"
msgstr "Pasahitz okerra.\n"
#, c-format
msgid "ipa-getkeytab not found\n"
msgstr "ez da ipa-getkeytab aurkitu\n"
msgid "hostname"
msgstr "ostalari-izena"
msgid "IPA Server to use"
msgstr "Erabili beharreko IPA zerbitzaria"
msgid "filename"
msgstr "fitxategi-izena"
msgid "password"
msgstr "pasahitza"

11008
install/po/fr.po Normal file

File diff suppressed because it is too large Load Diff

81
install/po/hi.po Normal file
View File

@@ -0,0 +1,81 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# solomonsunder <solomonsunder@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-04 21:21+0000\n"
"Last-Translator: solomonsunder <solomonsunder@gmail.com>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/freeipa/language/"
"hi/)\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, python-format
msgid "Enter %(label)s again to verify: "
msgstr "सत्यापित करने के लिए फिर से %(label)s दर्ज करें:"
#, c-format
msgid "Passwords do not match!"
msgstr "पासवर्ड मेल नहीं खाते"
msgid "an internal error has occurred"
msgstr "एक आंतरिक त्रुटि हुई है"
msgid "did not receive Kerberos credentials"
msgstr "कर्बेरॉस क्रेडेंशियल्स प्राप्त नहीं हुआ"
msgid "No credentials cache found"
msgstr "कैश क्रेडेंशियल्स नहीं मिली"
msgid "Ticket expired"
msgstr "टिकट समाप्त"
msgid "Credentials cache permissions incorrect"
msgstr "क्रेडेंशियल्स कैश अनुमतियाँ गलत"
msgid "Bad format in credentials cache"
msgstr "क्रेडेंशियल्स कैश में बुरा प्रारूप"
msgid "Cannot resolve KDC for requested realm"
msgstr "अनुरोधित दायरे के लिए KDC हल नहीं कर सकता"
msgid "Passwords do not match"
msgstr "पासवर्ड मेल नहीं खाते"
msgid "This command requires root access"
msgstr "इस आदेश को रूट मूल अभिगम की आवश्यकता है"
msgid "This is already a posix group"
msgstr "यह पहले से ही एक पोसिक्स समूह है"
msgid "A group may not be a member of itself"
msgstr "एक समूह खुद के ही सदस्य नहीं हो सकता"
#, python-format
msgid "Base64 decoding failed: %(reason)s"
msgstr "बेस६४ डिकोडिंग विफल: %(reason)s"
msgid "A list of LDAP entries"
msgstr "LDAP प्रविष्टियों की सूची"
msgid "All commands should at least have a result"
msgstr "सभी आदेशों का कम से कम परिणाम होना चाहिए"
msgid "incorrect type"
msgstr "गलत प्रकार"
msgid "Only one value is allowed"
msgstr "केवल एक मान की अनुमति है"
msgid "must be True or False"
msgstr "सही या गलत होना चाहिए"

167
install/po/hu.po Normal file
View File

@@ -0,0 +1,167 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Endre ZELENA, 2014
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/freeipa/"
"language/hu/)\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Passwords do not match"
msgstr "A jelszavak nem egyeznek meg"
msgid "This command requires root access"
msgstr "Ez a parancs rendszergazdai jogosultságot igényel"
msgid "This is already a posix group"
msgstr "Ez egy létező POSIX csoport"
msgid "A group may not be a member of itself"
msgstr "Egy csoport nem lehet tagja önmagának"
#, python-format
msgid "Base64 decoding failed: %(reason)s"
msgstr "Base64 kicsomagolás sikertelen: %(reason)s"
msgid "The default users group cannot be removed"
msgstr "Az alapértelmezett csoport nem távolítható el"
#, python-format
msgid "Certificate format error: %(error)s"
msgstr "Tanúsítványhiba: %(error)s"
msgid "A list of LDAP entries"
msgstr "LDAP-bejegyzések listája"
#, python-format
msgid "Group '%s' does not exist"
msgstr "A '%s' csoport nem létezik"
msgid "User group"
msgstr "Felhasználói csport"
msgid "Permissions"
msgstr "Jogosultságok"
msgid "Description"
msgstr "Leírás"
msgid "Certificate"
msgstr "Tanúsítvány"
msgid "Subject"
msgstr "Tárgy"
msgid "Issuer"
msgstr "Kibocsátó"
msgid "Not Before"
msgstr "Érvényesség kezdete"
msgid "Not After"
msgstr "Érvényesség vége"
msgid "Fingerprint (MD5)"
msgstr "Ujjlenyomat (MD5)"
msgid "Fingerprint (SHA1)"
msgstr "Ujjlenyomat (SHA1)"
msgid "Serial number"
msgstr "Sorozatszám"
msgid "Request id"
msgstr "Igénylés azonosítója"
msgid "Request status"
msgstr "Igénylés állapota"
msgid "Revocation reason"
msgstr "Visszavonás oka"
msgid "Revoked"
msgstr "Visszavont"
msgid "Reason"
msgstr "Ok"
msgid "Default shell"
msgstr "Alapértelmezett shell"
msgid "Default users group"
msgstr "Alapértelmezett csoport"
msgid "Zone name (FQDN)"
msgstr "Zóna neve (FQDN)"
msgid "SOA serial"
msgstr "SOA sorozatszám"
msgid "GID"
msgstr "GID"
msgid "GID (use this option to set it manually)"
msgstr "GID (kézzel történő beállításhoz)"
msgid "change to a POSIX group"
msgstr "POSIX-csoportra módosít"
msgid "Rule name"
msgstr "Szabály neve"
msgid "Services"
msgstr "Szolgáltatások"
msgid "Service Groups"
msgstr "Szolgáltatás-csoportok"
msgid "Service name"
msgstr "Szolgáltatás neve"
msgid "Service group name"
msgstr "Szolgáltatás-csoport neve"
msgid "HBAC service group description"
msgstr "HBAC szolgáltatás-csoport leírása"
msgid "LDAP URI"
msgstr "LDAP URI"
msgid "Max lifetime (days)"
msgstr "Élettartam legfeljebb (nap)"
msgid "Maximum password lifetime (in days)"
msgstr "Jelszó maximális élettartama (nap)"
msgid "Min lifetime (hours)"
msgstr "Minimális élettartam (óra)"
msgid "Minimum password lifetime (in hours)"
msgstr "Jelszó minimális élettartama (óra)"
msgid "Password history size"
msgstr "Megőrzött jelszavak (darab)"
msgid "Character classes"
msgstr "Karakterosztályok"
#, python-format
msgid "Added service \"%(value)s\""
msgstr "A %(value)s szolgáltatás hozzáadva"
#, python-format
msgid "Deleted service \"%(value)s\""
msgstr "A %(value)s szolgáltatás eltávolítva"

278
install/po/id.po Normal file
View File

@@ -0,0 +1,278 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# jdennis <jdennis@redhat.com>, 2011
# Teguh Dwicaksana <dheche@songolimo.net>, 2010
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/freeipa/"
"language/id/)\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#, python-format
msgid "Enter %(label)s again to verify: "
msgstr "Masukkan %(label)s lagi untuk verifikasi:"
#, c-format
msgid "Passwords do not match!"
msgstr "Kata sandi tidak cocok!"
#, python-format
msgid "unknown error %(code)d from %(server)s: %(error)s"
msgstr "kesalahan %(code)d tidak dikenal dari %(server)s: %(error)s"
msgid "an internal error has occurred"
msgstr "terjadi kesalahan internal"
#, python-format
msgid "Invalid JSON-RPC request: %(error)s"
msgstr "Permintaan JSON-RPC tidak valid: %(error)s"
#, python-format
msgid "Kerberos error: %(major)s/%(minor)s"
msgstr "Kesalahan kerberos: %(major)s/%(minor)s"
msgid "Ticket expired"
msgstr "Tiket sudah kadaluarsa"
#, python-format
msgid "Insufficient access: %(info)s"
msgstr "Hak akses tidak mencukupi: %(info)s"
msgid "Passwords do not match"
msgstr "Kata sandi tidak cocok"
msgid "Command not implemented"
msgstr "Perintah tidak diimplementasikan"
#, python-format
msgid "%(reason)s"
msgstr "%(reason)s"
msgid "This entry already exists"
msgstr "Entri ini sudah ada"
msgid "You must enroll a host in order to create a host service"
msgstr "Anda harus mendaftarkan sebuah host untuk membuat layanan host"
msgid "This command requires root access"
msgstr "Perintah ini memerlukan akses root"
msgid "This is already a posix group"
msgstr "Ini sudah merupakan grup posix"
msgid "A group may not be a member of itself"
msgstr "Sebuah grup tidak mungkin menjadi anggota grup itu sendiri"
#, python-format
msgid "Base64 decoding failed: %(reason)s"
msgstr "Penguraian Base64 gagal: %(reason)s"
msgid "change collided with another change"
msgstr "perubahan bertabrakan dengan perubahan lain"
msgid "no modifications to be performed"
msgstr "tidak ada modifikasi yang harus dilakukan"
msgid "limits exceeded for this query"
msgstr "query ini telah melampaui batas"
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
#, python-format
msgid "Certificate operation cannot be completed: %(error)s"
msgstr "Operasi sertifikat tidak dapat diselesaikan: %(error)s"
msgid "Results are truncated, try a more specific search"
msgstr "Hasil yang terpotong, coba cari dengan lebih spesifik"
msgid "incorrect type"
msgstr "type salah"
msgid "Only one value is allowed"
msgstr "Hanya satu nilai yang diperbolehkan"
msgid "must be True or False"
msgstr "harus True atau False"
msgid "must be an integer"
msgstr "harus merupakan bilangan bulat"
#, python-format
msgid "must be at least %(minvalue)d"
msgstr "setidaknya harus %(minvalue)d"
#, python-format
msgid "can be at most %(maxvalue)d"
msgstr "nilai maksimum yang diperbolehkan %(maxvalue)d"
msgid "must be a decimal number"
msgstr "harus merupakan angka desimal"
#, python-format
msgid "must match pattern \"%(pattern)s\""
msgstr "harus cocok dengan pola \"%(pattern)s\""
msgid "must be binary data"
msgstr "harus merupakan data binari"
#, python-format
msgid "must be at least %(minlength)d bytes"
msgstr "panjang minimum yang diperbolehkan %(minlength)d byte"
#, python-format
msgid "can be at most %(maxlength)d bytes"
msgstr "panjang maksimum yang diperbolehkan %(maxlength)d byte"
#, python-format
msgid "must be exactly %(length)d bytes"
msgstr "harus tepat %(length)d byte"
msgid "must be Unicode text"
msgstr "harus teks Unicode"
#, python-format
msgid "must be at least %(minlength)d characters"
msgstr "setidaknya minimum harus %(minlength)d karakter"
#, python-format
msgid "can be at most %(maxlength)d characters"
msgstr "panjang maksimum yang diperbolehkan %(maxlength)d karakter"
#, python-format
msgid "must be exactly %(length)d characters"
msgstr "harus tepat %(length)d karakter"
msgid ""
"at least one of: type, filter, subtree, targetgroup, attrs or memberof are "
"required"
msgstr ""
"setidaknya diperlukan salah satu dari: type, filter, subtree, targetgroup, "
"attrs atau memberof"
#, python-format
msgid "Group '%s' does not exist"
msgstr "Grup '%s' tidak ada"
#, python-format
msgid "ACI with name \"%s\" not found"
msgstr "ACI dengan nama \"%s\" tidak ditemukan"
#, python-format
msgid "Created ACI \"%(value)s\""
msgstr "ACI \"%(value)s\" telah dibuat"
#, python-format
msgid "Deleted ACI \"%(value)s\""
msgstr "ACI \"%(value)s\" telah dihapus"
#, python-format
msgid "Modified ACI \"%(value)s\""
msgstr "ACI \"%(value)s\" telah dimodifikasi"
#, python-format
msgid "%(count)d ACI matched"
msgid_plural "%(count)d ACIs matched"
msgstr[0] "%(count)d ACI sesuai"
#, python-format
msgid "Failure decoding Certificate Signing Request: %s"
msgstr "Gagal mengurai Permintaan Penandatanganan Sertifikat: %s"
#, python-format
msgid "Added group \"%(value)s\""
msgstr "Grup \"%(value)s\" telah ditambahkan"
#, python-format
msgid "Deleted group \"%(value)s\""
msgstr "Grup \"%(value)s\" telah dihapus"
#, python-format
msgid "Modified group \"%(value)s\""
msgstr "Grup \"%(value)s\" telah dimodifikasi"
#, python-format
msgid "%(count)d group matched"
msgid_plural "%(count)d groups matched"
msgstr[0] "%(count)d grup sesuai"
#, python-format
msgid "Added host \"%(value)s\""
msgstr "Host \"%(value)s\" telah ditambahkan"
#, python-format
msgid "Deleted host \"%(value)s\""
msgstr "Host \"%(value)s\" telah dihapus"
#, python-format
msgid "Modified host \"%(value)s\""
msgstr "Host \"%(value)s\" telah dimodifikasi"
#, python-format
msgid "%(count)d host matched"
msgid_plural "%(count)d hosts matched"
msgstr[0] "%(count)d host sesuai"
#, python-format
msgid "Added hostgroup \"%(value)s\""
msgstr "hostgroup \"%(value)s\" telah ditambahkan"
#, python-format
msgid "Deleted hostgroup \"%(value)s\""
msgstr "hostgroup \"%(value)s\" telah dihapus"
#, python-format
msgid "Modified hostgroup \"%(value)s\""
msgstr "hostgroup \"%(value)s\" telah dimodifikasi"
#, python-format
msgid "%(count)d hostgroup matched"
msgid_plural "%(count)d hostgroups matched"
msgstr[0] "%(count)d hostgroup sesuai"
#, python-format
msgid "%(count)d variables"
msgstr "%(count)d variabel"
#, python-format
msgid "%(count)d plugin loaded"
msgid_plural "%(count)d plugins loaded"
msgstr[0] "%(count)d pengaya telah dimuat"
msgid "priority cannot be set on global policy"
msgstr "prioritas tidak dapat ditetapkan pada kebijakan global"
#, python-format
msgid "Added user \"%(value)s\""
msgstr "Pengguna \"%(value)s\" telah ditambahkan"
#, python-format
msgid "Deleted user \"%(value)s\""
msgstr "Pengguna \"%(value)s\" telah dihapus"
#, python-format
msgid "Modified user \"%(value)s\""
msgstr "Pengguna \"%(value)s\" telah dimodifikasi"
#, python-format
msgid "%(count)d user matched"
msgid_plural "%(count)d users matched"
msgstr[0] "%(count)d pengguna sesuai"
#, python-format
msgid "Unable to communicate with CMS (%s)"
msgstr "Tidak dapat berkomunikasi dengan CMS (%s)"

12830
install/po/ipa.pot Normal file

File diff suppressed because it is too large Load Diff

462
install/po/ja.po Normal file
View File

@@ -0,0 +1,462 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Tomoyuki KATO <tomo@dream.daynight.jp>, 2012
# carrotsoft <www.carrotsoft@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/freeipa/"
"language/ja/)\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#, python-format
msgid "Enter %(label)s again to verify: "
msgstr "確認のため再び %(label)s を入力してください: "
#, c-format
msgid "Passwords do not match!"
msgstr "パスワードが違います。"
#, python-format
msgid "unknown error %(code)d from %(server)s: %(error)s"
msgstr "%(server)s から未知のエラー %(code)d: %(error)s"
msgid "an internal error has occurred"
msgstr "内部エラーが発生しました"
#, python-format
msgid "Invalid JSON-RPC request: %(error)s"
msgstr "無効な JSON-RPC リクエスト: %(error)s"
#, python-format
msgid "Kerberos error: %(major)s/%(minor)s"
msgstr "Kerberos エラー: %(major)s/%(minor)s"
msgid "Passwords do not match"
msgstr "パスワードが違います"
msgid "Command not implemented"
msgstr "コマンドが実装されていません"
#, python-format
msgid "%(reason)s"
msgstr "%(reason)s"
msgid "This entry already exists"
msgstr "このエントリーはすでに存在します"
#, python-format
msgid "Base64 decoding failed: %(reason)s"
msgstr "Base64 形式のデコードに失敗: %(reason)s"
#, python-format
msgid "%(desc)s: %(info)s"
msgstr "%(desc)s: %(info)s"
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
msgid "must be an integer"
msgstr "整数である必要があります"
#, python-format
msgid "must be at least %(minvalue)d"
msgstr "少なくとも %(minvalue)d である必要があります"
#, python-format
msgid "must match pattern \"%(pattern)s\""
msgstr "パターン \"%(pattern)s\" が一致する必要があります"
msgid "must be binary data"
msgstr "バイナリーデータである必要があります"
#, python-format
msgid "must be at least %(minlength)d bytes"
msgstr "少なくとも %(minlength)d バイトである必要があります"
#, python-format
msgid "can be at most %(maxlength)d bytes"
msgstr "大きくても %(maxlength)d バイトである必要があります"
#, python-format
msgid "must be exactly %(length)d bytes"
msgstr "ちょうど %(length)d バイトである必要があります"
msgid "must be Unicode text"
msgstr "Unicode テキストである必要があります"
#, python-format
msgid "must be at least %(minlength)d characters"
msgstr "少なくとも %(minlength)d 文字である必要があります"
#, python-format
msgid "must be exactly %(length)d characters"
msgstr "ちょうど %(length)d 文字である必要があります"
msgid "A list of ACI values"
msgstr "ACI 値の一覧"
msgid ""
"at least one of: type, filter, subtree, targetgroup, attrs or memberof are "
"required"
msgstr ""
"少なくとも type, filter, subtree, targetgroup, attrs または memberof のどれか"
"が必要です"
#, python-format
msgid "Group '%s' does not exist"
msgstr "グループ '%s' が存在しません"
#, python-format
msgid "ACI with name \"%s\" not found"
msgstr "名前 \"%s\" の ACI が見つかりませんでした"
msgid "ACIs"
msgstr "ACI"
msgid "ACI name"
msgstr "ACI 名"
msgid "User group"
msgstr "ユーザーグループ"
msgid "Permissions"
msgstr "権限"
msgid "Member of a group"
msgstr "グループのメンバー"
msgid "Filter"
msgstr "フィルター"
msgid "Fingerprint (MD5)"
msgstr "フィンガープリント (MD5)"
msgid "Fingerprint (SHA1)"
msgstr "フィンガープリント (SHA1)"
#, python-format
msgid "%s record"
msgstr "%s レコード"
#, python-format
msgid "%s Record"
msgstr "%s レコード"
msgid "IP Address"
msgstr "IP アドレス"
msgid "Port"
msgstr "ポート"
msgid "Fingerprint"
msgstr "フィンガープリント"
msgid "Text Data"
msgstr "テキストデータ"
msgid "group"
msgstr "グループ"
msgid "groups"
msgstr "グループ"
msgid "User Group"
msgstr "ユーザーグループ"
msgid "Create a new group."
msgstr "新しいグループを作成します。"
msgid "Delete group."
msgstr "グループを削除します。"
msgid "Modify a group."
msgstr "グループを変更します。"
msgid "Search for groups."
msgstr "グループを検索します。"
msgid "Create a new HBAC rule."
msgstr "新しい HBAC ルールを作成します。"
msgid "Delete an HBAC rule."
msgstr "HBAC ルールを削除します。"
msgid "Modify an HBAC rule."
msgstr "HBAC ルールを変更します。"
msgid "Search for HBAC rules."
msgstr "HBAC ルールを検索します。"
msgid "Display the properties of an HBAC rule."
msgstr "HBAC ルールのプロパティーを表示します。"
msgid "Enable an HBAC rule."
msgstr "HBAC ルールを有効化します。"
msgid "Disable an HBAC rule."
msgstr "HBAC ルールを無効化します。"
msgid "HBAC services"
msgstr "HBAC サービス"
msgid "HBAC Service"
msgstr "HBAC サービス"
msgid "Add a new HBAC service."
msgstr "新しい HBAC サービスを追加します。"
msgid "Delete an existing HBAC service."
msgstr "既存の HBAC サービスを削除します。"
msgid "Modify an HBAC service."
msgstr "HBAC サービスを変更します。"
msgid "Search for HBAC services."
msgstr "HBAC サービスを検索します。"
msgid "Display information about an HBAC service."
msgstr "HBAC サービスに関する情報を表示します。"
msgid "HBAC service group"
msgstr "HBAC サービスグループ"
msgid "HBAC service groups"
msgstr "HBAC サービスグループ"
msgid "HBAC Service Groups"
msgstr "HBAC サービスグループ"
msgid "HBAC Service Group"
msgstr "HBAC サービスグループ"
msgid "Add a new HBAC service group."
msgstr "新しい HBAC サービスグループを追加します。"
msgid "Delete an HBAC service group."
msgstr "HBAC サービスグループを削除します。"
msgid "Modify an HBAC service group."
msgstr "HBAC サービスグループを変更します。"
msgid "Search for an HBAC service group."
msgstr "HBAC サービスグループを検索します。"
msgid "Display information about an HBAC service group."
msgstr "HBAC サービスグループに関する情報を表示します。"
msgid "Add members to an HBAC service group."
msgstr "HBAC サービスグループにメンバーを追加します。"
msgid "Remove members from an HBAC service group."
msgstr "HBAC サービスグループからメンバーを削除します。"
#, python-format
msgid "invalid domain-name: %s"
msgstr "無効なドメイン名: %s"
msgid "host"
msgstr "ホスト"
msgid "hosts"
msgstr "ホスト"
msgid "Host"
msgstr "ホスト"
msgid "Add a new host."
msgstr "新しいホストを追加します。"
msgid "Delete a host."
msgstr "ホストを削除します。"
msgid "Search for hosts."
msgstr "ホストを検索します。"
msgid "host group"
msgstr "ホストグループ"
msgid "host groups"
msgstr "ホストグループ"
msgid "Host Group"
msgstr "ホストグループ"
msgid "Refresh"
msgstr "更新"
msgid "Set"
msgstr "設定"
#, python-brace-format
msgid "Edit ${entity}"
msgstr "${entity} の編集"
msgid "Validation error"
msgstr "検証エラー"
msgid "HTTP Error"
msgstr "HTTP エラー"
msgid "Internal Error"
msgstr "内部エラー"
msgid "IPA Error"
msgstr "IPA エラー"
msgid "Unknown Error"
msgstr "未知のエラー"
msgid "URL"
msgstr "URL"
msgid "Add Rule"
msgstr "ルールの追加"
msgid "Default host group"
msgstr "標準のホストグループ"
msgid "Default user group"
msgstr "標準のユーザーグループ"
msgid "Certificates"
msgstr "証明書"
msgid "Group Options"
msgstr "グループオプション"
msgid "Search Options"
msgstr "検索オプション"
msgid "User Options"
msgstr "ユーザーオプション"
msgid "Options"
msgstr "オプション"
msgid "Rules"
msgstr "ルール"
msgid "Kerberos Key"
msgstr "Kerberos キー"
msgid "One-Time-Password"
msgstr "ワンタイムパスワード"
msgid "One-Time-Password Not Present"
msgstr "ワンタイムパスワードが存在しません"
msgid "One-Time-Password Present"
msgstr "ワンタイムパスワードが存在します"
msgid "Reset OTP"
msgstr "OTP のリセット"
msgid "Reset One-Time-Password"
msgstr "ワンタイムパスワードをリセットします"
msgid "Set One-Time-Password"
msgstr "ワンタイムパスワードを設定します"
msgid "Account"
msgstr "アカウント"
msgid "Account Status"
msgstr "アカウント状態"
msgid "password policy"
msgstr "パスワードポリシー"
msgid "password policies"
msgstr "パスワードポリシー"
msgid "Password Policies"
msgstr "パスワードポリシー"
msgid "role"
msgstr "役割"
msgid "roles"
msgstr "役割"
msgid "Add a new role."
msgstr "新しい役割を追加します。"
msgid "Delete a role."
msgstr "役割を削除します。"
msgid "Modify a role."
msgstr "役割を変更します。"
msgid "Search for roles."
msgstr "役割を検索します。"
msgid "Display information about a role."
msgstr "役割に関する情報を表示します。"
msgid "sudo command"
msgstr "sudo コマンド"
msgid "sudo commands"
msgstr "sudo コマンド"
msgid "Sudo Commands"
msgstr "sudo コマンド"
msgid "Sudo Command"
msgstr "sudo コマンド"
msgid "sudo rule"
msgstr "sudo ルール"
msgid "sudo rules"
msgstr "sudo ルール"
msgid "Sudo Rules"
msgstr "sudo ルール"
msgid "Sudo Rule"
msgstr "sudo ルール"
msgid "user"
msgstr "ユーザー"
msgid "users"
msgstr "ユーザー"
msgid "Add a new user."
msgstr "新しいユーザーを追加します。"
msgid "Delete a user."
msgstr "ユーザーを削除します。"
msgid "Modify a user."
msgstr "ユーザーを変更します。"
msgid "Disable a user account."
msgstr "ユーザーアカウントを無効化します。"
msgid "Enable a user account."
msgstr "ユーザーアカウントを有効化します。"
msgid "invalid SSH public key"
msgstr "無効な SSH 公開鍵"
msgid "Out of memory\n"
msgstr "メモリー不足\n"
msgid "Out of memory!?\n"
msgstr "メモリー不足!?\n"

706
install/po/kn.po Normal file
View File

@@ -0,0 +1,706 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Chandru <gundachandru@gmail.com>, 2010
# jdennis <jdennis@redhat.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Kannada (http://www.transifex.com/projects/p/freeipa/language/"
"kn/)\n"
"Language: kn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#, python-format
msgid "Enter %(label)s again to verify: "
msgstr "ಮತ್ತೊಮ್ಮೆ ಪರಿಶೀಲಿಸಲು %(label)s ಎಂಟರ್ ಮಾಡಿ:"
#, c-format
msgid "Passwords do not match!"
msgstr "ಗುಪ್ತಪದಗಳು ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತಿಲ್ಲ!"
#, python-format
msgid "unknown error %(code)d from %(server)s: %(error)s"
msgstr "%(server)s ಸರ್ವರ್‌ನಿಂದ ಅಜ್ಞಾತ ದೋಷ %(code)d: %(error)s"
msgid "an internal error has occurred"
msgstr "ಆಂತರಿಕ ದೋಷ ಉಂಟಾಗಿದೆ"
#, python-format
msgid "Invalid JSON-RPC request: %(error)s"
msgstr "ಅಸಿಂಧುವಾದ JSON-RPC ಬೇಡಿಕೆ: %(error)s"
#, python-format
msgid "Kerberos error: %(major)s/%(minor)s"
msgstr "Kerberos ದೋಷ: %(major)s/%(minor)s"
msgid "did not receive Kerberos credentials"
msgstr "Kerberos ಯೋಗ್ಯತಾಪತ್ರಗಳನ್ನು ಪಡೆದಿಲ್ಲ"
msgid "No credentials cache found"
msgstr "ಕ್ಯಾಶ್‌ನಲ್ಲಿ ಯೋಗ್ಯತಾಪತ್ರಗಳು ಸಿಗುತ್ತಿಲ್ಲ"
msgid "Ticket expired"
msgstr "ಟಿಕೆಟ್‌ನ ಅವಧಿ ಮುಗಿದಿದೆ"
msgid "Credentials cache permissions incorrect"
msgstr "ಯೋಗ್ಯತಾಪತ್ರಗಳ ಕ್ಯಾಶ್‌ನ ಅನುಮತಿಗಳು ಸರಿಯಿಲ್ಲ"
msgid "Bad format in credentials cache"
msgstr "ಯೋಗ್ಯತಾಪತ್ರಗಳ ಕ್ಯಾಶ್‌ನಲ್ಲಿ ಜೋಡಣೆ ಸರಿಯಿಲ್ಲ"
msgid "Cannot resolve KDC for requested realm"
msgstr "ಕೋರಿದ ಕ್ಷೇತ್ರ(ರೆಲ್ಮ್)ಕ್ಕಾಗಿ KDC ಯನ್ನು ಬಗೆಹರಿಸಲು ಆಗುತ್ತಿಲ್ಲ"
#, python-format
msgid "Insufficient access: %(info)s"
msgstr "ನಿಲುಕಣೆ(ಆಕ್ಸೆಸ್) ಸಾಲದಾಗಿದೆ: %(info)s"
msgid "Passwords do not match"
msgstr "ಗುಪ್ತಪದಗಳು ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತಿಲ್ಲ"
msgid "Command not implemented"
msgstr "ಆಜ್ಞೆ(ಕಮ್ಯಾಂಡ್)ಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲಾಗಿಲ್ಲ"
#, python-format
msgid "%(reason)s"
msgstr "%(reason)s"
msgid "This entry already exists"
msgstr "ಈ ನಮೂದು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ"
msgid "You must enroll a host in order to create a host service"
msgstr ""
"ಒಂದು ಹೋಸ್ಟ್ ಸೇವೆ(ಸರ್ವಿಸ್)ಯನ್ನು ರಚಿಸುವ ಸಲುವಾಗಿ ನೀವು ಒಂದು ಹೋಸ್ಟ್ ಅನ್ನು ಸೇರಿಸಲೇಬೇಕಾಗಿದೆ"
#, python-format
msgid ""
"Service principal is not of the form: service/fully-qualified host name: "
"%(reason)s"
msgstr ""
"Service principalನ ಸ್ವರೂಪ ಹೀಗಿಲ್ಲ: service/fully-qualified host name: "
"%(reason)s"
msgid ""
"The realm for the principal does not match the realm for this IPA server"
msgstr "principalನ ಕ್ಷೇತ್ರ(ರೆಲ್ಮ್)ವು ಈ IPA ಸರ್ವರ್‌ನ ಕ್ಷೇತ್ರ(ರೆಲ್ಮ್)ಕ್ಕೆ ತಾಳೆಯಾಗುತ್ತಿಲ್ಲ"
msgid "This command requires root access"
msgstr "ಈ ಆಜ್ಞೆ(ಕಮ್ಯಾಂಡ್) ರೂಟ್(root) ನಿಲುಕಣೆ(ಆಕ್ಸೆಸ್) ಕೋರುತ್ತದೆ"
msgid "This is already a posix group"
msgstr "ಇದು ಈಗಾಗಲೇ posix ಗುಂಪು"
msgid "A group may not be a member of itself"
msgstr "ಒಂದು ಗುಂಪು ಅದರ ಒಂದು ಸದಸ್ಯ ಆಗದಿರಬಹುದು"
#, python-format
msgid "Base64 decoding failed: %(reason)s"
msgstr "Base64 ಡೆಕೋಡಿಂಗ್ ವಿಫಲಗೊಂಡಿದೆ: %(reason)s"
msgid "A group may not be added as a member of itself"
msgstr "ಒಂದು ಗುಂಪು ಅದರ ಒಂದು ಸದಸ್ಯನಂತೆ ಸೇರಿಸಲು ಆಗದಿರಬಹುದು"
msgid "The default users group cannot be removed"
msgstr "ಡಿಫಾಲ್ಟ್ ಬಳಕೆದಾರರ ಗುಂಪನ್ನು ತೆಗೆದುಹಾಕಲು ಆಗುವುದಿಲ್ಲ"
msgid "change collided with another change"
msgstr "ಬದಲಾವಣೆ ಮತ್ತೊಂದು ಬದಲಾವಣೆಯೊಂದಿಗೆ ಡಿಕ್ಕಿಹೊಡೆದಿದೆ"
msgid "no modifications to be performed"
msgstr "ಯಾವುದೇ ಬದಲಾವಣೆಗಳು ನಡೆಯಬಾರದು"
msgid "limits exceeded for this query"
msgstr "ಈ ಕ್ವೇರಿಗೆ ಮಿತಿಗಳು ಮೀರಿವೆ"
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
#, python-format
msgid "Certificate operation cannot be completed: %(error)s"
msgstr "ಪ್ರಮಾಣಪತ್ರದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಆಗುತ್ತಿಲ್ಲ: %(error)s"
msgid "Results are truncated, try a more specific search"
msgstr "ಫಲಿತಾಂಶಗಳು ಕತ್ತರಿಸಲ್ಪಟ್ಟಿವೆ, ಹೆಚ್ಚ್ಹು ನಿರ್ದಿಷ್ಟವಾದ ಶೋಧನೆ ಪ್ರಯತ್ನಿಸಿ"
msgid "incorrect type"
msgstr "ಸರಿಯಲ್ಲದ ಬಗೆ"
msgid "Only one value is allowed"
msgstr "ಕೇವಲ ಒಂದು ಬೆಲೆ ಮಾತ್ರ ಅನುಮೋದಿಸಲಾಗಿದೆ"
msgid "must be True or False"
msgstr "ನಿಜ (True) ಅಥವಾ ಸುಳ್ಳು (False) ಆಗಿರಲೇಬೇಕು"
msgid "must be an integer"
msgstr "ಇನ್ಟೀಜರ್ ಆಗಿರಲೇಬೇಕು"
#, python-format
msgid "must be at least %(minvalue)d"
msgstr "ಕನಿಷ್ಠವಾಗಿ %(minvalue)d ಆಗಿರಲೇಬೇಕು"
#, python-format
msgid "can be at most %(maxvalue)d"
msgstr "ಗರಿಷ್ಠವಾಗಿ %(maxvalue)d ಆಗಿರಬಹುದು"
msgid "must be a decimal number"
msgstr "ದಶಾಂಶ ಸಂಖ್ಯೆ ಆಗಿರಲೇಬೇಕು"
#, python-format
msgid "must match pattern \"%(pattern)s\""
msgstr "ನಮೂನೆ \"%(pattern)s\" ಹೊಂದಾಣಿಕೆಯಾಗಲೇಬೇಕು"
msgid "must be binary data"
msgstr "ಬೈನರಿ ಡಾಟಾ ಆಗಿರಲೇಬೇಕು"
#, python-format
msgid "must be at least %(minlength)d bytes"
msgstr "ಕನಿಷ್ಠವಾಗಿ %(minlength)d ಬೈಟ್ಸ್ ಆಗಿರಲೇಬೇಕು"
#, python-format
msgid "can be at most %(maxlength)d bytes"
msgstr "ಗರಿಷ್ಠವಾಗಿ %(maxlength)d ಬೈಟ್ಸ್ ಆಗಿರಬಹುದು"
#, python-format
msgid "must be exactly %(length)d bytes"
msgstr "ನಿಖರವಾಗಿ %(length)d ಬೈಟ್ಸ್ ಆಗಿರಲೇಬೇಕು"
msgid "must be Unicode text"
msgstr "ಯುನಿಕೋಡ್ ಪಠ್ಯ ಆಗಿರಲೇಬೇಕು"
#, python-format
msgid "must be at least %(minlength)d characters"
msgstr "ಕನಿಷ್ಠವಾಗಿ %(minlength)d ಅಕ್ಷರಗಳು ಇರಲೇಬೇಕು"
#, python-format
msgid "can be at most %(maxlength)d characters"
msgstr "ಗರಿಷ್ಠವಾಗಿ %(maxlength)d ಅಕ್ಷರಗಳು ಇರಬಹುದು"
#, python-format
msgid "must be exactly %(length)d characters"
msgstr "ನಿಖರವಾಗಿ %(length)d ಅಕ್ಷರಗಳು ಇರಲೇಬೇಕು"
msgid "type, filter, subtree and targetgroup are mutually exclusive"
msgstr " ಬಗೆ, ಫಿಲ್ಟರ್, ಸಬ್‌ಟ್ರೀ ಮತ್ತು ಟಾರ್ಗೆಟ್‌ಗ್ರೂಪ್ ಗಳು ಪರಸ್ಪರ ಪ್ರತ್ಯೇಕ"
msgid ""
"at least one of: type, filter, subtree, targetgroup, attrs or memberof are "
"required"
msgstr ""
"ಕನಿಷ್ಟ ಒಂದು : ಬಗೆ, ಫಿಲ್ಟರ್, ಸಬ್‌ಟ್ರೀ, ಟಾರ್ಗೆಟ್‌ಗ್ರೂಪ್, attrs ಅಥವಾ memberof ಗಳ ಅಗತ್ಯವಿದೆ"
#, python-format
msgid "Group '%s' does not exist"
msgstr " '%s' ಗುಂಪು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"
#, python-format
msgid "ACI with name \"%s\" not found"
msgstr "\"%s\" ಹೆಸರು ಹೊಂದಿರುವ ACI ಪತ್ತೆಯಾಗಿಲ್ಲ"
msgid "ACIs"
msgstr "ACIs"
msgid "ACI name"
msgstr "ACI ಹೆಸರು"
msgid "User group"
msgstr "ಬಳಕೆದಾರ ಗುಂಪು"
msgid "User group ACI grants access to"
msgstr "User group ACI grants access to"
msgid "Permissions"
msgstr "ಅನುಮತಿಗಳು"
msgid "Attributes"
msgstr "ವೈಶಿಷ್ಟ್ಯಗಳು"
msgid "Type"
msgstr "ಬಗೆ"
msgid "Member of"
msgstr "ಸದಸ್ಯ"
msgid "Member of a group"
msgstr "ಒಂದು ಗುಂಪಿನ ಸದಸ್ಯ"
msgid "Filter"
msgstr "ಶೋಧಕ (ಫಿಲ್ಟರ್)"
msgid "Legal LDAP filter (e.g. ou=Engineering)"
msgstr "Legal LDAP filter (e.g. ou=Engineering)"
msgid "Subtree"
msgstr "ಉಪವೃಕ್ಷ"
msgid "Subtree to apply ACI to"
msgstr "Subtree to apply ACI to"
msgid "Target group"
msgstr "Target ಗುಂಪು"
msgid "Group to apply ACI to"
msgstr "Group to apply ACI to"
#, python-format
msgid "Created ACI \"%(value)s\""
msgstr "\"%(value)s\" ACIವನ್ನು ರಚಿಸಲಾಗಿದೆ"
#, python-format
msgid "Deleted ACI \"%(value)s\""
msgstr "\"%(value)s\" ACIವನ್ನು ಅಳಿಸಲಾಗಿದೆ"
#, python-format
msgid "Modified ACI \"%(value)s\""
msgstr "\"%(value)s\" ACIವನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ"
msgid "Description"
msgstr "ವಿವರಣೆ"
msgid "Users"
msgstr "ಬಳಕೆದಾರರು"
msgid "Hosts"
msgstr "ಹೋಸ್ಟ್‌ಗಳು"
msgid "Location"
msgstr "ಸ್ಥಳ"
msgid "Map"
msgstr "ನಕ್ಷೆ"
msgid "Automount Maps"
msgstr "ಮ್ಯಾಪ್‌ಗಳ ಆಟೋಮೌಂಟ್"
msgid "Key"
msgstr "ಕೀ"
msgid "Mount information"
msgstr "ಮೌಂಟ್ ಮಾಹಿತಿ"
msgid "description"
msgstr "ವಿವರಣೆ"
msgid "Automount Keys"
msgstr "ಕೀಗಳ ಆಟೋಮೌಂಟ್"
msgid "Mount point"
msgstr "ಮೌಂಟ್ ಪಾಯಂಟ್"
msgid "Parent map"
msgstr "Parent map"
msgid "Password"
msgstr "ಗುಪ್ತಪದ"
msgid "Failed members"
msgstr "ವಿಫಲಗೊಂಡ ಸದಸ್ಯರು"
msgid "Member users"
msgstr "ಸದಸ್ಯ ಬಳಕೆದಾರರು"
msgid "Member groups"
msgstr "ಸದಸ್ಯ ಗುಂಪುಗಳು"
msgid "Member hosts"
msgstr "ಸದಸ್ಯ ಹೋಸ್ಟ್‌ಗಳು"
msgid "Member host-groups"
msgstr "ಸದಸ್ಯ ಹೋಸ್ಟ್-ಗ್ರೂಪ್‌ಗಳು"
msgid "Member of host-groups"
msgstr "ಹೋಸ್ಟ್-ಗುಂಪಿನ ಸದಸ್ಯ"
msgid "External host"
msgstr "ಹೊರಗಿನ ಹೋಸ್ಟ್"
#, python-format
msgid "Failure decoding Certificate Signing Request: %s"
msgstr "ಪ್ರಮಾಣಪತ್ರದ ಸಹಿಯ ಕೋರಿಕೆಯ ಡಿಕೋಡಿಂಗ್‌ನ ವಿಫಲತೆ: %s"
msgid "Principal"
msgstr "Principal"
msgid "Service principal for this certificate (e.g. HTTP/test.example.com)"
msgstr "ಈ ಪ್ರಮಾಣಪತ್ರಕ್ಕಾಗಿ Service principal (e.g. HTTP/test.example.com)"
msgid "automatically add the principal if it doesn't exist"
msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ principal ಸೇರಿಸಿ ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲದಿದ್ದಲ್ಲಿ"
msgid "Certificate"
msgstr "ಪ್ರಮಾಣಪತ್ರ"
msgid "Subject"
msgstr "ವಿಷಯ"
msgid "Serial number"
msgstr "ಅನುಕ್ರಮ ಸಂಖ್ಯೆ"
msgid "Request id"
msgstr "ಬೇಡಿಕೆ ID"
msgid "Request status"
msgstr "ಬೇಡಿಕೆ ಸ್ಥಿತಿ"
msgid "Serial number in decimal or if prefixed with 0x in hexadecimal"
msgstr "ಕ್ರಮ ಸಂಖ್ಯೆ ಡೆಸಿಮಲ್‌ನಲ್ಲಿ ಅಥವಾ 0x ಮೊದಲು ಸೇರಿಸಿದ್ದಲ್ಲಿ ಹೆಕ್ಸಾಡೆಸಿಮಲ್‌ನಲ್ಲಿ"
msgid "Revocation reason"
msgstr "ರದ್ದು ಮಾಡುವುದಕ್ಕೆ ಕಾರಣ"
msgid "Revoked"
msgstr "ರದ್ದು ಮಾಡಲಾಗಿದೆ"
msgid "Reason"
msgstr "ಕಾರಣ"
msgid "Reason for revoking the certificate (0-10)"
msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು (0-10) ರದ್ದು ಮಾಡಲು ಕಾರಣ"
msgid "Unrevoked"
msgstr "ರದ್ದು ಮಾಡಲಾಗಿಲ್ಲ"
msgid "Error"
msgstr "ದೋಷ"
msgid "Home directory base"
msgstr "ಹೋಮ್ ಡೈರೆಕ್ಟರೀ ಮೂಲ"
msgid "Default shell"
msgstr "ಡೀಫಾಲ್ಟ್ ಶೆಲ್"
msgid "Default users group"
msgstr "ಡಿಫಾಲ್ಟ್ ಬಳಕೆದಾರರ ಗುಂಪು"
msgid "Search time limit"
msgstr "ಹುಡುಕು ಸಮಯ ಮಿತಿ"
msgid "Search size limit"
msgstr "ಹುಡುಕು ಗಾತ್ರ ಮಿತಿ"
msgid "User search fields"
msgstr "ಬಳಕೆದಾರನ ಶೋಧ ಫೀಲ್ಡ್‌ಗಳು"
msgid "Certificate Subject base"
msgstr "ಪ್ರಮಾಣಪತ್ರದ ವಿಷಯ ಮೂಲ"
msgid "Priority"
msgstr "ಆದ್ಯತೆ"
msgid "Zone name"
msgstr "ವಲಯದ ಹೆಸರು"
msgid "Zone name (FQDN)"
msgstr "ವಲಯದ ಹೆಸರು (FQDN)"
msgid "SOA serial"
msgstr "SOA serial"
msgid "SOA refresh"
msgstr "SOA refresh"
msgid "SOA retry"
msgstr "SOA retry"
msgid "SOA expire"
msgstr "SOA expire"
msgid "SOA minimum"
msgstr "SOA minimum"
msgid "Time to live"
msgstr "ಉಳಿದಿರಬೇಕಾದ ಸಮಯ"
msgid "SOA class"
msgstr "SOA class"
msgid "BIND update policy"
msgstr "BIND update policy"
msgid "Class"
msgstr "ವರ್ಗ"
msgid "User Groups"
msgstr "ಬಳಕೆದಾರರ ಗುಂಪುಗಳು"
msgid "Group name"
msgstr "ಗುಂಪಿನ ಹೆಸರು"
msgid "Group description"
msgstr "ಗುಂಪಿನ ವಿವರಣೆ"
msgid "GID"
msgstr "GID"
msgid "GID (use this option to set it manually)"
msgstr "GID (ಇದನ್ನು ಮ್ಯಾನ್ಯೂವಲ್ ಆಗಿ ಸೆಟ್ ಮಾಡಲು ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಿ)"
#, python-format
msgid "Added group \"%(value)s\""
msgstr "\"%(value)s\" ಗುಂಪನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
#, python-format
msgid "Deleted group \"%(value)s\""
msgstr "\"%(value)s\" ಗುಂಪನ್ನು ಅಳಿಸಲಾಗಿದೆ"
#, python-format
msgid "Modified group \"%(value)s\""
msgstr "\"%(value)s\" ಗುಂಪನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ"
msgid "Rule name"
msgstr "ನಿಯಮದ ಹೆಸರು"
msgid "User category"
msgstr "ಬಳಕೆದಾರನ ವರ್ಗ"
msgid "User category the rule applies to"
msgstr "ನಿಯಮ ಅನ್ವಯಿಸುವಂತಹ ಬಳಕೆದಾರನ ವರ್ಗ"
msgid "Host category"
msgstr "ಹೋಸ್ಟ್ ವರ್ಗ"
msgid "Host category the rule applies to"
msgstr "ನಿಯಮ ಅನ್ವಯಿಸುವಂತಹ ಹೋಸ್ಟ್ ವರ್ಗ"
msgid "Host Groups"
msgstr "ಹೋಸ್ಟ್ ಗುಂಪುಗಳು"
msgid "Services"
msgstr "ಸೇವೆಗಳು(ಸರ್ವೀಸಸ್)"
msgid "Access time"
msgstr "ಪ್ರವೇಶದ ಸಮಯ"
msgid "Service name"
msgstr "ಸೇವೆಯ ಹೆಸರು"
msgid "User name"
msgstr "ಬಳಕೆದಾರನ ಹೆಸರು"
msgid "Host name"
msgstr "ಹೋಸ್ಟ್ ಹೆಸರು"
msgid "A description of this host"
msgstr "ಈ ಹೋಸ್ಟ್‌ನ ವಿವರಣೆ"
msgid "Locality"
msgstr "ಪ್ರದೇಶ"
msgid "Host locality (e.g. \"Baltimore, MD\")"
msgstr "ಹೋಸ್ಟ್ ತಾಣ (e.g. \"Baltimore, MD\")"
msgid "Host location (e.g. \"Lab 2\")"
msgstr "ಹೋಸ್ಟ್ ತಾಣ (e.g. \"Lab 2\")"
msgid "Platform"
msgstr "ಪ್ಲಾಟ್‌ಫಾರ್ಮ್"
msgid "Host hardware platform (e.g. \"Lenovo T61\")"
msgstr "ಹೋಸ್ಟ್ ಹಾರ್ಡ್‌ವೇರ್ ಪ್ಲ್ಯಾಟ್‌ಫಾರ್ಮ್ (e.g. \"Lenovo T61\")"
msgid "Operating system"
msgstr "ಕಾರ್ಯಕಾರಿ ವ್ಯವಸ್ಥೆ"
msgid "Host operating system and version (e.g. \"Fedora 9\")"
msgstr "ಹೋಸ್ಟ್ ಕಾರ್ಯಕಾರಿ ವ್ಯವಸ್ಥೆ ಮತ್ತು ಆವೃತ್ತಿ (e.g. \"Fedora 9\")"
msgid "User password"
msgstr "ಬಳಕೆದಾರನ ಗುಪ್ತಪದ"
msgid "Password used in bulk enrollment"
msgstr "ದೊಡ್ಡ ಪ್ರಮಾಣದ ದಾಖಲಾತಿಯಲ್ಲಿ ಬಳಸಲಾದ ಗುಪ್ತಪದ"
msgid "Base-64 encoded server certificate"
msgstr "Base-64 ಎನ್‌ಕೋಡೆಡ್ ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರ"
msgid "Principal name"
msgstr "Principal ಹೆಸರು"
#, python-format
msgid "Added host \"%(value)s\""
msgstr "\"%(value)s\" ಹೋಸ್ಟನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
#, python-format
msgid "Deleted host \"%(value)s\""
msgstr "\"%(value)s\" ಹೋಸ್ಟನ್ನು ಅಳಿಸಲಾಗಿದೆ"
#, python-format
msgid "Modified host \"%(value)s\""
msgstr "\"%(value)s\" ಹೋಸ್ಟನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ"
msgid "Kerberos principal name for this host"
msgstr "ಈ ಹೋಸ್ಟ್‌ಗೆ Kerberos principalನ ಹೆಸರು"
msgid "Host-group"
msgstr "ಹೋಸ್ಟ್-ಗುಂಪು"
msgid "Name of host-group"
msgstr "ಹೋಸ್ಟ್-ಗುಂಪಿನ ಹೆಸರು"
msgid "A description of this host-group"
msgstr "ಈ ಹೋಸ್ಟ್-ಗ್ರೂಪ್‌ನ ವಿವರಣೆ"
#, python-format
msgid "Added hostgroup \"%(value)s\""
msgstr "\"%(value)s\" ಹೋಸ್ಟ್‌ಗ್ರೂಪನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
#, python-format
msgid "Deleted hostgroup \"%(value)s\""
msgstr "\"%(value)s\" ಹೋಸ್ಟ್‌ಗ್ರೂಪನ್ನು ಅಳಿಸಲಾಗಿದೆ"
#, python-format
msgid "Modified hostgroup \"%(value)s\""
msgstr "\"%(value)s\" ಹೋಸ್ಟ್‌ಗ್ರೂಪನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ"
msgid "Data"
msgstr "ದತ್ತಾಂಶ"
msgid "User"
msgstr "ಬಳಕೆದಾರ"
msgid "Groups"
msgstr "ಗುಂಪುಗಳು"
msgid "DNS"
msgstr "DNS"
msgid "Manage ticket policy for specific user"
msgstr "ನಿಗದಿತ ಬಳಕೆದಾರನಿಗೆ ಟಿಕೆಟ್ ಪಾಲಿಸಿಯನ್ನು ನಿರ್ವಹಿಸು"
msgid "Max life"
msgstr "ಗರಿಷ್ಟ ಜೀವಿತಾವಧಿ"
msgid "Max renew"
msgstr "ಗರಿಷ್ಟ ನವೀಕರಣ"
msgid "LDAP URI"
msgstr "LDAP URI"
msgid "LDAP URI of DS server to migrate from"
msgstr "LDAP URI of DS server to migrate from"
msgid "Bind DN"
msgstr "ಬೈಂಡ್ DN"
msgid "User container"
msgstr "ಬಳಕೆದಾರನ ಕಂಟೇನರ್"
msgid "Group container"
msgstr "ಗುಂಪಿನ ಕಂಟೇನರ್"
#, python-format
msgid "%(count)d variables"
msgstr "%(count)d ವೇರಿಯೇಬಲ್‌ಗಳು"
msgid "Netgroups"
msgstr "ನೆಟ್‌ಗ್ರೂಪ್‌ಗಳು"
msgid "Netgroup name"
msgstr "ನೆಟ್‌ಗ್ರೂಪ್ ಹೆಸರು"
msgid "Netgroup description"
msgstr "ನೆಟ್‌ಗ್ರೂಪ್ ವಿವರಣೆ"
msgid "NIS domain name"
msgstr "NIS ಡೊಮೇನ್ ಹೆಸರು"
msgid "Group"
msgstr "ಗುಂಪು"
msgid "Max lifetime (days)"
msgstr "ಗರಿಷ್ಟ ಜೀವಿತಾವಧಿ (ದಿನಗಳು)"
msgid "Maximum password lifetime (in days)"
msgstr "ಗುಪ್ತಪದದ ಗರಿಷ್ಟ ಜೀವಿತಾವಧಿ (ದಿನಗಳಲ್ಲಿ)"
msgid "Min lifetime (hours)"
msgstr "ಕನಿಷ್ಟ ಜೀವಿತಾವಧಿ (ಘಂಟೆಗಳು)"
msgid "Minimum password lifetime (in hours)"
msgstr "ಗುಪ್ತಪದದ ಕನಿಷ್ಟ ಜೀವಿತಾವಧಿ (ಘಂಟೆಗಳಲ್ಲಿ)"
msgid "History size"
msgstr "ಇತಿಹಾಸದ ಗಾತ್ರ"
msgid "Password history size"
msgstr "ಗುಪ್ತಪದ ಇತಿಹಾಸದ ಗಾತ್ರ"
msgid "Character classes"
msgstr "ಕ್ಯಾರೆಕ್ಟರ್ ಕ್ಲಾಸ್‌ಗಳು"
msgid "Minimum number of character classes"
msgstr "ಕನಿಷ್ಟ ಸಂಖ್ಯೆಯ ಕ್ಯಾರಕ್ಟರ್ ಕ್ಲಾಸ್‌ಗಳು"
msgid "Min length"
msgstr "ಕನಿಷ್ಟ ಉದ್ದ"
msgid "Minimum length of password"
msgstr "ಗುಪ್ತಪದದ ಕನಿಷ್ಟ ಉದ್ದ"
msgid "priority cannot be set on global policy"
msgstr "ಗ್ಲೋಬಲ್ ಪಾಲಿಸಿಯಲ್ಲಿ ಆದ್ಯತೆಯನ್ನು ಸೆಟ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ"
msgid "A description of this role-group"
msgstr "ಈ ರೋಲ್-ಗ್ರೂಪ್‌ನ ವಿವರಣೆ"
msgid "Service principal"
msgstr "Service principal"
#, python-format
msgid "Added service \"%(value)s\""
msgstr "\"%(value)s\" ಸೇವೆ(ಸರ್ವೀಸ್)ಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
#, python-format
msgid "Deleted service \"%(value)s\""
msgstr "\"%(value)s\" ಸೇವೆ(ಸರ್ವೀಸ್)ಯನ್ನು ಅಳಿಸಲಾಗಿದೆ"
msgid "User login"
msgstr "ಬಳಕೆದಾರನ ಪ್ರವೇಶ"
msgid "First name"
msgstr "ಮೊದಲ ಹೆಸರು"
msgid "Last name"
msgstr "ಕೊನೆಯ ಹೆಸರು"
msgid "Login shell"
msgstr "ಪ್ರವೇಶ ಶೆಲ್"
msgid "Kerberos principal"
msgstr "Kerberos principal"
msgid "Email address"
msgstr "ಇಮೇಲ್ ವಿಳಾಸ"
msgid "UID"
msgstr "UID"
msgid "Street address"
msgstr "ಕೇರಿ ವಿಳಾಸ"
#, python-format
msgid "Added user \"%(value)s\""
msgstr "\"%(value)s\" ಬಳಕೆದಾರನನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
#, python-format
msgid "Deleted user \"%(value)s\""
msgstr "\"%(value)s\" ಬಳಕೆದಾರನನ್ನು ಅಳಿಸಲಾಗಿದೆ"
#, python-format
msgid "Modified user \"%(value)s\""
msgstr "\"%(value)s\" ಬಳಕೆದಾರನನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ"
#, python-format
msgid "Unable to communicate with CMS (%s)"
msgstr "CMS (%s) ಜೊತೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"

25
install/po/nl.po Normal file
View File

@@ -0,0 +1,25 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Geert Warrink <geert.warrink@onsnet.nu>, 2011
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/freeipa/language/"
"nl/)\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid "Passwords do not match!"
msgstr "Wachtwoorden komen niet overheen!"

1632
install/po/pl.po Normal file

File diff suppressed because it is too large Load Diff

819
install/po/pygettext.py Executable file
View File

@@ -0,0 +1,819 @@
#! /usr/bin/python2
# -*- coding: iso-8859-1 -*-
# Originally written by Barry Warsaw <barry@zope.com>
#
# Minimally patched to make it even more xgettext compatible
# by Peter Funk <pf@artcom-gmbh.de>
#
# 2002-11-22 J<>rgen Hermann <jh@web.de>
# Added checks that _() only contains string literals, and
# command line args are resolved to module lists, i.e. you
# can now pass a filename, a module or package name, or a
# directory (including globbing chars, important for Win32).
# Made docstring fit in 80 chars wide displays using pydoc.
#
# 2010-06-12 Jan-Hendrik G<>llner <jan-hendrik.goellner@gmx.de>
# Made it plural sensitive, added ngettext as default keyword.
# Any keyworded function that is being supplied > 2 arguments
# is treated like ngettext.
# Also added support for constructs like "_('foo' + 10*'bar')"
# by evaluating the whole expression.
# Code like _(foo(arg1, arg2) + "bar") does not work by design
# as that expression must be evaluated at runtime and this script
# only extracts static strings known before runtime.
# However it is possible to do things like
# "ngettext('World', 'Worlds', numWorlds)"
# as only the first two arguments are evaluated.
# Advanced version number from 1.5 to 1.6
#
# for selftesting
try:
#pylint: disable=F0401
import fintl
_ = fintl.gettext
except ImportError:
_ = lambda s: s
__doc__ = _("""pygettext -- Python equivalent of xgettext(1)
Many systems (Solaris, Linux, Gnu) provide extensive tools that ease the
internationalization of C programs. Most of these tools are independent of
the programming language and can be used from within Python programs.
Martin von Loewis' work[1] helps considerably in this regard.
There's one problem though; xgettext is the program that scans source code
looking for message strings, but it groks only C (or C++). Python
introduces a few wrinkles, such as dual quoting characters, triple quoted
strings, and raw strings. xgettext understands none of this.
Enter pygettext, which uses Python's standard tokenize module to scan
Python source code, generating .pot files identical to what GNU xgettext[2]
generates for C and C++ code. From there, the standard GNU tools can be
used.
A word about marking Python strings as candidates for translation. GNU
xgettext recognizes the following keywords: gettext, dgettext, dcgettext,
and gettext_noop. But those can be a lot of text to include all over your
code. C and C++ have a trick: they use the C preprocessor. Most
internationalized C source includes a #define for gettext() to _() so that
what has to be written in the source is much less. Thus these are both
translatable strings:
gettext("Translatable String")
_("Translatable String")
Python of course has no preprocessor so this doesn't work so well. Thus,
pygettext searches only for _() by default, but see the -k/--keyword flag
below for how to augment this.
[1] http://www.python.org/workshops/1997-10/proceedings/loewis.html
[2] http://www.gnu.org/software/gettext/gettext.html
NOTE: pygettext attempts to be option and feature compatible with GNU
xgettext where ever possible. However some options are still missing or are
not fully implemented. Also, xgettext's use of command line switches with
option arguments is broken, and in these cases, pygettext just defines
additional switches.
Usage: pygettext [options] inputfile ...
Options:
-a
--extract-all
Extract all strings.
-d name
--default-domain=name
Rename the default output file from messages.pot to name.pot.
-E
--escape
Replace non-ASCII characters with octal escape sequences.
-D
--docstrings
Extract module, class, method, and function docstrings. These do
not need to be wrapped in _() markers, and in fact cannot be for
Python to consider them docstrings. (See also the -X option).
-h
--help
Print this help message and exit.
-k word
--keyword=word
Keywords to look for in addition to the default set, which are:
%(DEFAULTKEYWORDS)s
You can have multiple -k flags on the command line.
-K
--no-default-keywords
Disable the default set of keywords (see above). Any keywords
explicitly added with the -k/--keyword option are still recognized.
--no-location
Do not write filename/lineno location comments.
-n
--add-location
Write filename/lineno location comments indicating where each
extracted string is found in the source. These lines appear before
each msgid. The style of comments is controlled by the -S/--style
option. This is the default.
-o filename
--output=filename
Rename the default output file from messages.pot to filename. If
filename is `-' then the output is sent to standard out.
-p dir
--output-dir=dir
Output files will be placed in directory dir.
-S stylename
--style stylename
Specify which style to use for location comments. Two styles are
supported:
Solaris # File: filename, line: line-number
GNU #: filename:line
The style name is case insensitive. GNU style is the default.
-v
--verbose
Print the names of the files being processed.
-V
--version
Print the version of pygettext and exit.
-w columns
--width=columns
Set width of output to columns.
-x filename
--exclude-file=filename
Specify a file that contains a list of strings that are not be
extracted from the input files. Each string to be excluded must
appear on a line by itself in the file.
-X filename
--no-docstrings=filename
Specify a file that contains a list of files (one per line) that
should not have their docstrings extracted. This is only useful in
conjunction with the -D option above.
If `inputfile' is -, standard input is read.
""")
import os
import imp
import sys
import glob
import time
import getopt
import token
import tokenize
__version__ = '1.6'
default_keywords = ['_', 'ngettext']
DEFAULTKEYWORDS = ', '.join(default_keywords)
EMPTYSTRING = ''
# The normal pot-file header. msgmerge and Emacs's po-mode work better if it's
# there.
pot_header = _('''\
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\\n"
"POT-Creation-Date: %(time)s\\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
"Language-Team: LANGUAGE <LL@li.org>\\n"
"MIME-Version: 1.0\\n"
"Content-Type: text/plain; charset=CHARSET\\n"
"Content-Transfer-Encoding: ENCODING\\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n"
"Generated-By: pygettext.py %(version)s\\n"
''')
def usage(code, msg=''):
print >> sys.stderr, __doc__ % globals()
if msg:
print >> sys.stderr, msg
sys.exit(code)
escapes = []
def make_escapes(pass_iso8859):
global escapes
if pass_iso8859:
# Allow iso-8859 characters to pass through so that e.g. 'msgid
# "H<>he"' would result not result in 'msgid "H\366he"'. Otherwise we
# escape any character outside the 32..126 range.
mod = 128
else:
mod = 256
for i in range(256):
if 32 <= (i % mod) <= 126:
escapes.append(chr(i))
else:
escapes.append("\\%03o" % i)
escapes[ord('\\')] = '\\\\'
escapes[ord('\t')] = '\\t'
escapes[ord('\r')] = '\\r'
escapes[ord('\n')] = '\\n'
escapes[ord('\"')] = '\\"'
def escape(s):
global escapes
s = list(s)
for i in range(len(s)):
s[i] = escapes[ord(s[i])]
return EMPTYSTRING.join(s)
def safe_eval(s):
# unwrap quotes, safely
return eval(s, {'__builtins__':{}}, {})
def normalize(s):
# This converts the various Python string types into a format that is
# appropriate for .po files, namely much closer to C style.
lines = s.split('\n')
if len(lines) == 1:
s = '"' + escape(s) + '"'
else:
if not lines[-1]:
del lines[-1]
lines[-1] = lines[-1] + '\n'
for i in range(len(lines)):
lines[i] = escape(lines[i])
lineterm = '\\n"\n"'
s = '""\n"' + lineterm.join(lines) + '"'
return s
def containsAny(str, set):
"""Check whether 'str' contains ANY of the chars in 'set'"""
return 1 in [c in str for c in set]
def _visit_pyfiles(list, dirname, names):
"""Helper for getFilesForName()."""
# get extension for python source files
if not globals().has_key('_py_ext'):
global _py_ext
_py_ext = [triple[0] for triple in imp.get_suffixes()
if triple[2] == imp.PY_SOURCE][0]
# don't recurse into CVS directories
if 'CVS' in names:
names.remove('CVS')
# add all *.py files to list
list.extend(
[os.path.join(dirname, file) for file in names
if os.path.splitext(file)[1] == _py_ext]
)
def _get_modpkg_path(dotted_name, pathlist=None):
"""Get the filesystem path for a module or a package.
Return the file system path to a file for a module, and to a directory for
a package. Return None if the name is not found, or is a builtin or
extension module.
"""
# split off top-most name
parts = dotted_name.split('.', 1)
if len(parts) > 1:
# we have a dotted path, import top-level package
try:
file, pathname, description = imp.find_module(parts[0], pathlist)
if file: file.close()
except ImportError:
return None
# check if it's indeed a package
if description[2] == imp.PKG_DIRECTORY:
# recursively handle the remaining name parts
pathname = _get_modpkg_path(parts[1], [pathname])
else:
pathname = None
else:
# plain name
try:
file, pathname, description = imp.find_module(
dotted_name, pathlist)
if file:
file.close()
if description[2] not in [imp.PY_SOURCE, imp.PKG_DIRECTORY]:
pathname = None
except ImportError:
pathname = None
return pathname
def getFilesForName(name):
"""Get a list of module files for a filename, a module or package name,
or a directory.
"""
if not os.path.exists(name):
# check for glob chars
if containsAny(name, "*?[]"):
files = glob.glob(name)
list = []
for file in files:
list.extend(getFilesForName(file))
return list
# try to find module or package
name = _get_modpkg_path(name)
if not name:
return []
if os.path.isdir(name):
# find all python files in directory
list = []
os.path.walk(name, _visit_pyfiles, list)
return list
elif os.path.exists(name):
# a single file
return [name]
return []
class TokenEater:
def __init__(self, options):
self.__options = options
self.__messages = {}
self.__state = self.__waiting
self.__args = []
self.__lineno = -1
self.__freshmodule = 1
self.__curfile = None
def __call__(self, ttype, tstring, stup, etup, line):
# dispatch
## import token
## print >> sys.stderr, 'ttype:', token.tok_name[ttype], \
## 'tstring:', tstring
self.__state(ttype, tstring, stup[0])
def __waiting(self, ttype, tstring, lineno):
opts = self.__options
# Do docstring extractions, if enabled
if opts.docstrings and not opts.nodocstrings.get(self.__curfile):
# module docstring?
if self.__freshmodule:
if ttype == tokenize.STRING:
try:
s = safe_eval(tstring)
except Exception as e:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: could not evaluate argument "%(arg)s"'
) % {
'arg': tstring,
'file': self.__curfile,
'lineno': self.__lineno
}
print >> sys.stderr, str(e)
else:
self.__addentry([s], lineno, isdocstring=1)
self.__freshmodule = 0
elif ttype not in (tokenize.COMMENT, tokenize.NL):
self.__freshmodule = 0
return
# class docstring?
if ttype == tokenize.NAME and tstring in ('class', 'def'):
self.__state = self.__suiteseen
return
if ttype == tokenize.NAME and tstring in opts.keywords:
self.__state = self.__keywordseen
def __suiteseen(self, ttype, tstring, lineno):
# ignore anything until we see the colon
if ttype == tokenize.OP and tstring == ':':
self.__state = self.__suitedocstring
def __suitedocstring(self, ttype, tstring, lineno):
# ignore any intervening noise
if ttype == tokenize.STRING:
try:
s = safe_eval(tstring)
except Exception as e:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: could not evaluate argument "%(arg)s"'
) % {
'arg': tstring,
'file': self.__curfile,
'lineno': self.__lineno
}
print >> sys.stderr, str(e)
else:
self.__addentry([s], lineno, isdocstring=1)
self.__state = self.__waiting
elif ttype not in (tokenize.NEWLINE, tokenize.INDENT,
tokenize.COMMENT):
# there was no class docstring
self.__state = self.__waiting
def __keywordseen(self, ttype, tstring, lineno):
if ttype == tokenize.OP and tstring == '(':
self.__args = ['']
self.__lineno = lineno
self.__depth = 0
self.__state = self.__scanstring1
else:
self.__state = self.__waiting
def __scanstring1(self, ttype, tstring, lineno):
# handle first argument, which is supposed to be a string.
if ttype == tokenize.OP and tstring == ')':
# End of list of arguments for the current function call.
# If the argument list is empty (as in keyword()), ignore this call.
# otherwise evaluate the fragments we collected as the first
# argument and record its line number and update the list of
# messages seen. Reset state for the next batch.
if self.__args[-1]:
try:
s = safe_eval(self.__args[-1])
except Exception as e:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: could not evaluate argument "%(arg)s"'
) % {
'arg': self.__args[-1],
'file': self.__curfile,
'lineno': self.__lineno
}
print >> sys.stderr, str(e)
self.__state = self.__waiting
return
if type(s) == str or type(s) == unicode:
self.__args[-1] = s
self.__addentry(self.__args)
else:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: argument is no str or unicode object "%(arg)s"'
) % {
'arg': s,
'file': self.__curfile,
'lineno': self.__lineno
}
self.__state = self.__waiting
elif ttype == tokenize.OP and tstring == ',':
# Start of the next argument.
try:
s = safe_eval(self.__args[-1])
except Exception as e:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: could not evaluate argument "%(arg)s"'
) % {
'arg': self.__args[-1],
'file': self.__curfile,
'lineno': self.__lineno
}
print >> sys.stderr, str(e)
self.__state = self.__waiting
return
if type(s) == str or type(s) == unicode:
self.__args[-1] = s
self.__args.append('') # next argument.
self.__state = self.__scanstring2
else:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: argument 1 is no str or unicode object "%(arg)s"'
) % {
'arg': s,
'file': self.__curfile,
'lineno': self.__lineno
}
self.__state = self.__waiting
else:
# add string to current argument for later evaluation.
# no state change in this case.
self.__args[-1] += tstring
def __scanstring2(self, ttype, tstring, lineno):
# handle second argument, which is supposed to be a string.
if ttype == tokenize.OP and tstring == ')':
# End of list of arguments for the current function call.
# This is an error if we expect either one or three arguments but
# never two.
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: unexpected number of arguments (2)"'
) % {
'file': self.__curfile,
'lineno': self.__lineno
}
self.__state = self.__waiting
elif ttype == tokenize.OP and tstring == ',':
# Start of the next argument. We do not need to parse it, we only
# made sure it is there and now we assume this is a plural call.
try:
s = safe_eval(self.__args[-1])
except Exception as e:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: could not evaluate argument "%(arg)s"'
) % {
'arg': self.__args[-1],
'file': self.__curfile,
'lineno': self.__lineno
}
print >> sys.stderr, str(e)
self.__state = self.__waiting
return
s = safe_eval(self.__args[-1])
if type(s) == str or type(s) == unicode:
self.__args[-1] = s
self.__addentry(self.__args)
self.__state = self.__waiting
else:
print >> sys.stderr, _(
'*** %(file)s:%(lineno)s: argument 2 is no str or unicode object "%(arg)s"'
) % {
'arg': s,
'file': self.__curfile,
'lineno': self.__lineno
}
self.__state = self.__waiting
else:
# add string to current argument for later evaluation.
# no state change in this case.
self.__args[-1] += tstring
def __addentry(self, args, lineno=None, isdocstring=0):
isplural = 0
if len(args) > 1:
isplural = 1
if lineno is None:
lineno = self.__lineno
exclude = 0
if args[0] in self.__options.toexclude:
exclude = 1
if isplural:
if args[1] not in self.__options.toexclude:
# in case of plural, both strings must be in the toexclude list
# to exclude this entry.
exclude = 0
if not exclude:
entry = (self.__curfile, lineno)
# entries look like this:
# {('arg1','arg2') : {(filename,lineno) : <isdocstring>},
# ('arg1',) : {(filename,lineno) : <iscodstring>}}
# a key with len > 1 indicates plurals
self.__messages.setdefault(tuple(args[0:2]), {})[entry] = isdocstring
def set_filename(self, filename):
self.__curfile = filename
self.__freshmodule = 1
def write(self, fp):
options = self.__options
timestamp = time.strftime('%Y-%m-%d %H:%M+%Z')
# The time stamp in the header doesn't have the same format as that
# generated by xgettext...
print >> fp, pot_header % {'time': timestamp, 'version': __version__}
# Sort the entries. First sort each particular entry's keys, then
# sort all the entries by their first item.
reverse = {}
for k, v in self.__messages.items():
keys = v.keys()
keys.sort()
reverse.setdefault(tuple(keys), []).append((k, v))
rkeys = reverse.keys()
rkeys.sort()
for rkey in rkeys:
rentries = reverse[rkey]
rentries.sort()
for k, v in rentries:
# If the entry was gleaned out of a docstring, then add a
# comment stating so. This is to aid translators who may wish
# to skip translating some unimportant docstrings.
isdocstring = sum(v.values())
# k is the message string, v is a dictionary-set of (filename,
# lineno) tuples. We want to sort the entries in v first by
# file name and then by line number.
v = v.keys()
v.sort()
if not options.writelocations:
pass
# location comments are different b/w Solaris and GNU:
elif options.locationstyle == options.SOLARIS:
for filename, lineno in v:
d = {'filename': filename, 'lineno': lineno}
print >>fp, _(
'# File: %(filename)s, line: %(lineno)d') % d
elif options.locationstyle == options.GNU:
# fit as many locations on one line, as long as the
# resulting line length doesn't exceeds 'options.width'
locline = '#:'
for filename, lineno in v:
d = {'filename': filename, 'lineno': lineno}
s = _(' %(filename)s:%(lineno)d') % d
if len(locline) + len(s) <= options.width:
locline = locline + s
else:
print >> fp, locline
locline = "#:" + s
if len(locline) > 2:
print >> fp, locline
if isdocstring:
print >> fp, '#, docstring'
print >> fp, 'msgid', normalize(k[0])
if len(k) > 1:
print >> fp, 'msgid_plural', normalize(k[1])
print >> fp, 'msgstr[0] ""'
print >> fp, 'msgstr[1] ""\n'
else:
print >> fp, 'msgstr ""\n'
def main():
global default_keywords
try:
opts, args = getopt.getopt(
sys.argv[1:],
'ad:DEhk:Kno:p:S:Vvw:x:X:',
['extract-all', 'default-domain=', 'escape', 'help',
'keyword=', 'no-default-keywords',
'add-location', 'no-location', 'output=', 'output-dir=',
'style=', 'verbose', 'version', 'width=', 'exclude-file=',
'docstrings', 'no-docstrings',
])
except getopt.error, msg:
usage(1, msg)
# for holding option values
class Options:
# constants
GNU = 1
SOLARIS = 2
# defaults
extractall = 0 # FIXME: currently this option has no effect at all.
escape = 0
keywords = []
outpath = ''
outfile = 'messages.pot'
writelocations = 1
locationstyle = GNU
verbose = 0
width = 78
excludefilename = ''
docstrings = 0
nodocstrings = {}
options = Options()
locations = {'gnu' : options.GNU,
'solaris' : options.SOLARIS,
}
# parse options
for opt, arg in opts:
if opt in ('-h', '--help'):
usage(0)
elif opt in ('-a', '--extract-all'):
options.extractall = 1
elif opt in ('-d', '--default-domain'):
options.outfile = arg + '.pot'
elif opt in ('-E', '--escape'):
options.escape = 1
elif opt in ('-D', '--docstrings'):
options.docstrings = 1
elif opt in ('-k', '--keyword'):
options.keywords.append(arg)
elif opt in ('-K', '--no-default-keywords'):
default_keywords = []
elif opt in ('-n', '--add-location'):
options.writelocations = 1
elif opt in ('--no-location',):
options.writelocations = 0
elif opt in ('-S', '--style'):
options.locationstyle = locations.get(arg.lower())
if options.locationstyle is None:
usage(1, _('Invalid value for --style: %s') % arg)
elif opt in ('-o', '--output'):
options.outfile = arg
elif opt in ('-p', '--output-dir'):
options.outpath = arg
elif opt in ('-v', '--verbose'):
options.verbose = 1
elif opt in ('-V', '--version'):
print _('pygettext.py (xgettext for Python) %s') % __version__
sys.exit(0)
elif opt in ('-w', '--width'):
try:
options.width = int(arg)
except ValueError:
usage(1, _('--width argument must be an integer: %s') % arg)
elif opt in ('-x', '--exclude-file'):
options.excludefilename = arg
elif opt in ('-X', '--no-docstrings'):
fp = open(arg)
try:
while 1:
line = fp.readline()
if not line:
break
options.nodocstrings[line[:-1]] = 1
finally:
fp.close()
# calculate escapes
make_escapes(options.escape)
# calculate all keywords
options.keywords.extend(default_keywords)
# initialize list of strings to exclude
if options.excludefilename:
try:
fp = open(options.excludefilename)
options.toexclude = fp.readlines()
fp.close()
except IOError:
print >> sys.stderr, _(
"Can't read --exclude-file: %s") % options.excludefilename
sys.exit(1)
else:
options.toexclude = []
# resolve args to module lists
expanded = []
for arg in args:
if arg == '-':
expanded.append(arg)
else:
expanded.extend(getFilesForName(arg))
args = expanded
# slurp through all the files
eater = TokenEater(options)
for filename in args:
if filename == '-':
if options.verbose:
print _('Reading standard input')
fp = sys.stdin
closep = 0
else:
if options.verbose:
print _('Working on %s') % filename
fp = open(filename)
closep = 1
try:
eater.set_filename(filename)
try:
tokenize.tokenize(fp.readline, eater)
except tokenize.TokenError, e:
print >> sys.stderr, '%s: %s, line %d, column %d' % (
e[0], filename, e[1][0], e[1][1])
finally:
if closep:
fp.close()
# write the output
if options.outfile == '-':
fp = sys.stdout
closep = 0
else:
if options.outpath:
options.outfile = os.path.join(options.outpath, options.outfile)
fp = open(options.outfile, 'w')
closep = 1
try:
eater.write(fp)
finally:
if closep:
fp.close()
if __name__ == '__main__':
main()
# some more test strings
_(u'a unicode string')
# this one creates a warning
_('*** Seen unexpected token "%(token)s"') % {'token': 'test'}
_('more' 'than' 'one' 'string')

1130
install/po/ru.po Normal file

File diff suppressed because it is too large Load Diff

332
install/po/tg.po Normal file
View File

@@ -0,0 +1,332 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Petr Viktorin <encukou@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Tajik (http://www.transifex.com/projects/p/freeipa/language/"
"tg/)\n"
"Language: tg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid "Passwords do not match!"
msgstr "Паролҳо номувофиқанд!"
msgid "Passwords do not match"
msgstr "Паролҳо номувофиқанд"
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
msgid "Already registered"
msgstr "Ааллакай қайд карда шуд"
#, python-format
msgid "Syntax Error: %(error)s"
msgstr "Хатогии синтаксисӣ: %(error)s"
msgid "ACI prefix"
msgstr "Префикси ACI"
msgid "ACIs"
msgstr "ACIs"
msgid "ACI name"
msgstr "Номи ACI"
msgid "Permission"
msgstr "Иҷозат"
msgid "User group"
msgstr "Гурӯҳи корбар"
msgid "Permissions"
msgstr "Иҷозатҳо"
msgid "Attributes"
msgstr "Аттрибутҳо"
msgid "Type"
msgstr "Намуд"
msgid "Filter"
msgstr "Полоишгар"
msgid "Description"
msgstr "Шарҳ"
msgid "Location"
msgstr "Макон"
#, python-format
msgid "File %(file)s not found"
msgstr "Файли %(file)s пайдо нашуд."
msgid "Key"
msgstr "Тугма"
msgid "description"
msgstr "шарҳ"
msgid "Password"
msgstr "Парол"
msgid "Entry"
msgstr "Вуруд"
msgid "Rename"
msgstr "Азнавномгузорӣ"
msgid "Principal"
msgstr "Асосӣ"
msgid "Subject"
msgstr "Мавзӯъ"
msgid "Issuer"
msgstr "Диҳанда"
msgid "Serial number"
msgstr "Рақами силсилавӣ"
msgid "Error"
msgstr "Хатогӣ"
msgid "Status"
msgstr "Ҳолат"
msgid "Configuration"
msgstr "Ҷӯрсозӣ"
msgid "Hostname"
msgstr "Номи мизбон"
msgid "Target"
msgstr "Мақсад"
msgid "Service"
msgstr "Хидмат"
msgid "Force"
msgstr "Маҷбурӣ"
msgid "Class"
msgstr "Синф"
msgid "Delete all?"
msgstr "Ҳамаро нест мекунед?"
msgid "Enabled"
msgstr "Фаъолшуда"
msgid "User name"
msgstr "Номи корбар"
msgid "Serial Number"
msgstr "Рақами силсилавӣ"
msgid "Host name"
msgstr "Номи мизбон"
msgid "Add"
msgstr "Илова кардан"
msgid "Cancel"
msgstr "Бекор кардан"
msgid "Close"
msgstr "Пӯшидан"
msgid "Find"
msgstr "Ёфтан"
msgid "Get"
msgstr "Гирифтан"
msgid "Issue"
msgstr "Барориш"
msgid "OK"
msgstr "Хуб"
msgid "Delete"
msgstr "Нест кардан"
msgid "Reset"
msgstr "Бозсозӣ"
msgid "Restore"
msgstr "Барқароркунӣ"
msgid "Retry"
msgstr "Кӯшиш"
msgid "Update"
msgstr "Ҷадидсозӣ"
msgid "View"
msgstr "Намоиш"
msgid "General"
msgstr "Умумӣ"
msgid "Available"
msgstr "Дастрас"
msgid "Settings"
msgstr "Танзимотҳо"
msgid "Search"
msgstr "Ҷустуҷӯ"
msgid "Username"
msgstr "Номи корбар"
msgid "Attribute"
msgstr "Аттрибут"
msgid "Issued By"
msgstr "Додааст:"
msgid "Issued To"
msgstr "Додашудааст ба:"
msgid "Note"
msgstr "Эзоҳ"
msgid "Organization"
msgstr "Ташкилот"
msgid "Validity"
msgstr "Саҳеҳият"
msgid "Data"
msgstr "Маълумот"
msgid "Host Name"
msgstr "Номи мизбон"
msgid "User"
msgstr "Корбар"
msgid "Groups"
msgstr "Гуруҳҳо"
msgid "Commands"
msgstr "Фармонҳо"
msgid "Allow"
msgstr "Иҷозат додан"
msgid "New Password"
msgstr "Пароли нав"
msgid "Select All"
msgstr "Интихоби ҳама"
msgid "Audit"
msgstr "Назорат"
msgid "IPA Server"
msgstr "Сервери IPA"
msgid "Policy"
msgstr "Сиёсат"
msgid "Sudo"
msgstr "Sudo"
msgid "Manager"
msgstr "Диспетчер"
msgid "Group"
msgstr "Гурӯҳ"
msgid "First name"
msgstr "Ном"
msgid "Last name"
msgstr "Насаб"
msgid "Display name"
msgstr "Номи намоишӣ"
msgid "Initials"
msgstr "Ному насаб"
msgid "City"
msgstr "Шаҳр"
msgid "ZIP"
msgstr "Рамзи ZIP"
msgid "Fax Number"
msgstr "Рақами факс"
msgid "Job Title"
msgstr "Вазифа"
#, c-format
msgid "out of memory\n"
msgstr "берун аз хотира\n"
#, c-format
msgid "read error\n"
msgstr "хатогии хониш\n"
#, c-format
msgid "Out of memory \n"
msgstr "Берун аз хотира \n"
#, c-format
msgid "Out of Memory!\n"
msgstr "Берун аз хотира!\n"
#, c-format
msgid "Out of memory!\n"
msgstr "Берун аз хотира!\n"
msgid "Server Name"
msgstr "Номи сервер"
msgid "LDAP DN"
msgstr "LDAP DN"
msgid "LDAP password"
msgstr "Пароли LDAP"
#, c-format
msgid "Out of memory!"
msgstr "Берун аз хотира!"
#, c-format
msgid "Incorrect password.\n"
msgstr "Пароли нодуруст.\n"
msgid "hostname"
msgstr "номи мизбон"
msgid "filename"
msgstr "номи файл"
msgid "password"
msgstr "парол"
msgid "Out of memory\n"
msgstr "Берун аз хотира \n"
msgid "Out of memory!?\n"
msgstr "Аз хотира берун шуд!?\n"

12954
install/po/uk.po Normal file

File diff suppressed because it is too large Load Diff

392
install/po/zh_CN.po Normal file
View File

@@ -0,0 +1,392 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Jake Li <gnozil@gmail.com>, 2010
# jdennis <jdennis@redhat.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: FreeIPA\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/"
"newticket\n"
"POT-Creation-Date: 2014-07-07 15:24+0200\n"
"PO-Revision-Date: 2014-07-03 08:37+0000\n"
"Last-Translator: Petr Viktorin <encukou@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/freeipa/"
"language/zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#, python-format
msgid "Enter %(label)s again to verify: "
msgstr "再次输入 %(label)s进行校验: "
#, c-format
msgid "Passwords do not match!"
msgstr "密码不匹配!"
msgid "an internal error has occurred"
msgstr "发生了一个内部错误"
#, python-format
msgid "Invalid JSON-RPC request: %(error)s"
msgstr "无效的JSON-RPC请求: %(error)s"
msgid "Passwords do not match"
msgstr "密码不匹配"
msgid "Command not implemented"
msgstr "命令没有实现"
#, python-format
msgid "%(reason)s"
msgstr "%(reason)s"
msgid "This entry already exists"
msgstr "条目已经存在"
msgid "This command requires root access"
msgstr "该命令需要root访问权限"
msgid "This is already a posix group"
msgstr "这已经是一个posix组"
msgid "A group may not be a member of itself"
msgstr "一个组不能是自己的成员"
#, python-format
msgid "Base64 decoding failed: %(reason)s"
msgstr "Base64解码失败: %(reason)s"
msgid "A group may not be added as a member of itself"
msgstr "一个组不能是自己的成员"
msgid "The default users group cannot be removed"
msgstr "默认的用户组不成被删除"
msgid "change collided with another change"
msgstr "修改冲突"
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
msgid "Results are truncated, try a more specific search"
msgstr "结果被截断,请尝试更明确的搜索"
msgid "incorrect type"
msgstr "不正确的类型"
msgid "Only one value is allowed"
msgstr "只允许一个值"
msgid "must be True or False"
msgstr "必须是True或False"
msgid "must be an integer"
msgstr "必须是一个整数"
msgid "must be a decimal number"
msgstr "必须是一个十进制数"
msgid "must be binary data"
msgstr "必须是二进制数据"
msgid "must be Unicode text"
msgstr "必须是Unicode文本"
#, python-format
msgid "Group '%s' does not exist"
msgstr "组 '%s' 不存在"
msgid "ACIs"
msgstr "ACIs"
msgid "ACI name"
msgstr "ACI名称"
msgid "User group"
msgstr "用户组"
msgid "Permissions"
msgstr "权限"
msgid "Attributes"
msgstr "属性"
msgid "Type"
msgstr "类型"
msgid "Member of a group"
msgstr "组成员"
msgid "Filter"
msgstr "过滤"
msgid "Subtree"
msgstr "子树"
msgid "Target group"
msgstr "目标组"
msgid "Description"
msgstr "描述"
msgid "Users"
msgstr "用户"
msgid "Hosts"
msgstr "主机"
msgid "Location"
msgstr "位置"
msgid "description"
msgstr "描述"
msgid "Mount point"
msgstr "挂载点"
msgid "Password"
msgstr "密码"
msgid "Failed members"
msgstr "失败的成员"
msgid "Member users"
msgstr "成员用户"
msgid "Member groups"
msgstr "成员组"
msgid "Member hosts"
msgstr "成员主机"
msgid "Member host-groups"
msgstr "主机组成员"
msgid "Member of host-groups"
msgstr "主机组成员"
msgid "External host"
msgstr "外部主机"
msgid "Certificate"
msgstr "证书"
msgid "Subject"
msgstr "主题"
msgid "Serial number"
msgstr "序列号"
msgid "Request id"
msgstr "请求号"
msgid "Request status"
msgstr "请求状态"
msgid "Revocation reason"
msgstr "撤消原因"
msgid "Revoked"
msgstr "撤销"
msgid "Reason"
msgstr "原因"
msgid "Reason for revoking the certificate (0-10)"
msgstr "撤消证书的原因(0-10)"
msgid "Error"
msgstr "错误"
msgid "Home directory base"
msgstr "主目录"
msgid "Default shell"
msgstr "默认shell"
msgid "Default users group"
msgstr "默认用户组"
msgid "Search time limit"
msgstr "搜索时间限制"
msgid "User search fields"
msgstr "用户搜索字段"
msgid "Priority"
msgstr "优先级"
msgid "User Groups"
msgstr "用户组"
msgid "Group name"
msgstr "组名"
msgid "Group description"
msgstr "组描述"
msgid "GID"
msgstr "GID"
#, python-format
msgid "Added group \"%(value)s\""
msgstr "已添加组\"%(value)s\""
#, python-format
msgid "Deleted group \"%(value)s\""
msgstr "已删除组\"%(value)s\""
#, python-format
msgid "Modified group \"%(value)s\""
msgstr "已修改组\"%(value)s\""
msgid "Rule name"
msgstr "规则名"
msgid "User category"
msgstr "用户类别"
msgid "Host category"
msgstr "主机类别"
msgid "Host Groups"
msgstr "主机组"
msgid "Services"
msgstr "服务"
msgid "Access time"
msgstr "访问时间"
msgid "Service name"
msgstr "服务名"
msgid "User name"
msgstr "用户名"
msgid "Host name"
msgstr "主机名"
msgid "Host locality (e.g. \"Baltimore, MD\")"
msgstr "主机地点(如\"Baltimore, MD\")"
msgid "Host location (e.g. \"Lab 2\")"
msgstr "主机位置(如\"Lab 2\")"
msgid "Platform"
msgstr "平台"
msgid "Host hardware platform (e.g. \"Lenovo T61\")"
msgstr "主机硬件平台 (e.g. \"Lenovo T61\")"
msgid "Operating system"
msgstr "操作系统"
msgid "Host operating system and version (e.g. \"Fedora 9\")"
msgstr "主机操作系统及版本(e.g. \"Fedora 9\")"
msgid "User password"
msgstr "用户密码"
msgid "Base-64 encoded server certificate"
msgstr "Base-64 编码格式的服务器证书"
#, python-format
msgid "Added host \"%(value)s\""
msgstr "新增主机 \"%(value)s\""
#, python-format
msgid "Deleted host \"%(value)s\""
msgstr "已删除主机 \"%(value)s\""
#, python-format
msgid "Modified host \"%(value)s\""
msgstr "已修改主机 \"%(value)s\""
msgid "Host-group"
msgstr "主机组"
msgid "Name of host-group"
msgstr "主机组名称"
msgid "Data"
msgstr "数据"
msgid "User"
msgstr "用户"
msgid "Groups"
msgstr "用户组"
msgid "DNS"
msgstr "DNS"
msgid "LDAP URI"
msgstr "LDAP URI"
msgid "User container"
msgstr "用户容器"
msgid "Group container"
msgstr "组容器"
msgid "Netgroups"
msgstr "网络组"
msgid "Netgroup name"
msgstr "网络组名称"
msgid "Netgroup description"
msgstr "网络组描述"
msgid "NIS domain name"
msgstr "NIS域名"
msgid "Group"
msgstr "组"
msgid "Min length"
msgstr "最小长度"
msgid "A description of this role-group"
msgstr "该角色组的描述"
msgid "User login"
msgstr "用户登录名"
msgid "First name"
msgstr "名"
msgid "Last name"
msgstr "姓"
msgid "Login shell"
msgstr "登录shell"
msgid "Email address"
msgstr "邮件地址"
msgid "UID"
msgstr "UID"
msgid "Street address"
msgstr "街道地址"
#, python-format
msgid "Added user \"%(value)s\""
msgstr "新增用户\"%(value)s\""
#, python-format
msgid "Deleted user \"%(value)s\""
msgstr "已删除用户\"%(value)s\""
#, python-format
msgid "Modified user \"%(value)s\""
msgstr "已修改用户\"%(value)s\""