strings not always incorporated into webpack chunk hash

Hello!
At twitter, we've found that sometimes when a string is modified, the hash in the i18n chunk names do not change. This causes issues with our cdn, which does not support modifying pre-existing assets.
The underlying issue appears to be that while importing react-globalize is sufficient for a modules strings to end up in the i18n chunk, a module must also import globalize (even if it does not use it) for its strings to be incorporated into the webpack chunk hash.
I've put together a small repro here.

Hi @rxaviers. In looking a bit more at this issue, I was thinking about putting together a PR that would touch this project and globalize-webpack-plugin. It would look roughly like:

in globalize-webpack-plugin: change GlobalizePlugin to accept a moduleFilter attribute. The default value would be (x) => x === 'globalize'. Change all 'globalize' module checks to use moduleFilter instead
in react-globalize-webpack-plugin: change ReactGlobalizePlugin to create a GlobalizePlugin using a moduleFilter that accepts either 'globalize' or 'react-globalize'.

I think this will fix the issue. Would you be open to this?

Hi @jbellenger, thanks for you detailed issue report and for describing your solution ideas. Please, give me a couple of days that I will go through it and get back to you.

The underlying issue appears to be that while importing react-globalize is sufficient for a modules strings to end up in the i18n chunk, a module must also import globalize (even if it does not use it) for its strings to be incorporated into the webpack chunk hash.

The reason why importing react-globalize (and not globalize) is sufficient for modules strings to end up in the i18n chunk is that ReactGlobalizePlugin statically extracts what's important for react-globalize and then pass those to GlobalizePlugin when it's doing the final i18n chunk creation (note request is undefined here, therefore all default messages and all react-globalize extracs are used).
The reason why importing react-globalize (and not globalize) fails to be incorporated into the webpack chunk hash is that (as you figured out) it doesn't get acknowledged individually by GlobalizePlugin and therefore doesn't get computed by GlobalizePlugin.

I've put together a small repro here.

Your interpretation is correct, although I'm afraid we cannot do what you suggest to fix it. GlobalizePlugin replaces require("globalize") with require() for each file where it's found. This operation is correct. Although, we cannot replace a require("react-globalize") for that, because it would skip the actual react-globalize import.
Slightly different from your suggestion, perhaps we could try two things:

In ReactGlobalizePlugin, replace require('react-globalize') with require('react-globalize'); require('globalize'). I assume GlobalizePlugin would catch this subsequent added require('globalize') and would process things as it should. Needs check.
ReactGlobalizePlugin to tell GlobalizePlugin it should include a certain request in its cache of compiled modules https://github.com/rxaviers/globalize-webpack-plugin/blob/master/GlobalizeCompilerHelper.js#L35.

Having said all that, I have some additional considerations:

Requiring developers to import globalize in the same file where react-globalize is used is definitely the easiest workaround. We should update ReactGlobalizePlugin documentation citing that workaround in the meantime this issue isn't properly fixed.
We should definitely incorporate the tests you created in https://github.com/jbellenger/react-globalize-webpack-plugin-testcase in the GlobalizePlugin and ReactGlobalizePlugin libraries.

Thanks for the detailed follow-up!

GlobalizePlugin replaces require("globalize") with require() for each file where it's found, which is correct. We cannot do the same with require("react-globalize") though, it would skip the actual react-globalize import

Gotcha. I hacked this in and see the issue you're describing.

In ReactGlobalizePlugin, replace require('react-globalize') with require('react-globalize'); require('globalize'). I assume GlobalizePlugin would catch this subsequent added require('globalize') and would process things as it should.

I tried modifying r-g-w-p to inject a CommonJsRequireDependency in the same manner that  g-w-p does, but could not get this to work. This seems like the easiest option, so it may be worth revisiting.

Alternatively, we could get ReactGlobalizePlugin to tell GlobalizePlugin it should include a certain request in its cache of compiled modules.

I took a crack at this and found that it worked without too much fuss. I'll put up a PR tomorrow.

Excellent!

Seeing as this will touch two modules and I'm new to these lands, I reckon it's good to get feedback on the big picture before putting up PRs.
Some slap-dash pseudo code for what I'm looking to change:
globalize-webpack-plugin:
Move the guts of call require:commonjs:item handling to a new event, tentatively named 'globalize-handle-module'. The result would look like:
parser.plugin('globalize-handle-module', function(request, expr, param, replace) {
  // createCompiledDataModule
  // update globalizeSkipAMDPlugin
  // add CommonJsRequireDependency for param
  // return replace (boolean)
});
parser.plugin("call require:commonjs:item", function(expr, param) {
  if (param is globalize and request is not compiledDataModule) {
    compiler.applyPlugins('globalize-handle-module', request, expr, param, true);
  }
});

react-globalize-webpack-plugin:
In handling of call require:commonjs:item, trigger new event globalize-handle-module:
compiler.parser.plugin('call require:commonjs:item', function(expr, param) {
  if (param is react-globalize) {
    // do extractions
    ...
    compiler.parser.applyPlugins('globalize-handle-module', request, expr, param, false)
  }
});

Remarks:

The globalize-handle-module event is added here as a convenient way to call into an instance of a globalize-webpack-plugin *ModePlugin. I'm not too familiar with webpack conventions, but this seems counter to my impression that events are usually called as optional hooks rather than function-like things. ¯_(ツ)_/¯
This changes r-g-w-p to trigger an event so that g-w-p may trigger another event that r-g-w-p then handles. When I first started looking at these two modules I had (and continue to have) a hard time understanding their interaction. The proposed change does not simplify the modules relationship.

bump

Hi @jbellenger sorry for the delay, your summary looks correct to me. About your remarks, thanks for the clarity and if you have new ideas to overcome them just let me know. Thanks

Hi @jbellenger do you still see this issue? Thanks


Metrics/BlockLength not respecting 'Max' parameter

I have the following set in my .rubocop.yml:
Metrics/BlockLength:
  Exclude:
    - db/schema.rb
  Max: 50

The max length of a block allowed should be 50 lines long, however it gives me an error for a block that is 28 lines long:
config/environments/development.rb:3:1: C: Metrics/BlockLength: Block has too many lines. [28/25]
Rails.application.configure do ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I have verified that the .rubocop.yml is a valid YAML. I have also verified this also occurs on CI. I'm running rubocop version 0.63.1.
Expected behavior
No error outputted.
Actual behavior
See above.
Steps to reproduce the problem
See above.
RuboCop version
$ rubocop -V
0.63.1 (using Parser <IP_ADDRESS>, running on ruby 2.5.1 x86_64-linux)

Could you give me more information?  I've also set up CI on that repo to show the problem.

Ah I figured it out, I accidentally put Metrics/BlockLength twice in my .rubocop.yml, the second one took precedence over the first.

I see. Thanks for your reporting! @peterzhu2118


"test_1.py" is not a good sample

test_1.py almost raises a traceback here:
a = Aleatoryous("aleatory.roulette", "ba ba boo")

Because the aleatory.roulette mode only accepts list or tuples as a supply. So it raises an error. The test was intended to show what is going to be raised to compare with what we expected.  It exits really fast.
I don't think that is a good way to test aleat3. There must be another way to show the same feature.

That is my first solution. Is it OK?

Maybe this issues can be solved for version 0.2.9, that is comming soon. Let's label it.

test_1.py has conflicts with PR #15 . So, the solution hasn't come yet. Let's keep working on it.

The actual test_1.py has conflicts with PR #15 .

Everything's caught. This is the most probable solution for the test_1.py issue.

Completely done PR #15 is the solution.


Skip "newly added code executes during hot restart - canvaskit"

https://ci.chromium.org/ui/p/flutter/builders/prod/Windows web_tool_tests/2880/overview

@jonahwilliams is there a better issue to link to for the canvaskit download issue?

Maybe @yjbanov would also know

Landing on red to green the tree.


[WIP] Update to graphframes 0.6

Closes #9

Note that graphframes 0.6 jars are only built for Spark 2.2+, so PR needs to be modified to fall back to 0.5 when Spark <= 2.0 is detected.


Add new random cheatcodes

ref https://github.com/foundry-rs/foundry/pull/7960

Was going to implement this but have a question first—left comments on https://github.com/foundry-rs/foundry/pull/7960

@mattsse bump on https://github.com/foundry-rs/foundry/pull/7960#discussion_r1619015391

Closed by https://github.com/foundry-rs/forge-std/pull/572


remove unneeded whitespace in collect the clover tutorial

trim the whitespace within each line of the background images in the collect the clovers tutorial, as the only meaningful whitespace in the images will be the new line characters.
I think this will fix the build so stuff gets uploaded again? at the very least, it should cut 96000 words on crowdin down to 600, as right now each pixel in the image is getting treated as a separate word

oh my that's good. maybe the editor should switch to "compact mode" for images larger than 16x16


Add IRC badge

Unless there's somewhere else it's advertised?

:fire: It's not a square! :fire:
haha, other than that I'm +1 (':

hah! my bad, fixed

haha, merge commits? 😛

:O so much power

haha, I meant: "could you merge the commits into one commit" - but this is fine :grin: - someday I'll write a commit linter to make everyone adhere to my commit style. Until then... ah well, who cares

oh! haha my bad, should have done an --amend


[android] Missing translations

Language file: ./res/values-ro/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-te/strings.xml
99% completed
Missing elements:

<string name="transfer_status_demuxing">Demuxing</string>
<string name="http_download_status_uncompressing">Uncompressing</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-ru/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-it/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-cs/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-ja/strings.xml
99% completed
Missing elements:

<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-el/strings.xml
99% completed
Missing elements:

<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-da/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-mr/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-ms/strings.xml
92% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="could_not_open_transfer_detail_invalid_infohash">Could not open Transfer Details, invalid InfoHash</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-be/strings.xml
99% completed
Missing elements:

<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-pl/strings.xml
88% completed
Missing elements:

<string name="vpn_client_feature_2_ExpressVPN">Unlimited download speed</string>
<string name="vpn_client_feature_3_ExpressVPN">Private and logless browsing</string>
<string name="transfers_context_stop_seeding_all_transfers">Stop seeding all transfers</string>
<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="the_more_you_give_the_more_you_receive">The more you give the more you receive</string>
<string name="seed_stop">Stop seeding</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="vpn_money_back_PIA">7-day money-back guarantee</string>
<string name="seed_all_finished">Seed All Finished</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="would_you_like_to_seed_your_finished_torrent_transfers">Would you like to seed your finished torrent transfers?</string>
<string name="vpn_suggestion_nordvpn">NORDVPN \n Free 7-day trial</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="vpn_client_feature_4_ExpressVPN">24/7 customer support</string>
<string name="number_of_files">Number of files</string>
<string name="nothing_is_currently_seeding">Nothing is currently seeding</string>
<string name="frostwire_start_engine_service_security_exception">FrostWire could not start properly due to lack of permissions. Please grant the required permissions and restart the application</string>
<string name="pieces_header">Pieces:</string>
<string name="cant_seed_torrent_transfers">Cannot seed torrent transfers. Check status of "Settings" > "BitTorrent Connection Status"</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="seeding_keeps_the_network_healthy">Seeding helps keeps the network healthy</string>
<string name="vpn_money_back_ExpressVPN">30-day money-back guarantee</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="visit_vpn_client_PIA">Visit Private Internet Access</string>
<string name="transfers_select_seeding">seeding</string>
<string name="sequential_download">Sequential download</string>
<string name="get_PIA">Get Private Internet Access</string>
<string name="vpn_client_ExpressVPN">ExpressVPN</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="vpn_client_feature_3_PIA">Solid infrastructure: worldwide coverage</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="seeding_is_currently_disabled">Seeding is currently disabled</string>
<string name="add">Add</string>
<string name="transfers_context_seed_all_transfers">Seed all finished transfers</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="visit_vpn_client_ExpressVPN">Visit ExpressVPN</string>
<string name="total_size">Total size</string>
<string name="vpn_client_feature_2_PIA">Really easy to use (we like easy!)</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="could_not_open_transfer_detail_invalid_infohash">Could not open Transfer Details, invalid InfoHash</string>
<string name="vpn_client_feature_4_PIA">24/7 VPN Support</string>
<string name="vpn_find_out_more">Find out more</string>
<string name="vpn_client_feature_1_ExpressVPN">Military-grade encryption</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="vpn_client_feature_1_PIA">No logging</string>
<string name="piece_size_header">Piece Size:</string>
<string name="vpn_client_PIA">Private Internet Access</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-vi/strings.xml
99% completed
Missing elements:

<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-sv/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-sk/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-ur/strings.xml
99% completed
Missing elements:

<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-tr/strings.xml
92% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="could_not_open_transfer_detail_invalid_infohash">Could not open Transfer Details, invalid InfoHash</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-th/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-iw/strings.xml
92% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="could_not_open_transfer_detail_invalid_infohash">Could not open Transfer Details, invalid InfoHash</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-fi/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-id/strings.xml
92% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="frostwire_start_engine_service_security_exception">FrostWire could not start properly due to lack of permissions. Please grant the required permissions and restart the application</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="could_not_open_transfer_detail_invalid_infohash">Could not open Transfer Details, invalid InfoHash</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-fr/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-es/strings.xml
99% completed
Missing elements:

<string name="m_of_n_decimals">%1$d of %2$d</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-hr/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-hu/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-nl/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-bg/strings.xml
99% completed
Missing elements:

<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-af/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-nb/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-hi/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-de/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-ko/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-ar/strings.xml
99% completed
Missing elements:

<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-pt/strings.xml
100% completed

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-zh/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-uk/strings.xml
92% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="could_not_open_transfer_detail_invalid_infohash">Could not open Transfer Details, invalid InfoHash</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="invalid_tracker_url">Invalid Tracker URL</string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Language file: ./res/values-sr/strings.xml
93% completed
Missing elements:

<string name="uploaded">Uploaded</string>
<string name="trackers">Trackers</string>
<string name="source_type">Source: %1$s</string>
<string name="transfer_detail_storage_header">Storage Path:</string>
<string name="seeding_time">Seeding time</string>
<string name="working">Working</string>
<string name="one_file_shared">One file has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="pieces">Pieces</string>
<string name="upload_limit">Upload limit</string>
<string name="enter_valid_tracker_url_here">Enter valid tracker url here</string>
<string name="add_trackers">Add trackers</string>
<string name="edit">Edit</string>
<string name="active_time">Active time</string>
<string name="status">Status</string>
<string name="speed_limits">Speed limits</string>
<string name="created_on">Created on</string>
<string name="number_of_files">Number of files</string>
<string name="pieces_header">Pieces:</string>
<string name="share_ratio">Share ratio</string>
<string name="download_limit">Download limit</string>
<string name="seeding_on">Seeding ON</string>
<string name="edit_tracker">Edit tracker</string>
<string name="down_speed">Down speed</string>
<string name="completed">Completed</string>
<string name="unprotected_connections_visibility_bullet_html"><![CDATA[ Your privacy is a fundamental human right. An unprotected connection means everything you do online including downloads, searches, messaging, can be monitored and intercepted by anyone on your network, e.g. Internet Service Providers, hackers, governments.

We STRONGLY recommend using a VPN service.
 Here are some options that provide reliable service and work well with FrostWire:]]></string>
<string name="downloaded">Downloaded</string>
<string name="n_peers">%1$d PEERS</string>
<string name="sequential_download">Sequential download</string>
<string name="downloaded_n">Downloaded %1$s / </string>
<string name="transfer_detail_title_header">Name:</string>
<string name="n_files_shared">%d files has been shared to FrostWire devices on the same Wi-Fi network.</string>
<string name="time_elapsed">Time elapsed</string>
<string name="remove_tracker">Remove tracker</string>
<string name="comment">Comment</string>
<string name="up_speed">Up speed</string>
<string name="add">Add</string>
<string name="time_left">Time left</string>
<string name="n_files">%1$d FILES</string>
<string name="total_size">Total size</string>
<string name="show_torrent_details">Show Torrent Details</string>
<string name="uploaded_n">Uploaded %1$s</string>
<string name="m_of_n_decimals">%1$d of %2$d</string>
<string name="details">Details</string>
<string name="protected_connections_visibility_bullet_html"><![CDATA[ You\'re connected to the Internet using a VPN.

 If you are not already, we recommend using one of the services below to encrypt your connection and safeguard your privacy. ]]></string>
<string name="title_activity_transfer_detail">Transfer Detail</string>
<string name="piece_size_header">Piece Size:</string>
<string name="add_tracker">Add tracker</string>
========================================================================

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

ping @alejandroarturom

still a long way to go on this one @alejandroarturom
...
/Users/gubatron/workspace.frostwire/frostwire/android/res/values/strings.xml:791: Error: "frostwire_start_engine_service_security_exception" is not translated in "az" (Azerbaijani), "ca" (Catalan), "et" (Estonian), "eu" (Basque), "id" (Indonesian), "in" (Indonesian), "ku" (Kurdish), "lb" (Luxembourgish), "lt" (Lithuanian), "lv" (Latvian), "pl" (Polish), "si" (Sinhala), "ta" (Tamil) [MissingTranslation]
    <string name="frostwire_start_engine_service_security_exception">FrostWire could not start properly due to lack of permissions. Please grant the required permissions and restart the application</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/gubatron/workspace.frostwire/frostwire/android/res/values/strings.xml:792: Error: "play_store_out_of_sync" is not translated in "az" (Azerbaijani), "ca" (Catalan), "et" (Estonian), "eu" (Basque), "in" (Indonesian), "ku" (Kurdish), "lb" (Luxembourgish), "lt" (Lithuanian), "lv" (Latvian), "pl" (Polish), "si" (Sinhala), "ta" (Tamil) [MissingTranslation]
    <string name="play_store_out_of_sync">Play Store needs to synchronize, wait a few minutes</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "MissingTranslation":
   If an application has more than one locale, then all the strings declared
   in one language should also be translated in all other languages.

   If the string should not be translated, you can add the attribute
   translatable="false" on the <string> element, or you can define all your
   non-translatable strings in a resource file called donottranslate.xml. Or,
   you can ignore the issue with a tools:ignore="MissingTranslation"
   attribute.

   By default this detector allows regions of a language to just provide a
   subset of the strings and fall back to the standard language strings. You
   can require all regions to provide a full translation by setting the
   environment variable ANDROID_LINT_COMPLETE_REGIONS.

   You can tell lint (and other tools) which language is the default language
   in your res/values/ folder by specifying tools:locale="languageCode" for
   the root <resources> element in your resource file. (The tools prefix
   refers to the namespace declaration http://schemas.android.com/tools.)

816 errors

But we don't have language files for
"az" (Azerbaijani), "ca" (Catalan), "et" (Estonian), "eu" (Basque),
and others. Should I create them?
El mar., 3 jul. 2018 a las 23:12, Angel Leon<EMAIL_ADDRESS>escribió:

still a long way to go on this one @alejandroarturom
https://github.com/alejandroarturom
...
/Users/gubatron/workspace.frostwire/frostwire/android/res/values/strings.xml:791: Error: "frostwire_start_engine_service_security_exception" is not translated in "az" (Azerbaijani), "ca" (Catalan), "et" (Estonian), "eu" (Basque), "id" (Indonesian), "in" (Indonesian), "ku" (Kurdish), "lb" (Luxembourgish), "lt" (Lithuanian), "lv" (Latvian), "pl" (Polish), "si" (Sinhala), "ta" (Tamil) [MissingTranslation]
FrostWire could not start properly due to lack of permissions. Please grant the required permissions and restart the application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/gubatron/workspace.frostwire/frostwire/android/res/values/strings.xml:792: Error: "play_store_out_of_sync" is not translated in "az" (Azerbaijani), "ca" (Catalan), "et" (Estonian), "eu" (Basque), "in" (Indonesian), "ku" (Kurdish), "lb" (Luxembourgish), "lt" (Lithuanian), "lv" (Latvian), "pl" (Polish), "si" (Sinhala), "ta" (Tamil) [MissingTranslation]
Play Store needs to synchronize, wait a few minutes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Explanation for issues of type "MissingTranslation":
If an application has more than one locale, then all the strings declared
in one language should also be translated in all other languages.
If the string should not be translated, you can add the attribute
translatable="false" on the  element, or you can define all your
non-translatable strings in a resource file called donottranslate.xml. Or,
you can ignore the issue with a tools:ignore="MissingTranslation"
attribute.
By default this detector allows regions of a language to just provide a
subset of the strings and fall back to the standard language strings. You
can require all regions to provide a full translation by setting the
environment variable ANDROID_LINT_COMPLETE_REGIONS.
You can tell lint (and other tools) which language is the default language
in your res/values/ folder by specifying tools:locale="languageCode" for
the root  element in your resource file. (The tools prefix
refers to the namespace declaration http://schemas.android.com/tools.)
816 errors
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/frostwire/frostwire/issues/714#issuecomment-402350752,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANGcr5CWlxGad9FYC5XlCJUZ4rs0FDlnks5uDDKXgaJpZM4UUayM
.

@alejandroarturom There are also lots of strings in the original english file which are not in use anymore.
If you use Android Studio, you can use a functionality called "Find Usages" to figure out which are not in use, I'm going to make a commit soon showing you a few cases.


Spacemacs Develop branch Doesn't Tile (Vanilla Emacs and Spacemacs Master work)

I know this has been beaten to death, but I wanted to chime in because I've found something interesting: Emacs works fine with chunkwm (per #105), and so does the master branch of Spacemacs. The Spacemacs develop branch, however, does not; this is probably what a lot of people are running into.
@koekeishiya, my C++ foo is not as strong as it used to be, can you verify if chunkwm uses window titles to identify windows for tiling? I'm crawling through the Compare View for the two branches, but the first thing I've noticed is that when running the master branch the window title is "spacemacs" and when running the develop branch the window title is "Emacs@".
I can post logs (after I set up logging) and the output of the query command. This one is weird.
(PS can someone add a "Not A Bug Informational Message" label?)
Update: this is definitely not a chunkwm issue, but I'm posting it here because I'm guessing I'm not the only person in this boat. Here's the fix (at least for me, and it's a little hacky):
In your dotspacemacs file,
(setq dotspacemacs-frame-title-format nil)
or something other than the default (I'm guessing), and boom.

I'm running spacemacs in develop and its working fine.  You can set rules off of the owner instead.
Here's an example of one of my rules:
chunkc tiling::rule --owner Emacs --except "^$" --state tile

I think the “—except” bit is what I was missing

Seems like you were able to resolve this. Closing.


build error

Thanks for participating in the XGBoost community! We use https://discuss.xgboost.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking.  You are always welcomed to post on the forum first :)
Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed.
For bug reports, to help the developer act on the issues, please include a description of your environment, preferably a minimum script to reproduce the problem.
For feature proposals, list clear, small actionable items so we can track the progress of the change.
/repo/xgboost/src/tree/gpu_hist/evaluate_splits.cu(231): error: no instance of function template "cub::DeviceSegmentedReduce::Sum" matches the argument list
            argument types are: (std::nullptr_t, size_t, thrust::device_ptr<xgboost::tree::DeviceSplitCandidate>, xgboost::tree::DeviceSplitCandidate *, int, thrust::transform_iterator<lambda [](size_t)->size_t, thrust::counting_iterator<unsigned long long, thrust::use_default, thrust::use_default, thrust::use_default>, size_t, thrust::use_default>, thrust::transform_iterator<lambda [](size_t)->size_t, thrust::counting_iterator<unsigned long long, thrust::use_default, thrust::use_default, thrust::use_default>, size_t, thrust::use_default>)
          detected during instantiation of "void xgboost::tree::EvaluateSplits(xgboost::common::Span<xgboost::tree::DeviceSplitCandidate,<PHONE_NUMBER>3709551615UL>, xgboost::tree::EvaluateSplitInputs<GradientSumT>, xgboost::tree::EvaluateSplitInputs<GradientSumT>) [with GradientSumT=xgboost::GradientPair]"
(246): here

Please provide more details, e.g. OS, compiler you are using.

@hcho3
updated

Try running git submodule update --init --recursive.

@hcho3
build succeeded with latest master


Map contents are not rendered when app is resumed

On android (7.0), when the application is suspended and resumed afterwards, the map tiles, markers etc. are not rendered. The MapView itself is shown, but only logo and controls. It is working fine on initial load of the view.
The map is placed in a TabView, using pure latest Nativescript.
Any further information needed will be provided.

Found this same issue. Simply switching out of the app and coming back in seems to break it. Anyway to re-initialize?

My package.json if it helps.
{   "description": "MapTest",   "license": "UNLICENSED",   "readme": "NativeScript Application",   "nativescript": {     "id": "org.nativescript.MapTest",     "tns-android": {       "version": "4.0.1"     },     "tns-ios": {       "version": "4.0.1"     }   },   "scripts": {     "lint": "eslint \"app/**/*.js\""   },   "dependencies": {     "nativescript-bitmap-factory": "^1.7.1",     "nativescript-carousel": "^3.1.1",     "nativescript-checkbox": "^3.0.3",     "nativescript-dev-webpack": "^0.11.0",     "nativescript-feedback": "^1.1.2",     "nativescript-geolocation": "^4.2.6",     "nativescript-google-maps-sdk": "^2.6.0",     "nativescript-https": "^1.0.1",     "nativescript-imagecropper": "^1.0.1",     "nativescript-imagepicker": "^6.0.1",     "nativescript-iqkeyboardmanager": "^1.3.0",     "nativescript-permissions": "^1.2.3",     "nativescript-plugin-firebase": "^6.0.2",     "nativescript-secure-storage": "^2.2.2",     "nativescript-theme-core": "~1.0.4",     "nativescript-timedatepicker": "^1.2.1",     "tns-core-modules": "^4.0.0"   },   "devDependencies": {     "babel-traverse": "6.26.0",     "babel-types": "6.26.0",     "babylon": "6.18.0",     "clean-webpack-plugin": "~0.1.19",     "copy-webpack-plugin": "~4.3.0",     "css-loader": "~0.28.7",     "extract-text-webpack-plugin": "~3.0.2",     "lazy": "1.0.11",     "nativescript-dev-sass": "^1.5.0",     "nativescript-worker-loader": "~0.8.1",     "raw-loader": "~0.5.1",     "resolve-url-loader": "~2.2.1",     "sass-loader": "~6.0.6",     "uglifyjs-webpack-plugin": "~1.1.6",     "webpack": "~3.10.0",     "webpack-bundle-analyzer": "^2.9.1",     "webpack-sources": "~1.1.0"   } }

After testing further, this may be connected to the TabView as you mentioned. Having any tab open that isn't the map retains the map when the app resumes. However, if you have the map tab loaded when you suspend the app, it loses it's data on resume.

@mstratiev I managed a temporary workaround by adding a resumeEvent listener on the application in tab.js, then select the map tab frame and navigate ie:
var resumeListener = application.on(application.resumeEvent, (args) => {         if(application.android){           var aR = Frame.getFrameById('mapTabFrame');           aR.navigate({             moduleName: 'map/map',             clearHistory: true,             backstackVisible: false           });         } });
This basically forces the map frame to reload any time the application is resumed in android. Not ideal, though.

Thank you, I will give it a try later and see, if that would do the trick. If that would not help, I am rethinking to recreate the whole fragment in code on app resume or remove the whole tab altogether from android and use something custom-made that would not exhibit such issues.

@mstratiev unfortunately, my solution doesn't work as I'd like it to. When app resumes, according to the logic above it creates another instance, ie. you can tap back when the app resumes, and you'll see a 'secondary' map.
I think we are dealing with multiple instances of the mapView somewhere.

@ogmedia Thank you for the feedback and getting back. We will be migrating to react-native, as much as I like my friends from Telerik, since we are having multiple issues with the development, performance and 3-rd party plugins support and bug fixes. However, if I find a proper workaround for this issue with the map, I will get back to this thread.

I have the same problem with a disappearing map inside TabView when using NS with Angular. As a workaround I managed to make it work with *ngIf directive for MapView with a boolean variable changing inside application's suspend and resume events. This way the map is recreated on resume.
applicationOn(resumeEvent, (args: ApplicationEventData) => {
    this.mapVisible = true;
});

applicationOn(suspendEvent, (args: ApplicationEventData) => {
    this.mapVisible = false;
});

@JakubPawlak did you put the mapVisible property directly on the MapView component? I have tried to implement your solution and I am not able to get it to work.

Sorry for a late response. I used *ngIf on the MapView like this:
<MapView *ngIf="mapVisible"></MapView>

@JakubPawlak where does you put the application functions? and how do you connect to the mapVisible element?

I didn't notice the mapping in my import statement. You can subscribe to application events importing from application module. I have the Angular component with the MapView in my template and below is the sample code of the component. Binding to the mapVisible variable is done with a basic Angular binding logic.
import {Component, OnDestroy} from "@angular/core";
import {on, off, resumeEvent, suspendEvent} from "application";

@Component({
    moduleId: module.id,
    selector: "map",
    templateUrl: "./map.component.html"
})
export class MapComponent implements OnDestroy {
    mapVisible: boolean = true;
    constructor() {
        on(resumeEvent, (args: ApplicationEventData) => {
            this.mapVisible = true;
        });

        on(suspendEvent, (args: ApplicationEventData) => {
            this.mapVisible = false;
        });
    }

    onDestroy() {
        off(resumeEvent);
        off(suspendEvent);
    }
}

ok thanks for your detailed answer but now the map it's been reinizializing, and when app fire on resume map is still blank, i am very stuck on this issue
P.s. i have in a tabview, if that matter

@Toq97 Could you share a sample project on github?

Hi!, I have the same issue, any update?

Try redirecting to other page before exit, then redirect again to the current page, se the code o temporal redirected page:
var primeraCarga = false;

function onNavigatingTo(args) {
    //const page = args.object;
    primeraCarga = true;
}
exports.onNavigatingTo = onNavigatingTo;

function onPageLoaded(args) {
    if (primeraCarga) {
        primeraCarga = false;
        global.NavigateArgs("views/tab-menu", "lugares-tmp");
    }
}
exports.onPageLoaded = onPageLoaded;


Update README.md

Update README.md

I've updated master with your input here, but kept some relevant bits of info on beaker too.
https://github.com/joshuef/beaker/commit/d46db9e929c2e19a05619fbb0570e069e04d865d
Thanks!
Sorry for the delay. Was totally not expecting a PR yet 😄  so did not check at all.

No worries. Just glad I could help :)
On Aug 26, 2016 3:13 AM, "joshuef"<EMAIL_ADDRESS>wrote:

I've updated master with your input here, but kept some relevant bits of
info on beaker too.
d46db9e
https://github.com/joshuef/beaker/commit/d46db9e929c2e19a05619fbb0570e069e04d865d
Thanks!
Sorry for the delay. Was totally not expecting a PR yet 😄 so did not
check at all.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joshuef/beaker/pull/1#issuecomment-242648311, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKFwd2Igvwj4D7W2uc1fV1d-ul_vBAoIks5qjpIZgaJpZM4JorgK
.

Our we planning on changing the name to support the Beaker brand?
On Aug 26, 2016 3:13 AM, "joshuef"<EMAIL_ADDRESS>wrote:

I've updated master with your input here, but kept some relevant bits of
info on beaker too.
d46db9e
https://github.com/joshuef/beaker/commit/d46db9e929c2e19a05619fbb0570e069e04d865d
Thanks!
Sorry for the delay. Was totally not expecting a PR yet 😄 so did not
check at all.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joshuef/beaker/pull/1#issuecomment-242648311, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKFwd2Igvwj4D7W2uc1fV1d-ul_vBAoIks5qjpIZgaJpZM4JorgK
.


Integrate logging with Rust log crate

This should be possible, see: http://api.mongodb.org/c/current/logging.html

Fixed in eb1888b00c4bad1ae14736c87d68b2a39b436080


Usage of standard type names in generics should be prohibited

Quite confusing, isn't it?
    fun<Int> foo(a: Int) {
    }

Need to prohibit naming of generic types with standard Kotlin types (kotlin.kotlin_builtins)

There is a common suggestion to use a single letter for generic types (for example in java Generic Types -> Type Parameter Naming Conventions).
We can add similar rule to diktat

use a single letter for generic types

We actually have this logic in diktat, described here


Updating the CI image to use Driver 520

This is part 1 of 2 for updates needed by #618. For now, we are explicitly specifying 520 in the driver but plan on using latest in the future.

/merge