summaryrefslogtreecommitdiffstats
path: root/sql/share/README.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sql/share/README.md51
1 files changed, 51 insertions, 0 deletions
diff --git a/sql/share/README.md b/sql/share/README.md
new file mode 100644
index 00000000..2ef8c907
--- /dev/null
+++ b/sql/share/README.md
@@ -0,0 +1,51 @@
+## A quicker way for adding new language translations to the errmsg-utf8.txt file
+
+### Summary
+
+To generate a new language translation of MariaDB use the following pull request (PR) as a template for your work:
+- https://github.com/MariaDB/server/pull/2676
+
+You will notice as part of your translation work, you will have to add your language translations to the file `sql/share/errmsg-utf8.txt` which is found in the current directory. This file is long with many sections which can make the translation work tedious. In this README, we explain a procedure and provide a script `insert_translations_into_errmsg.py` that cuts down the amount of tedium in accomplishing the task.
+
+### Procedure
+1. Start by grepping out all the english translations from errmsg-utf8.txt using the following grep command, and redirecting the output to a file:
+
+ grep -P "^\s*eng\s" errmsg-utf8.txt > all_english_text_in_errmsg-utf8.txt
+
+2. Next use Google translate to obtain a translation of this file. Google translate provides the ability to upload whole files for translation. For example, this technique was used to obtain Swahili translations which yielded a file with output similar to the below (output is truncated for clarity):
+
+ sw "hashchk"
+ sw "isamchk"
+ sw "LA"
+ sw "NDIYO"
+ sw "Haiwezi kuunda faili '% -.200s' (kosa: %M)"
+ sw "Haiwezi kuunda jedwali %`s.%`s (kosa: %M)"
+ sw "Haiwezi kuunda hifadhidata '% -.192s' (kosa: %M)"
+ sw "Haiwezi kuunda hifadhidata '% -.192s'; hifadhidata ipo"
+
+Note that Google translate removes the leading whitespace in the translation file it generates. DO NOT add that leading whitespace back!
+
+3. Give the translated file an appropriate name (e.g. `all_swahili_text_in_errmsg-utf8.txt`) and store it in the same directory with `errmsg-utf8.txt` and `all_english_text_in_errmsg-utf8.txt`. These 3 files will be used by the script insert_translations_into_errmsg.py.
+
+4. Proof check the auto-translations in the file you downloaded from Google translate. Note that Google might ommit formating information
+that will cause the compilation of MariaDB to fail, so pay attention to these.
+
+5. Reintegrate these translations into the errmsg-utf8.txt by running the insert_translations_into_errmsg.py script as follows:
+
+ chmod ugo+x insert_translations_into_errmsg.py # Make the script executable if it is not.
+
+ ./insert_translations_into_errmsg.py <errmsg-utf8.txt file> <file with grepped english entries> <file with new language entries>
+
+ For example, for the swahili translation, we ran the following:
+
+ ./insert_translations_into_errmsg.py errmsg-utf8.txt all_english_text_in_errmsg-utf8.txt all_swahili_text_in_errmsg-utf8.txt
+
+ The script uses the `errmsg-utf8.txt` file and the grepped english file to keep track of each new translation. It then creates a file in the same directory as `errmsg-utf8.txt` with the name `errmsg-utf8-with-new-language.txt`.
+
+6. Check that the reintegration of the new translations into `errmsg-utf8-with-new-language.txt` went OK, and if it did, rename `errmsg-utf8-with-new-language.txt` to `errmsg-utf8.txt`:
+
+ mv errmsg-utf8-with-new-language.txt errmsg-utf8.txt
+
+7. In the header of errmsg-utf8.txt make sure to add your language long form to short form mapping. E.g. for Swahili, add:
+
+ swahili=sw