summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJon Petersson <jon.petersson@mullvad.net>2025-08-19 12:46:35 +0200
committerJon Petersson <jon.petersson@mullvad.net>2025-08-19 12:46:35 +0200
commit63c42677083d48e70c3149f367d0232b6a4405fe (patch)
tree9952bd5794d7f838aeffef61576ba00591416743
parentf514c592d0af93399a2c8891051da480cc68513e (diff)
parentcd31b68a3b4dcab8dc2f4a004975d857807e5d82 (diff)
downloadmullvadvpn-63c42677083d48e70c3149f367d0232b6a4405fe.tar.xz
mullvadvpn-63c42677083d48e70c3149f367d0232b6a4405fe.zip
Merge branch 'remove-string-plist-packet-tunnel-ios'
-rw-r--r--ios/MullvadVPN.xcodeproj/project.pbxproj16
-rw-r--r--ios/MullvadVPN/Supporting Files/de.lproj/InfoPlist.strings6
-rw-r--r--ios/MullvadVPN/Supporting Files/fr.lproj/InfoPlist.strings6
-rw-r--r--ios/MullvadVPN/Supporting Files/sv.lproj/InfoPlist.strings6
-rw-r--r--ios/PacketTunnel/de.lproj/InfoPlist.strings6
-rw-r--r--ios/PacketTunnel/fr.lproj/InfoPlist.strings6
-rw-r--r--ios/PacketTunnel/sv.lproj/InfoPlist.strings6
-rw-r--r--ios/translation/locales/de.xliff132
-rw-r--r--ios/translation/locales/en.xliff132
-rw-r--r--ios/translation/locales/fr.xliff132
-rw-r--r--ios/translation/locales/sv.xliff132
-rwxr-xr-xios/translation/scripts/localizations.sh29
12 files changed, 469 insertions, 140 deletions
diff --git a/ios/MullvadVPN.xcodeproj/project.pbxproj b/ios/MullvadVPN.xcodeproj/project.pbxproj
index a6b7f3553d..7d21e8debf 100644
--- a/ios/MullvadVPN.xcodeproj/project.pbxproj
+++ b/ios/MullvadVPN.xcodeproj/project.pbxproj
@@ -1091,7 +1091,6 @@
F0DDE42A2B220A15006B57A7 /* Haversine.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0DDE4272B220A15006B57A7 /* Haversine.swift */; };
F0DDE42B2B220A15006B57A7 /* RelaySelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0DDE4282B220A15006B57A7 /* RelaySelector.swift */; };
F0DDE42C2B220A15006B57A7 /* Midpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0DDE4292B220A15006B57A7 /* Midpoint.swift */; };
- F0DEBB5C2E4E1927001B5624 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F0DEBB5A2E4E1927001B5624 /* InfoPlist.strings */; };
F0E3618B2A4ADD2F00AEEF2B /* WelcomeContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0E3618A2A4ADD2F00AEEF2B /* WelcomeContentView.swift */; };
F0E5B2F82C9C68CF0007F78C /* EncryptedDNSTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0E5B2F72C9C68CD0007F78C /* EncryptedDNSTransport.swift */; };
F0E61CAA2BF2911D000C4A95 /* TunnelSettingsV5.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0E61CA82BF2911D000C4A95 /* TunnelSettingsV5.swift */; };
@@ -2427,7 +2426,6 @@
F01765962E4A324F00262F54 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F017F8DF2D78ABE90076EC01 /* RelayFilterDataSourceItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayFilterDataSourceItem.swift; sourceTree = "<group>"; };
F01DAE322C2B032A00521E46 /* RelaySelection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RelaySelection.swift; sourceTree = "<group>"; };
- F025C63B2E4E1934007B93FF /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F027E0982E4A325C00090D26 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F028A5692A34D4E700C0CAA3 /* RedeemVoucherViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RedeemVoucherViewController.swift; sourceTree = "<group>"; };
F028A56B2A34D8E600C0CAA3 /* AddCreditSucceededViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddCreditSucceededViewController.swift; sourceTree = "<group>"; };
@@ -2537,7 +2535,6 @@
F0C6FA842A6A733700F521F0 /* InAppPurchaseInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppPurchaseInteractor.swift; sourceTree = "<group>"; };
F0CB96302E4A324000206149 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F0D5591D2D3805050072B63F /* LatestChangesNotificationProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LatestChangesNotificationProvider.swift; sourceTree = "<group>"; };
- F0D8061B2E4E193A009E3392 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F0D8825A2B04F53600D3EF9A /* OutgoingConnectionData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutgoingConnectionData.swift; sourceTree = "<group>"; };
F0DA87462A9CB9A2006044F1 /* AccountExpiryRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountExpiryRow.swift; sourceTree = "<group>"; };
F0DA87482A9CBA9F006044F1 /* AccountDeviceRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountDeviceRow.swift; sourceTree = "<group>"; };
@@ -2550,7 +2547,6 @@
F0DDE4282B220A15006B57A7 /* RelaySelector.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RelaySelector.swift; sourceTree = "<group>"; };
F0DDE4292B220A15006B57A7 /* Midpoint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Midpoint.swift; sourceTree = "<group>"; };
F0DEA1FB2E4A326F002275F7 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = "<group>"; };
- F0DEBB5B2E4E1927001B5624 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F0E3618A2A4ADD2F00AEEF2B /* WelcomeContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeContentView.swift; sourceTree = "<group>"; };
F0E576BB2E4A324A0079FA27 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F0E5B2F72C9C68CD0007F78C /* EncryptedDNSTransport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptedDNSTransport.swift; sourceTree = "<group>"; };
@@ -4050,7 +4046,6 @@
children = (
58915D662A25F9F20066445B /* DeviceCheck */,
58CE5E7D224146470008646E /* Info.plist */,
- F0DEBB5A2E4E1927001B5624 /* InfoPlist.strings */,
58CE5E7E224146470008646E /* PacketTunnel.entitlements */,
58F3F3682AA08E2200D3B0A4 /* PacketTunnelProvider */,
F059197A2C45404500C301F3 /* PostQuantum */,
@@ -5718,7 +5713,6 @@
buildActionMask = 2147483647;
files = (
A9BA08322BA32FB6005A7A2D /* PrivacyInfo.xcprivacy in Resources */,
- F0DEBB5C2E4E1927001B5624 /* InfoPlist.strings in Resources */,
F04A66FA2E4B44EC0081C89C /* Localizable.xcstrings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -7350,16 +7344,6 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
- F0DEBB5A2E4E1927001B5624 /* InfoPlist.strings */ = {
- isa = PBXVariantGroup;
- children = (
- F0DEBB5B2E4E1927001B5624 /* de */,
- F025C63B2E4E1934007B93FF /* fr */,
- F0D8061B2E4E193A009E3392 /* sv */,
- );
- name = InfoPlist.strings;
- sourceTree = "<group>";
- };
F0EE6E762E4A321B0089DFF3 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
diff --git a/ios/MullvadVPN/Supporting Files/de.lproj/InfoPlist.strings b/ios/MullvadVPN/Supporting Files/de.lproj/InfoPlist.strings
index 0c7aab5aed..c9e69b92a8 100644
--- a/ios/MullvadVPN/Supporting Files/de.lproj/InfoPlist.strings
+++ b/ios/MullvadVPN/Supporting Files/de.lproj/InfoPlist.strings
@@ -1,9 +1,3 @@
-/* Bundle display name */
-"CFBundleDisplayName" = "Mullvad VPN";
-
-/* Bundle name */
-"CFBundleName" = "MullvadVPN";
-
/* Privacy - Local Network Usage Description */
"NSLocalNetworkUsageDescription" = "Die App benötigt dies, um sich zu verbinden und eine neue Methode zu testen.";
diff --git a/ios/MullvadVPN/Supporting Files/fr.lproj/InfoPlist.strings b/ios/MullvadVPN/Supporting Files/fr.lproj/InfoPlist.strings
index 79f81b8f70..23e844d204 100644
--- a/ios/MullvadVPN/Supporting Files/fr.lproj/InfoPlist.strings
+++ b/ios/MullvadVPN/Supporting Files/fr.lproj/InfoPlist.strings
@@ -1,9 +1,3 @@
-/* Bundle display name */
-"CFBundleDisplayName" = "Mullvad VPN";
-
-/* Bundle name */
-"CFBundleName" = "MullvadVPN";
-
/* Privacy - Local Network Usage Description */
"NSLocalNetworkUsageDescription" = "L'application a besoin de cela pour se connecter et tester une nouvelle méthode.";
diff --git a/ios/MullvadVPN/Supporting Files/sv.lproj/InfoPlist.strings b/ios/MullvadVPN/Supporting Files/sv.lproj/InfoPlist.strings
index 3c4e34e37b..73d504e29a 100644
--- a/ios/MullvadVPN/Supporting Files/sv.lproj/InfoPlist.strings
+++ b/ios/MullvadVPN/Supporting Files/sv.lproj/InfoPlist.strings
@@ -1,9 +1,3 @@
-/* Bundle display name */
-"CFBundleDisplayName" = "Mullvad VPN";
-
-/* Bundle name */
-"CFBundleName" = "MullvadVPN";
-
/* Privacy - Local Network Usage Description */
"NSLocalNetworkUsageDescription" = "Appen behöver detta för att ansluta och testa en ny metod.";
diff --git a/ios/PacketTunnel/de.lproj/InfoPlist.strings b/ios/PacketTunnel/de.lproj/InfoPlist.strings
deleted file mode 100644
index ca1ab97074..0000000000
--- a/ios/PacketTunnel/de.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,6 +0,0 @@
-/* Bundle display name */
-"CFBundleDisplayName" = "Packettunnel";
-
-/* Bundle name */
-"CFBundleName" = "Packettunnel";
-
diff --git a/ios/PacketTunnel/fr.lproj/InfoPlist.strings b/ios/PacketTunnel/fr.lproj/InfoPlist.strings
deleted file mode 100644
index 77f6c9f1b4..0000000000
--- a/ios/PacketTunnel/fr.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,6 +0,0 @@
-/* Bundle display name */
-"CFBundleDisplayName" = "Tunnel de paquets";
-
-/* Bundle name */
-"CFBundleName" = "Tunnel de paquets";
-
diff --git a/ios/PacketTunnel/sv.lproj/InfoPlist.strings b/ios/PacketTunnel/sv.lproj/InfoPlist.strings
deleted file mode 100644
index ce812eab88..0000000000
--- a/ios/PacketTunnel/sv.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,6 +0,0 @@
-/* Bundle display name */
-"CFBundleDisplayName" = "Pakettunnel";
-
-/* Bundle name */
-"CFBundleName" = "Pakettunnel";
-
diff --git a/ios/translation/locales/de.xliff b/ios/translation/locales/de.xliff
index 545509e3af..a8d3651a66 100644
--- a/ios/translation/locales/de.xliff
+++ b/ios/translation/locales/de.xliff
@@ -2,7 +2,7 @@
<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd">
<file original="Assets/Localizable.xcstrings" source-language="en" target-language="de" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
<trans-unit id="%@" xml:space="preserve">
@@ -1828,21 +1828,119 @@ Möchten Sie weiterhin "Lokales Netzwerkteilen" aktivieren?</target>
</trans-unit>
</body>
</file>
- <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <file original="Assets/MullvadMockData-InfoPlist.xcstrings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="Assets/MullvadRustRuntime-InfoPlist.xcstrings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadLogging-InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadSettings-InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadTypes-InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Operations-InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/PacketTunnelCore-InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Routing-InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>Mullvad VPN</source>
- <target state-qualifier="leveraged-mt">Mullvad VPN</target>
- <note>Bundle display name</note>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>MullvadVPN</source>
- <target state-qualifier="leveraged-mt">MullvadVPN</target>
- <note>Bundle name</note>
+ </body>
+ </file>
+ <file original="MullvadREST/en.lproj/InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
+ </body>
+ </file>
+ <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
<trans-unit id="NSLocalNetworkUsageDescription" xml:space="preserve">
<source>The app needs this to connect and test a new method.</source>
<target state-qualifier="leveraged-mt">Die App benötigt dies, um sich zu verbinden und eine neue Methode zu testen.</target>
@@ -1852,19 +1950,9 @@ Möchten Sie weiterhin "Lokales Netzwerkteilen" aktivieren?</target>
</file>
<file original="PacketTunnel/en.lproj/InfoPlist.strings" source-language="en" target-language="de" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target state-qualifier="leveraged-mt">Packettunnel</target>
- <note>Bundle display name</note>
- </trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target state-qualifier="leveraged-mt">Packettunnel</target>
- <note>Bundle name</note>
- </trans-unit>
</body>
</file>
</xliff>
diff --git a/ios/translation/locales/en.xliff b/ios/translation/locales/en.xliff
index c7a7517496..00cccde957 100644
--- a/ios/translation/locales/en.xliff
+++ b/ios/translation/locales/en.xliff
@@ -2,7 +2,7 @@
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd">
<file original="Assets/Localizable.xcstrings" source-language="en" target-language="en" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
<trans-unit id="%@" xml:space="preserve">
@@ -1828,21 +1828,119 @@ Would you like to continue to enable “Local network sharing”?</target>
</trans-unit>
</body>
</file>
- <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <file original="Assets/MullvadMockData-InfoPlist.xcstrings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="new">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="Assets/MullvadRustRuntime-InfoPlist.xcstrings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="new">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadLogging-InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target>Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadSettings-InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target>Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadTypes-InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target>Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Operations-InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target>Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/PacketTunnelCore-InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target>Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Routing-InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>Mullvad VPN</source>
- <target>Mullvad VPN</target>
- <note>Bundle display name</note>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target>Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>MullvadVPN</source>
- <target>MullvadVPN</target>
- <note>Bundle name</note>
+ </body>
+ </file>
+ <file original="MullvadREST/en.lproj/InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target>Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
+ </body>
+ </file>
+ <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
<trans-unit id="NSLocalNetworkUsageDescription" xml:space="preserve">
<source>The app needs this to connect and test a new method.</source>
<target>The app needs this to connect and test a new method.</target>
@@ -1852,19 +1950,9 @@ Would you like to continue to enable “Local network sharing”?</target>
</file>
<file original="PacketTunnel/en.lproj/InfoPlist.strings" source-language="en" target-language="en" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target>PacketTunnel</target>
- <note>Bundle display name</note>
- </trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target>PacketTunnel</target>
- <note>Bundle name</note>
- </trans-unit>
</body>
</file>
</xliff>
diff --git a/ios/translation/locales/fr.xliff b/ios/translation/locales/fr.xliff
index d7b744e51b..cdc6419701 100644
--- a/ios/translation/locales/fr.xliff
+++ b/ios/translation/locales/fr.xliff
@@ -2,7 +2,7 @@
<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd">
<file original="Assets/Localizable.xcstrings" source-language="en" target-language="fr" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
<trans-unit id="%@" xml:space="preserve">
@@ -1828,21 +1828,119 @@ Voulez-vous continuer à activer le « Partage de réseau local»?</target>
</trans-unit>
</body>
</file>
- <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <file original="Assets/MullvadMockData-InfoPlist.xcstrings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="Assets/MullvadRustRuntime-InfoPlist.xcstrings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadLogging-InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadSettings-InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadTypes-InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Operations-InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/PacketTunnelCore-InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Routing-InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>Mullvad VPN</source>
- <target state-qualifier="leveraged-mt">Mullvad VPN</target>
- <note>Bundle display name</note>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>MullvadVPN</source>
- <target state-qualifier="leveraged-mt">MullvadVPN</target>
- <note>Bundle name</note>
+ </body>
+ </file>
+ <file original="MullvadREST/en.lproj/InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
+ </body>
+ </file>
+ <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
<trans-unit id="NSLocalNetworkUsageDescription" xml:space="preserve">
<source>The app needs this to connect and test a new method.</source>
<target state-qualifier="leveraged-mt">L'application a besoin de cela pour se connecter et tester une nouvelle méthode.</target>
@@ -1852,19 +1950,9 @@ Voulez-vous continuer à activer le « Partage de réseau local»?</target>
</file>
<file original="PacketTunnel/en.lproj/InfoPlist.strings" source-language="en" target-language="fr" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target state-qualifier="leveraged-mt">Tunnel de paquets</target>
- <note>Bundle display name</note>
- </trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target state-qualifier="leveraged-mt">Tunnel de paquets</target>
- <note>Bundle name</note>
- </trans-unit>
</body>
</file>
</xliff>
diff --git a/ios/translation/locales/sv.xliff b/ios/translation/locales/sv.xliff
index e1db20b0b6..326ce9c498 100644
--- a/ios/translation/locales/sv.xliff
+++ b/ios/translation/locales/sv.xliff
@@ -2,7 +2,7 @@
<xliff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd">
<file original="Assets/Localizable.xcstrings" source-language="en" target-language="sv" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
<trans-unit id="%@" xml:space="preserve">
@@ -1828,21 +1828,119 @@ Vill du fortsätta att aktivera “Lokalt nätverk delning”?</target>
</trans-unit>
</body>
</file>
- <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <file original="Assets/MullvadMockData-InfoPlist.xcstrings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="Assets/MullvadRustRuntime-InfoPlist.xcstrings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadLogging-InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadSettings-InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/MullvadTypes-InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Operations-InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/PacketTunnelCore-InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
+ </trans-unit>
+ </body>
+ </file>
+ <file original="en.lproj/Routing-InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>Mullvad VPN</source>
- <target state-qualifier="leveraged-mt">Mullvad VPN</target>
- <note>Bundle display name</note>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>MullvadVPN</source>
- <target state-qualifier="leveraged-mt">MullvadVPN</target>
- <note>Bundle name</note>
+ </body>
+ </file>
+ <file original="MullvadREST/en.lproj/InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
+ <trans-unit id="NSHumanReadableCopyright" translate="no" xml:space="preserve">
+ <source>Copyright © 2025 Mullvad VPN AB. All rights reserved.</source>
+ <target state="needs-translation">Copyright © 2025 Mullvad VPN AB. All rights reserved.</target>
+ <note>Copyright (human-readable)</note>
</trans-unit>
+ </body>
+ </file>
+ <file original="MullvadVPN/Supporting Files/en.lproj/InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
+ <header>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
+ </header>
+ <body>
<trans-unit id="NSLocalNetworkUsageDescription" xml:space="preserve">
<source>The app needs this to connect and test a new method.</source>
<target state-qualifier="leveraged-tm">Appen behöver detta för att ansluta och testa en ny metod.</target>
@@ -1852,19 +1950,9 @@ Vill du fortsätta att aktivera “Lokalt nätverk delning”?</target>
</file>
<file original="PacketTunnel/en.lproj/InfoPlist.strings" source-language="en" target-language="sv" datatype="plaintext">
<header>
- <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.1" build-num="16B40"/>
+ <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="16.4" build-num="16F6"/>
</header>
<body>
- <trans-unit id="CFBundleDisplayName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target state-qualifier="leveraged-tm">Pakettunnel</target>
- <note>Bundle display name</note>
- </trans-unit>
- <trans-unit id="CFBundleName" xml:space="preserve">
- <source>PacketTunnel</source>
- <target state-qualifier="leveraged-tm">Pakettunnel</target>
- <note>Bundle name</note>
- </trans-unit>
</body>
</file>
</xliff>
diff --git a/ios/translation/scripts/localizations.sh b/ios/translation/scripts/localizations.sh
index 5232442e19..2129e3aa5a 100755
--- a/ios/translation/scripts/localizations.sh
+++ b/ios/translation/scripts/localizations.sh
@@ -95,6 +95,34 @@ export_localizations() {
done
}
+clean_xliff_translations() {
+ xliff_dir="$LOCALIZATION_DIR"
+ if [[ ! -d "$xliff_dir" ]]; then
+ echo "❌ Directory not found: $xliff_dir"
+ return 1
+ fi
+
+ # Dictionary of keys to ignore for translation
+ declare -A UNNEEDED_KEYS=(
+ ["CFBundleName"]=1
+ ["CFBundleDisplayName"]=1
+ # Add more keys here if needed
+ )
+
+ echo "🧹 Cleaning unneeded keys from XLIFFs in $xliff_dir"
+ for xliff in "$xliff_dir"/*.xliff; do
+ if [[ -f "$xliff" ]]; then
+ for key in "${!UNNEEDED_KEYS[@]}"; do
+ sed -i '' -E "/<trans-unit[^>]*id=\"$key\"[^>]*>/,/<\/trans-unit>/d" "$xliff"
+ done
+ echo "✔️ Cleaned $xliff"
+ else
+ echo "⚠️ File not found: $xliff, skipping"
+ fi
+ done
+
+}
+
import_localizations() {
# Directory where the .xliff files are stored
XLIFF_DIR="$LOCALIZATION_DIR"
@@ -129,6 +157,7 @@ localization_to_export() {
echo "📝 Export script started at: $(date)"
build_project
export_localizations
+ clean_xliff_translations
cleanup_build_folder
cleanup_temp_folder
echo "🎉 Export complete. Crowdin-ready .xliff files are in: $LOCALIZATION_DIR"