Guide to translating and improving Crawl's text =============================================== First, you need to create an account on Transifex: https://www.transifex.net. Then go to the DCSS project: https://www.transifex.net/projects/p/dcss/, select your language, and click "Join the team". If your language isn't present, you can request its addition by clicking the "Request language" button. Both of those actions will require a maintainer or a coordinator to approve it, so it may take some time. Text Improvement ================ If you want to submit changes to the English text, you need to join the English team. "English (Australian)" is for the source strings, they are not editable. Once submitted text has been reviewed and approved, the source text will be updated, so English will have entries with identical text to the source strings. This is useful to differentiate text which has already been improved. It is possible to change it again and improve it further. Review ====== Each translating team has one or more coordinators. Their task is to review translators' contribution and approve them by checking the "reviewed" checkbox in the translating interface. Only reviewed text is included in the game, so it's important that coordinators check the reviewed checkbox when they approve a contribution. Formatting ========== Line breaks are automatically removed when the text is imported, except for lines starting with empty spaces and empty lines. There's also an exception for lines starting with {{ or }} (to include lua code). Quotes use smart quote unicode characters (U+8220 and U+8221). Quotes ====== Don't translate quotes; instead, submit quotes in their original language. It's allowed to submit translated text, especially for things like biblical references, but don't forget to include information about the translator. Quotes have keys ending with ':quote'. Not all entries have a quote associated with it. To submit a new quote from the transifex interface, edit the description and add a line with :quote at the end. Then, below it, you can add a quote. On the next synchronization, it will be moved to its own key. Aliases ======= If you want to use the same text for several keys, you can use to avoid duplicating the string. This should be done in the source files because key with links are not pushed to transifex. Translating online ================== Transifex has a web based interface to submit translations. Simply click on a language, then on a resource and click "Translate Now". The web interface evolves quickly, so just read the online documentation if you need help. Translating offline =================== If you're more comfortable with your text editor than with a web interface, it's possible to edit text locally and then push it to transifex using their command line client. When working offline, it's not possible to set translations to the reviewed state, and you won't have access to comments, suggestions, history and glossary features. First, you need to get the source of the game; instructions on how to get it can be found in README.txt. You also need to install the transifex client (http://support.transifex.com/customer/portal/topics/440187-transifex-client/articles). Since it's easier to overwrite other people's contributions when working offline, it might be safer to lock the resource from the web interface before you do anything else. Edit the txt files you want to change, then run the txc python program in utils to push your work to transifex. The simplest way to do that is to select your language and the resources you've edited (either with command line options or interactively), then press i to generate ini files, w to write them and finally u to push them to transifex. Developers ========== The transifex-crawl interface is a python script named txc in utils. When started without argument, it runs in interactive mode, showing a menu of available commands and the current state of working files. The 3 main commands are: t to rewrap txt files, m to merge ini files and i to update the ini files. When you do any of those commands, the files are not immediately modified. You can review the changes first by looking at a diff or even editing the changes. When you're done, press w to write the files. For convenience, there's also access to a few basic git commands and transifex pull/push. At any moment you can change the languages and resources. All commands only apply to what is currently selected. When there are pending changes of different types, you can also "select changes" which allows you to review independently new entries, changed ones, quotes and deleted entries. Here is the process to do a full sync (hotkey commands are uppercased): start with only the english language (txc -s). Pull from transifex Merge ini review changes, edit if necessary and commit update Ini and pUsh the source. If you previously pulled some english contributions (fake translations), you will be prompted to reset them. It is recommended to do so. Now, select all languages (or just all translation by restarting txc with -t) Pull, Merge, review and edit, Write, git Add, git Commit. update Ini then pUsh