Giter Site home page Giter Site logo

Internationalisation about gameshell HOT 8 CLOSED

phyver avatar phyver commented on August 20, 2024
Internationalisation

from gameshell.

Comments (8)

phyver avatar phyver commented on August 20, 2024 1

J'y ai pensé ... mais ne l'ai jamais fait.

Il y a 2 choses :

  • internationaliser les missions : il faut juste modifier les fichiers dans les dossiers des missions (essentiellement le fichier goal.txt, et éventuellement quelque autres trucs (changer "chat" en "cat" ou similaire) dans les scripts de la mission
  • internationaliser le script de lancement et le fichier bashrc : il y a quelques trucs "globaux" qui sont effectivement en français et que je pourrais sortir

Je vais réfléchir un peu plus, mais s'il y a des gens intéressés, je peux probablement implémenter le second point. (Libre à chacun d'internationaliser les missions par la suite...)

from gameshell.

rlepigre avatar rlepigre commented on August 20, 2024

En plus ça n'a pas l'air trop compliqué: https://www.linuxjournal.com/content/internationalizing-those-bash-scripts.
Tu connaissais déjà les commandes msgfmt et gettext? J'en n'avais jamais entendu parler!

from gameshell.

phyver avatar phyver commented on August 20, 2024

Je connaissais, mais ne l'ai jamais utilisé.

Pour les missions, c'est probablement plus simple de les réécrire complètement.

Pour les sources de GameShell, c'est par là que je commencerais, mais ça fait une dépendance supplémentaire. (Je ne sais pas si gettext est installé par défaut.)

from gameshell.

rlepigre avatar rlepigre commented on August 20, 2024

Je ne pense pas qu'il soit installé par défaut, mais il doit être assez commun car il est installé sur toutes les machines auxquelles j'ai accès (Debian et Archlinux). Et a priori il peut aussi être installé avec brew sur MacOS.

Pour les missions l'idéal serait que chaque dossier de mission ait un sous-dossier locale avec des fichiers .po pour chaque langue supportée, et que GameShell s'occupe de faire ce qu'il faut pour les utiliser au lancement des missions. Comme ça ce serait vraiment facile pour d'autres personnes de s'occuper de la traduction.

Par contre je ne sais pas ce qui se passe si tu définis deux messages avec la même clé, donc il faut faire attention que les messages des missions n'aient pas la même clé qu'un message de GameShell.

from gameshell.

phyver avatar phyver commented on August 20, 2024

Ouch!
Je viens de passer quelques heures à essayer de faire des tutoriels sur gettext, et c'est plus compliqué que ce que je pensais.

J'ai pu faire un "hello world", mais ça n'a pas été facile. Je pense voir un peu ce que je pourrais faire dans GameShell, mais j'ai du mal à estimer la robustesse de tout ça. Si on suppose que gettext est installé, et que le système a une locale UTF-8 fr_FR, en_US (ou en_GB), ça devrait passer.

Je ferais peut-être une branche pour essayer tout ça.

from gameshell.

rlepigre avatar rlepigre commented on August 20, 2024

OK cool. Je veux bien aider si besoin.

from gameshell.

phyver avatar phyver commented on August 20, 2024

Je regarde !

from gameshell.

rlepigre avatar rlepigre commented on August 20, 2024

Solved by #22.

from gameshell.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.