- Notifications
You must be signed in to change notification settings - Fork266
Mirroir dehttps://git.afpy.org/AFPy/python-docs-fr
python/python-docs-fr
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NOTE REGARDING THE LICENSE FOR TRANSLATIONS: Python's documentation ismaintained using a global network of volunteers. By posting thisproject on Transifex, Github, and other public places, and invitingyou to participate, we are proposing an agreement that you willprovide your improvements to Python's documentation or the translationof Python's documentation for the PSF's use under the CC0 license(available athttps://creativecommons.org/publicdomain/zero/1.0/legalcode). Inreturn, you may publicly claim credit for the portion of thetranslation you contributed and if your translation is accepted by thePSF, you may (but are not required to) submit a patch including anappropriate annotation in the Misc/ACKS or TRANSLATORS file. Althoughnothing in this Documentation Contribution Agreement obligates the PSFto incorporate your textual contribution, your participation in thePython community is welcomed and appreciated.
You signify acceptance of this agreement by submitting your work tothe PSF for inclusion in the documentation.
You can contribute using:
- github (preferred solution)
- transifex
- Or just by openingan issue on github
Prerequisites:
- Agithub account.
git
installed (for Windows, seehttps://gitforwindows.org/).- A
.po
file editor (Usepoeditif you don't already have one).
Getting Started:
You'll need to fork thepython-docs-fr source repository by clicking itsFork
button. This creates a copy of the whole project on your githubaccount: a place where you have the rights to do modifications.
Step by step:
# Clone your github fork with `git` using ssh or https:git clone git@github.com:YOUR_GITHUB_USERNAME/python-docs-fr.gitgit clone https://github.com:YOUR_GITHUB_USERNAME/python-docs-fr.git# Go into the cloned directory:cd python-docs-fr/# Add the upstream (the public repository) using HTTPS (won't ask for password):# This is so git knows what/where the upstream is.git remote add upstream https://github.com/python/python-docs-fr.git
Next, you need to find a file to work on.You can use potodo <https://github.com/seluj78/potodo>, a tool made to findpo
to do.Install it using pip (pip install potodo
) in apython3.7
environement.Then run the commandpotodo
in your cloned fork.From the list returned by the command, you can choose any file that is not reserved.
We recommend not starting with a file from ``c-api`` as it is very technical.
Once you've choosen a file to work one, please open an issue on github <https://github.com/python/python-docs-fr> in the format of I'm working on FOLDER/FILE.po. This is done to updatepotodo
as it checks the github API for reserved.po
files in issues and pull requests.
Now you're ready to start a work session. Each time you'll start a new file, start here:
# To work, we'll need a branch, based on an up-to-date (freshly fetched)# upstream/3.7 branch. We will name our branch "library-sys" but you shall name yours# whatever you want. Usually you'll name a branch based on the file you're working on.# For example, If you're working on "library/venv.po" you can name your branch "library-venv"# Update your local version to the latestgit fetch upstream# Create a new branch named "library-sys" based on "upstream/3.7"git checkout -b library-sys upstream/3.7# You can now work on the file, typically using poedit,# Of course, replace "library/sys.po" by the file you've chose earlierpoedit library/sys.po# When you are done translating, you can run pospell (pip install pospell).# This tool was made to check if you don't have any french mistakes.# You can run the following command: pospell -p dict -l fr_FR **/*.po to check all files# or replace **/*.po by your specific file (recommended).# You can then run powrap (pip install powrap) which will rewrap# You modified file to the correct line length of `80`.# Run this command: `powrap **/*.po` or replace `**/*.po` with your modified file.# When everything powrap and pospell passes without errors,# you can commit your work with a nice explicit message:git commit -a -m"Working on library/sys.po."# Then push your modifications to your github fork,# as they are ephemeral branches, let's not configure git to track them all,# "origin HEAD" is a "special" syntax to say "Push on origin,# on a branch with the same name as the local one",# it's nice as it's exactly what we want:git push origin HEAD# The previous command will print you a link to open a PR on github.# If you missed it, just go to# https://github.com/python/python-docs-fr/ and a nice "Compare & pull request"# button should appear after a few seconds telling you can ask for a pull request.# Now someone is reviewing your modifications, and you'll want to fix their# findings, get back to your branch# (in case you started something else on another branch):git checkout glossary# Fix the issues, then commit again:git commit -a -m"glossary: small fixes."git push origin HEAD
You may have noted that this looks like a triangle, with a missing segment:
- You're fetching from upstream (public common repo on github)
- You're pushing to origin (your clone on github)
So yes it's the work of someone to add the last segment, from yourorigin to the public upstream, to "close the loop", that's the role ofthe people who merges pull requests after proofreading them.
You may also have noted you never ever commit on a version branch(3.6
,3.7
, ...), only pull from them, consider them read-onlyyou'll avoid problems.
Before commiting, you should usegrammalecte to check for your translations.
All the translations must be made on the latest release.We never translate on an oldest version. For example, if the latest python releaseis Python 3.7, we don't want to translate directly on the python 3.5 release.If needed translations would be backported on the oldest versions by thedocumentation team <https://www.python.org/dev/peps/pep-8015/#documentation-team>.
You can start with easy tasks like reviewing fuzzy entries to helpkeeping the documentation up to date (find them usingmake fuzzy
).
You can also proofread already translated entries, and finallytranslate untranslated ones (find them usingmake todo
)..
- Do not translate content of
:ref:...
and:term:...
- Put english words, if you have to use them, initalics (surroundedby stars).
::
at the end of some paragraphs have to be translated to `` :::`` in French to place the space before the column.- If you translate a link title, please translate the link too(typically if it's Wikipedia and the article has a translation). Ifno translation of the target exists, do not translate thetitle.
The english version uses a thing namedsmartquotes, thattries to be smart, works in english, but soon causes issues in otherlanguages. So we desactivated it.
Smartquotes is also responsible for the transformation of--
toen-dash (–
),---
to em-dash (—
), and ... to ….
As we don't have smartquotes we'll also have to "translate" thosemanually, so if you see---
in english, you have to translate itto—
in french.
From the reStructuredText point of view,::
glued at the end of aword means "output:
and introduce a code block", but a::
after a space means "Just introduce a code block".
So in english rst, we see eitherblah blah::
orblah blah. ::
.
In french, we're putting a no-break space before our columns, like:Et voilà :
.
Using no-break space in rst is natural, you'll simply writeEtvoilà ::
, as the::
is not precedded by a normal space itwill output the column and introduce the code block, you're done.
If you don't know how to type a no-break space there's a trick,translate column column by space, column, space, column column. the"space column" will render your space and your column as french needs,and the trailing "space column column" will output nothing andintroduce the code block. No it does not magically inserts a no-breakspace, so it's still not really valid french. Yes, better learn how totype no-break space.
It really depends on your OS and your keyboard sadly. On Linux you canuse aCompose Key, it'seasy to configure either using your graphical keyboard configurationtool or via``dpkg-reconfigure keyboard-configuration`. On Windows youcan usewincompose.
With a compose key (I usealt-gr
, you can also usecaps lock
)you can use the following compositions:
- Compose
<
<
gives«
- Compose
>
>
gives»
- Compose space space gives an no-break space
- Compose
.
.
.
gives…
As you noted, almost all compositions are easy to remember, so you cantry others and they should just work:
- Compose
C
=
gives€
- Compose
1
2
gives½
- Compose
'
E
givesÉ
- … …
The coordinator for this translation ismdk.
Feel free to ask your questions on the#python-fr
channel onfreenode (does not require registration) or theAFPy traductions mailing list.
- Le Grand Dictionnaire Terminologique
- IRC channel#python-fr on freenode.
- Theliste traductions.
- Thedoc-sig mailing list.
- Glossaire traduc.org
- Glossaires et Dictionnaires of traduc.org
- glossary.po, as it'salready translated.
- deepl.com/translator
For consistency in our translations, here are some propositions andreminders for frequent terms you'll have to translate, don't hesitateto open an issue if you disagree.
To easily find how a term is already translated in our documentation,you may usefind_in_po.py.
Term | Proposed Translation |
---|---|
-like | -compatible |
abstract data type | type abstrait |
argument | argument (Don't mix with parameter) |
backslash | antislash,backslash |
bound | lier |
bug | bogue,bug |
built-in | native |
call stack | pile d'appels |
debugging | débogage |
deep copy | copie récursive (préféré), ou copie profonde. |
double quote | guillemet |
e.g. | e.g. (pourexempli gratia) |
garbage collector | ramasse-miettes |
identifier | identifiant |
immutable | immuable |
installer | installateur |
interpreter | interpréteur |
library | bibliothèque |
list comprehension | liste en compréhension (liste en intension estvalide, mais nous ne l'utilisons pas) |
little-endian, big-endian | petit-boutiste, gros-boutiste |
mutable | muable |
namespace | espace de nommage(sauf pour le XML où c'est espace de noms) |
parameter | paramètre |
prompt | invite |
raise | lever |
regular expression | expression rationnelle, expression régulière |
return | renvoie, donne (on évite"retourne" qui pourrait porter à confusion). |
simple quote | guillemet simple, apostrophe (apostropheis to glue, guillemet is to surround) |
socket | socket |
statement | instruction |
subprocess | sous-processus |
thread | fil d'exécution |
underscore | tiret bas,underscore |
expression | expression |
This project was startedaround 2012byafpy members, in 2017 this projectbecame the official french Python documentation translation thanks toPEP 545.
Git diffs are often crowded with useless line number changes, like:
-#: ../Doc/library/signal.rst:406+#: ../Doc/library/signal.rst:408
To tell git they are not usefull information, you can do the followingafter ensuring~/.local/bin/
is in yourPATH
.
cat<<EOF > ~/.local/bin/podiff#!/bin/shgrep -v '^#:' "\$1"EOFchmod a+x~/.local/bin/podiffgit config diff.podiff.textconv podiff
All those snippets are to run from the root of apython-docs-fr
clone, and some expect to find an up-to-date CPython clone near to it,like:
~/├── python-docs-fr/└── cpython/
To clone CPython you may use:
git clone --depth 1 --no-single-branch https://github.com/python/cpython.git
This avoids to download the whole history (not usefull to builddocumentation) but still fetches all branches.
make merge
make fuzzy
make
You'll need thetransifex-client
andpowrap
from Pypi.
You'll need to configuretx
viatx init
if not already done.
First propagate known translations locally:
pomerge --from-files**/*.po --to-files**/*.popowrap --modifiedgit commit -m"Propagating known translations."
Then pull from transifex:
pomerge --from-files**/*.potx pull -fpomerge --to-files**/*.popomerge --from-files**/*.pogit checkout --.pomerge --to-files**/*.popowrap --modifiedgit commit -m"tx pull"tx push -t -f
About
Mirroir dehttps://git.afpy.org/AFPy/python-docs-fr
Resources
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.