Exporter un texte personnalisé depuis la base de données vers YML

Admin interface allows overwriting any stranslations which is very healful not just for utilizing community translation while updating them with custom phrases that suit a specific community, but at the same time it is also a very good way to gradually translate a new language, without the need of updating the code, hence rebuilding the cache. However, it would be great if the customized translations can be exported from the database and somehoe merged back into the corresponding YAML files to make it available in the main repository. Is there a way of doing that which I am not aware of?

3 « J'aime »

I don’t think there is a job for this but 100% support these two tasks, which could help you out here

rake export:locale_overrides:server > server.xx.yml
rake export:locale_overrides:client > client.xx.yml
7 « J'aime »

Quelqu’un sait si quelqu’un a déjà fait ça ?

@sam J’ai exécuté la tâche pour exporter les locals mais cela ne fonctionne pas
J’ai le message ci-dessous

Don't know how to build task 'export:locale_overrides:server' (See the list of available tasks with `rake --tasks`)

Une idée ?

Personne n’a encore effectué la tâche, je vais ajouter un pr-welcome pour plus de clarté

2 « J'aime »

C’est quelque chose auquel j’ai aussi pensé, et j’ai créé une PR :

3 « J'aime »

Pour clore la boucle, @mqmenchaca et moi avons travaillé sur cela en même temps sans savoir que l’autre y travaillait. Et nous avons proposé des PRs à quelques heures d’intervalle ! J’avais déjà fusionné ma PR dans core juste avant de voir celle de Max, donc malheureusement nous ne pouvons pas fusionner son travail dans core. J’apprécie beaucoup la contribution néanmoins, @mqmenchaca !

Le commit qui ajoute cette fonctionnalité est celui-ci : DEV: Add a rake task to export/import translation overrides (#18487) · discourse/discourse@4d80110 · GitHub

Pour exporter, exécutez bin/rake export:translation_overrides (cela créera un fichier JSON avec les remplacements).

Pour importer dans une instance séparée, copiez le fichier JSON exporté là-bas et exécutez bin/rake import:file[\"filename\"].

4 « J'aime »

Salut. S’il vous plaît, pouvez-vous décrire les étapes pour l’exécuter ?

./launcher enter app
bin/rake export:translation_overrides

Retourne :

rake aborted!
ActiveRecord::NoDatabaseError: Nous n'avons pas pu trouver votre base de données : discourse. Qui se trouve dans le fichier de configuration de la base de données situé à config/database.yml

Cela semble être un problème avec votre environnement. Lorsque j’entre dans le conteneur dans ma propre instance auto-hébergée, je peux exécuter des commandes rake sans problème.

1 « J'aime »

J’utilise Discourse derrière Nginx, cela pourrait-il être lié ? Est-il possible d’utiliser la commande avec une base de données extérieure au conteneur ?

OK, j’ai fait quelques tests et j’ai le fichier exporté.

Si je modifie ce fichier en changeant es_XX par es (et rien d’autre, en faisant attention au format et à l’encodage des caractères du fichier) et en important le fichier précédemment exporté, cela devrait fonctionner ?

Je veux déplacer les remplacements précédents vers la langue es par défaut sur notre instance :slight_smile: