-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for other languages, starting with portuguese. #59
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a good approach towards this, just one structural issue in the code I'd like the change!
As for the images in the lobby, we could either have different versions of the assets per-language or I could modify the textures so that they only include the graphical elements and the text itself could be rendered using label3d. I'm not sure which will be a better approach-- I do like the current way that the signage looks.
Also thank you so much for your translation work!! I'm so appreciative that people in the community are interested in helping this reach more languages because I don't have the ability to do that myself :) |
It's definitely easier for translations the label3d, if you can keep the same aesthetics using it, that would be really good. |
OK I'm going to try generating the lobby signage using label3d. if I get it working I'll merge to main and u can rebase :) |
Hi ! fr.po complete file#, fuzzy
msgid ""
msgstr ""
"Language: fr\n"
msgid "Enter the Museum"
msgstr "Entrer dans le Musée"
msgid "Settings"
msgstr "Paramètres"
msgid "Quit"
msgstr "Quitter"
msgid "The museum is currently unstaffed. Please refer to signage for information."
msgstr "Le musée n'a pas d'employé. Veuillez vous référer aux panneaux d'information."
msgid "English"
msgstr "Anglais"
msgid "Portuguese"
msgstr "Portugais"
msgid "French"
msgstr "Français"
msgid "Are you sure you want to Quit?"
msgstr "Êtes vous sûr•e de vouloir quitter ?"
msgid "Yes"
msgstr "Oui"
msgid "No"
msgstr "Non"
msgid "Paused"
msgstr "En pause"
msgid "Resume"
msgstr "Reprendre"
msgid "Return to Lobby"
msgstr "Retourner à l'accueil"
msgid "Enter Exhibit Name"
msgstr "Entrez le nom de l'exposition"
msgid "Go to Random Exhibit"
msgstr "Se rendre à une exposition aléatoire"
msgid "Enter exhibit title"
msgstr "Entrez le titre de l'exposition"
msgid "Confirm"
msgstr "Confirmer"
msgid "Back"
msgstr "Retour"
msgid "Exhibit Found: \"\""
msgstr "Exposition trouvée : \"\""
msgid "OK / Exit"
msgstr "OK / Quitter"
msgid "VR Controls"
msgstr "Contrôles VR"
msgid "Restore Default Settings"
msgstr "Restaurer les paramètres par défaut"
msgid "Movement Style"
msgstr "Style de mouvement"
msgid "Teleportation (Left Trigger)"
msgstr "Téléportation (Gachette Gauche)"
msgid "Direct Movement (Left Analog Stick)"
msgstr "Mouvement direct (Joystick Gauche)"
msgid "Direct Movement Speed"
msgstr "Vitesse de mouvement direct"
msgid "Camera Rotation Increment (Right Stick)"
msgstr "Sensibilité de la caméra (Joystick Droit)"
msgid "Smooth Camera Rotation"
msgstr "Rotation en douceur"
msgid "Preparing Exhibit..."
msgstr "Préparation de l'exposition..."
msgid "Error Loading Exhibit."
msgstr "Erreur de chargement de l'exposition."
msgid "Data Settings"
msgstr "Paramètres de cache"
msgid "Cache"
msgstr "Cache"
msgid "Clear Cache"
msgstr "Vider le cache"
msgid "Cache Size Limit"
msgstr "Taille maximum du cache"
msgid "Automatically limit cache size (on quit)"
msgstr "Limiter automatiquement la taille du cache (à la fermeture)"
msgid "Graphics Settings"
msgstr "Paramètres graphiques"
msgid "Render Scale"
msgstr "Échelle de rendu"
msgid "Fullscreen"
msgstr "Plein écran"
msgid "Reflection Quality"
msgstr "Qualité des reflets"
msgid "Enable Reflections"
msgstr "Activer les reflets"
msgid "Ambient Light Level"
msgstr "Luminosité ambiante"
msgid "Enable Indirect Lighting (SSIL)"
msgstr "Activer la lumière indirecte (SSIL)"
msgid "Enable Fog"
msgstr "Activer le brouillard"
msgid "Enable V-Sync"
msgstr "Activer la synchronisation verticale"
msgid "Limit FPS"
msgstr "Limiter les FPS"
msgid "None"
msgstr "Aucun"
msgid "CRT Filter"
msgstr "Filtre CRT"
msgid "Audio Settings"
msgstr "Paramètres audio"
msgid "Global Volume"
msgstr "Volume global"
msgid "Sound Effects Volume"
msgstr "Volume des effets"
msgid "Ambience Volume"
msgstr "Volume de l'environnement"
msgid "Enter VR"
msgstr "Entrer en VR"
msgid "Snap turning:"
msgstr "Rotation instantanée :"
msgid "Y axis dead zone"
msgstr "Zone morte de l'axe Y"
msgid "X axis dead zone"
msgstr "Zone morte de l'axe X"
msgid "Haptics Scale"
msgstr "Intensité des vibrations"
msgid "Apply"
msgstr "Appliquer"
msgid "Reset"
msgstr "Réinitialiser"
msgid "Height adjust:"
msgstr "Ajustement de la hauteur :"
msgid "WebXR primary:"
msgstr "WebXR primaire :"
msgid "Auto"
msgstr "Auto"
msgid "Thumbstick"
msgstr "Joystick"
msgid "Trackpad"
msgstr "Trackpad"
msgid "Open Page in Browser"
msgstr "Ouvrir la page dans le navigateur"
msgid " - Paused"
msgstr " - En pause"
msgid "Maximum FPS"
msgstr "Nombre maximum de FPS"
msgid "Post-Processing Effect"
msgstr "Effet de post-processing"
msgid "Graphics"
msgstr "Graphiques"
msgid "Audio"
msgstr "Audio"
msgid "Data"
msgstr "Cache"
msgid "Controls"
msgstr "Contrôles"
msgid "Control Settings"
msgstr "Paramètres de contrôle"
msgid "Mouse Sensitivity"
msgstr "Sensibilité de la souris"
msgid "Invert Y-axis"
msgstr "Inverser l'axe Y"
msgid "Remap Inputs"
msgstr "Réassigner les entrées"
msgid "Joypad Camera Deadzone"
msgstr "Zone morte de la caméra de contrôle" |
You also need to create a lobby_data.tres resource for french as well, name it lobby_data_fr.tres and link it as a remap for the base lobby_data.tres |
Here it is : lobby_data_fr.tres
Note that some had to be changed because no french equivalent exists, and others use redirects because real page name doesn't reflect everyday language. Also for next translators here is an api call to easily find page translations : https://en.wikipedia.org/w/api.php?action=query&prop=langlinks&lllang=fr&redirects=0&format=json&titles=Technology |
Great, you want me to commit these ? |
Yes, thank you ! I'm not allowed to commit on this pr |
Hi ! I'm not super familiar with coding so I'm not sure if it's already implemented or not (sorry for the comment if it is), but I think it would be nice if it was possible to be able to set the UI language and the Wikipedia content language each separately if it would not be too hard to code. I know this might not seems very useful but doing something like that could make the game a language learning tool for people who want to read Wikipedia in a foreign language but can't understand the UI yet, or it could simply gives the option to go trough a different Wikipedia database for people that want to while keeping the UI in their native language |
This PR adds initial support for other languages with a dropdown option in the menu to select the language.
I used akien's French foundation and created Portuguese .po files for the string translations. Also set up asset remaps to change the lobby category articles for each language and changed a little bit how the wikipedia urls are made to receive the lang as the subdomain.
This is not perfect yet because of all the texts more "hardcoded" like the images for categories, but just the articles being in the language selected is enough to be a good experience.
Let me know what you think! :)