| 129 | * Including database variables : We need to extract the strings in database variables so that they too can be translated. Currently, these variables are excluded from translation. Hence, one approach to extract these strings is as follows:- |
| 130 | |
| 131 | Use the prepop csv files in privates/templates/<current-template> and mark them to be considered for translation. |
| 132 | |
| 133 | Provide a “Select all templates” option on the module selection page (similar to select all modules) to specify if all prepop files are to be considered. This option will be helpful when introducing new variables and discarding deprecated strings using the overwrite option as mentioned earlier. |
| 134 | |
| 135 | |
| 136 | |
| 137 | * Pootle Integration : We need to make sure that the translation in pootle is kept in sync with that in the “.py” languages file. Below are few points to help us achieve this :- |
| 138 | |
| 139 | As and when we use the overwrite option to remove deprecated strings,(as explained earlier) reflect these changes in pootle too. This will ensure that pootle doesn’t have any old strings and that new strings are also added. |
| 140 | |
| 141 | When merging from pootle, we might receive some conflicts ( just as through pull request). One possible solution is to create a script that identifies and stores all such conflicts in a file which can then be manually handled by translators. |
| 142 | |
| 143 | Also, an option for uploading ".po" files will be provided (apart from the current ".csv" files). The conflicts arising when merging this can be handled as mentioned before. |
| 144 | |
| 145 | Hence, the translations in pootle and web2py will be consistent. |
| 146 | |
| 147 | * Version Control : There can be a scenario where the translated strings received through pull request conflict with what’s already in the repository. Hence, we have to prevent this merge conflict. This can be handled in the same way as for Pootle (manual intervention). |
| 148 | |
| 149 | * Avoiding External Dependencies : Current code makes system calls to csv2po and po2web2py but we want to remove these external dependencies. The link below gives a good reason why we should avoid this. |
| 150 | |