Hello, friends. I’ve been working on adding some AppIntent support to the iOS notes app to make it play nice with Siri Shortcuts. I’ve got it working, and it’s been working on my mobile phone with my personal instance just fine. I’m to the point where I’m trying to button up the PR, and I’ve got a couple of questions.
Can someone help me understand what the proper process is for submitting features which add new strings? I am not super familiar with Apple’s frameworks, and I’ve never done localization in iOS Swift before (I have done so with Objective-C on macOS, though), so if you could also let me know if there’re any gotchas that would jump out, that would be helpful.
An example of a gotcha that I’m worried about is that it appears I must use LocalizedStringResource rather than NSLocalizedString for the AppIntents protocol, and I don’t know how that interfaces with the existing Transifex translation workflows.
Many thanks for your help.
Hey there, I am not familiar with Apple as well, so only quick guessing.
In case of doubt, I would not put too much effort into cleaning up the stuff, open a (draft PR) and ask the maintainer the questions. They will have the best knowledge.
About the localization: as far as I know, there are automations in place that sync the translatable strings to transifex and the translations back on a nightly scheme. I saw in the past that there was a script on the repo nextcloud/docker-ci that handles translations for iOS stuff. You could look there and see if you can reproduce the process.
Chris
Hi! Thank you for working on a contribution to our app! I do not want to write the full story here but only nudge into the right direction. We have dedicated landing page for translators:
The workflow for the apps was adopted from the server project. In a nutshell: We have a project on GitHub and our CI synchronizes the keys to translate with Transifex were translators contribute all the translations. Later on, a bot synchronizes the translations back into our source repositories.
The usual Xcode workflows do not apply. Our scripts take the (in example) .strings resources and process them directly as necessary. Also, resources to translate need to be setup on Transifex and in the CI first. So translation resources in a project are not automatically recognized and registered. This is a bit of an annoyance with Xcode projects and Transifex which might result in multiple translation resources for the same app (also because Nextcloud set up Transifex in a different way than Transifex apparently is ought to be used).
For more visibility, interaction and direct contact about this compared to the forum here, you might want to consider our public chats:
I hope this helps.
1 Like