User Tools

Site Tools


en:autotranslation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:autotranslation [2025/06/06 07:51] juras17en:autotranslation [2025/06/07 09:58] (current) – [Chmod the targen directory and subpages] juras17
Line 1: Line 1:
-====== How to translate Wiki ======+====== How to Translate the Wiki ======
  
 The original Wiki version is written in the English language and the Czech version is the result of the automatic translation using Open AI. The original Wiki version is written in the English language and the Czech version is the result of the automatic translation using Open AI.
Line 5: Line 5:
 ===== Steps to translate wiki ===== ===== Steps to translate wiki =====
  
-==== 1Install Python ====+Reproduce steps carefuly.
  
-There is lot of tutorials about how to install the Python, try to find one - it's not difficult.+==== Install Python ====
  
-==== 2. Get access to Wiki folder ====+There is lot of tutorials about how to install the Python, try to find one - it's not difficult. The Python version shall be about 3.7 and higer. Don't forget to install libraries - which one ou will know if you try to execute the script. Paste the error to ChatGPT if you will don't know wha to do. 
 + 
 +==== Get access to Wiki folder ====
  
 On Arkhalia server there is a folder with the main PHP webpage: On Arkhalia server there is a folder with the main PHP webpage:
Line 25: Line 27:
 You need the "sh" user access to make changes in that folder (ask Shadow). You need the "sh" user access to make changes in that folder (ask Shadow).
  
-==== 3. Locate the wiki pages folders ====+==== Locate the wiki pages folders ====
  
 All the pages written in Wiki are placed in this folder: All the pages written in Wiki are placed in this folder:
Line 38: Line 40:
 You can see that it contains everything which is visible in the "site-map". You can see that it contains everything which is visible in the "site-map".
  
-==== 4. Backup the old "cs" folder ====+==== Backup the old "cs" folder ====
  
 Rename the old "cs" article folder: Rename the old "cs" article folder:
Line 47: Line 49:
  
  
-==== 5. Configure the Script - The Api key ====+==== Configure the Script - The Api key ====
  
 The Python script for translation is present here: The Python script for translation is present here:
Line 68: Line 70:
 We have to add there billing method, or you can write me (Jurass17) and I will provide mine. One translation of the Wiki cost approx. <1 dollar.  We have to add there billing method, or you can write me (Jurass17) and I will provide mine. One translation of the Wiki cost approx. <1 dollar. 
  
-==== 6. Configure the Script - The input and output folder ====+==== Configure the Script - The input and output folder ====
  
 As you can see in script: As you can see in script:
Line 78: Line 80:
  
 This paths shall be pointing directly to the folders where the input "en" directory and the output "cs" directory (where all the articles will be translated are present) This paths shall be pointing directly to the folders where the input "en" directory and the output "cs" directory (where all the articles will be translated are present)
 +
 +==== Configure the Script - The ChatGPT instructions ====
 +
 +The last thing which need revisioon are instructions for ChatGPT:
 +
 +<code>
 +CHATGPT_COMMAND = f"""
 +You are a helpful translator from {INPUT_LANGUAGE_AND_FOLDER_NAME} to {OUTPUT_LANGUAGE_AND_FOLDER_NAME}. 
 +
 +The text I will give you to translate is the DokuWiki Article text. It contains some DokuWiki special formatting syntax, like caption "===== Some caption =====",
 +or link to other pages "[[en:ruleset:touch_attack|Dotykový útok]]", or "<WRAP group>". Is is important that during your translation
 +you will not malform the original syntax of the DokuWiki elements. You are smart enough to do it, I know that.
 +
 +Maybe it will be handy for you that the DokuWiki Articles you are going to translate is the community driven DokuWiki related 
 +to the game Neverwinter Nights 1 online persistent world. Maybe, if you will be unsure how to translate something,
 +like names of game feats, or spells, it will help you to know it.
 +
 +Also, this is the set of rules I want you to comprehend during the translation:
 +1. When you encounter a link like "[[en:craftingguide]]", then I want your output to be the exact original version: "[[en:craftingguide]]"
 +2. When you encounter a link containing custom text like  "[[en:craftingguide|This is a custom caption]]", then I want your output to translate the custom caption like this: "[[en:craftingguide|Tohle je custom popisek]]"
 +3. The word "Feats" shall be translated as "Odbornosti"
 +3. The word "Classes" shall be translated as "Povolání"
 +4. Consider not to translate names of some Classes and keep the name original, like "Acolyte of Skin" sounds weird in Czech to be translated.
 +5. The word "Skills" shall be translated as "Dovednosti"
 +
 +That's all.
 +"""
 +
 +</code>
 +
 +This is **the entire order** for the ChatGPT, which is used for translating each single one page. As you can see, at the bottom we have specified several specific instructions about what it shall do. You can add your own if you think that the translation results are not good enough.
 +
 +
 +==== Execute the script ====
 +
 +Then finally, you can execute the script running something like:
 +
 +<code>
 +python3 -m thescript.py
 +</code>
 +
 +You shall see the pages are created in the target directory. It takes several minutes.
 +==== Chmod the target directory and subpages ====
 +
 +Then you need to move the new "cs" directory to the "wiki/data/pages" directory and ensure, that they have proper rights so wiki can access them. As user "sh" execute:
 +
 +<code>
 +chmod -R a+w cs
 +</code>
 +
 +
 +==== Change the sidebar ====
 +
 +One last thing, in the new czech version sidebar, you have to manually change the link to the english version of the Wiki as follow:
 +
 +<code>
 +** Obsah **
 +
 +[[cs:start|🇨🇿 Česky]]  
 +[[en:start|🇬🇧 English]]
 +</code>
 +
 +
 +===== And that's it =====
 +
 +Everything should work now.
en/autotranslation.1749196314.txt.gz · Last modified: 2025/06/06 07:51 by juras17