Browse Source

Merge pull request #2466 from element-hq/feature/bma/fixLocalazySync

Fix localazy sync
pull/2467/head
Benoit Marty 7 months ago committed by GitHub
parent
commit
68bc712ee1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 9
      .github/workflows/sync-localazy.yml
  2. 8
      tools/localazy/downloadStrings.sh
  3. 22
      tools/localazy/formatXmlResourcesFile.py

9
.github/workflows/sync-localazy.yml

@ -12,6 +12,15 @@ jobs: @@ -12,6 +12,15 @@ jobs:
if: github.repository == 'element-hq/element-x-android'
steps:
- uses: actions/checkout@v4
- name: Use JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin' # See 'Supported distributions' for available options
java-version: '17'
- name: Configure gradle
uses: gradle/actions/setup-gradle@v3
with:
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:

8
tools/localazy/downloadStrings.sh

@ -41,17 +41,17 @@ echo "Importing the strings..." @@ -41,17 +41,17 @@ echo "Importing the strings..."
localazy download --config ./tools/localazy/localazy.json
echo "Formatting the resources files..."
find . -name 'localazy.xml' -exec ./tools/localazy/formatXmlResourcesFile.py {} \; >> /dev/null
find . -name 'localazy.xml' -exec ./tools/localazy/formatXmlResourcesFile.py {} \;
if [[ $allFiles == 1 ]]; then
find . -name 'translations.xml' -exec ./tools/localazy/formatXmlResourcesFile.py {} \; >> /dev/null
find . -name 'translations.xml' -exec ./tools/localazy/formatXmlResourcesFile.py {} \;
fi
set +e
echo "Moving files from values-id to values-in..."
find . -type d -name 'values-id' -execdir mv {}/translations.xml {}/../values-in/translations.xml 2> /dev/null \;
find . -type d -name 'values-id' -execdir mv {}/translations.xml {}/../values-in/translations.xml \;
echo "Deleting all the folders values-id..."
find . -type d -name 'values-id' -exec rm -rf {} 2> /dev/null \;
find . -type d -name 'values-id' -exec rm -rf {} \;
set -e
echo "Removing the generated config"

22
tools/localazy/formatXmlResourcesFile.py

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
#!/usr/bin/env python3
import sys
import re
import sys
from xml.dom import minidom
file = sys.argv[1]
@ -19,8 +19,14 @@ resource = dict() @@ -19,8 +19,14 @@ resource = dict()
### Strings
for elem in content.getElementsByTagName('string'):
name = elem.attributes['name'].value
value = elem.firstChild.nodeValue
# Continue if value is empty
child = elem.firstChild
if child is None:
# Print an error to stderr
print('Warning: Empty content for string: ' + name + " in file " + file, file=sys.stderr)
continue
value = child.nodeValue
# Continue if string is empty
if value == '""':
# Print an error to stderr
print('Warning: Empty string value for string: ' + name + " in file " + file, file=sys.stderr)
@ -35,11 +41,17 @@ for elem in content.getElementsByTagName('plurals'): @@ -35,11 +41,17 @@ for elem in content.getElementsByTagName('plurals'):
for it in elem.childNodes:
if it.nodeType != it.ELEMENT_NODE:
continue
value = it.firstChild.nodeValue
# Continue if value is empty
child = it.firstChild
if child is None:
# Print an error to stderr
print('Warning: Empty content for plurals: ' + name + " in file " + file, file=sys.stderr)
continue
value = child.nodeValue
# Continue if string is empty
if value == '""':
# Print an error to stderr
print('Warning: Empty item value for plural: ' + name + " in file " + file, file=sys.stderr)
print('Warning: Empty item value for plurals: ' + name + " in file " + file, file=sys.stderr)
continue
plural.appendChild(it.cloneNode(True))
if plural.hasChildNodes():
@ -59,7 +71,7 @@ result = re.sub(r" ([\?\!\:…])", r" \1", result) @@ -59,7 +71,7 @@ result = re.sub(r" ([\?\!\:…])", r" \1", result)
# Special treatment for French wording
if 'values-fr' in file:
## Replace ' with ’
result = re.sub(r"([cdjlmnsu])\\\'", r"\1’", result, flags = re.IGNORECASE)
result = re.sub(r"([cdjlmnsu])\\\'", r"\1’", result, flags=re.IGNORECASE)
with open(file, "w") as text_file:
text_file.write(result)

Loading…
Cancel
Save