Skip to content

Commit

Permalink
Localize privacy descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
vinhnx committed Jan 24, 2022
1 parent 3ad5a74 commit 8f5045a
Show file tree
Hide file tree
Showing 13 changed files with 276 additions and 12 deletions.
34 changes: 34 additions & 0 deletions Clendar.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,9 @@
A3BA42F6253F3AE00007DDFB /* Logging in Frameworks */ = {isa = PBXBuildFile; productRef = A3BA42F5253F3AE00007DDFB /* Logging */; };
A3BF5066279EEF2D001DADCD /* CalendarIdentifer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3E0B8952780981900758EC4 /* CalendarIdentifer.swift */; };
A3BF5067279EEF2E001DADCD /* CalendarIdentifer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3E0B8952780981900758EC4 /* CalendarIdentifer.swift */; };
A3BF5082279EFFFB001DADCD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A3BF5084279EFFFB001DADCD /* InfoPlist.strings */; };
A3BF508E279F0075001DADCD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A3BF5084279EFFFB001DADCD /* InfoPlist.strings */; };
A3BF5090279F0079001DADCD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A3BF5084279EFFFB001DADCD /* InfoPlist.strings */; };
A3BF8F99258B9E28003C7FD6 /* ClendarError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BF8F98258B9E28003C7FD6 /* ClendarError.swift */; };
A3C23945279315BE0067F8FA /* RestoreButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C23944279315BE0067F8FA /* RestoreButton.swift */; };
A3C23947279315DD0067F8FA /* RestoreButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C23946279315DD0067F8FA /* RestoreButtonStyle.swift */; };
Expand Down Expand Up @@ -423,6 +426,16 @@
A3B568FB25C5D91800E3C09F /* SiriShortcutBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SiriShortcutBuilder.swift; sourceTree = "<group>"; };
A3B9D9BE25431C36001932B0 /* EKEvent+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "EKEvent+Extensions.swift"; sourceTree = "<group>"; };
A3B9D9E5254331D3001932B0 /* Bool+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bool+Extensions.swift"; sourceTree = "<group>"; };
A3BF5083279EFFFB001DADCD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF5085279EFFFF001DADCD /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
A3BF5086279F0000001DADCD /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
A3BF5087279F0001001DADCD /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF5088279F0003001DADCD /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF5089279F0004001DADCD /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF508A279F0005001DADCD /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF508B279F0007001DADCD /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF508C279F0008001DADCD /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF508D279F0009001DADCD /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = "<group>"; };
A3BF8F98258B9E28003C7FD6 /* ClendarError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClendarError.swift; sourceTree = "<group>"; };
A3C23944279315BE0067F8FA /* RestoreButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RestoreButton.swift; sourceTree = "<group>"; };
A3C23946279315DD0067F8FA /* RestoreButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RestoreButtonStyle.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -905,6 +918,7 @@
isa = PBXGroup;
children = (
A39B71B6255FB64F0000162F /* Localizable.strings */,
A3BF5084279EFFFB001DADCD /* InfoPlist.strings */,
);
path = Localization;
sourceTree = "<group>";
Expand Down Expand Up @@ -1279,6 +1293,7 @@
buildActionMask = 2147483647;
files = (
A3064D23254CEF5800C7F228 /* Assets.xcassets in Resources */,
A3BF508E279F0075001DADCD /* InfoPlist.strings in Resources */,
A39B71B4255FB64F0000162F /* Localizable.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand All @@ -1296,6 +1311,7 @@
buildActionMask = 2147483647;
files = (
A307DBC025ADE32C00B5CE11 /* Assets.xcassets in Resources */,
A3BF5090279F0079001DADCD /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -1307,6 +1323,7 @@
A39B71B3255FB64F0000162F /* Localizable.strings in Resources */,
A31F6171260D62C6003CFE1C /* icon4_180.png in Resources */,
A31F616D260D62C6003CFE1C /* icon2_180.png in Resources */,
A3BF5082279EFFFB001DADCD /* InfoPlist.strings in Resources */,
A33F80D122467A85009CC46A /* Assets.xcassets in Resources */,
A31F616F260D62C6003CFE1C /* icon3_180.png in Resources */,
A31F6170260D62C6003CFE1C /* icon3_120.png in Resources */,
Expand Down Expand Up @@ -1759,6 +1776,23 @@
name = Localizable.strings;
sourceTree = "<group>";
};
A3BF5084279EFFFB001DADCD /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
A3BF5083279EFFFB001DADCD /* en */,
A3BF5085279EFFFF001DADCD /* zh-Hans */,
A3BF5086279F0000001DADCD /* zh-Hant */,
A3BF5087279F0001001DADCD /* fr */,
A3BF5088279F0003001DADCD /* ja */,
A3BF5089279F0004001DADCD /* de */,
A3BF508A279F0005001DADCD /* ko */,
A3BF508B279F0007001DADCD /* es */,
A3BF508C279F0008001DADCD /* th */,
A3BF508D279F0009001DADCD /* vi */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
Expand Down
21 changes: 10 additions & 11 deletions Clendar.xcodeproj/xcshareddata/xcschemes/Clendar.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,18 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A33F80C522467A82009CC46A"
BuildableName = "Clendar.app"
BlueprintName = "Clendar"
ReferencedContainer = "container:Clendar.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO"
useTestSelectionWhitelist = "NO">
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A33F80D922467A85009CC46A"
Expand All @@ -54,15 +62,6 @@
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A33F80C522467A82009CC46A"
BuildableName = "Clendar.app"
BlueprintName = "Clendar"
ReferencedContainer = "container:Clendar.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
Expand Down
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/de.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar benötigt Ihre Erlaubnis, um Ereignisse zu erstellen und anzuzeigen";
NSContactsUsageDescription = "Clendar benötigt Zugriff auf Ihre Kontakte, um Geburtstage korrekt anzuzeigen und Eingeladene für Ihre Veranstaltungen zu verwalten. Ihre Kontakte werden auf Ihrem Gerät gespeichert und mit niemandem geteilt.";
NSLocationUsageDescription = "Clendar benötigt Ihre Erlaubnis, auf den Standort zuzugreifen, um Standorte für Ihre Veranstaltungen zu erstellen und anzuzeigen";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar benötigt Ihre Erlaubnis, auf den Standort zuzugreifen, um Standorte für Ihre Veranstaltungen zu erstellen und anzuzeigen";
NSRemindersUsageDescription = "Clendar benötigt Ihre Erlaubnis, um Erinnerungen zu erstellen und anzuzeigen";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/en.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar needs your permission to create and view events";
NSContactsUsageDescription = "Clendar needs access to your contacts to display birthdays correctly and manage invitees for you events. Your contacts are kept on your device and are not shared with anyone.";
NSLocationUsageDescription = "Clendar needs your permission to access location to create and show locations for your events";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar needs your permission to access location to create and show locations for your events";
NSRemindersUsageDescription = "Clendar needs your permission to create and view reminders";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/es.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar necesita tu permiso para crear y ver eventos";
NSContactsUsageDescription = "Clendar necesita acceso a sus contactos para mostrar los cumpleaños correctamente y administrar invitados para sus eventos. Sus contactos se guardan en su dispositivo y no se comparten con nadie.";
NSLocationUsageDescription = "Clendar necesita su permiso para acceder a la ubicación para crear y mostrar ubicaciones para sus eventos";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar necesita su permiso para acceder a la ubicación para crear y mostrar ubicaciones para sus eventos";
NSRemindersUsageDescription = "Clendar necesita tu permiso para crear y ver recordatorios";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/fr.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar a besoin de votre permission pour créer et afficher des événements";
NSContactsUsageDescription = "Clendar a besoin d'accéder à vos contacts pour afficher correctement les anniversaires et gérer les invités pour vos événements. Vos contacts sont conservés sur votre appareil et ne sont partagés avec personne.";
NSLocationUsageDescription = "Clendar a besoin de votre autorisation pour accéder à l'emplacement afin de créer et d'afficher les lieux de vos événements";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar a besoin de votre autorisation pour accéder à l'emplacement afin de créer et d'afficher les lieux de vos événements";
NSRemindersUsageDescription = "Clendar a besoin de votre permission pour créer et afficher des rappels";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/ja.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendarには、イベントを作成および表示するための許可が必要です";
NSContactsUsageDescription = "Clendarは、誕生日を正しく表示し、イベントの招待者を管理するために、連絡先にアクセスする必要があります。 連絡先はデバイスに保持され、誰とも共有されません。";
NSLocationUsageDescription = "Clendarは、イベントの場所を作成して表示するために場所にアクセスするための許可が必要です";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendarは、イベントの場所を作成して表示するために場所にアクセスするための許可が必要です";
NSRemindersUsageDescription = "Clendarには、リマインダーを作成および表示するための許可が必要です";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/ko.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar는 이벤트를 생성하고 보려면 권한이 필요합니다";
NSContactsUsageDescription = "Clendar는 생일을 올바르게 표시하고 이벤트에 초대받은 사람을 관리하기 위해 연락처에 액세스해야 합니다. 연락처는 기기에 보관되며 누구와도 공유되지 않습니다.";
NSLocationUsageDescription = "Clendar는 이벤트 위치를 생성하고 표시하려면 위치 액세스 권한이 필요합니다.";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar는 이벤트 위치를 생성하고 표시하려면 위치 액세스 권한이 필요합니다.";
NSRemindersUsageDescription = "Clendar는 미리 알림을 만들고 보려면 권한이 필요합니다.";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/th.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar ต้องการการอนุญาตจากคุณเพื่อสร้างและดูกิจกรรม";
NSContactsUsageDescription = "Clendar ต้องการเข้าถึงผู้ติดต่อของคุณเพื่อแสดงวันเกิดอย่างถูกต้องและจัดการผู้ได้รับเชิญสำหรับกิจกรรมของคุณ ผู้ติดต่อของคุณจะถูกเก็บไว้ในอุปกรณ์ของคุณและจะไม่แบ่งปันกับใคร";
NSLocationUsageDescription = "Clendar ต้องได้รับอนุญาตจากคุณเพื่อเข้าถึงตำแหน่งเพื่อสร้างและแสดงสถานที่สำหรับกิจกรรมของคุณ";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar ต้องได้รับอนุญาตจากคุณเพื่อเข้าถึงตำแหน่งเพื่อสร้างและแสดงสถานที่สำหรับกิจกรรมของคุณ";
NSRemindersUsageDescription = "Clendar ต้องได้รับอนุญาตจากคุณเพื่อสร้างและดูการแจ้งเตือน";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/vi.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar cần sự cho phép của bạn để tạo và xem các sự kiện";
NSContactsUsageDescription = "Clendar cần quyền truy cập vào danh bạ của bạn để hiển thị ngày sinh một cách chính xác và quản lý lời mời cho bạn các sự kiện. Danh bạ của bạn được lưu trên thiết bị của bạn và không được chia sẻ với bất kỳ ai.";
NSLocationUsageDescription = "Clendar cần sự cho phép của bạn để truy cập vị trí để tạo và hiển thị vị trí cho các sự kiện của bạn";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar cần sự cho phép của bạn để truy cập vị trí để tạo và hiển thị vị trí cho các sự kiện của bạn";
NSRemindersUsageDescription = "Clendar cần bạn cho phép để tạo và xem lời nhắc";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/zh-hans.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar 需要您的许可才能创建和查看活动";
NSContactsUsageDescription = "Clendar 需要访问您的联系人才能正确显示生日并为您管理活动的受邀者。 您的联系人保存在您的设备上,不会与任何人共享。";
NSLocationUsageDescription = "Clendar 需要您的权限才能访问位置,才能为您的活动创建和显示位置";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar 需要您的权限才能访问位置,才能为您的活动创建和显示位置";
NSRemindersUsageDescription = "Clendar 需要您的许可才能创建和查看提醒";
13 changes: 13 additions & 0 deletions Clendar/Resources/Localization/zh-hant.lproj/InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
InfoPlist.strings
Clendar

Created by Vinh Nguyen on 24/01/2022.
Copyright © 2022 Vinh Nguyen. All rights reserved.
*/

NSCalendarsUsageDescription = "Clendar 需要您的許可才能創建和查看活動";
NSContactsUsageDescription = "Clendar 需要訪問您的聯繫人才能正確顯示生日並為您管理活動的受邀者。 您的聯繫人保存在您的設備上,不會與任何人共享。";
NSLocationUsageDescription = "Clendar 需要您的權限才能訪問位置,才能為您的活動創建和顯示位置";
NSLocationAlwaysAndWhenInUseUsageDescription = "Clendar 需要您的權限才能訪問位置,才能為您的活動創建和顯示位置";
NSRemindersUsageDescription = "Clendar 需要您的許可才能創建和查看提醒";
Loading

0 comments on commit 8f5045a

Please sign in to comment.