Skip to content

Commit f229abc

Browse files
committed
Merge branch 'main' into @zfurtak/change-SelectionList-name
2 parents 1b7d2df + 6c8d609 commit f229abc

84 files changed

Lines changed: 1164 additions & 968 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/generateTranslations.yml

Lines changed: 48 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,55 @@ on:
55
types: [opened, synchronize]
66
paths: ['src/languages/en.ts']
77

8+
workflow_dispatch:
9+
inputs:
10+
PULL_REQUEST_URL:
11+
description: 'The full URL of the E/App pull request'
12+
required: true
13+
type: string
14+
815
jobs:
916
generateTranslations:
1017
runs-on: ubuntu-latest
11-
if: ${{ !github.event.pull_request.head.repo.fork }}
18+
if: ${{ github.event_name == 'workflow_dispatch' || !github.event.pull_request.head.repo.fork }}
1219
steps:
20+
- name: Get PR details
21+
id: pr-data
22+
run: |
23+
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
24+
echo "::notice::🔧 Manual workflow dispatch triggered"
25+
PR_INFO=$(gh pr view "${{ inputs.PULL_REQUEST_URL }}" --json number,baseRefName,headRefOid)
26+
{
27+
echo "PR_NUMBER=$(echo "$PR_INFO" | jq -r '.number')"
28+
echo "BASE_REF=$(echo "$PR_INFO" | jq -r '.baseRefName')"
29+
echo "HEAD_SHA=$(echo "$PR_INFO" | jq -r '.headRefOid')"
30+
} >> "$GITHUB_OUTPUT"
31+
echo "::notice::✅ Processing PR #$(echo "$PR_INFO" | jq -r '.number')"
32+
else
33+
echo "::notice::🤖 Automatic PR trigger activated"
34+
{
35+
echo "PR_NUMBER=${{ github.event.pull_request.number }}"
36+
echo "BASE_REF=${{ github.event.pull_request.base.ref }}"
37+
echo "HEAD_SHA=${{ github.event.pull_request.head.sha }}"
38+
} >> "$GITHUB_OUTPUT"
39+
echo "::notice::✅ Processing PR #${{ github.event.pull_request.number }}"
40+
fi
41+
env:
42+
GITHUB_TOKEN: ${{ github.token }}
43+
1344
# v4
1445
- name: Checkout
1546
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
1647
with:
17-
ref: ${{ github.event.pull_request.head.sha }}
48+
ref: ${{ steps.pr-data.outputs.HEAD_SHA }}
1849

1950
- name: Setup Node
2051
uses: ./.github/actions/composite/setupNode
2152

2253
- name: Check if English translations were modified
2354
id: check-en-changes
2455
run: |
25-
if [[ "${{ github.event.action }}" == "opened" ]]; then
26-
# For newly opened PRs, check if en.ts was changed in the entire PR
27-
echo "🆕 PR was just opened - checking entire PR for en.ts changes"
28-
if gh pr diff ${{ github.event.pull_request.number }} --name-only | grep -q "^src/languages/en\.ts$"; then
29-
echo "EN_CHANGED=true" >> "$GITHUB_OUTPUT"
30-
echo "✅ English translations were modified in this PR - will generate translations"
31-
else
32-
echo "EN_CHANGED=false" >> "$GITHUB_OUTPUT"
33-
echo "⏭️ English translations were not modified in this PR - skipping translation generation"
34-
fi
35-
else
36-
# For synchronize events, only check the new commits that were just pushed
56+
if [[ "${{ github.event.action }}" == "synchronize" ]]; then
3757
echo "🔄 PR was updated - checking only the new commits for en.ts changes"
3858
git fetch --no-tags --depth=1 --no-recurse-submodules origin ${{ github.event.before }}
3959
if git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | grep -q "^src/languages/en\.ts$"; then
@@ -43,17 +63,26 @@ jobs:
4363
echo "EN_CHANGED=false" >> "$GITHUB_OUTPUT"
4464
echo "⏭️ English translations were not modified in the new commits - skipping translation generation"
4565
fi
66+
else
67+
echo "🆕|🔧 Newly opened PR or manually dispatched, so checking entire PR for en.ts changes"
68+
if gh pr diff ${{ steps.pr-data.outputs.PR_NUMBER }} --name-only | grep -q "^src/languages/en\.ts$"; then
69+
echo "EN_CHANGED=true" >> "$GITHUB_OUTPUT"
70+
echo "✅ English translations were modified in this PR - will generate translations"
71+
else
72+
echo "EN_CHANGED=false" >> "$GITHUB_OUTPUT"
73+
echo "⏭️ English translations were not modified in this PR - skipping translation generation"
74+
fi
4675
fi
4776
env:
4877
GITHUB_TOKEN: ${{ github.token }}
4978

5079
- name: Fetch base ref
5180
if: steps.check-en-changes.outputs.EN_CHANGED == 'true'
52-
run: git fetch --no-tags --depth=1 --no-recurse-submodules origin +refs/heads/${{ github.event.pull_request.base.ref }}:refs/heads/${{ github.event.pull_request.base.ref }}
81+
run: git fetch --no-tags --depth=1 --no-recurse-submodules origin +refs/heads/${{ steps.pr-data.outputs.BASE_REF }}:refs/heads/${{ steps.pr-data.outputs.BASE_REF }}
5382

5483
- name: Run generateTranslations for added translations
5584
if: steps.check-en-changes.outputs.EN_CHANGED == 'true'
56-
run: npx ts-node ./scripts/generateTranslations.ts --verbose --compare-ref=${{ github.event.pull_request.base.ref }}
85+
run: npx ts-node ./scripts/generateTranslations.ts --verbose --compare-ref=${{ steps.pr-data.outputs.BASE_REF }}
5786
env:
5887
GITHUB_TOKEN: ${{ github.token }}
5988
OPENAI_API_KEY: ${{ secrets.PROPOSAL_POLICE_API_KEY }}
@@ -74,7 +103,7 @@ jobs:
74103
continue-on-error: true
75104
if: steps.check-en-changes.outputs.EN_CHANGED == 'true' && steps.checkDiff.outputs.HAS_DIFF == 'true'
76105
run: |
77-
EXISTING_COMMENTS="$(gh pr view ${{ github.event.pull_request.number }} --json comments --jq '.comments[] | select(.body | startswith("## 🦜 Polyglot Parrot! 🦜")) | .id')"
106+
EXISTING_COMMENTS="$(gh pr view ${{ steps.pr-data.outputs.PR_NUMBER }} --json comments --jq '.comments[] | select(.body | startswith("## 🦜 Polyglot Parrot! 🦜")) | .id')"
78107
if [[ -z "$EXISTING_COMMENTS" ]]; then
79108
echo "🦗 No existing Polyglot Parrot comments found"
80109
else
@@ -140,7 +169,7 @@ jobs:
140169
else
141170
# Large diff - upload as gist and link
142171
echo "📁 Creating gist for large diff..."
143-
GIST_URL=$(gh gist create "$TEMP_PATCH_FILE" --desc "🦜 Polyglot Parrot translations for PR #${{ github.event.pull_request.number }}" --filename "translations.patch")
172+
GIST_URL=$(gh gist create "$TEMP_PATCH_FILE" --desc "🦜 Polyglot Parrot translations for PR #${{ steps.pr-data.outputs.PR_NUMBER }}" --filename "translations.patch")
144173
{
145174
echo "$PARROT_HEADER"
146175
echo
@@ -155,7 +184,7 @@ jobs:
155184
fi
156185
157186
# Post comment using the temp file
158-
gh pr comment ${{ github.event.pull_request.number }} --body-file "$TEMP_COMMENT_FILE"
187+
gh pr comment ${{ steps.pr-data.outputs.PR_NUMBER }} --body-file "$TEMP_COMMENT_FILE"
159188
env:
160189
# Use OS_BOTIFY_TOKEN so that we can create a gist
161190
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}

Mobile-Expensify

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ android {
114114
minSdkVersion rootProject.ext.minSdkVersion
115115
targetSdkVersion rootProject.ext.targetSdkVersion
116116
multiDexEnabled rootProject.ext.multiDexEnabled
117-
versionCode 1009021801
118-
versionName "9.2.18-1"
117+
versionCode 1009021806
118+
versionName "9.2.18-6"
119119
// Supported language variants must be declared here to avoid from being removed during the compilation.
120120
// This also helps us to not include unnecessary language variants in the APK.
121121
resConfigs "en", "es"

contributingGuides/philosophies/INTERNATIONALIZATION.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ All translations are stored in language files in [src/languages](https://github.
2929
### - Common phrases SHOULD be shared when used in multiple places
3030
A common rule of thumb is to move a common word/phrase to be shared when it's used in 3 or more places.
3131

32-
### - Complex translation strings MUST use arrow function format
33-
Always prefer longer and more complex strings in the translation files. For example, if you need to generate the text `User has sent $20.00 to you on Oct 25th at 10:05am`, add just one key to the translation file and use the arrow function version:
32+
### - Complex translation strings MUST NOT be split up for formatting or value injection
33+
Always prefer to use arrow functions and/or HTML to produce rich text in translation files. For example, if you need to generate the text `User has sent $20.00 to you on Oct 25th at 10:05am`, add just one key to the translation file and use the arrow function version:
3434

3535
```javascript
36-
nameOfTheKey: ({amount, dateTime}) => `User has sent ${amount} to you on ${datetime}`,
36+
nameOfTheKey: ({amount, dateTime}) => `User has sent <strong>${amount}</strong> to you on <a>${datetime}</a>`,
3737
```
3838

39-
This is because the order of phrases might vary from one language to another.
39+
This is because the order of phrases might vary from one language to another, and LLMs will be able to produce better translations will the full context of the phrase. If rich formatting is needed, use HTML in the string and render it with react-native-render-html.
4040

4141
### - Plural forms MUST be handled correctly using plural translation objects
4242
When working with translations that involve plural forms, it's important to handle different cases correctly:

docs/articles/new-expensify/settings/Account-Settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ To change your language:
6565
## Notifications
6666

6767
To manage notification settings:
68-
1. Go to **Account > Preferences**.
68+
1. Go to **Account > Preferences > App preferences**.
6969
2. Adjust the notification toggles:
7070
- **Receive relevant feature updates and Expensify news**
7171
- **Mute all sounds from Expensify**

ios/NewExpensify/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
</dict>
4545
</array>
4646
<key>CFBundleVersion</key>
47-
<string>9.2.18.1</string>
47+
<string>9.2.18.6</string>
4848
<key>FullStory</key>
4949
<dict>
5050
<key>OrgId</key>

ios/NotificationServiceExtension/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<key>CFBundleShortVersionString</key>
1414
<string>9.2.18</string>
1515
<key>CFBundleVersion</key>
16-
<string>9.2.18.1</string>
16+
<string>9.2.18.6</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionPointIdentifier</key>

ios/Podfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2193,7 +2193,7 @@ PODS:
21932193
- ReactCommon/turbomodule/bridging
21942194
- ReactCommon/turbomodule/core
21952195
- Yoga
2196-
- react-native-plaid-link-sdk (12.4.0):
2196+
- react-native-plaid-link-sdk (12.5.3):
21972197
- DoubleConversion
21982198
- glog
21992199
- hermes-engine
@@ -3879,7 +3879,7 @@ SPEC CHECKSUMS:
38793879
react-native-pager-view: 12c1b7b6f50efb3e5d57d62ea5c601cba0585bfd
38803880
react-native-pdf: 1fee221a1bdb66bb5dc14718e0687dd34f33a823
38813881
react-native-performance: ed312c0ee791c50077b7ad22b01685fe5a0e3db6
3882-
react-native-plaid-link-sdk: f4838d6095aab8f12bd4194682f779c9f0927082
3882+
react-native-plaid-link-sdk: 017d025be9fdb05151e03453bb191e0518e3fe6a
38833883
react-native-release-profiler: 3c899b04a88a63735e74beb1d1010ec8c8616347
38843884
react-native-safe-area-context: 6cec90ce53951d3b52dc73e873323a4a7662fc0c
38853885
react-native-view-shot: 70a8e604c289cc67324011554c63ee87dca04a06

ios/ShareViewController/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<key>CFBundleShortVersionString</key>
1414
<string>9.2.18</string>
1515
<key>CFBundleVersion</key>
16-
<string>9.2.18.1</string>
16+
<string>9.2.18.6</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionAttributes</key>

modules/group-ib-fp/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
declare module 'group-ib-fp' {
2-
export enum FPAttributeFormat { ClearText = 1 }
2+
export enum FPAttributeFormat { ClearText = 1, Hashed = 2 }
33
export enum Capability {
44
BatteryStatus = 0,
55
Cellular = 1,

0 commit comments

Comments
 (0)