searxng/docs/dev/translation.svg

47 lines
18 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="999px" preserveAspectRatio="none" style="width:1018px;height:999px;background:#FFFFFF;" version="1.1" viewBox="0 0 1018 999" width="1018px" zoomAndPan="magnify"><defs><filter height="300%" id="flwgy9xrajsm" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#flwgy9xrajsm)" height="351.8594" style="stroke:#000000;stroke-width:2.0;" width="991" x="10" y="116.7266"/><rect fill="#FFFFFF" filter="url(#flwgy9xrajsm)" height="320.7266" style="stroke:#000000;stroke-width:2.0;" width="971" x="20" y="140.8594"/><rect fill="#FFFFFF" filter="url(#flwgy9xrajsm)" height="245.3281" style="stroke:#000000;stroke-width:2.0;" width="555" x="426" y="209.2578"/><rect fill="#FFFFFF" filter="url(#flwgy9xrajsm)" height="324.7266" style="stroke:#000000;stroke-width:2.0;" width="848" x="143" y="525.7188"/><rect fill="#FFFFFF" filter="url(#flwgy9xrajsm)" height="245.3281" style="stroke:#000000;stroke-width:2.0;" width="828" x="153" y="549.8516"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="91" x2="91" y1="56.5938" y2="939.7109"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="270" x2="270" y1="56.5938" y2="939.7109"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="514" x2="514" y1="56.5938" y2="939.7109"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="738" x2="738" y1="56.5938" y2="939.7109"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="899" x2="899" y1="56.5938" y2="939.7109"/><rect fill="#FEFECE" filter="url(#flwgy9xrajsm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="119" x="30" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="37" y="41.292">master branch</text><rect fill="#FEFECE" filter="url(#flwgy9xrajsm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="119" x="30" y="938.7109"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="37" y="958.7061">master branch</text><rect fill="#FEFECE" filter="url(#flwgy9xrajsm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="211" x="163" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="197" x="170" y="41.292">translations_update branch</text><rect fill="#FEFECE" filter="url(#flwgy9xrajsm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="211" x="163" y="938.7109"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="197" x="170" y="958.7061">translations_update branch</text><rect fill="#FEFECE" filter="url(#flwgy9xrajsm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="436" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="443" y="41.292">translations branch</text><rect fill="#FEFECE" filter="url(#flwgy9xrajsm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="436" y="938.7109"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="443" y="958.7061">translations branch</text><rect fill="#FEFECE" filter="url(#flwgy9xrajsm)" height="46.5938" style="stroke:#A80036;stroke-width:1.5;" width="153" x="660" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="676.5" y="24.9951">weblate clone of</text><text fill="#000000" font-family="sans-serif
@startuml
participant "master branch" as master
participant "translations_update branch" as translations_update
participant "translations branch" as translations
participant "weblate clone of\ntranslations branch" as weblate
participant "weblate\npending changes " as weblate_change
== for each commit on master ==
group .github/workflows/integration.yml
group make weblate.push.translations
master -> translations: pybabel extract\nextract messages, store messages.pot on translations branch
alt if there are some changes in messages.pot
hnote over weblate : wlc lock
translations -> weblate: wlc pull
weblate_change -> weblate: wlc commit
weblate -> translations: git merge weblate/translations
translations -> weblate: pybabel update (messages.po)\ngit add searx/translations\ngit commit\ngit push
hnote over weblate : wlc unlock
end
end
end
== every Friday ==
group .github/workflows/translations-update.yml
group make weblate.translations.commit
hnote over weblate : wlc lock
translations -> weblate: wlc pull
weblate_change -> weblate: wlc commit
weblate -> translations: git merge weblate/translations
translations -> translations_update: pybabel compile\ncp searx/translations\ngit add\ngit commit
hnote over weblate : wlc unlock
end
hnote over translations_update : create or update pull request\n"Update translations"
end
== developper's review ==
translations_update -> master: merge pull request
@enduml
See
https://plantuml.com/en/sequence-diagram
https://www.planttext.com
--></g></svg>