Viewing 10 replies - 1 through 10 (of 10 total)
  • You can use
    https://wordpress.org/plugins/force-update-translations/

    Or: go to the translation project you want to use.
    At the end of the page, export the translation as .mo file.
    Depending on what locale you’re using, rename the file as:
    lifterlms-de_DE.mo or lifterlms-de_CH
    and upload it to /wp-content/languages/plugins/

    Or, best of all: help us (the polyglots team) to reach at least 95% strings translated and approved, then the language pack will be created and distributed automatically.

    Thread Starter thomei

    (@thomei)

    @tobifjellner
    Thank you for your suggestion!
    But still not working.

    @thomei,

    I know this might seem obvious but I see a lot of people miss this step…

    Have you actually switched your language in the WordPress General Settings to match the locale you’re trying to load?

    Another easy debugging step is making sure that you’re properly naming your locale files. They are case sensitive!

    If none of this helps could you please take a screenshot of your directory structures where you’re uploading the files and upload it to a service like Imgur, Drive or Dropbox and let us have a look at it?

    Also, if you could post a copy of your LifterLMS System report to a service like pastebin and paste the link here that would help us out too.

    Thanks,

    Thread Starter thomei

    (@thomei)

    @thomasplevy and @tobifjellner

    I found the mistake!

    In German we use informal ans formal translations. The correct translations code is “de_CH_informal”

    This brings up lack of the LifterLMS:
    All other Plugins I know and WP itself, fall automatically back to the closest, if the desired translations isn’t available. Not do English in first stage.

    E.g.: Form the user chosen: “de_CH_informal”
    Common fallback “de_CH_informal” ==> “de_CH” ==> “de_**” (=some other German Translations: e.g. de_DE, de_AT, de) ==> “de” ==> “en_US”

    Please, fix the translation fallback in LifterLMS.

    Kind regards, and thank you very much!

    • This reply was modified 4 years, 6 months ago by thomei.
    Thread Starter thomei

    (@thomei)

    @tobifjellner

    Or, best of all: help us (the polyglots team) to reach at least 95% strings translated and approved, then the language pack will be created and distributed automatically.

    Yes, I’ll, if our customer decides to stay with LifterLMS. It’s not my own decision.

    The Swiss German translations are still very 😉 fussy in some parts. I’ll look in it. But first I’ve to bring the system running, because of Corona-crisis.

    A lot of thanks to the LifterLMS developers, they do a grate job! Our teachers are very thankful too.

    @thomei,

    In German we use informal ans formal translations. The correct translations code is “de_CH_informal”

    Glad you figured it out!

    This brings up lack of the LifterLMS:
    All other Plugins I know and WP itself, fall automatically back to the closest, if the desired translations isn’t available. Not do English in first stage.

    Are you certain about this? I’ve done a bit of digging through some code bases and reviewed (again) the plugin developers handbook to see if something has changed recently but I can’t find any evidence anywhere of some intelligent fallback built into WordPress.

    I feel like it is possible to build a database of fallbacks and load them but my experience with translation is that this will actually cause more support requests and confusion for our users since it will be loading languages that aren’t expected. Maybe I’m wrong about this but I think it will.

    This is what LifterLMS does already, basically, with some customization to allow you to load from a custom location (we do this so you can load translations from a “safe” place that won’t be overwritten by automatic downloads from the translate.wordpress.org GlotPress instance): https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/#loading-text-domain

    The underlying functions don’t have any “fallback” logic built into them.

    Furthermore, I don’t see any evidence of the WordPress core doing this either, I’ve found a track ticket about it that hasn’t been resolved: https://core.trac.wordpress.org/ticket/28197

    Do you have some example plugins you know of that absolutely do do this so I can review their code and learn how this is working to improve LifterLMS?

    I’m ALWAYS looking to improve LifterLMS but I don’t actually feel in this circumstance that we’re doing anything incorrectly or that we’re even not following best practices set forth by the handbook or by standard plugin conventions.

    Thanks,

    … I can’t find any evidence anywhere of some intelligent fallback built into WordPress.

    Partial solution in https://wordpress.org/plugins/preferred-languages/

    @tobifjellner

    Thanks! I’ll keep my eye on this feature plugin to see if there’s anything we should be changing in LifterLMS to accommodate WP Core features in the future.

    @thomei,

    Still please let me know if you have some plugins you can cite that are already doing this so I can have a look at them!

    Thread Starter thomei

    (@thomei)

    @thomasplevy
    Sorry for the late answer. There was a lot of other work to do….

    I’ve got a few pages running with the “de_CH_informal” set in WP. The following plug-ins fall back to de_CH (or even de_DE, if de_CH isn’t installed):
    – bbpress
    – budypress
    – ninja-forms (and all its plugins)
    – woocommerce (and many of its plugins)
    – …

    The same is true for some themes.

    @thomei

    I’ve studied all of these codebases and I don’t see anything jumping out at me by the way of “intelligent fallbacks”

    However, I’m going to setup some tests cases locally to see if I can reproduce this behavior and learn more about it.

    Thanks again,

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Translation not loaded’ is closed to new replies.