Skip to content

Commit

Permalink
Sync src/ with date in PO file when publishing
Browse files Browse the repository at this point in the history
Before, we always used the latest English source files when
publishing. This means that translations become outdated as soon as
anything is changed in the source.

This PR changes will instead freeze translations in place: they will
keep using the same English source files until a new POT file is
merged into the translation. We do this by relying on the
POT-Creation-Date field in the PO files.

We still update all the files around the Markdown files: this allows
us to fix things in the theme, for example.

Part of google/mdbook-i18n-helpers#16. The
logic here should eventually be moved to somewhere in
mdbook-i18n-helpers, most likely to the renderer that @sakex is
building in google/mdbook-i18n-helpers#84.
  • Loading branch information
mgeisler committed Sep 24, 2023
1 parent a9183eb commit 3180090
Show file tree
Hide file tree
Showing 19 changed files with 57 additions and 41 deletions.
62 changes: 39 additions & 23 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
name: Publish

on:
push:
branches:
- main
workflow_dispatch:
pull_request:
# push:
# branches:
# - main
# workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write
#permissions:
# contents: read
# pages: write
# id-token: write

# Allow one concurrent deployment
concurrency:
Expand All @@ -23,13 +24,15 @@ env:

jobs:
publish:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# environment:
# name: github-pages
# url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # Fetch full history

- name: Setup Rust cache
uses: ./.github/workflows/setup-rust-cache
Expand All @@ -47,22 +50,35 @@ jobs:
run: |
for po_lang in ${{ env.LANGUAGES }}; do
echo "::group::Building $po_lang translation"
POT_CREATION_DATE=$(grep --max-count 1 '^"POT-Creation-Date:' po/$po_lang.po | sed -E 's/".*: (.*)\\n"/\1/')
if [[ $POT_CREATION_DATE == "" ]]; then
echo "Restoring back to start"
git log -1
git restore src/
else
echo "Restoring to $POT_CREATION_DATE"
git log -1 --before "$POT_CREATION_DATE"
git restore --source "@{$POT_CREATION_DATE}" src/
fi
echo "Status:"
git status
MDBOOK_BOOK__LANGUAGE=$po_lang \
MDBOOK_OUTPUT__HTML__SITE_URL=/comprehensive-rust/$po_lang/ \
mdbook build -d book/$po_lang
(cd book/$po_lang/exerciser && zip --recurse-paths ../html/comprehensive-rust-exercises.zip comprehensive-rust-exercises/)
#(cd book/$po_lang/exerciser && zip --recurse-paths ../html/comprehensive-rust-exercises.zip comprehensive-rust-exercises/)
mv book/$po_lang/html book/html/$po_lang
echo "::endgroup::"
done
- name: Setup Pages
uses: actions/configure-pages@v2

- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: book/html

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
# - name: Setup Pages
# uses: actions/configure-pages@v2
#
# - name: Upload artifact
# uses: actions/upload-pages-artifact@v1
# with:
# path: book/html
#
# - name: Deploy to GitHub Pages
# id: deployment
# uses: actions/deploy-pages@v1
2 changes: 1 addition & 1 deletion po/bn.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-05\n"
"PO-Revision-Date: \n"
"Last-Translator: Md. Rasel Mandol <[email protected]>\n"
"Language-Team: noob_rasel<[email protected]>\n"
Expand Down
2 changes: 1 addition & 1 deletion po/da.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-24\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/de.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-19\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/el.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-08-26\n"
"PO-Revision-Date: 2023-08-25 13:24-0700\n"
"Last-Translator: root <[email protected]>\n"
"Language-Team: Greek <[email protected]>\n"
Expand Down
2 changes: 1 addition & 1 deletion po/es.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-11\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/fa.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-08-23\n"
"PO-Revision-Date: 2023-08-08 21:41+0330\n"
"Last-Translator: danny <[email protected]>\n"
"Language-Team: Persian\n"
Expand Down
2 changes: 1 addition & 1 deletion po/fr.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-17\n"
"PO-Revision-Date: 2023-09-12 14:14-0400\n"
"Last-Translator: Olivier Charrez <[email protected]>\n"
"Language-Team: French <[email protected]>\n"
Expand Down
2 changes: 1 addition & 1 deletion po/id.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-08-26\n"
"PO-Revision-Date: 2023-08-25 14:03-0700\n"
"Last-Translator: Aji Prio Sejati <[email protected]>\n"
"Language-Team: Indonesian <[email protected]>\n"
Expand Down
2 changes: 1 addition & 1 deletion po/it.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-19\n"
"PO-Revision-Date: 2023-09-19 09:35+0100\n"
"Last-Translator: Ivan De Marino <[email protected]>\n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/ja.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-24\n"
"PO-Revision-Date: 2023-06-06 13:18+0900\n"
"Last-Translator: Kenta Aratani <[email protected]>\n"
"Language-Team: Japanese <[email protected]>\n"
Expand Down
2 changes: 1 addition & 1 deletion po/ko.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: [한국어]Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-24\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/pl.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-08-26\n"
"PO-Revision-Date: 2023-08-25 14:19-0700\n"
"Last-Translator: Kuba Jaroszewski <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
Expand Down
2 changes: 1 addition & 1 deletion po/pt-BR.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-08-28\n"
"PO-Revision-Date: 2023-08-25 09:32-0700\n"
"Last-Translator: \n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/ru.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-08\n"
"PO-Revision-Date: 2023-08-25 14:28-0700\n"
"Last-Translator: Yauheni Baltukha <[email protected]>\n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/tr.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-08-26\n"
"PO-Revision-Date: 2023-08-25 14:48-0700\n"
"Last-Translator: [email protected]\n"
"Language-Team: Turkish <[email protected]>\n"
Expand Down
2 changes: 1 addition & 1 deletion po/uk.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-19\n"
"PO-Revision-Date: 2023-09-12 22:06+0000\n"
"Last-Translator: Andrew Kushyk <[email protected]>\n"
"Language-Team: \n"
Expand Down
2 changes: 1 addition & 1 deletion po/zh-CN.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-09-18\n"
"PO-Revision-Date: 2023-06-12 21:28-0700\n"
"Last-Translator: Zhengping Jiang <[email protected]>\n"
"Language-Team: Language zh-Hans\n"
Expand Down
2 changes: 1 addition & 1 deletion po/zh-TW.po
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Comprehensive Rust 🦀\n"
"POT-Creation-Date: \n"
"POT-Creation-Date: 2023-08-23\n"
"PO-Revision-Date: 2023-06-02 14:43+0800\n"
"Last-Translator: Hank Chen <[email protected]>\n"
"Language-Team: Traditional Chinese (Taiwan) <[email protected]>\n"
Expand Down

0 comments on commit 3180090

Please sign in to comment.