2.0.0 • Published 2 months ago

ilib-lint-python v2.0.0

Weekly downloads
-
License
-
Repository
-
Last release
2 months ago

ilib-lint-python

An ilib-lint plugin that provides the ability to parse po files and provides rules to check resources that come from code written in python.

Installation

npm install --save-dev ilib-lint-python

or

yarn add --dev ilib-lint-python

Then, in your ilib-lib-config.json, add a script:

    "plugins": [
        "python"
    ],

Please note: nodejs version 14 or above is required to run ilib-lint, as it is written with ESM modules.

Rules

The following rules apply to any resources from any file type, but are designed to check resources that come from python code:

  • resource-python-fstrings-match - check that any python-style substitution parameters for f-strings (like "{name}" or "{2}") that appear in the source string also appear in the target strings.
  • resource-python-fstrings-numbered - check that if the source string contains more than one substitution parameter in the f-strings style, then the parameters are properly named or numbered so that the translators can rearrange them as needed by the grammar of the target language.
  • resource-python-legacy-match - check that any legacy python-style substitution parameters (like "%(name)s" or "%(name)d") that appear in the source string also appear in the target strings.
  • resource-python-template-match - check that any Template class-style substitution parameters (like "$name" or "$age") that appear in the source string also appear in the target strings.

RuleSets

This plugin defines one ruleset python that will turn on all the rules that this plugin supports. Users may rely on this ruleset when defining their file types.

License

Copyright © 2023-2024, JEDLSoft

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

Release Notes

v2.0.0

  • Updated dependency from i18nlint-common to ilib-lint-common
    • IntermediateRepresentation now takes a SourceFile as an parameter to the constructor instead of a file path
    • can now be loaded by ilib-lint >= v2

v1.1.2

  • updated dependencies
  • converted all unit tests from nodeunit to jest

v1.1.1

  • fixed a bug where doubled curly braces (= escaped curly braces) were interpreted as replacement parameters
  • updated dependencies

v1.1.0

  • updated dependencies
  • update to i18nlint-common 2.x which requires the use of an intermediate representation

v1.0.3

  • Fixed a bug where a numeric parameter in the target FString, such as "{0}" would cause an exception

v1.0.2

  • Fix bug with parsing whitespace in params
    • allow for whitespace in the susbstitution parameter so that {name} = { name }
    • match based on the name only, but highlight the whole text of the parameter when there is an error

v1.0.1

  • updated dependencies

v1.0.0

  • initial version
  • Rules for python resources
2.0.0

2 months ago

1.1.2

7 months ago

1.1.1

10 months ago

1.1.0

12 months ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago