Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update test module interface documentation #1325

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

mattias-p
Copy link
Member

Purpose

I started out making this update because I felt we need a good and up to date definition of the test module interface.

Context

Having a clear definition of the test module interface will be useful when we design the custom test module feature and in turn when people make use of it.

Changes

The justification for this PR is the added and updated details. While this PR contains some amount of new details most of the diff comes from formatting and editing and moving things around. Some older language and terminology is also updated to be more precise and contemporary. I may have got a little carried away but I believe the end result is good.

How to test this PR

N/A

@mattias-p mattias-p added this to the v2024.1 milestone Mar 14, 2024
@mattias-p mattias-p force-pushed the test-module-interface branch 3 times, most recently from 37d4f14 to 1cf36f6 Compare March 15, 2024 10:07
@mattias-p
Copy link
Member Author

@matsduf @marc-vanderwal @tgreenx Please review. I've rebased this on top of latest develop.

tgreenx
tgreenx previously approved these changes Apr 30, 2024
lib/Zonemaster/Engine/TestModuleInterface.pod Outdated Show resolved Hide resolved
Copy link
Contributor

@matsduf matsduf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related issues are referred to as "localization", "translation" and "internationalization". Unnecessary confusion. I suggest that translation is used in all places.

@@ -11,41 +13,17 @@ All translation files live in the F<share> directory in the
L<Zonemaster::Engine> source directory and all commands described here are
executed from that directory.

=head2 For translators
=head1 FOR TRANSLATORS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The file name is "Localization" but it is only about translation.

Perl to read the code and verify that it correctly implements the corresponding
Test Case specifications.

=head2 Internationalization
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not about internationalization. It is related to translation, but mostly about the mechanism where a tag is replaced by human language, humanization?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“Internationalization” is the industry-standard term for the process of modifying software so as to make it adaptable to different languages and customs (e.g. right-to-left scripts, formatting of numbers, etc.). The use of message tags instead of hard-coded messages in English is the way Zonemaster implements internationalization.


=item

The zone object it's given has a parent.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessarily. The root zone has no parent. And a undelegated zone can be tested even if it is not possible to determine its parent-to-be.


=item

The zone object it's given has glue records.
Copy link
Contributor

@matsduf matsduf Apr 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessarily. But if not testing will fail at Basic02.

mattias-p and others added 2 commits May 6, 2024 14:55
Co-authored-by: tgreenx <96772376+tgreenx@users.noreply.github.com>
@mattias-p
Copy link
Member Author

@matsduf

Regarding "internationalization" and "localization", I didn't make this up. It's actually well established terminology in the industry. See https://en.wikipedia.org/wiki/Internationalization_and_localization.

Regarding the "Make few assumptions" section, I didn't make this up either. It is what our current documentation says. I simply moved it to a better place. It's good that you spotted these flaws in our documentation but I feel they're out of scope for this PR.

@matsduf
Copy link
Contributor

matsduf commented May 6, 2024

Even if "internationalization" and "localization" are established terms the documentation could be less confusing if it concretely explains what it is all about.

@mattias-p
Copy link
Member Author

@matsduf I believe the documentation is quite concrete already. It explains what translators and developers need to do and what they need to think about, and I believe we have a decent linking structure that directs people to the right places. I'll add a link to the Wikipedia page. Would that be enough or do you have anything else in mind?

@tgreenx tgreenx modified the milestones: v2024.1, v2024.2 Jun 12, 2024
@@ -19,6 +17,7 @@ lib/Zonemaster/Engine/ASNLookup.pm
lib/Zonemaster/Engine/Constants.pm
lib/Zonemaster/Engine/DNSName.pm
lib/Zonemaster/Engine/Exception.pm
lib/Zonemaster/Engine/Localization.pod
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Translation.pod was a better file name.


=head2 Introduction
Zonemaster::Engine::Localization - On L<localization|https://en.wikipedia.org/wiki/Internationalization_and_localization>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What should the users use the link for?

The text is about translation. What is the problem to call it "Translation"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants