Merge pull request #2466 from element-hq/feature/bma/fixLocalazySync
Fix localazy sync
This commit is contained in:
commit
1f4d81cc4e
3 changed files with 30 additions and 9 deletions
9
.github/workflows/sync-localazy.yml
vendored
9
.github/workflows/sync-localazy.yml
vendored
|
|
@ -12,6 +12,15 @@ jobs:
|
||||||
if: github.repository == 'element-hq/element-x-android'
|
if: github.repository == 'element-hq/element-x-android'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- 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
|
- name: Set up Python 3.9
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
|
|
|
||||||
|
|
@ -41,17 +41,17 @@ echo "Importing the strings..."
|
||||||
localazy download --config ./tools/localazy/localazy.json
|
localazy download --config ./tools/localazy/localazy.json
|
||||||
|
|
||||||
echo "Formatting the resources files..."
|
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
|
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
|
fi
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
echo "Moving files from values-id to values-in..."
|
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..."
|
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
|
set -e
|
||||||
|
|
||||||
echo "Removing the generated config"
|
echo "Removing the generated config"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import sys
|
|
||||||
import re
|
import re
|
||||||
|
import sys
|
||||||
from xml.dom import minidom
|
from xml.dom import minidom
|
||||||
|
|
||||||
file = sys.argv[1]
|
file = sys.argv[1]
|
||||||
|
|
@ -19,8 +19,14 @@ resource = dict()
|
||||||
### Strings
|
### Strings
|
||||||
for elem in content.getElementsByTagName('string'):
|
for elem in content.getElementsByTagName('string'):
|
||||||
name = elem.attributes['name'].value
|
name = elem.attributes['name'].value
|
||||||
value = elem.firstChild.nodeValue
|
|
||||||
# Continue if value is empty
|
# 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 == '""':
|
if value == '""':
|
||||||
# Print an error to stderr
|
# Print an error to stderr
|
||||||
print('Warning: Empty string value for string: ' + name + " in file " + file, file=sys.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'):
|
||||||
for it in elem.childNodes:
|
for it in elem.childNodes:
|
||||||
if it.nodeType != it.ELEMENT_NODE:
|
if it.nodeType != it.ELEMENT_NODE:
|
||||||
continue
|
continue
|
||||||
value = it.firstChild.nodeValue
|
|
||||||
# Continue if value is empty
|
# 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 == '""':
|
if value == '""':
|
||||||
# Print an error to stderr
|
# 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
|
continue
|
||||||
plural.appendChild(it.cloneNode(True))
|
plural.appendChild(it.cloneNode(True))
|
||||||
if plural.hasChildNodes():
|
if plural.hasChildNodes():
|
||||||
|
|
@ -59,7 +71,7 @@ result = re.sub(r" ([\?\!\:…])", r" \1", result)
|
||||||
# Special treatment for French wording
|
# Special treatment for French wording
|
||||||
if 'values-fr' in file:
|
if 'values-fr' in file:
|
||||||
## Replace ' with ’
|
## 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:
|
with open(file, "w") as text_file:
|
||||||
text_file.write(result)
|
text_file.write(result)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue