Unable to export to apple string catalog file: Custom format endpoint is unreachable

When I export my crowdin project to the new Apple String Catalog file (Seamless Translation of xcstrings Files | Crowdin), it says “Build failed. Apple Strings Catalog Exporter: Files were not exported. Custom format endpoint is unreachable”.

How can I fix this issue?

Hi @fanwg !

We will investigate this with our devs and will come back with updates.

Let’s keep in touch!

It’s been two weeks so far, any updates from your devs?

Hi!
We’ve created the task for the tech team on the matter, the task is still in progress

Hello team !
Just had the same issue. It looks like it happens when trying to deal with plurals. No news on this ?

Hi @gchevillot!

As I can see our developers are still working on the solution.

Sorry for the inconvenience, as soon as we have the updates we’ll let you know!

Meanwhile, thank you for your patience :pray:

I tested some more xcstrings exporter and it seems like it has a couple more issues besides plural :

  • Formatting of locale inside don’t seem to be correct (ex: fr_CA where it should be fr-CA in Apple standards)
  • If a key doesn’t have a translation in a certain language, it currently fills translation with empty string where it should not fill translation for that language at all to allow iOS to use default language

Hope this helps :slight_smile:

Hi @gchevillot,

Thank you a lot for sharing your feedback! We are always working on improvements and the feedback of customers helps us a lot to understand your needs,

As for the first issue. Currently, we are already working on the possibility of adding a language mapping to the .xcstrings file format, so you will be able to customize the language code. (internal task number for support team 42647).

Meanwhile, as a workaround, you can use the the Regex app to replace language codes inside your file from fr_CA to fr_CA.

As for the second issue. Relatively recently (on January 25) we changed a bit the logic of the xcstrings files export and now if the file has untranslated languages on export it will be filled with source strings. With this approach, you would make sure to never have a missing translation but the English fallback for all the keys.

However, you mentioned that in your case on export you see the empty keys? I just did a quick test on my project and the untranslated string was filled with English values. Can you please share more details regarding your case? Like the example of the file and the name of the project where it happened?

Please feel free to correct me if I misunderstood you,

Thank you for this quick answer !

As for the first point, I’m glad there is a customization in the works for the tricky cases, but I also feel like the exporter should by default use same format as %osx_code% (without the .lproj of course ^^) so that we don’t have to list each of our regional languages as exceptions in language mapping :wink:

For the second one, I test on this project : Crowdin. You can see it by downloading “channel 1 iOS string catalog” target bundle. For all untranslated strings, you can see an empty string. For example for recipe_title in en_CA:

    "en_CA": {
      "stringUnit": {
        "state": "needs_review",
        "value": ""
      }
    }

In my opinion, you shouldn’t need to put the “en_CA” key at all. That’s what XCode does if you create a new key but never translate it in some language.

Thank you again for your time !

Hi @gchevillot,

Thank you for the suggestion. Passing it to the team! :slightly_smiling_face:

As for the second issue. I just did a quick test and indeed using the Apple Strings Catalog Exporter the untranslated strings are exported as empty values. I will also pass on to the team that we should improve the exporter as well as it was done with a natively supported file format recently.

Thank you :heart:

1 Like