Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: README.md

Issue 29317015: Issue 2625 - [cms] Crowdin synchronisation script (Closed)
Patch Set: Addressed Sebastian's feedback Created July 14, 2015, 12:50 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | cms/bin/translate.py » ('j') | cms/bin/translate.py » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: README.md
diff --git a/README.md b/README.md
index c9a43a7db2d0348d82b8226d9499b65195ea030d..113b56983c0cd77b8aebbcc07acc4988606699d3 100644
--- a/README.md
+++ b/README.md
@@ -73,6 +73,42 @@ Run the following command from the directory of the `cms` repository:
Here `www_directory` should be replaced by the path to your content directory.
`target_directory` is the path where static files will be placed..
+### Syncing translations ###
+
+Before syncing translations ensure the following:
+
+- The `crowdin-project-name` setting has been set in the site's configuration.
+- The `urllib3` Python module is installed.
+
+Now to sync with Crowdin type the following:
+
+ python -m cms.bin.translate www_directory crowdin_project_api_key [logging_level]
+
+The script might take a while to run, it does the following things:
+
+1. Requests information about your Crowdin project
+2. Checks all local locales are supported by Crowdin and enabled for your project
+3. Renders all pages in your default language and extracts all page strings
+4. Creates any required directories in your Crowdin project
+5. Uploads any new page strings and updates any existing page strings
+6. Uploads any pre-existing translation files for any newly uploaded pages
+7. Requests Crowdin generate a fresh translations export archive
+8. Downloads the archive of translations and extracts it replacing all local
+ translation files
+
+Notes:
+
+- You have to use the Crowdin project's API key, not your account API key
+- You should probably enable "Skip untranslated strings" under your
+ project settings.
+- Translations are only _uploaded_ for new files. If you are syncing with
+ Crowdin for the first time, and you have existing translation files pay
+ attention to any warnings. If there are any problems it is recommended
+ you re-create another fresh Crowdin project and try again. (Otherwise
+ translations for the pages already uploaded could be lost!)
+- If you are running the script from a cronjob or similar you will probably
+ want to set the logging level to `ERROR` or similar
+
## Content structure ##
Currently, the following directories of your content directory will be
@@ -101,6 +137,9 @@ The following sections can be defined in `settings.ini`:
doesn't contain a page name. Note that while the test server will consider
that setting automatically, the real server might need to be configured
accordingly.
+ * `crowdin-project-name`: The Crowdin project name, this must be set for if
+ you intend to use the cms.bin.translate script to update the Crowdin
+ translations.
* `[langnames]`: defines the language names correspoding to particular language
codes.
* `[rtl]`: any language codes listed here are treated as right-to-left languages.
« no previous file with comments | « no previous file | cms/bin/translate.py » ('j') | cms/bin/translate.py » ('J')

Powered by Google App Engine
This is Rietveld