Giter Club home page Giter Club logo

lang's Introduction

OPNsense language translation kit

The kit requires additional tools in order to properly extract strings from the source code. You'll need to run this once locally:

# pkg install gettext-tools p5-Locale-Maketext-Lexicon python39
# cd /usr/local/bin && ln -sfn python3.9 python3

Fetch the latest translations (having set up poeditor.apikey file):

# make fetch

Test the updated translations for errors or run a cleanup if necessary:

# make test
# make cleanse

At this point a release can be tagged and used for building a new language package via ports.git/opnsense/lang port.

In order to get new strings into the template the source strings that cannot be found in the template generation step (XML contents, etc.) must be executed first:

# make src

Regenerate the translation template using:

# make template

The POT file can be uploaded at this point. Then merge the latest template changes into the actual translations by using fetch again:

# make fetch

Remove the compiled translation files from the system/chroot:

# make clean

Translation guidelines

  • Translation platform POEditor can be found under https://translate.opnsense.org/
  • Translations that need further work are better than no translations. Do not be shy. :)
  • Languages translated under 30% are considered development only.
  • Punctuation and spacing should be kept as in the original string even though it looks stupid. Strings like "test: 1234" should not be translated to "test : 1234". Same goes for parentheses, etc.
  • Errors in original strings should be brought up by comment so they can be fixed in the code. These original string fixes take time to get to back into POEditor. It is more important they are fixed in the code than to translate the faulty ones.
  • If you feel the context is ambiguous or unclear, please report the strings
  • HTML in strings should be reported as well.
  • If you find you have to reorder dynamic arguments like "test %s is %s", you can use "is %2$s test %1$s", In this case all arguments must be numbered.
  • We are going to pull in translations directly from POEditor just before a release so as long as you use POEditor to translate your progress will automatically be merged.
  • Since mixed forms like "interface(s)" cannot be avoided in the English translation template for historic reasons, translators should try to treat them as plurals without parenthesis.

lang's People

Contributors

adschellevis avatar antonio-prado avatar evbevz avatar fichtner avatar kekek2 avatar kulikov-a avatar matsimon avatar thehacker avatar yakupad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lang's Issues

Template renewal

@fichtner there is nealy no progress on pootle, so can you renew the pot file as we are going to reach 17.7 soon?

NL translation

Hi,

I just forked the repo and will have some time soon to correct and complete the dutch po files.
Would you accept a PR?
(I ask this mainly because I want to ensure that I not waste your/my time)

KR, Rene

System Information widget (translation)

Good afternoon, I can not understand the translation of the widget "System Information":

  1. The title of the widget " System Information "is missing in"POEditor".
  2. The "CPU type" field has already been translated, but the widget is displayed incorrectly.
  3. The "MBUF usage" field, similar.

image
image
image
image

translate.opnsense.org: This project can't accept new contributors at this time. Please try again later.

The readme indicates that you should contribute translation updates using the service provided by poeditor.com, however after registering, and then attempting to join the project I get:

This project can't accept new contributors at this time. Please try again later.

Is this still the right / expected way to contribute translations or have things changed?

BTW, this error is the reason for PR #66.

maltrail: wrong translation (german)

The translation for maltrail should not be mailtrail as it doesn't mean mail :)

menu screenshot:

grafik

in translation file de_DE.po

msgid "Maltrail"
msgstr "Mailtrail"

should be

msgid "Maltrail"
msgstr "Maltrail"

Add new language

Hi
I want to translate opnsense to new language (Persian/Farsi), but I cant do that in Poeditor.
can some one do that for me, to start translation?
Thanks

find a solution for excessive padding in XML formatted messages

This is still a big problem eating a lot of time fixing gettext errors for "wrong" translations due to excessive whitespace padding due to well-intentioned XML formatting of sentences in help texts.

The solution is probably a bigger chunk of work and we need to retain backwards compat with the current way... maybe we only have this problem with help texts anyway.

Vietnamese language

I would like to contribute mini Vietnamese language project. I was creating vn_VN.po from original en_US. Hope receive approval from OPN Sense founders and all contributors.

Thank you All.

german updates

German is now back at 80% so the updates should go into the next release.

Template renewal

@fichtner it might be a good idea to update the templates as there have been some plugins added since. At least:

  • mdns-repeater
  • c-icap
  • clamav

Those plugins are currently missing in the translation files.

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.