First, I ran a new 'eg_db_config --create-schema --load-all-sample' to ensure that the new base SQL loaded correctly. There were no issues.
Then I ran through the translation process:
cd build/i18n
# generate the new base POT
make newpot
# update the translation for fr-CA
make LOCALE=fr-CA updatepo
# create an updated SQL file to load fr-CA
make LOCALE=fr-CA project
# load the generated fr-CA SQL
psql -f project/locale/fr-CA/950.data.seed-values.sql evergreen
At this last step, I ran into some errors about duplicates in config.i18n_core again. However, the load was successful, and the errors didn't seem to be harmful. To determine why we were getting duplicates, I examined the results of the "updatepo" step (which adds and merges the new strings with an existing translation) vs. a "newpo" step (which generates a fresh, untranslated PO file).
With the "updatepo" step, you get entries like:
# id::cmf.label__26 id::cza.label__1 id::cza.label__10
# id::cza.label__1 id::cza.label__10 id::cza.label__19
#: 950.data.seed-values.sql:173 950.data.seed-values.sql:410
#: 950.data.seed-values.sql:431
msgid "Title Control Number"
msgstr "Numéro de contrôle pour les titres"
So it looks like in the merge process, "pot2po" is holding onto prior ID rows, resulting in duplicates getting fed into the final SQL file. But that problem (requiring some level of cleanup, from simply running the output SQL through "sort | uniq") is separate from the one that we're currently fixing, so I'm going to merge the cleaned-up base 950 seed data and corresponding test.
I've tested Ben's fixed data seed SQL on master:
First, I ran a new 'eg_db_config --create-schema --load-all-sample' to ensure that the new base SQL loaded correctly. There were no issues.
Then I ran through the translation process:
cd build/i18n
# generate the new base POT
make newpot
# update the translation for fr-CA
make LOCALE=fr-CA updatepo
# create an updated SQL file to load fr-CA
make LOCALE=fr-CA project
# load the generated fr-CA SQL locale/ fr-CA/950. data.seed- values. sql evergreen
psql -f project/
At this last step, I ran into some errors about duplicates in config.i18n_core again. However, the load was successful, and the errors didn't seem to be harmful. To determine why we were getting duplicates, I examined the results of the "updatepo" step (which adds and merges the new strings with an existing translation) vs. a "newpo" step (which generates a fresh, untranslated PO file).
With the "updatepo" step, you get entries like:
# id::cmf.label__26 id::cza.label__1 id::cza.label__10 seed-values. sql:173 950.data. seed-values. sql:410 seed-values. sql:431
# id::cza.label__1 id::cza.label__10 id::cza.label__19
#: 950.data.
#: 950.data.
msgid "Title Control Number"
msgstr "Numéro de contrôle pour les titres"
With the "newpo" step, you get entries like:
# id::cmf.label__26 id::cza.label__1 id::cza.label__10 seed-values. sql:173 950.data. seed-values. sql:410 seed-values. sql:431
#: 950.data.
#: 950.data.
msgid "Title Control Number"
msgstr ""
So it looks like in the merge process, "pot2po" is holding onto prior ID rows, resulting in duplicates getting fed into the final SQL file. But that problem (requiring some level of cleanup, from simply running the output SQL through "sort | uniq") is separate from the one that we're currently fixing, so I'm going to merge the cleaned-up base 950 seed data and corresponding test.