Opened 3 years ago

Closed 2 years ago

#2017 closed defect (fixed)

Translated String fixes from 0.9.31

Reported by: zzz Owned by: zzz
Priority: major Milestone: 0.9.35
Component: apps/i2psnark Version: 0.9.31
Keywords: Cc:
Parent Tickets: Sensitive: no


As found during 0.9.31 code review. Sample issues:

  • non-ngettext
  • awkward and/or hard-to-translate, need cleaner style
  • unnecessary or adds no info to text on screen, needs to add more info or be deleted
  • typos, made up words like "jumplinks"
  • tracker(s) style shouldn't be used
  • unescaped &

Mostly tooltips, i2psnark and i2ptunnel. Some of this may also be listed in #1996, review that also. Details to follow in comments below. Minor, but setting as a blocker for 0.9.32


Change History (7)

comment:1 Changed 3 years ago by zzz

Owner: changed from zzz to str4d
Status: newassigned

examples for starters, more to follow eventually

I2PSnarkServlet: non-ngettext (must be a single integer), the first number is connected peers, not necessarily unchoked, so 'downloading from' isn't correct, and the whole tooltip doesn't add much value.

        tooltip = _t("Seeding to {0} of {1} peers in swarm", curPeers, knownPeers);
        statusString = toThemeImg("downloading", "", _t("OK") + " (" + _t("Downloading from {0} of {1} peers in swarm", curPeers, knownPeers) + ")") + "</td>" +
        statusString = toThemeImg("stalled", "", _t("Stalled") + " (" + _t("Connected to {0} of {1} peers in swarm", curPeers, knownPeers) + ")") + "</td>" +

I2PSnarkServlet: ends with preposition (I think there's some in i2ptunnel also, to be found again)

        out.write(_t("Maximum number of peers to upload to"));

I2PSnarkServlet, help-reachability.jsi: don't use (s) suffix, rewrite without it

        out.write(_t("Delete the .torrent file and the associated data file(s)"));
        out.write(_t("Announce torrents to open trackers as well as tracker(s) listed in the torrent file"));
        .append(_t("Check integrity of the downloaded file(s)"))
     <%=intl._t("However, you will get more participating traffic and help the network more if you can open your firewall(s).")%>&nbsp;

i2ptunnel: 'etc' without '.', but would be better without 'etc.' at all

       <input type="text" id="customOptions" name="nofilter_customOptions" size="60" title="<%=intl._t("Advanced options to control tunnel priority etc")%>" value="<%=editBean.getCustomOptions(curTunnel)%>" class="freetext" spellcheck="false"/>

i2ptunnel: jumplinks isn't a word or even a made-up word we've ever used in our docs

         <textarea rows="2" style="height: 8em;" cols="60" id="hostField" name="jumpList" title="<%=intl._t("List of helper URLs to offer jumplinks from the web proxy error page when a host is not found in your addressbook")%>" wrap="off" spellcheck="false"><%=editBean.getJumpList(curTunnel)%></textarea>

i2ptunnel: examples of tooltips that are just UI clutter and work for translators, they add little to no value. Add real information or delete. This is just a sample.

                <select id="tunnelBackupQuantity" name="tunnelBackupQuantity" title="<%=intl._t("Number of Reserve Tunnels")%>" class="selectbox">
                <label title="<%=intl._t("Enable this option to ensure this service is available when the router starts")%>"><input value="1" type="checkbox" name="startOnLoad"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
                <%=intl._t("Automatically start tunnel when router starts")%></label>
              <a class="control" title="<%=intl._t("Generate a QR Code for this domain")%>" href="/imagegen/qr?s=320&amp;t=<%=name%>&amp;c=http%3a%2f%2f<%=name%>%2f%3fi2paddresshelper%3d<%=b64%>" target="_top"><%=intl._t("Generate QR Code")%></a>
              <a class="control" title="<%=intl._t("Add to Private addressbook")%>" href="/susidns/addressbook.jsp?book=private&amp;hostname=<%=name%>&amp;destination=<%=b64%>#add"><%=intl._t("Add to local addressbook")%></a>
              <a class="control" title="<%=intl._t("Register, unregister or change details for hostname")%>" href="register?tunnel=<%=curTunnel%>"><%=intl._t("Registration Authentication")%></a>
                <input type="text" id="clientHost" name="clientHost" size="20" title="<%=intl._t("I2CP Hostname or IP")%>" value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />
                <input type="text" id="clientPort" name="clientport" size="20" title="<%=intl._t("I2CP Port Number")%>" value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext" <% if (editBean.isRouterContext()) { %> readonly="readonly" <% } %> />
                <label title="<%=intl._t("Only clients with the encryption key will be able to connect")%>"><input value="1" type="checkbox" id="startOnLoad" name="encrypt"<%=(editBean.getEncrypt(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
                <%=intl._t("Only allow clients with the encryption key to connect to this server")%></label>
                <label title="<%=intl._t("Prevent clients from accessing this service via an inproxy")%>"><input value="1" type="checkbox" name="rejectInproxy"<%=(editBean.isRejectInproxy(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
                <%=intl._t("Block Access via Inproxies")%></label>
                <input type="text" name="maxStreams" title="<%=intl._t("Maximum number of simultaneous client connections")%>" value="<%=editBean.getMaxStreams(curTunnel)%>" class="freetext" />

Note: unescaped '&' temporarily fixed in 0.9.30-19-rc

Last edited 3 years ago by zzz (previous) (diff)

comment:2 Changed 3 years ago by str4d

Milestone: 0.9.320.9.33
Summary: Translated String fixes for 0.9.32Translated String fixes from 0.9.31
Version: 0.9.300.9.31

Bumping to 0.9.33 because the tag freeze window has passed. Apologies for not addressing the bugfixes from this ticket.

I think it would be a good idea to do a comprehensive review of strings. Sadie and I have been talking about overhauling the public-facing terminology anyway, and now that the UI revamp has settled down a bit, it makes would make sense to plan this as a single unit of work. I'll make a new parent ticket for that.

comment:3 Changed 3 years ago by str4d

Milestone: 0.9.330.9.34

Bumping to 0.9.34 as the tag freeze window has passed. Most of the above is also addressed in another UI patch set I have locally, but have not yet managed to merge into master.

comment:4 Changed 3 years ago by zzz

OK please don't let this slip again, two releases missed for a so-called "blocker", please get in for .34, that's what "blocker" means

I'd also like to add to the list: "I2PMail" as one word, seems like a bad idea, let's make it two words or scrap it, and be consistent everywhere. It's "Email" on the console, "I2PMAIL" on the top of the login page, "I2P mail" on the button at the bottom of the login page, and "SusiMail?" in the browser title once you log in. We can discuss which is best.

comment:5 Changed 3 years ago by zzz

Owner: str4d deleted
Priority: blockermajor

Unassigning and marking non-blocker as per 2018-04-03 meeting. Help wanted.

comment:6 Changed 2 years ago by zzz

Milestone: 0.9.340.9.35
Owner: set to zzz
Status: assignedaccepted

comment:7 Changed 2 years ago by zzz

Resolution: fixed
Status: acceptedclosed

Most of comment 1 fixed.
Didn't remove any i2ptunnel tooltips, may as well keep them since they are all translated by now, except for one with a misspelled word
Consolidated most mail references to "Email"
In b66ade6c0a3ee437cdfface9f1e7cf743da029fc to be 0.9.34-16

Note: See TracTickets for help on using tickets.