[Blends-commit] [Git][blends-team/blends][master] 59 commits: first publication
Andreas Tille (@tille)
gitlab at salsa.debian.org
Sat Nov 30 21:21:51 GMT 2024
Andreas Tille pushed to branch master at Debian Blends Team / blends
Commits:
39564967 by Georges Khaznadar at 2024-11-19T22:17:02+01:00
first publication
- - - - -
c3343399 by Georges Khaznadar at 2024-11-19T22:27:28+01:00
trying to make normalized lines correctly
- - - - -
034cc54e by Georges Khaznadar at 2024-11-19T23:28:08+01:00
fixed the xpath to tails of sub-elements of translatable elements
- - - - -
8341e916 by Georges Khaznadar at 2024-11-19T23:39:15+01:00
improved the comments
- - - - -
cd9942bb by Georges Khaznadar at 2024-11-19T23:42:01+01:00
process only non-empty text chunks
- - - - -
77e69656 by Georges Khaznadar at 2024-11-19T23:43:10+01:00
fixed the test for empty text chunks
- - - - -
b7489a7c by Georges Khaznadar at 2024-11-19T23:45:14+01:00
fixed an issue with double quotes
- - - - -
03fe7bc0 by Georges Khaznadar at 2024-11-20T12:40:00+01:00
more tags to be translated
- - - - -
b0c98682 by Georges Khaznadar at 2024-11-20T12:41:31+01:00
added a directory for French documents
- - - - -
088737df by Georges Khaznadar at 2024-11-20T12:59:22+01:00
new target: update_po and FR lang
- - - - -
b7503525 by Georges Khaznadar at 2024-11-20T15:35:44+01:00
first publication of fr.po
- - - - -
e0a051d6 by Georges Khaznadar at 2024-11-20T15:36:45+01:00
ignore pot file
- - - - -
76cd97a7 by Georges Khaznadar at 2024-11-20T16:07:55+01:00
use a new class PotEntry
- - - - -
c634b846 by Georges Khaznadar at 2024-11-20T16:08:30+01:00
more FR translations
- - - - -
4dbfb38f by Georges Khaznadar at 2024-11-20T16:09:03+01:00
target update_po less verbose
- - - - -
947e799d by Georges Khaznadar at 2024-11-20T16:33:46+01:00
ignore MO files
- - - - -
100f4f3b by Georges Khaznadar at 2024-11-20T16:34:05+01:00
update MO files
- - - - -
a1a27696 by Georges Khaznadar at 2024-11-20T19:43:29+01:00
placed normalizedText in a common file
- - - - -
66cfda43 by Georges Khaznadar at 2024-11-20T19:43:59+01:00
ignore more files
- - - - -
2f20db00 by Georges Khaznadar at 2024-11-20T19:44:41+01:00
first publication of debian-blends.fr.xml
- - - - -
2a0ad838 by Georges Khaznadar at 2024-11-20T19:45:12+01:00
refined a little doc/Makefile
- - - - -
0458bad0 by Georges Khaznadar at 2024-11-20T19:54:03+01:00
fixed the cases when msgstr is longer than 1 line
- - - - -
825eab63 by Georges Khaznadar at 2024-11-20T20:15:56+01:00
fixed a bug with escaped double quotes
- - - - -
d60aef67 by Georges Khaznadar at 2024-11-20T22:57:58+01:00
fixed a fetranslations
- - - - -
2ac71d05 by Georges Khaznadar at 2024-11-21T08:22:53+01:00
simplified escaping (or not escaping) the double quotes
- - - - -
60759533 by Georges Khaznadar at 2024-11-21T08:23:06+01:00
more translations
- - - - -
ec809313 by Georges Khaznadar at 2024-11-21T17:49:41+01:00
progress in FR translation
- - - - -
e36d2ee0 by Georges Khaznadar at 2024-11-22T09:45:23+01:00
progress in FR translation
- - - - -
ce43a3cc by Georges Khaznadar at 2024-11-22T10:23:04+01:00
added blends.pot as a target
- - - - -
7189b360 by Georges Khaznadar at 2024-11-22T10:57:15+01:00
replaced reference comments by extracted comments in PO file
- - - - -
89c6116f by Georges Khaznadar at 2024-11-22T11:16:13+01:00
more .phony targets
- - - - -
b9457d8a by Georges Khaznadar at 2024-11-22T11:20:55+01:00
taken in account <emphasize> tags
- - - - -
12d364ca by Georges Khaznadar at 2024-11-22T12:36:22+01:00
progress in FR translation
- - - - -
672b2c57 by Georges Khaznadar at 2024-11-22T12:36:54+01:00
taking in accoutn <emphasis>
- - - - -
4a0bb819 by Georges Khaznadar at 2024-11-22T15:56:20+01:00
fixed a few inconsistencies
- - - - -
e42b99b5 by Georges Khaznadar at 2024-11-22T17:59:11+01:00
do not apply <package> for chnks like "tested inside the subset"
- - - - -
3b4c8cbf by Georges Khaznadar at 2024-11-22T18:26:19+01:00
fixed inconsistencies
- - - - -
b8b9c886 by Georges Khaznadar at 2024-11-22T18:53:13+01:00
progress in FR translation
- - - - -
10a18020 by Georges Khaznadar at 2024-11-22T19:34:19+01:00
progress in FR translation
- - - - -
a12ac4f5 by Georges Khaznadar at 2024-11-23T19:58:52+01:00
words like "in the" should not be part of a ulink's anchor
- - - - -
e8934a51 by Georges Khaznadar at 2024-11-23T20:24:29+01:00
progress in FR translation
- - - - -
cafbaae2 by Georges Khaznadar at 2024-11-24T00:19:54+01:00
progress in FR translation
- - - - -
98956f35 by Georges Khaznadar at 2024-11-24T11:35:41+01:00
progress in FR translation
- - - - -
f0cdbbbc by Georges Khaznadar at 2024-11-24T11:48:24+01:00
progress in FR translation
- - - - -
1d8e338d by Georges Khaznadar at 2024-11-24T12:32:46+01:00
progress in FR translation
- - - - -
fd54df05 by Georges Khaznadar at 2024-11-24T13:40:05+01:00
progress in FR translation
- - - - -
3f17f291 by Georges Khaznadar at 2024-11-24T20:15:54+01:00
progress in FR translation
- - - - -
07497255 by Georges Khaznadar at 2024-11-25T10:35:38+01:00
progress in FR translation
- - - - -
6a923ab7 by Georges Khaznadar at 2024-11-25T16:16:24+01:00
dirty trick, to disambiguate "a" which also appears in 06_technology.xml
- - - - -
fba0538d by Georges Khaznadar at 2024-11-25T16:30:52+01:00
progress in FR translation
- - - - -
d9b72b60 by Georges Khaznadar at 2024-11-25T16:52:43+01:00
progress in FR translation
- - - - -
69dd0d2e by Georges Khaznadar at 2024-11-27T20:14:45+01:00
progress in FR translation
- - - - -
d2c0b0a1 by Georges Khaznadar at 2024-11-28T18:08:29+01:00
progress in FR translation
- - - - -
c225c412 by Georges Khaznadar at 2024-11-28T18:08:43+01:00
progress in FR translation
- - - - -
cebf9ce5 by Georges Khaznadar at 2024-11-29T18:51:17+01:00
progress in FR translation
- - - - -
60a6b90d by Georges Khaznadar at 2024-11-29T19:33:57+01:00
progress in FR translation
- - - - -
00a76a8b by Georges Khaznadar at 2024-11-30T18:34:15+01:00
first FR translation completed
- - - - -
6f0d33dc by Georges Khaznadar at 2024-11-30T19:32:42+01:00
remove remark elements from translated pages
- - - - -
5eceaecc by Andreas Tille at 2024-11-30T21:21:47+00:00
Merge branch 'master' into 'master'
I18N and French L10N
See merge request blends-team/blends!15
- - - - -
12 changed files:
- + devtools/.gitignore
- + devtools/blend-doc-makepot
- + devtools/blend-doc-translate
- + devtools/utils.py
- + doc/.gitignore
- doc/Makefile
- + doc/debian-blends.fr.xml
- doc/en/00_titletoc.xml
- doc/en/07_starting.xml
- doc/en/09_todo.xml
- + doc/fr.po
- + doc/fr/.gitkeeper
Changes:
=====================================
devtools/.gitignore
=====================================
@@ -0,0 +1,2 @@
+*~
+__pycache__/
=====================================
devtools/blend-doc-makepot
=====================================
@@ -0,0 +1,178 @@
+#! /usr/bin/python3
+
+"""
+This program extracts translatable contents from xlm files under
+the subdirectory "doc/", and builds a PO template file with them.
+
+Currently translatable contents are provided by tags
+'title', 'ulink', 'term' and 'para'.
+
+Each entry is prepended a comment with a mean to access the translatable
+text chunk, with xml.etree.ElementTree
+
+How to use this script:
+$ devtools/blend-doc-makepot doc/en > path_to_blends.pot
+"""
+
+import xml.etree.ElementTree as ET
+import sys, re, os, hashlib, collections
+sys.path.append(os.path.dirname(__file__))
+
+from utils import normalizedText
+
+def content(tag):
+ return (tag.text or "") + ''.join(ET.tostring(e, encoding='unicode') for e in tag)
+
+class PotEntry():
+ """
+ Class to implement POT entries.
+
+ Parameters of the constructor:
+ ------------------------------
+
+ - comment (str) a comment a comment to acces the text in a source file
+ - text (str) the original text to process
+ """
+
+ entries = collections.OrderedDict()
+
+ def __init__(self, comment, text):
+ self.comment = comment
+ self.text = "\n".join([
+ f'"{l}"' for l in normalizedText(text, escape=True)])
+ self.hash = hashlib.sha256(self.text.encode("UTF-8")).hexdigest()
+ if self.hash in self.entries:
+ self.entries[self.hash].append(self)
+ else:
+ self.entries[self.hash] = [self]
+ return
+
+ def __str__(self):
+ return """\
+msgid ""
+{self.text}
+msgstr ""
+
+"""
+
+ @staticmethod
+ def header():
+ """
+ Returns a template for the begin of the POT file
+ """
+ return """\
+# LANG translations for Debian Blends documentation.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the blends package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: blender-doc\\n"
+"Report-Msgid-Bugs-To: blender at packages.debian.org\\n"
+"POT-Creation-Date: 2024-11-20 10:11+0200\\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\\n"
+"Language-Team: LANGUAGE <LL at li.org>\\n"
+"Language: \\n"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=UTF-8\\n"
+"Content-Transfer-Encoding: 8bit\\n"
+
+"""
+
+ @staticmethod
+ def entries_str():
+ result = ""
+ for h, list_p in PotEntry.entries.items():
+ comments = "\n".join([f"#. {p.comment}" for p in list_p])
+ text = PotEntry.entries[h][0].text
+ result += f"""
+{comments}
+msgid ""
+{text}
+msgstr ""
+
+"""
+ return result
+
+ @staticmethod
+ def potfile():
+ return f"""
+{PotEntry.header()}
+{PotEntry.entries_str()}
+"""
+
+def pot_entries(filename):
+ """
+ collects POT entries from a file
+
+ Parameter:
+ ----------
+
+ - filename (str) path to an xml file
+
+ Returns:
+ --------
+ None
+
+ Side-effects:
+ -------------
+
+ PotEntry.entries will bear all information collected from the file
+ """
+ tree = ET.parse(filename)
+ root = tree.getroot()
+ for tag in ("title", "ulink", "term", "para"):
+ xpath = ".//" + tag
+ elements = root.findall(xpath)
+ for i, t in enumerate(elements):
+ if t.text and t.text.strip():
+ comment = f'{filename} : root.findall("{xpath}")[{i}].text'
+ _ = PotEntry(comment, t.text)
+ dejavu = {}
+ for e in t:
+ if e.tag in dejavu:
+ dejavu[e.tag] += 1
+ else:
+ dejavu[e.tag] = 1
+ xpath2 = f"./{e.tag}[{dejavu[e.tag]}]"
+ if e.tag == "emphasis":
+ if e.text and e.text.strip():
+ # it is an emphasis inside some translatable text
+ # so we must output its text into the POT file
+ comment = f'''\
+{filename} : root.findall("{xpath}")[{i}].findall("{xpath2}")[0].text'''
+ _ = PotEntry(comment, e.text)
+ dejavu_em = {}
+ for e_em in e:
+ # we are under one layer of emphasis tag now!
+ if e_em in dejavu_em:
+ dejavu_em[e_em.tag] += 1
+ else:
+ dejavu_em[e_em.tag] = 1
+ xpath2_em = f"./{e_em.tag}[{dejavu_em[e_em.tag]}]"
+ if e_em.tail and e_em.tail.strip():
+ comment = f'''\
+{filename} : root.findall("{xpath}")[{i}].findall("{xpath2}")[0].findall("{xpath2_em}")[0].tail'''
+
+ _ = PotEntry(comment, e_em.tail)
+ if e.tail and e.tail.strip():
+ comment = f'''\
+{filename} : root.findall("{xpath}")[{i}].findall("{xpath2}")[0].tail'''
+ _ = PotEntry(comment, e.tail)
+ return
+
+
+if __name__ == "__main__":
+ # write a POT file to the standard output
+ path = "."
+ if len(sys.argv) > 1 :
+ path = sys.argv[1]
+ for root, dirs, files in os.walk(path):
+ for f in files:
+ if f.endswith(".xml"):
+ filename = os.path.join(root, f)
+ pot_entries(filename)
+ print(PotEntry.potfile())
=====================================
devtools/blend-doc-translate
=====================================
@@ -0,0 +1,96 @@
+#! /usr/bin/python3
+
+"""
+This script translates the documentation.
+<remark> elements are stripped off when translating.
+
+sys.argv[1] must be a supported (non EN) language, which entails using
+doc/{sys.argv[1]}.po and the subdirectory {sys.argv[1]}/
+"""
+
+import gettext
+_ = gettext.gettext
+
+import sys, os, re
+sys.path.append(os.path.dirname(__file__))
+
+from utils import normalizedText
+
+import xml.etree.ElementTree as ET
+from subprocess import call
+
+def usage():
+ print(f"Usage: {sys.argv[0]} <language-code>")
+ sys.exit(1)
+ return # never reached
+
+def translate(source, target = "/tmp/example.xml", docdir = "doc", lang = "fr"):
+ """
+ Translates an XMLDOC file.
+ <remark> elements are stripped off
+
+ Parameters:
+ -----------
+
+ - source (str) the source XML file
+ - target (str) the file to create
+ - docdir (str) the directory which contains MO files and translated subdirs
+ - lang (str) the language code
+ """
+ tree = ET.parse(source)
+ root = tree.getroot()
+ accessors = []
+ with open(os.path.join(docdir, lang + ".po")) as pofile:
+ pattern = re.compile("^#\\. en/" + source.split("/")[-1] + " : (.*)")
+ for l in pofile.readlines():
+ m = pattern.match(l.strip())
+ if m:
+ et = eval('.'.join(m.group(1).split('.')[:-1]))
+ text_tail = m.group(1).split('.')[-1]# either '.text' or '.tail'
+ t = "".join(normalizedText(eval(m.group(1)), escape = False))
+ t = t.replace('\\"', '"')
+ setattr(et, text_tail, _(t))
+ for parent_of_remark in root.findall(".//remark/.."):
+ for remark in parent_of_remark.findall("./remark"):
+ parent_of_remark.remove(remark)
+ print("+----------- Removing a remark: ---------------")
+ for l in remark.text.split("\n"):
+ print("|", l)
+ print("+----------------------------------------------")
+ with open(target, "w") as outfile:
+ tree.write(outfile, encoding='unicode')
+ call(['/usr/bin/xmllint', '--format', target,
+ "--output", target + ".tmp",
+ "--encode", "UTF-8"])
+ call(['mv', target + ".tmp", target])
+ return
+
+if __name__ == "__main__":
+ if len(sys.argv) < 2:
+ usage()
+ l = sys.argv[1].lower()
+ print(f"translating --> {l}")
+ docdir = None
+ pofile = None
+ for root, dirs, files in os.walk("."):
+ if f"{l}.po" in files:
+ pofile = os.path.join(root, f"{l}.po")
+ docdir = root
+ if not pofile:
+ raise Exception(f"ERROR: The path to {l}.po was not found.")
+ # l, docdir and pofile are defined
+ os.environ['LANG'] = l
+ gettext.bindtextdomain("blends", localedir=docdir)
+ gettext.textdomain('blends')
+
+ for root, dirs, files in os.walk(os.path.join(docdir, "en")):
+ for f in files:
+ if f.endswith(".xml"):
+ filename = os.path.join(root, f)
+ target = os.path.join(docdir, l, f)
+ print(f"Translating: {filename} --> {target}")
+ translate(
+ filename,
+ target = target,
+ docdir = docdir, lang = l,
+ )
=====================================
devtools/utils.py
=====================================
@@ -0,0 +1,43 @@
+import re
+
+def normalizedText(t, n=68, escape = False):
+ """
+ Given a text with newlines and multiple spaces, reduces all
+ multiple separators to single spaces,
+ and returns a string with not too long lines.
+
+ Parameters:
+ -----------
+
+ - t (str) a text to normalize
+ - n (int) the maximum length of a line, when possible. Defaults to 68.
+ - escape (bool): if True, double quotes will be escaped. Deffauts to False
+ """
+ if not t:
+ return ""
+ onestring = re.sub("[\\s\n\t]+", " ", t, flags=re.MULTILINE)
+ if escape:
+ # escape double quotes
+ onestring = onestring.replace('"', '\\"')
+ foundspace=0
+ last_foundspace=0
+ pos=0
+ newline_pos = [0]
+ while pos < len(onestring):
+ if onestring[pos] == " ":
+ foundspace = pos
+ if pos - newline_pos[-1] >= n:
+ if last_foundspace > newline_pos[-1]:
+ newline_pos.append(last_foundspace+1)
+ pos = last_foundspace + 1
+ foundspace = pos
+ else:
+ newline_pos.append(foundspace+1)
+ last_foundspace = foundspace
+ pos += 1
+ result = []
+ for i in range(1, len(newline_pos)):
+ result.append(onestring[newline_pos[i-1]:newline_pos[i]])
+ result.append(onestring[newline_pos[-1]:])
+ return result
+
=====================================
doc/.gitignore
=====================================
@@ -0,0 +1,6 @@
+*~
+*.pot
+*.mo
+en/html/
+fr/html/
+fr/*.xml
=====================================
doc/Makefile
=====================================
@@ -4,9 +4,14 @@
## ----------------------------------------------------------------------
## Document definitions
-doc_lang := en
+doc_lang := en fr
doc_name := debian-blends
doc_xml := $(shell for l in $(doc_lang); do echo $(doc_name).$$l.xml; done)
+doc_xml_source := $(shell find $$l -name "*.xml")
+po_files := $(shell ls *.po)
+mo_files := $(patsubst %.po, %/LC_MESSAGES/blends.mo, $(po_files))
+translated := $(shell for l in $$(echo $(doc_lang) | sed 's/en//'); do for f in en/*.xml; do echo $$l/$$(basename $$f); done; done)
+
sources := $(shell find . -name "*.xml")
doc_pdf := $(shell for l in $(doc_lang); do echo $$l/pdf/$(doc_name).$$l.pdf; done)
doc_ps := $(shell for l in $(doc_lang); do echo $$l/ps/$(doc_name).$$l.ps; done)
@@ -21,6 +26,8 @@ pkg := blends-doc
doc_html_en := en/html
doc_pdf_en := en/pdf/debian-blends.en.pdf
+doc_html_fr := fr/html
+doc_pdf_fr := fr/pdf/debian-blends.en.pdf
## ----------------------------------------------------------------------
## General definitions
@@ -46,7 +53,32 @@ validate: $(doc_xml)
xmllint --valid --noout $$f; \
done
-html: $(doc_html)
+update_po: $(po_files)
+
+blends.pot: $(doc_xml_source)
+ ../devtools/blend-doc-makepot en > $@
+
+$(po_files): blends.pot
+ @for l in $(doc_lang); do \
+ [ $$l != "en" ] && echo -n "Updating $$l.po " && \
+ mkdir -p $$l/LC_MESSAGES && \
+ msgmerge -U $$l.po blends.pot; \
+ done
+
+update_mo: $(mo_files)
+
+$(mo_files): $(po_files)
+ @for l in $$(echo $(doc_lang)| sed 's/en//'); do \
+ echo "Updating $$l/LC_MESSAGES/blends.mo" && \
+ msgfmt -o $$l/LC_MESSAGES/blends.mo $$l.po; \
+ done
+
+translate: $(mo_files)
+ @for l in $(doc_lang); do \
+ [ $$l != "en" ] && ../devtools/blend-doc-translate $$l; \
+ done
+
+html: translate $(doc_html)
$(doc_html) $(doc_html_en): $(doc_xml) $(sources)
for l in $(doc_lang); do \
@@ -55,14 +87,14 @@ $(doc_html) $(doc_html_en): $(doc_xml) $(sources)
$(LOCALE) xmlto --skip-validation -o $$d -x $(doc_name).xsl html $$f; \
done
-txt $(doc_txt): $(doc_xml)
+txt $(doc_txt): translate $(doc_xml)
for l in $(doc_lang); do \
f=$(doc_name).$$l.xml; d=$$l/txt; \
mkdir -p $$d; \
$(LOCALE) xmlto --skip-validation $(doc_txt_params) -o $$d txt $$f; \
done
-ps $(doc_ps): $(doc_xml)
+ps $(doc_ps): translate $(doc_xml)
for l in $(doc_lang); do \
f=$(doc_name).$$l.xml; d=$$l/ps; \
mkdir -p $$d; \
@@ -70,7 +102,7 @@ ps $(doc_ps): $(doc_xml)
done
-pdf $(doc_pdf): $(doc_xml)
+pdf $(doc_pdf): translate $(doc_xml)
for l in $(doc_lang); do \
f=$(doc_name).$$l.xml; d=$$l/pdf; \
mkdir -p $$d; \
@@ -78,7 +110,7 @@ pdf $(doc_pdf): $(doc_xml)
done
-dvi $(doc_dvi): $(doc_xml)
+dvi $(doc_dvi): translate $(doc_xml)
for l in $(doc_lang); do \
f=$(doc_name).$$l.xml; d=$$l/dvi; \
mkdir -p $$d; \
@@ -98,9 +130,10 @@ clean:
$(RMR) $$l/$$d; \
done; \
done
- find . -name "*~" -exec $(RMR) {} \;
+ find . -name "*~" -o name "*.mo" -exec $(RMR) {} \;
+ rm -f blends.pot
distclean:
make clean
-.PHONY: all publish clean distclean validate
+.PHONY: all publish clean distclean validate translate update_mo update_po
=====================================
doc/debian-blends.fr.xml
=====================================
@@ -0,0 +1,41 @@
+<?xml version='1.0' ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V5.0a1//EN"
+ "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd" [
+
+ <!-- textual data entities -->
+ <!ENTITY titletoc SYSTEM "fr/00_titletoc.xml">
+ <!ENTITY ch-introduction SYSTEM "fr/01_introduction.xml">
+ <!ENTITY ch-about SYSTEM "fr/02_about.xml">
+ <!ENTITY ch-general-ideas SYSTEM "fr/03_general_ideas.xml">
+ <!ENTITY ch-existing-blends SYSTEM "fr/04_existing_blends.xml">
+ <!ENTITY ch-inside SYSTEM "fr/05_inside.xml">
+ <!ENTITY ch-technology SYSTEM "fr/06_technology.xml">
+ <!ENTITY ch-starting SYSTEM "fr/07_starting.xml">
+ <!ENTITY ch-websentinel SYSTEM "fr/08_websentinel.xml">
+ <!ENTITY ch-todo SYSTEM "fr/09_todo.xml">
+ <!ENTITY ap-devel SYSTEM "fr/A_devel.xml">
+ <!ENTITY ap-quickintro SYSTEM "fr/B_quickintro.xml">
+ <!ENTITY ap-bts SYSTEM "fr/C_bts.xml">
+ <!ENTITY ap-faq SYSTEM "fr/D_faq.xml">
+
+]>
+
+<book id="debiandoc-xml">
+ &titletoc;
+
+ &ch-introduction;
+ &ch-about;
+ &ch-general-ideas;
+ &ch-existing-blends;
+ &ch-inside;
+ &ch-technology;
+ &ch-starting;
+ &ch-websentinel;
+ &ch-todo;
+
+ &ap-devel;
+ &ap-quickintro;
+ &ap-bts;
+ &ap-faq;
+
+</book>
=====================================
doc/en/00_titletoc.xml
=====================================
@@ -48,8 +48,8 @@
</para>
<para>
- You can find the source of this article
- <ulink url="https://salsa.debian.org/blends-team/blends/-/tree/master/doc">in the Git repository at salsa.debian.org</ulink>.
+ You can find the source of this article in the
+ <ulink url="https://salsa.debian.org/blends-team/blends/-/tree/master/doc">Git repository at salsa.debian.org</ulink>.
It is also available as Debian package <package>blends-doc</package>.
</para>
=====================================
doc/en/07_starting.xml
=====================================
@@ -200,7 +200,8 @@ written by Ben Armstrong <email>synrg at debian.org</email>.
<sect2>
<title>Repository</title>
<para>
- On <ulink url="https://salsa.debian.org/">salsa.debian.org</ulink> a
+ On <ulink url="https://salsa.debian.org/">salsa.debian.org</ulink> a
+ particular
<ulink url="https://gitlab.com/">GitLab</ulink> instance is running to host
all Debian related project work. Creating a project on Salsa is a
good idea to start teamwork on the code a Debian Pure Blend is
=====================================
doc/en/09_todo.xml
=====================================
@@ -17,23 +17,19 @@ to this list or read the list archive</ulink>.
Moreover the project <ulink url="https://salsa.debian.org/blends-team">
Blends</ulink> on Salsa exists to organise the cooperation of developers.
The <ulink url="https://salsa.debian.org/blends-team/blends">Git repository</ulink>
-can be browsed or checked out by by
+can be browsed or checked out by
<informalexample>
<programlisting>
git clone https://salsa.debian.org/blends-team/blends.git
</programlisting>
</informalexample>
-<programlisting>
for anonymous users. Developers should check out via
-</programlisting>
<informalexample>
<programlisting>
gbp clone git at salsa.debian.org:blends-team/blends.git
</programlisting>
</informalexample>
-<programlisting>
The current layout for the repository is as follows:
-</programlisting>
<informalexample>
<programlisting>
blends -+- blends (code of blends-dev and this documentation)
@@ -314,8 +310,8 @@ process which propagates packages to <package>testing</package> and releasing a
complete <package>stable</package> distribution also remains untouched. The new
thing is that the package pool could be enhanced to store more package
versions which belong to certain subsets alias Debian Pure Blends
-which all have a set of <package>tested inside the subset</package> distribution
-which leads to a <package>stable</package> subset release. The following graph
+which all have a set of <emphasis>tested inside the subset</emphasis> distribution
+which leads to a <emphasis>stable</emphasis> subset release. The following graph
might clarify this:
<informalexample>
@@ -394,10 +390,8 @@ DD -> unstable --> testing --> releasable --> stable
+---> ...
</programlisting>
</informalexample>
-<programlisting>
A third suggestion was given at Congreso Software Libre Comunidad
Valenciana:
-</programlisting>
<informalexample>
<programlisting>
testing_proposed_updated
=====================================
doc/fr.po
=====================================
The diff for this file was not included because it is too large.
=====================================
doc/fr/.gitkeeper
=====================================
@@ -0,0 +1 @@
+keep the directory
View it on GitLab: https://salsa.debian.org/blends-team/blends/-/compare/749c9e72e7541a3a3f7df310e43b4cca297512b4...5eceaecc93648239914b45d53c5aeee2c335b594
--
View it on GitLab: https://salsa.debian.org/blends-team/blends/-/compare/749c9e72e7541a3a3f7df310e43b4cca297512b4...5eceaecc93648239914b45d53c5aeee2c335b594
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/blends-commit/attachments/20241130/f0831817/attachment-0001.htm>
More information about the Blends-commit
mailing list