readthedocs.org/docs/locale/da/LC_MESSAGES/i18n.po

380 lines
11 KiB
Plaintext

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2010-2018, Read the Docs, Inc & contributors
# This file is distributed under the same license as the Read the Docs package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: readthedocs-docs\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-17 19:05-0500\n"
"PO-Revision-Date: 2018-09-18 00:15+0000\n"
"Last-Translator: Anthony <aj@ohess.org>\n"
"Language-Team: Danish (http://www.transifex.com/readthedocs/readthedocs-docs/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../i18n.rst:2
msgid "Internationalization"
msgstr ""
#: ../../i18n.rst:5
msgid ""
"This document covers the details regarding internationalization and "
"localization that are applied in Read the Docs. The guidelines described are"
" mostly based on `Kitsune's localization documentation "
"<http://kitsune.readthedocs.io/en/latest/localization.html>`_."
msgstr ""
#: ../../i18n.rst:10
msgid ""
"As with most of the Django applications out there, Read the Docs' i18n/l10n "
"framework is based on `GNU gettext <http://www.gnu.org/software/gettext/>`_."
" Crowd-sourced localization is optionally available at `Transifex "
"<https://www.transifex.com/projects/p/readthedocs/>`_."
msgstr ""
#: ../../i18n.rst:15
msgid ""
"For more information about the general ideas, look at this document: "
"http://www.gnu.org/software/gettext/manual/html_node/Concepts.html"
msgstr ""
#: ../../i18n.rst:20
msgid "Making Strings Localizable"
msgstr ""
#: ../../i18n.rst:22
msgid ""
"Making strings in templates localizable is exceptionally easy. Making "
"strings in Python localizable is a little more complicated. The short "
"answer, though, is to just wrap the string in ``_()``."
msgstr ""
#: ../../i18n.rst:28
msgid "Interpolation"
msgstr ""
#: ../../i18n.rst:30
msgid ""
"A string is often a combination of a fixed string and something changing, "
"for example, ``Welcome, James`` is a combination of the fixed part "
"``Welcome,``, and the changing part ``James``. The naive solution is to "
"localize the first part and then follow it with the name::"
msgstr ""
#: ../../i18n.rst:37
msgid "This is **wrong!**"
msgstr ""
#: ../../i18n.rst:39
msgid ""
"In some locales, the word order may be different. Use Python string "
"formatting to interpolate the changing part into the string::"
msgstr ""
#: ../../i18n.rst:44
msgid ""
"Python gives you a lot of ways to interpolate strings. The best way is to "
"use Py3k formatting and kwargs. That's the clearest for localizers."
msgstr ""
#: ../../i18n.rst:49
msgid "Localization Comments"
msgstr ""
#: ../../i18n.rst:51
msgid ""
"Sometimes, it can help localizers to describe where a string comes from, "
"particularly if it can be difficult to find in the interface, or is not very"
" self-descriptive (e.g. very short strings). If you immediately precede the "
"string with a comment that starts with ``Translators:``, the comment will be"
" added to the PO file, and visible to localizers."
msgstr ""
#: ../../i18n.rst:57 ../../i18n.rst:91
msgid "Example::"
msgstr ""
#: ../../i18n.rst:74
msgid "Adding Context with msgctxt"
msgstr ""
#: ../../i18n.rst:76
msgid ""
"Strings may be the same in English, but different in other languages. "
"English, for example, has no grammatical gender, and sometimes the noun and "
"verb forms of a word are identical."
msgstr ""
#: ../../i18n.rst:80
msgid ""
"To make it possible to localize these correctly, we can add \"context\" "
"(known in gettext as *msgctxt*) to differentiate two otherwise identical "
"strings. Django provides a :func:`~django.utils.translation.pgettext()` "
"function for this."
msgstr ""
#: ../../i18n.rst:84
msgid ""
"For example, the string *Search* may be a noun or a verb in English. In a "
"heading, it may be considered a noun, but on a button, it may be a verb. "
"It's appropriate to add a context (like *button*) to one of them."
msgstr ""
#: ../../i18n.rst:88
msgid ""
"Generally, we should only add context if we are sure the strings aren't used"
" in the same way, or if localizers ask us to."
msgstr ""
#: ../../i18n.rst:99
msgid "Plurals"
msgstr ""
#: ../../i18n.rst:101
msgid ""
"*You have 1 new messages* grates on discerning ears. Fortunately, gettext "
"gives us a way to fix that in English *and* other locales, the "
":func:`~django.utils.translation.ngettext()` function::"
msgstr ""
#: ../../i18n.rst:107
msgid "A more realistic example might be::"
msgstr ""
#: ../../i18n.rst:113
msgid ""
"This method takes three arguments because English only needs three, i.e., "
"zero is considered \"plural\" for English. Other languages may have "
"`different plural rules "
"<http://translate.sourceforge.net/wiki/l10n/pluralforms>`_, and require "
"different phrases for, say 0, 1, 2-3, 4-10, >10. That's absolutely fine, and"
" gettext makes it possible."
msgstr ""
#: ../../i18n.rst:121
msgid "Strings in Templates"
msgstr ""
#: ../../i18n.rst:123
msgid ""
"When putting new text into a template, all you need to do is wrap it in a "
"``{% trans %}`` template tag::"
msgstr ""
#: ../../i18n.rst:128
msgid "Context can be added, too::"
msgstr ""
#: ../../i18n.rst:132
msgid ""
"Comments for translators need to precede the internationalized text and must"
" start with the ``Translators:`` keyword.::"
msgstr ""
#: ../../i18n.rst:138
msgid ""
"To interpolate, you need to use the alternative and more verbose ``{% "
"blocktrans %}`` template tag — it's actually a block::"
msgstr ""
#: ../../i18n.rst:143
msgid ""
"Note that the ``{{ name }}`` variable needs to exist in the template "
"context."
msgstr ""
#: ../../i18n.rst:145
msgid ""
"In some situations, it's desirable to evaluate template expressions such as "
"filters or accessing object attributes. You can't do that within the ``{% "
"blocktrans %}`` block, so you need to bind the expression to a local "
"variable first::"
msgstr ""
#: ../../i18n.rst:156
msgid ""
"``{% blocktrans %}`` also provides pluralization. For that you need to bind "
"a counter with the name ``count`` and provide a plural translation after the"
" ``{% plural %}`` tag::"
msgstr ""
#: ../../i18n.rst:169
msgid ""
"The previous multi-lines examples also use the ``trimmed`` option. This "
"removes newline characters and replaces any whitespace at the beginning and "
"end of a line, helping translators when translating these strings."
msgstr ""
#: ../../i18n.rst:175
msgid "Strings in Python"
msgstr ""
#: ../../i18n.rst:179
msgid ""
"Whenever you are adding a string in Python, ask yourself if it really needs "
"to be there, or if it should be in the template. Keep logic and presentation"
" separate!"
msgstr ""
#: ../../i18n.rst:183
msgid "Strings in Python are more complex for two reasons:"
msgstr ""
#: ../../i18n.rst:185
msgid ""
"We need to make sure we're always using Unicode strings and the Unicode-"
"friendly versions of the functions."
msgstr ""
#: ../../i18n.rst:188
msgid ""
"If you use the :func:`~django.utils.translation.ugettext` function in the "
"wrong place, the string may end up in the wrong locale!"
msgstr ""
#: ../../i18n.rst:191
msgid "Here's how you might localize a string in a view::"
msgstr ""
#: ../../i18n.rst:201
msgid "Interpolation is done through normal Python string formatting::"
msgstr ""
#: ../../i18n.rst:205
msgid ""
"Context information can be supplied by using the "
":func:`~django.utils.translation.pgettext` function::"
msgstr ""
#: ../../i18n.rst:210
msgid "Translator comments are normal one-line Python comments::"
msgstr ""
#: ../../i18n.rst:215
msgid ""
"If you need to use plurals, import the "
":func:`~django.utils.translation.ungettext` function::"
msgstr ""
#: ../../i18n.rst:225
msgid "Lazily Translated Strings"
msgstr ""
#: ../../i18n.rst:227
msgid ""
"You can use :func:`~django.utils.translation.ugettext` or "
":func:`~django.utils.translation.ungettext` only in views or functions "
"called from views. If the function will be evaluated when the module is "
"loaded, then the string may end up in English or the locale of the last "
"request!"
msgstr ""
#: ../../i18n.rst:232
msgid ""
"Examples include strings in module-level code, arguments to functions in "
"class definitions, strings in functions called from outside the context of a"
" view. To internationalize these strings, you need to use the ``_lazy`` "
"versions of the above methods, "
":func:`~django.utils.translation.ugettext_lazy` and "
":func:`~django.utils.translation.ungettext_lazy`. The result doesn't get "
"translated until it is evaluated as a string, for example by being output or"
" passed to ``unicode()``::"
msgstr ""
#: ../../i18n.rst:246
msgid ""
"In case you want to provide context to a lazily-evaluated gettext string, "
"you will need to use :func:`~django.utils.translation.pgettext_lazy`."
msgstr ""
#: ../../i18n.rst:251
msgid "Administrative Tasks"
msgstr ""
#: ../../i18n.rst:255
msgid "Updating Localization Files"
msgstr ""
#: ../../i18n.rst:257
msgid ""
"To update the translation source files (eg if you changed or added "
"translatable strings in the templates or Python code) you should run "
"``python manage.py makemessages -l <language>`` in the project's root "
"directory (substitute ``<language>`` with a valid language code)."
msgstr ""
#: ../../i18n.rst:262
msgid ""
"The updated files can now be localized in a `PO editor "
"<https://en.wikipedia.org/wiki/Category:Software-localization_tools>`_ or "
"crowd-sourced online translation tool."
msgstr ""
#: ../../i18n.rst:267
msgid "Compiling to MO"
msgstr ""
#: ../../i18n.rst:269
msgid ""
"Gettext doesn't parse any text files, it reads a binary format for faster "
"performance. To compile the latest PO files in the repository, Django "
"provides the ``compilemessages`` management command. For example, to compile"
" all the available localizations, just run::"
msgstr ""
#: ../../i18n.rst:276
msgid ""
"You will need to do this every time you want to push updated translations to"
" the live site."
msgstr ""
#: ../../i18n.rst:279
msgid ""
"Also, note that it's not a good idea to track MO files in version control, "
"since they would need to be updated at the same pace PO files are updated, "
"so it's silly and not worth it. They are ignored by ``.gitignore``, but "
"please make sure you don't forcibly add them to the repository."
msgstr ""
#: ../../i18n.rst:286
msgid "Transifex Integration"
msgstr ""
#: ../../i18n.rst:288
msgid ""
"To push updated translation source files to Transifex, run ``tx push -s`` "
"(for English) or ``tx push -t <language>`` (for non-English)."
msgstr ""
#: ../../i18n.rst:291
msgid ""
"To pull changes from Transifex, run ``tx pull -a``. Note that Transifex does"
" not compile the translation files, so you have to do this after the pull "
"(see the `Compiling to MO`_ section)."
msgstr ""
#: ../../i18n.rst:295
msgid ""
"For more information about the ``tx`` command, read the `Transifex client's "
"help pages <http://help.transifex.com/features/client/>`_."
msgstr ""
#: ../../i18n.rst:301
msgid ""
"For the Read the Docs community site, we use a `fabric script`_ to follow "
"this process:"
msgstr ""
#: ../../i18n.rst:305
msgid "Update files and push sources (English) to Transifex:"
msgstr ""
#: ../../i18n.rst:311
msgid "Pull changes (new translations) from Transifex:"
msgstr ""