<!-- 
RSS generated by JIRA (8.13.3#813003-sha1:22ebedbb75c99b147c66f14e031dd8a2d214753a) at Sat Feb 10 07:16:26 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Jira</title>
    <link>https://jira.astppbilling.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.13.3</version>
        <build-number>813003</build-number>
        <build-date>14-01-2021</build-date>
    </build-info>


<item>
            <title>[ASTPPCOM-360] Use Async callback for i18n</title>
                <link>https://jira.astppbilling.org/browse/ASTPPCOM-360</link>
                <project id="10608" key="ASTPPCOM">ASTPP Community</project>
                    <description>&lt;p&gt;At the moment, all i18n is done via a sync callback.  This can be resolved in two ways:&lt;/p&gt;

&lt;p&gt;1. Request all i18n requests in one call, which will still be sync, but will be significantly faster&lt;br/&gt;
2. Use callbacks to update the text after it&apos;s displayed (or, before). This can use browser storage to speed up the display, as only the first one will be slow. Then you&apos;d have a function that checks browser storage, and if it&apos;s there, returns that, and THEN does a request for gettext and updates browser storage (and the page) if the text has changed.&lt;/p&gt;</description>
                <environment></environment>
        <key id="12180">ASTPPCOM-360</key>
            <summary>Use Async callback for i18n</summary>
                <type id="10000" iconUrl="https://jira.astppbilling.org/secure/viewavatar?size=xsmall&amp;avatarId=10318&amp;avatarType=issuetype">Task</type>
                                                <status id="10001" iconUrl="https://jira.astppbilling.org/images/icons/status_generic.gif" description="">Done</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="xrobau">Rob Thomas</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 Apr 2018 03:30:52 +0530</created>
                <updated>Wed, 9 Oct 2019 16:24:22 +0530</updated>
                            <resolved>Fri, 6 Apr 2018 02:29:59 +0530</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                <comments>
                            <comment id="13242" author="smrdoshi" created="Wed, 4 Apr 2018 19:08:43 +0530"  >&lt;p&gt;Thanks for the suggestion and it seems that will improve the UI speed but here I am not pretty clear with Async callback and how it should work? Do you have any reference or doc which we can refer? &lt;/p&gt;</comment>
                            <comment id="13243" author="xrobau" created="Thu, 5 Apr 2018 01:02:05 +0530"  >&lt;p&gt;I probably should ask which would you prefer? I&apos;m happy to do either, but I think the async call will be better. &lt;/p&gt;

&lt;p&gt;The other problem is that you&apos;re going to have to ugprade jQuery from 1.7.1 to something that was written when chrome existed 8)  Is there any particular reason you&apos;re bundling it, rather than using one of the CDN hosted versions?&lt;/p&gt;
</comment>
                            <comment id="13244" author="smrdoshi" created="Thu, 5 Apr 2018 11:08:35 +0530"  >&lt;p&gt;I do not know how async works. So before commenting on sync and async, I need to study about that. That is why I asked if you have any reference code or guide then please share with me. &lt;/p&gt;

&lt;p&gt;Regarding jquery 1.7.1, Nope when we started using that, we assumed that it will be faster and safe to use it from the local folder rather than using CDN hosted version. Moreover, at the moment, we are using flexigrid which requires same version. &lt;/p&gt;

&lt;p&gt;Now we are going to use latest version of jquery and replace flexigrid with datatables as that is more flexible &amp;amp; responsive. &lt;/p&gt;</comment>
                            <comment id="13245" author="xrobau" created="Fri, 6 Apr 2018 00:33:51 +0530"  >&lt;p&gt;Well, without looking too hard at the code, you&apos;re currently generating a string and then returning it. I would probably just do something like (and this is totally untested, and off the top of my head).&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: `.&lt;/span&gt; Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml&lt;/div&gt;&lt;pre&gt;
&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; i18n = [ &lt;span class=&quot;code-quote&quot;&gt;&quot;These&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;are&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;the&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;words&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;to&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;be&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;translated&quot;&lt;/span&gt; ];
&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; table = $(&lt;span class=&quot;code-quote&quot;&gt;&quot;&amp;lt;table&amp;gt;&amp;lt;/table&amp;gt;&quot;&lt;/span&gt;);
&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; tr = $(&lt;span class=&quot;code-quote&quot;&gt;&quot;&amp;lt;tr&amp;gt;&amp;lt;/tr&amp;gt;)&quot;&lt;/span&gt;;

$.each(i18n, function(v) { tr.append(&lt;span class=&quot;code-quote&quot;&gt;&quot;&amp;lt;th id=&lt;span class=&quot;code-quote&quot;&gt;&apos;translate-&quot;&lt;/span&gt;+v+&lt;span class=&quot;code-quote&quot;&gt;&quot;&apos;&lt;/span&gt;&amp;gt;&quot;&lt;/span&gt;+getTranslation(v)+&lt;span class=&quot;code-quote&quot;&gt;&quot;&amp;lt;/th&amp;gt;&quot;&lt;/span&gt;); updateTranslation(v) });

function getTranslation(v) {
    &lt;span class=&quot;code-comment&quot;&gt;// look up v in local browser store, &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; it &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; exists
&lt;/span&gt;}

function updateTranslation(v) {
  $.ajax({
    url: blah,
    data: &lt;span class=&quot;code-quote&quot;&gt;&quot;?gettranslation=&quot;&lt;/span&gt;+v,
    success: function(data) {
        $(&lt;span class=&quot;code-quote&quot;&gt;&quot;#translation-&quot;&lt;/span&gt;+v).text(data);
        updateTranslation(v, data);
    }
  });
}

function updateTranslation(v, data) {
    &lt;span class=&quot;code-comment&quot;&gt;// update local browser data store
&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;Hopefully that explains what I mean.   You don&apos;t actually need to reference the ID, either - you could just pass the jquery th object and update that as part of the ajax callback.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10703" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>360</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10006" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i00auv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>