Giter Club home page Giter Club logo

Comments (3)

JFoederer avatar JFoederer commented on September 22, 2024 1

I have posted a notification in the rf-nl and rf-be Slack channels announcing the update without a planned deprecation period for RF7.1.

from robotframework.

pekkaklarck avatar pekkaklarck commented on September 22, 2024

Dutch translations have now been updated. The old terms were simply replaced by new ones which makes the change backwards incompatible.

from robotframework.

pekkaklarck avatar pekkaklarck commented on September 22, 2024

I looked at making it possible to deprecate translations instead of just removing them. Based on my experiment that is certainly possible, but it is a bit more complicated than I anticipated. Apparently nobody in the Dutch speaking community raised strong backwards compatibility concerns, so I believe just changing the terms is fine as long as it is mentioned in RF 7.1 release notes.

If needed, we can look at deprecation again even before RF 7.1 is released. I'll briefly explain my experiment and what challenges there were:

  1. I added a deprecated dictionary to the Language class with an idea that old terms would be keys and new terms would be values. This information would then be collected to the higher level Languages object similarly as other translation info. This API would be pretty convenient for translators and I would prefer to use that also if we implement deprecation support for real.
  2. The first challenge in implementation was that deprecations would need to be checked in all places where translations are used. This means few different places in parsing (at least headers and settings are handled separately) and at least BDD-prefixes and Boolean strings during execution. Not overly complicated, but going through all translation usages is some work and all these usages also would need test.
  3. During parsing we must add error information to the parsed tokens, not to print it to console or raise exceptions. This makes errors available for IDEs and other tools using the parsing model, but we then need to report the errors to users separately when the execution model is built as part of normal execution. Unfortunately this particular error reporting doesn't work too well at the moment and it would probably need to be enhanced to make all this work properly. The main problem is that the parsing model doesn't have a proper way to separate real errors (e.g. invalid setting) from warnings (e.g. deprecations). This limitation has caused as problems also earlier and fixing it would be good, but that obviously requires some additional design and coding work.

from robotframework.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.