added German translations

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1763 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2007-05-23 10:09:58 +00:00
parent faaa2213c6
commit 6d4cffaf0f
16 changed files with 268 additions and 66 deletions

View file

@ -39,8 +39,8 @@ class Loops(Folder):
implements(ILoops)
def getSiteManager(self):
return self.__parent__.getSiteManager()
#def getSiteManager(self):
# return self.__parent__.getSiteManager()
@property
def _SampleContainer__data(self):

View file

@ -26,6 +26,7 @@ from zope.app import zapi
from zope import component
from zope.app.form.browser.interfaces import ITerms
from zope.app.security.interfaces import IAuthentication
from zope.app.pagetemplate import ViewPageTemplateFile
from zope.cachedescriptors.property import Lazy
from zope.dottedname.resolve import resolve
from zope.dublincore.interfaces import IZopeDublinCore
@ -57,6 +58,9 @@ from loops.util import _
from loops.versioning.interfaces import IVersionable
conceptMacrosTemplate = ViewPageTemplateFile('concept_macros.pt')
class NameField(schema.ASCIILine):
def _validate(self, value):

View file

@ -48,6 +48,7 @@ from loops.interfaces import ITypeConcept
from loops.concept import Concept, ConceptTypeSourceList, PredicateSourceList
from loops.browser.common import EditForm, BaseView, LoopsTerms
from loops import util
from loops.util import _
from loops.versioning.util import getVersion
@ -85,7 +86,7 @@ class ConceptView(BaseView):
cont = self.controller
if (cont is not None and not IUnauthenticatedPrincipal.providedBy(
self.request.principal)):
cont.macros.register('portlet_right', 'parents', title='Parents',
cont.macros.register('portlet_right', 'parents', title=_(u'Parents'),
subMacro=self.template.macros['parents'],
position=0, info=self)

View file

@ -29,7 +29,7 @@
<metal:parents define-macro="conceptparents">
<div tal:attributes="class string:content-$level;
ondblclick python: item.openEditWindow('configure.html')">
<h2>Parents</h2>
<h2 i18n:translate="">Parents</h2>
<div tal:repeat="related item/parents">
<a href="#"
tal:attributes="href string:${view/url}/.target${related/uniqueId}"
@ -44,12 +44,12 @@
ondblclick python: item.openEditWindow('configure.html')"
tal:define="children python: list(item.children())"
tal:condition="children">
<h2>Children</h2><br />
<h2 i18n:translate="">Children</h2><br />
<table class="listing">
<tr>
<th>Title</th>
<th>Type</th>
<th>Modification Date</th>
<th i18n:translate="">Title</th>
<th i18n:translate="">Type</th>
<th i18n:translate="">Modification Date</th>
</tr>
<tal:items repeat="related children">
<tal:item define="class python: repeat['related'].odd() and 'even' or 'odd';
@ -62,7 +62,8 @@
<span tal:replace="related/title">Resource Title</span>
</a>
</td>
<td><span tal:replace="related/typeTitle">Type</span></td>
<td><span tal:content="related/typeTitle"
i18n:translate="">Type</span></td>
<td><span tal:replace="related/modified">Type</span></td>
</tr>
</tal:item>
@ -77,16 +78,16 @@
ondblclick python: item.openEditWindow('resources.html')"
tal:define="resources python: list(item.resources())"
tal:condition="resources">
<h2>Resources</h2><br />
<h2 i18n:translate="">Resources</h2><br />
<table class="listing">
<tr>
<th i18n:translate="label_title">Title</th>
<th i18n:translate="label_type">Type</th>
<th i18n:translate="label_version"
<th i18n:translate="">Title</th>
<th i18n:translate="">Type</th>
<th i18n:translate=""
tal:condition="view/useVersioning">V</th>
<th i18n:translate="label_size">Size</th>
<th i18n:translate="label_modifdate">Modification Date</th>
<th i18n:translate="label_authors">Author(s)</th>
<th i18n:translate="">Size</th>
<th i18n:translate="">Modification Date</th>
<th i18n:translate="">Author(s)</th>
</tr>
<tal:items repeat="related resources">
<tal:item define="class python: repeat['related'].odd() and 'even' or 'odd';
@ -140,8 +141,9 @@
<div tal:repeat="concept macro/info/parents">
<a href="#"
tal:attributes="href string:${view/url}/.target${concept/uniqueId}">
<span tal:replace="concept/title">Concept</span>
(<i tal:content="concept/typeTitle">Type</i>)
<span i18n:translate="" tal:content="concept/title">Concept</span>
(<i tal:content="concept/typeTitle"
i18n:translate="">Type</i>)
</a>
</div>
</metal:actions>

View file

@ -1,7 +1,7 @@
<!-- macros for rendering edit/create forms
$Id$ -->
<metal:block define-macro="edit">
<metal:block define-macro="edit" i18n:domain="loops">
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="form.action" value="edit"
tal:attributes="value view/form_action" />
@ -22,7 +22,8 @@
<tbody>
<tr>
<td colspan="5" class="headline">Concept Assignments</td>
<td colspan="5" class="headline"
i18n:translate="">Concept Assignments</td>
</tr>
<tr metal:use-macro="view/template/macros/assignments" />
<tr metal:use-macro="view/template/macros/search_concepts" />
@ -34,7 +35,7 @@
</metal:block>
<metal:block define-macro="create">
<metal:block define-macro="create" i18n:domain="loops">
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="form.action" value="create"
tal:attributes="value view/form_action" />
@ -48,6 +49,7 @@
'form.fields', 'form.type',
'${view/url}/inner_form.html')">
<option value=".loops/concepts/note"
i18n:translate=""
tal:repeat="type view/resourceTypes"
tal:content="type/title"
tal:attributes="value type/token;
@ -67,7 +69,8 @@
<tbody>
<tr>
<td colspan="5" class="headline">Assign Concept(s)</td>
<td colspan="5" class="headline"
i18n:translate="">Assign Concept(s)</td>
</tr>
<tr metal:use-macro="view/template/macros/assignments" />
<tr metal:use-macro="view/template/macros/search_concepts" />
@ -86,8 +89,7 @@
tal:define="hint widget/hint">
<label tal:attributes="for widget/name">
<span class="required" tal:condition="widget/required"
>*</span><span i18n:translate=""
tal:content="widget/label">label</span>
>*</span><span tal:content="widget/label">label</span>
</label>
</td>
<td class="field" colspan="4" width="90%"
@ -109,13 +111,14 @@
<metal:assignments define-macro="assignments">
<tbody id="form.assignments">
<tr tal:repeat="type view/presetTypesForAssignment">
<td><span i18n:translate="">Type: </span></td>
<td><b tal:content="type/title" /></td>
<td><span i18n:translate="">Select value: </span></td>
<td><span i18n:translate="">Type</span>: </td>
<td><b i18n:translate="" tal:content="type/title" /></td>
<td><span i18n:translate="">Concept</span>: </td>
<td colspan="2">
<select name="form.assignments.selected:list">
<tal:concepts repeat="concept python: view.conceptsForType(type['token'])">
<option tal:attributes="value concept/token"
i18n:translate=""
tal:content="concept/title">Zope Corp</option>
</tal:concepts>
</select>
@ -129,7 +132,7 @@
<input type="checkbox" checked name="form.assignments.selected:list"
tal:attributes="value relation/uidToken;" />
<span tal:content="relation/title">Something</span>
(<span tal:content="relation/typeTitle">Topic</span>)
(<span i18n:translate="" tal:content="relation/typeTitle">Topic</span>)
</td>
</tr>
</tbody>
@ -137,7 +140,7 @@
<tr metal:define-macro="search_concepts">
<td><label for="concept.search.type">Type:</label></td>
<td><label for="concept.search.type"><span i18n:translate="">Type</span>:</label></td>
<td>
<select id="concept.search.type"
tal:attributes="onChange
@ -151,7 +154,9 @@
</tal:types>
</select>&nbsp;&nbsp;
</td>
<td><label for="concept.search.text">Search text:</label></td>
<td>
<label for="concept.search.text">
<span i18n:translate="">Concept</span>:</label></td>
<td>
<input type="hidden"
id="concept.search.predicate"
@ -163,6 +168,7 @@
</td>
<td>
<input type="button" value="Select"
i18n:attributes="value"
onClick="addConceptAssignment()" />
</td>
</tr>
@ -179,7 +185,8 @@
Version:
<span tal:content="versionInfo">1.1 (current, released)</span>
</td>
<td title="Select if you want to create a new version">
<td title="Select if you want to create a new version"
i18n:attributes="title">
<input type="checkbox"
name="version.create" id="version.create"
value="create" />
@ -195,12 +202,14 @@
</metal:versioning>
<tr metal:define-macro="buttons">
<tr metal:define-macro="buttons" i18n:domain="">
<td colspan="5"
tal:define="dlgName view/dialog_name">
<input type="submit" value="Save" onClick="dlg.hide()" class="submit"
i18n:attributes="value"
tal:attributes="onClick string:dialogs['$dlgName'].hide()">
<input type="button" value="Cancel" onClick="dlg.hide();"
i18n:attributes="value"
tal:attributes="onClick string:dialogs['$dlgName'].hide()">
</td>
</tr>

View file

@ -84,7 +84,7 @@ class NodeView(BaseView):
# from sub- (other) packages?
# see controller / configurator: use multiple configurators;
# register additional configurators (adapters) from within package.
cm.register('portlet_right', 'actions', title='Actions',
cm.register('portlet_right', 'actions', title=_(u'Actions'),
subMacro=node_macros.macros['actions'])
@Lazy

View file

@ -212,7 +212,8 @@
url view/virtualTargetUrl">
<div tal:define="cmUrl view/conceptMapEditorUrl"
tal:condition="url">
<a href="#" target="loops_cme" i18n:translate="" i18n:attributes="title"
<a href="#" target="loops_cme" i18n:translate=""
i18n:attributes="title"
title="Open concept map editor in new window"
tal:attributes="href cmUrl">
Edit Concept Map
@ -259,6 +260,7 @@
tal:define="url action/url">
<a href="#" title="Edit with External Editor"
tal:attributes="href string:$url/external_edit"
i18n:attributes="title"
><img src="edit.gif" alt="External Editor"
tal:attributes="src context/++resource++edit.gif" /></a>
</metal:xedit>

View file

@ -46,6 +46,7 @@ from loops.interfaces import IBaseResource, IDocument, IMediaAsset, ITextDocumen
from loops.interfaces import ITypeConcept
from loops.versioning.browser import version_macros
from loops.versioning.interfaces import IVersionable
from loops.util import _
renderingFactories = {
'text/plain': 'zope.source.plaintext',
@ -115,7 +116,7 @@ class ResourceView(BaseView):
if not IUnauthenticatedPrincipal.providedBy(self.request.principal):
cont = self.controller
if cont is not None and list(self.relatedConcepts()):
cont.macros.register('portlet_right', 'related', title='Related Items',
cont.macros.register('portlet_right', 'related', title=_(u'Related Items'),
subMacro=self.template.macros['related'],
position=0, info=self)
versionable = IVersionable(self.context, None)

View file

@ -90,8 +90,8 @@
<div tal:repeat="concept macro/info/relatedConcepts">
<a href="#"
tal:attributes="href string:${view/url}/.target${concept/uniqueId}">
<span tal:replace="concept/title">Concept</span>
(<i tal:content="concept/typeTitle">Type</i>)
<span i18n:translate="" tal:content="concept/title">Concept</span>
(<i i18n:translate="" tal:content="concept/typeTitle">Type</i>)
</a>
</div>
</metal:actions>

View file

@ -2,8 +2,10 @@
<configure
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope"
>
xmlns:i18n="http://namespaces.zope.org/i18n"
i18n_domain="loops">
<i18n:registerTranslations directory="locales" />
<!-- security definitions -->

Binary file not shown.

View file

@ -0,0 +1,157 @@
msgid ""
msgstr ""
"Project-Id-Version: $Id$\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\n"
"PO-Revision-Date: 2007-05-23 12:00 CET\n"
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: kwrite\n"
msgid "Concept"
msgstr "Begriff"
msgid "Resource"
msgstr "Ressource"
msgid "Edit Concept Map"
msgstr "Concept Map bearbeiten"
msgid "Create Resource..."
msgstr "Ressource anlegen..."
msgid "Actions"
msgstr "Aktionen"
msgid "Type"
msgstr "Typ"
msgid "Modification Date"
msgstr "Änderungsdatum"
msgid "Size"
msgstr "Größe"
msgid "Author(s)"
msgstr "Autor(en)"
msgid "Parents"
msgstr "Oberbegriffe"
msgid "Children"
msgstr "Unterbegriffe"
msgid "Title"
msgstr "Titel"
msgid "Related Items"
msgstr "Verwandte Begriffe"
msgid "Topic"
msgstr "Thema"
msgid "Task"
msgstr "Aufgabe"
msgid "Domain"
msgstr "Bereich"
msgid "Note"
msgstr "Notiz"
msgid "File"
msgstr "Datei"
msgid "Data"
msgstr "Inhalt"
msgid "Create Resource, Type = "
msgstr "Ressource anlegen, Typ = "
msgid "Edit Resource..."
msgstr "Ressource bearbeiten..."
msgid "Content Type"
msgstr "Format"
msgid "Link URL"
msgstr "URL"
msgid "Assign Concept(s)"
msgstr "Begriff(e) zuordnen"
msgid "State"
msgstr "Status"
msgid "Save"
msgstr "Speichern"
msgid "Cancel"
msgstr "Abbrechen"
msgid "Select"
msgstr "Übernehmen"
msgid "Select concept"
msgstr "Begriff auswählen"
msgid "Select/search text"
msgstr "Begriff suchen/auswählen"
msgid "not selected"
msgstr "nicht ausgewählt"
msgid "Type(s) to search for"
msgstr "Suche nach Objekten vom Typ"
msgid "Search via related concepts"
msgstr "Über Begriffe suchen"
msgid "Search"
msgstr "Suchen"
msgid "Any Resource"
msgstr "Beliebige Ressource"
msgid "Any Concept"
msgstr "Beliebiger Begriff"
msgid "Any"
msgstr "Beliebig"
msgid "Concept for Search"
msgstr "Suchbegriff"
msgid "Select if you want to create a new version"
msgstr "Bitte markieren, wenn Sie eine neue Version anlegen möchten"
msgid "Search text"
msgstr "Suchtext"
msgid "Text-based search"
msgstr "Textbasierte Suche"
msgid "Full text"
msgstr "Volltext"
msgid "Unknown Type"
msgstr "Unbekannter Typ"
msgid "Query"
msgstr "Abfrage"
msgid "Open concept map editor in new window"
msgstr "Concept-Map-Editor in neuem Fenster öffnen"
msgid "Versions"
msgstr "Versionen"
msgid "All versions"
msgstr "Alle Versionen"
msgid "Search results"
msgstr "Suchergebnisse"

13
locales/loops.pot Normal file
View file

@ -0,0 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: $Id$\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\n"
"PO-Revision-Date: 2007-05-22 12:00 CET\n"
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: kwrite\n"

View file

@ -31,6 +31,7 @@
<td></td>
<td colspan="3">
<input type="submit" name="button.search" value="Search" class="submit"
i18n:attributes="value"
tal:attributes="onclick python:
item.submitReplacing(resultsId, formId, view)" />
</td>
@ -41,21 +42,22 @@
</div>
<div metal:define-macro="search_results" id="1.search.results"
tal:attributes="id resultsId | request/search.resultsId">
tal:attributes="id resultsId | request/search.resultsId"
i18n:domain="loops">
<fieldset class="box"
tal:condition="request/search.submitted | nothing">
<legend>Search results</legend>
<legend i18n:translate="">Search results</legend>
<table class="listing" summary="Search results"
i18n:attributes="summary">
<thead>
<tr>
<th i18n:translate="label_title">Title</th>
<th i18n:translate="label_type">Type</th>
<th i18n:translate="label_version"
<th i18n:translate="">Title</th>
<th i18n:translate="">Type</th>
<th i18n:translate=""
tal:condition="view/useVersioning">V</th>
<th i18n:translate="label_size">Size</th>
<th i18n:translate="label_modifdate">Modification Date</th>
<th i18n:translate="label_authors">Author(s)</th>
<th i18n:translate="">Size</th>
<th i18n:translate="">Modification Date</th>
<th i18n:translate="">Author(s)</th>
</tr>
</thead>
<tbody>
@ -68,7 +70,8 @@
title description"
tal:content="row/title" />
</td>
<td tal:content="row/longTypeTitle|row/typeTitle">Type</td>
<td i18n:translate=""
tal:content="row/longTypeTitle|row/typeTitle">Type</td>
<tal:version condition="view/useVersioning">
<td style="text-align: center"
tal:define="versionId row/versionId|string:">
@ -110,13 +113,14 @@
<tr>
<td metal:use-macro="macros/minus"/>
<td colspan="3">
<h3>Type(s) to search for</h3>
<h3 i18n:translate="">Type(s) to search for</h3>
</td>
<tr>
<td></td>
<td>
<label for="text"
tal:attributes="for string:$idPrefix.text">Type:</label>
tal:attributes="for string:$idPrefix.text">
<span i18n:translate="">Type</span>:</label>
<select name="text"
tal:attributes="name string:$namePrefix.text;
id string:$idPrefix.text;">
@ -140,7 +144,7 @@
<tr>
<td metal:use-macro="macros/minus"/>
<td colspan="3">
<h3>Search text</h3>
<h3 i18n:translate="">Text-based search</h3>
</td>
<tr>
<td></td>
@ -150,17 +154,20 @@
tal:attributes="name string:$namePrefix.title;
id string:$idPrefix.title;" />
<label for="title"
i18n:translate=""
tal:attributes="for string:$idPrefix.title">Title</label>
<input type="checkbox"
name="full" id="full" value="yes"
tal:attributes="name string:$namePrefix.full;
id string:$idPrefix.full;" />
<label for="full"
i18n:translate=""
tal:attributes="for string:$idPrefix.full">Full text</label>&nbsp;&nbsp;
</td>
<td>
<label for="text"
tal:attributes="for string:$idPrefix.text">Search text:</label>
tal:attributes="for string:$idPrefix.text">
<span i18n:translate="">Search text</span>:</label>
</td>
<td>
<input type="text" name="text"
@ -186,15 +193,16 @@
namePrefix string:search.$rowNum;">
<td></td>
<td>
<span i18n:translate="">Type: </span>
<b tal:content="type/title" />
<span i18n:translate="">Type</span>:
<b tal:content="type/title" i18n:translate="" />
<input type="hidden" name="type" value=""
tal:attributes="name string:$namePrefix.type;
value type/token" />
</td>
<td>
<label for="text"
tal:attributes="for string:$idPrefix.text">Select value:</label>
tal:attributes="for string:$idPrefix.text">
<span i18n:translate="">Concept for Search</span>:</label>
</td>
<td>
<select name="text_selected"
@ -202,6 +210,7 @@
id string:$idPrefix.text;">
<tal:concepts repeat="concept python: item.conceptsForType(type['token'])">
<option tal:attributes="value concept/token"
i18n:translate=""
tal:content="concept/title">Zope Corp</option>
</tal:concepts>
</select>
@ -212,7 +221,8 @@
<td></td>
<td>
<label for="type"
tal:attributes="for string:$idPrefix.type">Type:</label>
tal:attributes="for string:$idPrefix.type">
<span i18n:translate="">Type</span>:</label>
<select name="type"
tal:attributes="name string:$namePrefix.type;
id string:$idPrefix.type;
@ -227,7 +237,8 @@
</td>
<td>
<label for="text"
tal:attributes="for string:$idPrefix.text">Search text:</label>
tal:attributes="for string:$idPrefix.text">
<span i18n:translate="">Concept for Search</span>:</label>
<input type="text" name="text"
tal:condition="nothing"
tal:attributes="name string:$namePrefix.text;

View file

@ -29,8 +29,8 @@ from zope.i18nmessageid import MessageFactory
from zope.schema import vocabulary
#from view import TargetRelation
#_ = MessageFactory('loops')
_ = MessageFactory('zope') # it's easier not use a special i18n domain...
_ = MessageFactory('loops')
#_ = MessageFactory('zope') # it's easier not use a special i18n domain?
class KeywordVocabulary(vocabulary.SimpleVocabulary):

View file

@ -3,15 +3,15 @@
ondblclick python: item.openEditWindow('resources.html')"
tal:define="versions python: list(item.versions())"
tal:condition="versions">
<h1 tal:content="item/title">Title</h1>
<h2>Versions</h2><br />
<h1 i18n:translate="" tal:content="item/title">Title</h1>
<h2 i18n:translate="">Versions</h2><br />
<table class="listing">
<tr>
<th i18n:translate="label_title">Title</th>
<th i18n:translate="label_type">Type</th>
<th i18n:translate="label_version">V</th>
<th i18n:translate="label_size">Size</th>
<th i18n:translate="label_modifdate">Modification Date</th>
<th i18n:translate="">Title</th>
<th i18n:translate="">Type</th>
<th i18n:translate="">V</th>
<th i18n:translate="">Size</th>
<th i18n:translate="">Modification Date</th>
</tr>
<tal:items repeat="related versions">
<tal:item define="class python: repeat['related'].odd() and 'even' or 'odd';