Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
e99a5dc
Bump version to 3.14.9
marionbarker Sep 20, 2026
b7678ab
update LoopKit: Make InsulinSensitivityScheduleTests independent of t…
marionbarker Sep 22, 2026
4f71a23
update OmnipodKit: fix for too many pods when other pods are already …
marionbarker Sep 22, 2026
fcb5435
updated EversenseKit: fix DMS upload, crashes, battery upload, E3 alarms
marionbarker Sep 24, 2026
abda847
update LoopKit: fix test (pr617), fix crash (pr619)
marionbarker Sep 24, 2026
af15a3c
update import localization Scripts to work with Xcode 27
marionbarker Sep 25, 2026
b6cc961
update submodules: Updated translations from lokalise on Fri Sep 25 1…
marionbarker Sep 27, 2026
f85cdb3
update Loop: Add missing translations string, update WatchApp.xcschem…
marionbarker Sep 27, 2026
1c2c76d
update Scripts for Xcode 27,
marionbarker Sep 27, 2026
c4b60dd
Build with Xcode 27 in the browser build workflows (#511)
ps2 Sep 27, 2026
d4e26ce
update LoopKit: Resolve carb-entry row labels for localization
marionbarker Sep 27, 2026
2893a36
update MedtrumKit: several updates; * report state of patch if not re…
marionbarker Sep 27, 2026
5940e11
update OmnipodKit: fix Silence End time UI #172 & #173; localize tab …
marionbarker Sep 29, 2026
6176fac
update Loop: fix crash on restart, wait until files and APNS registra…
marionbarker Sep 29, 2026
b4154d0
update EversenseKit: PR #60, #63 and #62;
marionbarker Oct 1, 2026
7b84146
updated OmnipodKit: fix eager-connect, when-open, noticed with 1-min …
marionbarker Oct 1, 2026
b5ca0c6
update LoopKit: Let device managers record analytics events through t…
marionbarker Oct 1, 2026
ed5fefe
update Loop: Forward device manager analytics events to the analytics…
marionbarker Oct 1, 2026
98ea3c1
update to fastlane 2.240.1, fixes security warning for rubyzip
marionbarker Oct 2, 2026
ef70ffb
update GitHub actions: use xcode-27 and ubuntu-26.04 for all yml files
marionbarker Oct 2, 2026
864ff98
update Eversense: fix 365 handshake recovery PR 65
marionbarker Oct 3, 2026
cee73ca
update submodule translations: from lokalise on Sat Oct 3 09:14:39 P…
marionbarker Oct 3, 2026
4bebbd1
update Scripts to used OmnipodKit dev branch for releases
marionbarker Oct 4, 2026
5ba1554
update OmnipodKit, translations from lokalise on Sat Oct 3 09:14:39 …
marionbarker Oct 4, 2026
2883b67
update OmnipodKit: Report pod pairing and pod end as analytics and pu…
marionbarker Oct 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/add_identifiers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
identifiers:
name: Add Identifiers
needs: validate
runs-on: macos-26
runs-on: xcode-27
steps:
# Checks-out the repo
- name: Checkout Repo
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build_loop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
jobs:
# use a single runner for these sequential steps
check_status:
runs-on: ubuntu-latest
runs-on: ubuntu-26.04
name: Check status to decide whether to build
permissions:
contents: write
Expand Down Expand Up @@ -161,7 +161,7 @@ jobs:
build:
name: Build
needs: [check_certs, check_status]
runs-on: macos-26
runs-on: xcode-27
permissions:
contents: write
if:
Expand All @@ -171,7 +171,7 @@ jobs:
(vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' )
steps:
- name: Select Xcode version
run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer"
run: "sudo xcode-select --switch /Applications/Xcode_27.0.app/Contents/Developer"

- name: Checkout Repo for building
uses: actions/checkout@v5
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/build_loop_auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:
jobs:
# use a single runner for these sequential steps
check_status:
runs-on: ubuntu-latest
runs-on: ubuntu-26.04
name: Check status to decide whether to build
permissions:
contents: write
Expand Down Expand Up @@ -154,7 +154,7 @@ jobs:
cancel_when_no_build:
needs: check_status
name: Cancel run when there is nothing to build
runs-on: ubuntu-latest
runs-on: ubuntu-26.04
permissions:
actions: write
if: |
Expand Down Expand Up @@ -189,7 +189,7 @@ jobs:
build:
name: Build
needs: [check_certs, check_status]
runs-on: macos-26
runs-on: xcode-27
permissions:
contents: write
if:
Expand All @@ -199,7 +199,7 @@ jobs:
(vars.SCHEDULED_SYNC != 'false' && needs.check_status.outputs.NEW_COMMITS == 'true' )
steps:
- name: Select Xcode version
run: "sudo xcode-select --switch /Applications/Xcode_26.5.app/Contents/Developer"
run: "sudo xcode-select --switch /Applications/Xcode_27.0.app/Contents/Developer"

- name: Checkout Repo for building
uses: actions/checkout@v5
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/create_certs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
create_certs:
name: Certificates
needs: validate
runs-on: macos-26
runs-on: xcode-27
outputs:
new_certificate_needed: ${{ steps.set_output.outputs.new_certificate_needed }}

Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
nuke_certs:
name: Nuke certificates
needs: [validate, create_certs]
runs-on: macos-26
runs-on: xcode-27
if: ${{ (needs.create_certs.outputs.new_certificate_needed == 'true' && vars.ENABLE_NUKE_CERTS == 'true') || vars.FORCE_NUKE_CERTS == 'true' }}
steps:
- name: Output from step id 'check_certs'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/validate_secrets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [workflow_call, workflow_dispatch]
jobs:
validate-access-token:
name: Access
runs-on: ubuntu-latest
runs-on: ubuntu-26.04
env:
GH_PAT: ${{ secrets.GH_PAT }}
GH_TOKEN: ${{ secrets.GH_PAT }}
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
validate-fastlane-secrets:
name: Fastlane
needs: [validate-access-token]
runs-on: macos-26
runs-on: xcode-27
env:
GH_PAT: ${{ secrets.GH_PAT }}
GH_TOKEN: ${{ secrets.GH_PAT }}
Expand Down
2 changes: 1 addition & 1 deletion AmplitudeService
2 changes: 1 addition & 1 deletion EversenseKit
Submodule EversenseKit updated 81 files
+0 −7 Common/Bundle.swift
+11 −0 Common/CBUUID.swift
+19 −0 Common/DMSUploadBackgroundTask.swift
+0 −59 Common/ECDSASignature.swift
+0 −2 Common/EversenseKitDispatchGroup.swift
+37 −0 Common/HostApp.swift
+230 −59 EversenseKit/API/DMSApi.swift
+10 −0 EversenseKit/API/Models/UploadAlgorihmLogRequest.swift
+10 −0 EversenseKit/API/Models/UploadAppValuesRequest.swift
+9 −0 EversenseKit/API/Models/UploadBatteryLogRequest.swift
+9 −0 EversenseKit/API/Models/UploadEssentailLogRequest.swift
+50 −28 EversenseKit/BluetoothManager.swift
+25 −28 EversenseKit/Encryption/CryptoUtil.swift
+173 −0 EversenseKit/EversenseCGMManager+DMS.swift
+109 −69 EversenseKit/EversenseCGMManager.swift
+59 −31 EversenseKit/EversenseCGMState.swift
+31 −7 EversenseKit/Models/ActiveAlarms.swift
+34 −0 EversenseKit/Models/BatteryReadings.swift
+40 −1 EversenseKit/Models/CGMReading.swift
+11 −2 EversenseKit/Models/EversenseApiZone.swift
+34 −0 EversenseKit/Models/RawGlucoseReading.swift
+31 −0 EversenseKit/PacketFraming.swift
+2 −0 EversenseKit/Packets/BasePacket.swift
+0 −1 EversenseKit/Packets/Enums/SecurityType.swift
+2 −3 EversenseKit/Packets/Eversense365/GetActiveAlarmsPacket.swift
+1 −1 EversenseKit/Packets/Eversense365/GetAlertsLogValuesPacket.swift
+72 −0 EversenseKit/Packets/Eversense365/GetBatteryLogPacket.swift
+1 −2 EversenseKit/Packets/Eversense365/GetCalibrationInfoPacket.swift
+1 −1 EversenseKit/Packets/Eversense365/GetCalibrationLogValuesPacket.swift
+1 −2 EversenseKit/Packets/Eversense365/GetGlucoseData365Packet.swift
+2 −2 EversenseKit/Packets/Eversense365/GetGlucoseLogValuesPacket.swift
+1 −2 EversenseKit/Packets/Eversense365/GetLogRangePacket365.swift
+2 −3 EversenseKit/Packets/Eversense365/GetPatientSettingsPacket.swift
+72 −0 EversenseKit/Packets/Eversense365/GetRawGlucoseLog365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/GetSensorInformationPacket.swift
+1 −2 EversenseKit/Packets/Eversense365/GetSignalStrenghtPacket.swift
+1 −2 EversenseKit/Packets/Eversense365/Ping365Packet.swift
+15 −3 EversenseKit/Packets/Eversense365/PushAlarmWithDataPacket.swift
+1 −1 EversenseKit/Packets/Eversense365/SetAppVersion365Packet.swift
+1 −1 EversenseKit/Packets/Eversense365/SetBleDisconnect365Packet.swift
+1 −1 EversenseKit/Packets/Eversense365/SetBloodGlucosePointPacket365.swift
+1 −1 EversenseKit/Packets/Eversense365/SetCurrentDateTime365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetDiagnosticMode365Packet.swift
+1 −1 EversenseKit/Packets/Eversense365/SetHighGlucoseAlarm365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetHighGlucoseAlarmEnabled365Packet.swift
+1 −1 EversenseKit/Packets/Eversense365/SetLowGlucoseAlarm365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetPredictionHighEnabled365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetPredictionHighInterval365Packet.swift
+1 −1 EversenseKit/Packets/Eversense365/SetPredictionHighThreshold365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetPredictionLowEnabled365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetPredictionLowInterval365Packet.swift
+1 −1 EversenseKit/Packets/Eversense365/SetPredictionLowThreshold365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetRateFallingEnabled365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetRateFallingThreshold365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetRateRisingEnabled365Packet.swift
+1 −2 EversenseKit/Packets/Eversense365/SetRateRisingThreshold365Packet.swift
+1 −3 EversenseKit/Packets/Eversense365/SetRepeatHighGlucose365Packet.swift
+1 −3 EversenseKit/Packets/Eversense365/SetRepeatLowGlucose365Packet.swift
+3 −4 EversenseKit/Packets/Eversense365/SetVibrateMode365Packet.swift
+3 −3 EversenseKit/Packets/EversenseE3/GetCurrentGlucosePacket.swift
+3 −4 EversenseKit/Packets/EversenseE3/GetGlucoseAlertsAndStatusPacket.swift
+19 −4 EversenseKit/Packets/RangeCalculator.swift
+108 −65 EversenseKit/Packets/Transmitter365.swift
+66 −54 EversenseKit/Packets/TransmitterE3.swift
+254 −215 EversenseKit/PeripheralManager.swift
+6 −6 EversenseKitTests/CryptoUtilTests.swift
+20 −9 EversenseKitTests/DispatchGroupLifecycleTests.swift
+12 −8 EversenseKitTests/NotificationHeaderTests.swift
+1 −1 EversenseKitTests/PackageTests.swift
+3 −5 EversenseKitTests/PacketLengthGuardTests.swift
+21 −24 EversenseKitTests/ReceivedChunkTests.swift
+36 −0 EversenseKitTests/VibrateMode365Tests.swift
+39 −36 EversenseKitUI/EversenseUIController.swift
+10 −10 EversenseKitUI/Localizable.xcstrings
+5 −4 EversenseKitUI/ViewModels/Onboarding/Eversense365AuthViewModel.swift
+5 −4 EversenseKitUI/ViewModels/Settings/CalibrationViewModel.swift
+7 −6 EversenseKitUI/ViewModels/Settings/DMSSettingsViewModel.swift
+1 −1 EversenseKitUI/ViewModels/Settings/EversenseSettingsViewModel.swift
+10 −6 EversenseKitUI/Views/Settings/CalibrationView.swift
+6 −5 EversenseKitUI/Views/Settings/DMSSettingsView.swift
+48 −40 EversenseKitUI/Views/Settings/TransmitterSettingsView.swift
2 changes: 1 addition & 1 deletion G7SensorKit
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
source "https://rubygems.org"
gem "fastlane", "2.237.0"
gem "fastlane", "2.240.1"
94 changes: 55 additions & 39 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ GEM
base64 (0.3.0)
benchmark (0.5.0)
bigdecimal (4.1.2)
cgi (0.5.2)
claide (1.1.0)
colored (1.2)
colored2 (3.1.2)
Expand All @@ -42,38 +43,26 @@ GEM
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
erb (6.0.7)
excon (1.5.0)
logger
faraday (1.10.6)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday (2.14.4)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-cookie_jar (0.0.8)
faraday (>= 0.8.0)
http-cookie (>= 1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.1)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-follow_redirects (0.5.0)
faraday (>= 1, < 3)
faraday-multipart (1.2.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.4)
faraday_middleware (1.2.1)
faraday (~> 1.0)
faraday-net_http (3.4.4)
net-http (~> 0.5)
faraday-retry (2.4.0)
faraday (~> 2.0)
fastimage (2.4.1)
fastlane (2.237.0)
fastlane (2.240.1)
CFPropertyList (>= 2.3, < 5.0.0)
abbrev (~> 0.1)
addressable (>= 2.9.0, < 3.0.0)
Expand All @@ -83,24 +72,27 @@ GEM
base64 (~> 0.2)
benchmark (>= 0.1.0)
bundler (>= 2.4.0, < 5.0.0)
cgi (~> 0.4)
colored (~> 1.2)
commander (~> 4.6)
csv (~> 3.3)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 2.0.0)
faraday (~> 1.0)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
faraday (~> 2.7)
faraday-cookie_jar (~> 0.0.8)
faraday-follow_redirects (~> 0.3)
faraday-multipart (~> 1.0)
faraday-retry (~> 2.0)
fastimage (>= 2.1.0, < 3.0.0)
fastlane-sirp (>= 1.1.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-androidpublisher_v3 (~> 0.99)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.3.0)
google-cloud-env (>= 1.6.0, < 2.4.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
irb (>= 1.8)
json (< 3.0.0)
jwt (>= 2.10.3, < 4)
logger (>= 1.6, < 2.0)
Expand All @@ -113,11 +105,11 @@ GEM
optparse (>= 0.1.1, < 1.0.0)
ostruct (>= 0.1.0)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.5)
rubyzip (>= 3.4.0, < 4.0.0)
security (~> 0.3)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (~> 3)
terminal-table (~> 4)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
Expand Down Expand Up @@ -172,6 +164,12 @@ GEM
domain_name (~> 0.5)
httpclient (2.9.0)
mutex_m
io-console (0.9.4)
irb (1.18.0)
pp (>= 0.6.0)
prism (>= 1.3.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jmespath (1.6.2)
json (2.20.0)
jwt (3.2.0)
Expand All @@ -184,24 +182,40 @@ GEM
mutex_m (0.3.0)
nanaimo (0.4.0)
naturally (2.3.0)
net-http (0.9.1)
uri (>= 0.11.1)
nkf (0.3.0)
optparse (0.8.1)
os (1.1.4)
ostruct (0.6.3)
plist (3.7.2)
pp (0.6.4)
prettyprint
prettyprint (0.2.0)
prism (1.9.0)
pstore (0.2.1)
public_suffix (7.0.5)
rake (13.4.2)
rbs (4.2.0)
logger
prism (>= 1.6.0)
tsort
rdoc (8.1.0)
erb
prism (>= 1.6.0)
rbs (>= 4.0.0)
tsort
reline (0.7.0)
io-console (~> 0.5)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.8.0)
rexml (3.4.4)
rouge (3.28.0)
ruby2_keywords (0.0.5)
rubyzip (2.4.1)
security (0.1.5)
rubyzip (3.7.0)
security (0.3.0)
signet (0.22.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
Expand All @@ -210,15 +224,17 @@ GEM
CFPropertyList
naturally
terminal-notifier (2.0.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
terminal-table (4.0.0)
unicode-display_width (>= 1.1.1, < 4)
trailblazer-option (0.1.2)
tsort (0.2.0)
tty-cursor (0.7.1)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unicode-display_width (2.6.0)
uri (1.1.1)
word_wrap (1.0.0)
xcodeproj (1.28.1)
CFPropertyList (>= 2.3.3, < 4.0)
Expand All @@ -239,7 +255,7 @@ PLATFORMS
ruby

DEPENDENCIES
fastlane (= 2.237.0)
fastlane (= 2.240.1)

BUNDLED WITH
4.0.12
2 changes: 1 addition & 1 deletion LogglyService
2 changes: 1 addition & 1 deletion LoopOnboarding
2 changes: 1 addition & 1 deletion LoopSupport
2 changes: 1 addition & 1 deletion NightscoutRemoteCGM
2 changes: 1 addition & 1 deletion Scripts/define_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ PROJECTS=( \
LoopKit:NightscoutService:dev \
LoopKit:RileyLinkKit:dev \
LoopKit:TidepoolService:dev \
loopandlearn:OmnipodKit:main \
loopandlearn:OmnipodKit:dev \
bastiaanv:EversenseKit:dev \
jbr7rr:MedtrumKit:dev \
)
Expand Down
2 changes: 1 addition & 1 deletion Scripts/export_localizations.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ LANGUAGES=(ar cs ru en zh-Hans nl fr de it nb pl es ja pt-BR vi da sv fi ro tr h
argstring="${LANGUAGES[@]/#/-exportLanguage }"
IFS=" "; args=( $=argstring )

xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args
xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs SUPPORTS_MACCATALYST=NO $args

mkdir -p xliff_out
find xclocs -name '*.xliff' -exec cp {} xliff_out \;
Expand Down
4 changes: 2 additions & 2 deletions Scripts/import_localizations.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ for project in ${PROJECTS}; do
done

# Build Loop
set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcpretty
set -o pipefail && time xcodebuild -workspace LoopWorkspace.xcworkspace -scheme 'LoopWorkspace' -destination 'generic/platform=iOS' build | xcbeautify


# Apply translations
foreach file in xliff_in/*.xliff
xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file
xcodebuild -workspace LoopWorkspace.xcworkspace -scheme "LoopWorkspace" -destination 'generic/platform=iOS' -importLocalizations -localizationPath $file SUPPORTS_MACCATALYST=NO
end


Expand Down
2 changes: 1 addition & 1 deletion Scripts/manual_export_localizations.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ source Scripts/define_common.sh
argstring="${LANGUAGES[@]/#/-exportLanguage }"
IFS=" "; args=( $=argstring )

xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs $args
xcodebuild -scheme LoopWorkspace -destination 'generic/platform=iOS' -exportLocalizations -localizationPath xclocs SUPPORTS_MACCATALYST=NO $args

mkdir -p xliff_out
find xclocs -name '*.xliff' -exec cp {} xliff_out \;
Expand Down
Loading