Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Requesting for Filipino Translation #451

Closed
vinzruzell opened this issue Feb 11, 2018 · 33 comments · Fixed by #596
Closed

Requesting for Filipino Translation #451

vinzruzell opened this issue Feb 11, 2018 · 33 comments · Fixed by #596
Labels
Hacktoberfest These are issues or pull requests related to Hacktoberfest (https://hacktoberfest.digitalocean.com/) help wanted translations

Comments

@vinzruzell
Copy link
Contributor

Hi I want to contribute for Filipino Translation.

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Feb 11, 2018

Hi @vinzruzel, thanks for your interest.

I think the English translation files are finally sorted out, so now is a great time to translate!

By the way, the Filipino locale is abbreviated "fil", so you could make a fil folder in this repo's config/locales directory and copy the English filename.en.yml files in there if you want to get started.

(the full path for the folder would be config/locales/fil)

Then for each file,

  • rename from filename.en.yml to filename.fil.yml.
  • and change the top line of each file from en: -> fil:.

We are here to help if you have any questions.

@vinzruzell
Copy link
Contributor Author

Thank you for the response.

@mi-wood
Copy link
Member

mi-wood commented Feb 13, 2018

Thanks @vinzruzell for volunteering!

@DeeDeeG do you want to add the translations steps to the wiki? Even what you wrote in that comment should work :)

@vinzruzell
Copy link
Contributor Author

Yes much better

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Feb 13, 2018

@vinzruzell
Copy link
Contributor Author

vinzruzell commented Feb 13, 2018 via email

@vinzruzell
Copy link
Contributor Author

Hi is it correct? Ive made anothet branch. Do i need to make another branch or just to commit into the master? Thank you.

@mi-wood
Copy link
Member

mi-wood commented Feb 14, 2018

Hi @vinzruzell, you can create a pull request into the main refugerestrooms/develop branch. If you're not familiar with how to do that, there is documentation here: https://help.github.com/articles/creating-a-pull-request/.

Let me know if you need any help!

@vinzruzell
Copy link
Contributor Author

vinzruzell commented Feb 14, 2018 via email

@vinzruzell
Copy link
Contributor Author

vinzruzell commented Feb 14, 2018 via email

@vinzruzell
Copy link
Contributor Author

vinzruzell commented Feb 14, 2018 via email

@vinzruzell
Copy link
Contributor Author

vinzruzell commented Feb 14, 2018 via email

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Mar 11, 2018

Hi @vinzruzell, we are still interested in accepting more translations, if you are still interested. And sorry for the slow process merging your translations.

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Mar 11, 2018

On another subject:

Apparently Firefox doesn't work with the fil (Filipino) locale, but it does work with tl (Tagalog).

On the other hand, Chrome supports fil. So it is a good idea for us to support both fil and tl. I recommend when we have a complete Filipino translation, we copy the fil files into a tl folder and change the filenames from .fil.yml -> to tl.yml, and also change the top line for the tl files from fil: -> to tl:

(If I am not mistaken, Tagalog and Filipino are 99% the same thing? This is according to https://en.wikipedia.org/wiki/Filipino_language. (This seems kind of like how "Mandarin Chinese" is the standard dialect of Chinese, even though there are a lot of other regional dialects. In that analogy, Filipino is the standardized dialect of Tagalog.))

@vinzruzell
Copy link
Contributor Author

vinzruzell commented Mar 11, 2018 via email

@DeeDeeG DeeDeeG added translations help wanted Hacktoberfest These are issues or pull requests related to Hacktoberfest (https://hacktoberfest.digitalocean.com/) labels Sep 30, 2018
@hnarasaki
Copy link

I would like to help with this.

hnarasaki added a commit to hnarasaki/refugerestrooms that referenced this issue Dec 3, 2018
I will add my fil files here. Made a placeholder file so I could create a new folder. Will edit that placeholder file later.
For RefugeRestrooms#451
@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 3, 2018

Hello @hnarasaki, we would be happy to have a Filipino translation.

If you have any questions, feel free to ask! Would be glad to help. I see you are already started, so I hope it goes smoothly, and good luck!

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 3, 2018

For devise.en.yml, some translations can be copied from here: https://github.com/tigrish/devise-i18n/blob/master/rails/locales/tl.yml

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 5, 2018

Here is the updated branch with your pull requests added in: https://github.com/RefugeRestrooms/refugerestrooms/tree/Filipino-Staging-Rebase

hnarasaki added a commit to hnarasaki/refugerestrooms that referenced this issue Dec 6, 2018
Translated business_info.fil.yml from English to Filipino for RefugeRestrooms#451
@hnarasaki
Copy link

Progress Update: I translated a file and made a commit Filipino-Staging-Rebase...hnarasaki:patch-12. (I was using the UI on GitHub.com) However, I just downloaded the GitHub for Desktop app. My plan is to make all the changes at once and then 1 PR when I'm done.

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 7, 2018

Thank you for the update!

@hnarasaki
Copy link

Progress Update: Still working on this. I have 5 of the 13 files translated.

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 17, 2018

Thank you again for the update. We definitely appreciate the work you're doing!

(I don't know if this has already been mentioned, but I wanted to mention about our process for translations: Usually, when the translations for a given language are all submitted, we try to get in contact with a second native speaker of the given language, who can then review and make any suggestions or corrections. Once that review is done (and everybody agrees on the translations being correct) then we can accept/merge the translation.

Then we would make a new release of our website when we get a chance, so that the new language is active on our real website.)

Thank you again, and I hope the rest of the process goes well.

Best regards,

- DeeDeeG

@hnarasaki
Copy link

@DeeDeeG Great, thanks! :) Should this be added to the Wiki (https://github.com/RefugeRestrooms/refugerestrooms/wiki/How-do-I-translate-Refuge-Restrooms.org%3F) so contributors will know what to expect? "Usually, when the translations for a given language are all submitted, we try to get in contact with a second native speaker of the given language, who can then review and make any suggestions or corrections. Once that review is done (and everybody agrees on the translations being correct) then we can accept/merge the translation.

Then we would make a new release of our website when we get a chance, so that the new language is active on our real website.)"

If so, would it be possible to grant me rights to edit the Wiki?

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 17, 2018

Should this be added to the Wiki
[about how we check translations with a second native speaker]

Sure, yes. That sounds like good idea.

If so, would it be possible to grant me rights to edit the Wiki?

Yes, I would like to do that. I will look into exactly how to do so, since it's not clear yet how I can do this. Sjould be able to figure it out in about half an hour? Hopefully?

@hnarasaki
Copy link

@DeeDeeG Cool, thanks!

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 17, 2018

I reached out to @mi-wood and @tkwidmer, who have permission to add you to the new "Wiki Editors" team of our GitHub organization. That should give you access to edit the wiki here.

If we don't hear back from them soon, I can also temporarily open the wiki to be editable for all GitHub users, so you can make any changes that are needed.

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Dec 17, 2018

@hnarasaki I went ahead and opened up wiki edit access to all GitHub users, for now.

(Hopefully there won't be any vandalism?? But I don't expect any. If there is, we can fix it, so it's not a big deal anyway.)

@hnarasaki
Copy link

@DeeDeeG Thanks! I edited the Wiki with a "What's Next?" section https://github.com/RefugeRestrooms/refugerestrooms/wiki/How-do-I-translate-Refuge-Restrooms.org%3F

hnarasaki pushed a commit to hnarasaki/refugerestrooms that referenced this issue Dec 19, 2018
@brynmrk
Copy link
Contributor

brynmrk commented Oct 5, 2019

Hi, I'd like to continue working on this. Where should I start since there is already a PR?

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Oct 5, 2019

Hi @brynmrk, thanks for reaching out about this.

If you'd like to pick up where previous contributors left off, I can merge their existing work into a branch, and then you can make any changes that seem appropriate. I'll also try to point out where the existing translations are out of date with the English source files, when I get the chance.

DeeDeeG pushed a commit that referenced this issue Oct 5, 2019
Translated files from EN to FIL #451
@DeeDeeG
Copy link
Contributor

DeeDeeG commented Oct 5, 2019

@DeeDeeG
Copy link
Contributor

DeeDeeG commented Oct 5, 2019

I left a lot of comments in #556, reviewing the translations and leaving suggestions for changes. Apologies if any of them are wrong, since I don't personally know the language well.

As mentioned in this comment, there were some updates to the English files not yet reflected in the existing PRs. And since that comment, a few more (small) PRs have further changed the English source files. The relevant PRs are:

#524, #530, #560

(In addition to these, I have already addressed #592 and #593 in the branch that I posted in my previous comment.)

And here is a diff of all of the relevant changes:

diff of changes to English strings (click to expand)
diff --git a/config/locales/en/restroom.en.yml b/config/locales/en/restroom.en.yml
index 8978c2b..9245be6 100644
--- a/config/locales/en/restroom.en.yml
+++ b/config/locales/en/restroom.en.yml
@@ -20,6 +20,9 @@ en:
     guess_location: 'Guess current location'
     directions: 'Directions'
     directions_hint: '(e.g.: third floor in the back, by the dressing rooms...)'
+    distance:
+      miles: miles
+      kilometers: kilometers
     comments_hint: '(e.g.: you have to be a "paying customer", just act like you are browsing for a bit...)'
     comments: 'Comments'
     accessible: 'Accessible'
@@ -46,12 +49,13 @@ en:
       downvoteerror: 'There was an unexpected problem downvoting this post.'
       downvotesuccess: 'This restroom has been downvoted! Thank you for contributing to our community.'
       new: 'A new restroom entry has been created for %{name}.'
+      edit: 'Your edit has been submitted. We will review it and update the listing'
       updated: 'This restroom entry has been updated'
       deleted: 'This restroom entry has been deleted'
       searcherror: 'There was an error searching for your location.'
       spam: 'Your submission was rejected as spam.'
-    contact:
-      contactlisting: "Contact us about this post!"
+    edit:
+      editlisting: "Propose an edit to this listing."
 
   restrooms:
     nearby:
diff --git a/config/locales/en/splash.en.yml b/config/locales/en/splash.en.yml
index c6d3df7..634d0a9 100644
--- a/config/locales/en/splash.en.yml
+++ b/config/locales/en/splash.en.yml
@@ -4,3 +4,8 @@ en:
       life-is-tough: 'Sometimes life is tough...'
       find-refuge: 'Find Refuge'
       add-restroom-button-label: 'Add A Restroom'
+
+      html-alt-attributes:
+        app-store: 'Refuge Restrooms iOS app download'
+        play-store: 'Refuge Restrooms Android app download'
+        patreon: 'Support the project on Patreon'

If there is anything that can be explained better, or you would like help with anything, just let us know.

tkwidmer added a commit that referenced this issue Oct 29, 2019
* db/seeds.rb: Give restroom entries an edit_id (#567)

Only applies during development and testing
when we use the "db/export.csv" data.

Doesn't affect production, which uses the real data in its db.

* Explain how to run individual tests and access psql (#570)

Also, clarify that there are two containers, web and db,
rather than just one; these can be viewed using
docker ps

* Make filter with "focus" class more readable

* Remove unused li

* Allow dropdown menu text to wrap and fit within the dropdown

Add border bottom to give each menu item more separation

* yarn.lock: Update jquery (#587)

* Dockerfile: Update and streamline steps (#586)

Does effectively the same things as before,
but now in a simpler/faster way.

Some of the changes take inspiration from
@btyy77c's dockerAlpine branch:
https://github.com/btyy77c/refugerestrooms/blob/dockerAlpine/Dockerfile

The PhantomJS install is based on (mostly copy-pasted from)
@nkovacs' phantomjs image from Docker Hub:
https://github.com/nkovacs/selenium-standalone-phantomjs/blob/c5f6bba218472270/Dockerfile#L19-L22

* Dockerfile: Get latest Node.js in a major version (#589)

(Also installs Node.js in /usr/local/
instead of installing Node.js in the root directory.)

With this updated script, we specify just a major version
and the script picks the latest minor/patch version within that.

--

Nodejs.org does most of the work by maintaining the "latest-v[MAJOR]"
folders; We only need to parse the "SHASUMS256.txt" file from there,
and pick the "linux-x64" variant, which works with our Docker setup.

At this point we can use the known directory URL, plus the filename
extracted from "SHASUMS256.txt", and download with curl, or wget, etc.

(e.g. "curl -L https://nodejs.org/dist/latest-v10.x/node-v10.16.0-linux-x64.tar.xz -o nodejs.tar.xz")

--

There is no "latest-LTS" folder or similar, so automatically getting
the latest LTS version would be more difficult.

We could search "nodejs.org/dist/" for folders with
the name "latest-[LETTERS-ONLY-STRING]", which would be the folders
of all the LTS codenames. Among these, the one with
the alphabetically last name is the latest LTS.

This would work at least until around 2040, when they may have
to loop around and re-use some earlier letters (a, b, c, etc.)

* Update Node.js and Ruby dependencies (#590)

* yarn.lock: Update Node.js packages

* Gemfile.lock: Update gems

* Add Bugsnag to readme

To fufill the open source agreement, we have to link to bugsnag now in our readme.

* .travis.yml: Use minimal base image for Travis CI

We do all the setup/build steps inside a Docker container,
so we don't need ruby tools outside of Docker
(on the Travis CI virtual machine instances).

Should save about 20 seconds of Travis CI build time.

--

Inspired by @btyy77c who did this first at their dockerAlpine branch:
  - btyy77c@393cf46

Documentation at Travis re: minimal/generic images:
  - https://docs.travis-ci.com/user/languages/minimal-and-generic/

* docker-compose.yml: Use postgresql:alpine image

This (the Alpine Linux-based postgresql image) is a smaller image
than the debian-based postgresql image,
so it should be marginally faster to download.

Seems like a good idea in general,
to speed up build times (even outside of Travis CI).

Also should save some disk space for developers.

--

Inspired by the general concept of @btyy77c's dockerAlpine branch:
  - https://github.com/btyy77c/refugerestrooms/commits/dockerAlpine

Docker Hub documentation on the alpine vs debian postgres images:
  - https://hub.docker.com/_/postgres#image-variants

* layouts/_footer.html.haml: Remove tumblr link

* stylesheets/.../common: Remove tumblr icon stlye

* en/footer.en.yml: Remove string for tumblr blog

This isn't needed anymore,
since we have removed the tumblr link from the footer.

* removed tumblr from about page (#593)

I noticed we were removing tumblr, here's one more instance

* Create about.fil.yml (#465)

* Filipino Translation devise.fil.yml (#454)

* Create devise.fil.yml

* Update devise.fil.yml

* Update for devise.fil.yml @100% Translation

* Update and rename devise.fil.yml to devise.fl.yml

* Update and rename devise.fl.yml to devise.fil.yml

* 100% completed for restroom.fil.yml file  (#467)

* Create restroom.fil.yml

* Translations for EN to FIL Issue 451 (#556)

Translated files from EN to FIL #451

* config/locales/fil/: Remove tumblr

See #592 and #593

* Updated filipino translations

* switched sass-rails gem (#595)

* switched sass-rails gem (sass-rails --> sassc-rails)

* Changed the word `restroom` to `banyo` to be mroe understandable to most Filipinos

* Fixed some unnoticed words that needed some changes in translation

* additional translation changes

* config/application.rb: Add 'fil' locale (Filipino)

Enables translations as merged in #596

* .travis.yml: Set "dist" to "trusty" (#600)

Should allow our CI tests to pass
while we investigate test failures on xenial and newer.

* production.rb: Fix i18n.fallbacks deprecation warn

* config/application.rb: Add Tagalog (:tl) locale

* production.rb: I18n fallbacks for :tl --> :fil

We don't maintain separate translations for
"Tagalog" and Filipino, since they are arguably the same language.

However, Firefox only allows users to set "Tagalog" as preferred,
and Chrome only allows users to set "Filipino" as preferred.

To support both browsers, we must support both the "Tagalog"
and the "Filipino" locales.

(These locales use the "tl" and "fil" locale codes, respectively.)

* config/application.rb: Set default locale to "en"

* package.json: Update swagger to master with patch

* yarn.lock: Commit updated (indirect) dependencies

* yarn.lock: Update all packages

* Gemfile[.lock]: Update devise, simple_form

* yarn.lock: Upgrade swagger-ui's dependencies

* Ruby: Upgrade from 2.5.3 to 2.5.7

* Dockerfile: Work around an issue with phantomjs

When running the tests, cliver tries to check that PhantomJS's version
is within a certain range, by running "phantomjs --version".

The "phantomjs --version" command fails for some reason
on the new ruby:2.5.7-slim Docker base image.

Perhaps because the new Docker image is based on Debian 10 "Buster,"
whereas the old Docker image was based on Debian 9 "Stretch"?

This commit's workaround allows "phantomjs --version" to work again.
tkwidmer added a commit that referenced this issue Feb 8, 2020
* db/seeds.rb: Give restroom entries an edit_id (#567)

Only applies during development and testing
when we use the "db/export.csv" data.

Doesn't affect production, which uses the real data in its db.

* Explain how to run individual tests and access psql (#570)

Also, clarify that there are two containers, web and db,
rather than just one; these can be viewed using
docker ps

* Make filter with "focus" class more readable

* Remove unused li

* Allow dropdown menu text to wrap and fit within the dropdown

Add border bottom to give each menu item more separation

* yarn.lock: Update jquery (#587)

* Dockerfile: Update and streamline steps (#586)

Does effectively the same things as before,
but now in a simpler/faster way.

Some of the changes take inspiration from
@btyy77c's dockerAlpine branch:
https://github.com/btyy77c/refugerestrooms/blob/dockerAlpine/Dockerfile

The PhantomJS install is based on (mostly copy-pasted from)
@nkovacs' phantomjs image from Docker Hub:
https://github.com/nkovacs/selenium-standalone-phantomjs/blob/c5f6bba218472270/Dockerfile#L19-L22

* Dockerfile: Get latest Node.js in a major version (#589)

(Also installs Node.js in /usr/local/
instead of installing Node.js in the root directory.)

With this updated script, we specify just a major version
and the script picks the latest minor/patch version within that.

--

Nodejs.org does most of the work by maintaining the "latest-v[MAJOR]"
folders; We only need to parse the "SHASUMS256.txt" file from there,
and pick the "linux-x64" variant, which works with our Docker setup.

At this point we can use the known directory URL, plus the filename
extracted from "SHASUMS256.txt", and download with curl, or wget, etc.

(e.g. "curl -L https://nodejs.org/dist/latest-v10.x/node-v10.16.0-linux-x64.tar.xz -o nodejs.tar.xz")

--

There is no "latest-LTS" folder or similar, so automatically getting
the latest LTS version would be more difficult.

We could search "nodejs.org/dist/" for folders with
the name "latest-[LETTERS-ONLY-STRING]", which would be the folders
of all the LTS codenames. Among these, the one with
the alphabetically last name is the latest LTS.

This would work at least until around 2040, when they may have
to loop around and re-use some earlier letters (a, b, c, etc.)

* Update Node.js and Ruby dependencies (#590)

* yarn.lock: Update Node.js packages

* Gemfile.lock: Update gems

* Add Bugsnag to readme

To fufill the open source agreement, we have to link to bugsnag now in our readme.

* .travis.yml: Use minimal base image for Travis CI

We do all the setup/build steps inside a Docker container,
so we don't need ruby tools outside of Docker
(on the Travis CI virtual machine instances).

Should save about 20 seconds of Travis CI build time.

--

Inspired by @btyy77c who did this first at their dockerAlpine branch:
  - btyy77c@393cf46

Documentation at Travis re: minimal/generic images:
  - https://docs.travis-ci.com/user/languages/minimal-and-generic/

* docker-compose.yml: Use postgresql:alpine image

This (the Alpine Linux-based postgresql image) is a smaller image
than the debian-based postgresql image,
so it should be marginally faster to download.

Seems like a good idea in general,
to speed up build times (even outside of Travis CI).

Also should save some disk space for developers.

--

Inspired by the general concept of @btyy77c's dockerAlpine branch:
  - https://github.com/btyy77c/refugerestrooms/commits/dockerAlpine

Docker Hub documentation on the alpine vs debian postgres images:
  - https://hub.docker.com/_/postgres#image-variants

* layouts/_footer.html.haml: Remove tumblr link

* stylesheets/.../common: Remove tumblr icon stlye

* en/footer.en.yml: Remove string for tumblr blog

This isn't needed anymore,
since we have removed the tumblr link from the footer.

* removed tumblr from about page (#593)

I noticed we were removing tumblr, here's one more instance

* Create about.fil.yml (#465)

* Filipino Translation devise.fil.yml (#454)

* Create devise.fil.yml

* Update devise.fil.yml

* Update for devise.fil.yml @100% Translation

* Update and rename devise.fil.yml to devise.fl.yml

* Update and rename devise.fl.yml to devise.fil.yml

* 100% completed for restroom.fil.yml file  (#467)

* Create restroom.fil.yml

* Translations for EN to FIL Issue 451 (#556)

Translated files from EN to FIL #451

* config/locales/fil/: Remove tumblr

See #592 and #593

* Updated filipino translations

* switched sass-rails gem (#595)

* switched sass-rails gem (sass-rails --> sassc-rails)

* Changed the word `restroom` to `banyo` to be mroe understandable to most Filipinos

* Fixed some unnoticed words that needed some changes in translation

* additional translation changes

* config/application.rb: Add 'fil' locale (Filipino)

Enables translations as merged in #596

* .travis.yml: Set "dist" to "trusty" (#600)

Should allow our CI tests to pass
while we investigate test failures on xenial and newer.

* production.rb: Fix i18n.fallbacks deprecation warn

* config/application.rb: Add Tagalog (:tl) locale

* production.rb: I18n fallbacks for :tl --> :fil

We don't maintain separate translations for
"Tagalog" and Filipino, since they are arguably the same language.

However, Firefox only allows users to set "Tagalog" as preferred,
and Chrome only allows users to set "Filipino" as preferred.

To support both browsers, we must support both the "Tagalog"
and the "Filipino" locales.

(These locales use the "tl" and "fil" locale codes, respectively.)

* config/application.rb: Set default locale to "en"

* package.json: Update swagger to master with patch

* yarn.lock: Commit updated (indirect) dependencies

* yarn.lock: Update all packages

* Gemfile[.lock]: Update devise, simple_form

* yarn.lock: Upgrade swagger-ui's dependencies

* Ruby: Upgrade from 2.5.3 to 2.5.7

* Dockerfile: Work around an issue with phantomjs

When running the tests, cliver tries to check that PhantomJS's version
is within a certain range, by running "phantomjs --version".

The "phantomjs --version" command fails for some reason
on the new ruby:2.5.7-slim Docker base image.

Perhaps because the new Docker image is based on Debian 10 "Buster,"
whereas the old Docker image was based on Debian 9 "Stretch"?

This commit's workaround allows "phantomjs --version" to work again.

* Fix Travis tests failing on distributions other than trusty (#606)

* Revert ".travis.yml: Set "dist" to "trusty" (#600)"

This reverts commit ac8f6ab.

Doing this to run tests on Travis to investigate why they
aren't passing.

* Explicitly require locations.rb in rspec.rb

Tentative fix for tests not passing in xenial but passing in trusty.
This might be because different distributions load files in a
different order. In xenial, `rspec.rb` might get loaded before
`locations.rb`, making `Locations` uninitialized. Explicit require
fixes this.

* Dockerfile: Upgrade Node from v10.x to v12.x (#603)

Node 12 "Erbium" is the newest Long Term Service release.

We should either pin a version of Node in our package.json file,
or stay on the latest LTS version of Node;

Heroku will use the latest LTS version of Node 
in production if we don't have any versions pinned in our package.json

* Webpack Upgrade (#607)

* Updated webpacker gem

* Upgraded yarn packages

* Ran webpack:install process.  Working without rails-erb-loader

* Added rails-erb-loader to webpack

* Fixed include PgSearch warning

* Added .dockerignore

* PR #607: Minor tweaks/cleanup

- Adjust Gemfile[.lock] to specify webpacker within the 4.x series,
  rather than any version 4.0 or greater.

- Delete some duplicate entries in the .gitignore file

* CONTRIBUTING.md: Remove the reference to "Cmd + C"

The "Cmd + C" keyboard shortcut is for copying text,
not quitting programs in the terminal.

The proper way to quit programs in the terminal
under macOS is "Ctrl + C", the same as Linux.

Referring to "Cmd + C" here was based on
a mistaken assumption that "Ctrl" on Windows or Linux
always gets translated to "Cmd" on macOS.

(In fact, some uses of "Ctrl" on Windows/Linux
are preserved as-is on macOS. It's a mixed bag.)

Deleting the reference to "Ctrl + C", to make the guidance clearer.

* db/schema.rb: Commit with underscores in date

The date gets underscores added automatically
when running migrations on the database.

Committing with the underscores so the change isn't flagged by git
when no code has been changed.

* restrooms_spec.rb: Fix a test (#608)

Background:

The Mission Creek Cafe in San Francisco has been closed for some time.

Google Maps API now resolves "Mission Creek Cafe"
to a coffee shop in Washington state.

Washington is too far away from our stub restroom entries;
No stub restrooms are located near Washington,
so no restroom results are shown on our results page for this search.

The test expects to see a stub restroom entry on the reults page,
but does not see it, and so the test fails.

---

Fix:

search the Maps API for "San Francisco," not "Mission Creek Cafe"

(This returns a lat/long associated with San Francisco not Washington)

* Update some dependencies, fix some deprecation warnings (#609)

* Gemfile[.lock]: Update simplecov

Fixes a deprecation warning

* restrooms_spec.rb: Use 'successful' not 'success'

Rspec's `be_success` and `.success?` are deprecated.

Rspec's `be_successful` and `.successful?`
are the non-deprecated versions of this check.

(This fixes the associated deprecation warning)

* Gemfile.lock: Bump some dependencies

Upgraded loofah, puma, rack, and rack-cors,
plus their dependencies.

* Tweak CSS a bit for narrow screens (e.g. mobile phones) (#610)

* CSS: Add some styles for narrow screens

For screen widths ~340px or narrower.

(Such a narrow screen is found, for example, on the original iPhone
through to the iPhone 5S and iPhone SE.)

- Makes the "+" icon on the "Add A Restroom" button
  appear in a more correct-looking position.

- Fixes the overlap of the "Refuge Restrooms" text
  with the "hamburger" drop-down menu button in the header/nav section.

- Adds a class via the haml source (.nav-column)
  to make applying one of the style rules easier.

* CSS: No double-padding on nested `.container`s

Eliminate double-padding in cases of
an [element].container immediately inside another [element].container.

(Doing this only directly under the header div, just to be conservative.)

The 15px + 15px = 30px of padding on both sides
seemed unintentionally wide. Also, I think this looks nicer.
Helps with the tight fit on mobile devices, too.

(Should affect the header/nav on all pages other than the home page,
aka the splash page, due to the way the pages are coded.)

* CSS: Center logo and brand name on narrow screens (#611)

* _mobile.scss: Lower logo/brand on narrow screens

Adjust the CSS "top" property to set the logo and "brand name"
("Refuge Restrooms") slightly lower within the navbar on narrow
screens.

This is to adjust for the navbar being responsively taller
on narrower screens. "767px screen width" happens to be the responsive
threshold for that height change for the navbar.

* _mobile.scss: Move 342px rules, adjust whitespace

Moved the "max 342px" rules to the bottom, so all screen-width-related
style rules are in descending order of the sizes that they apply to.
(For consistency).

Adjusted the use of newlines in this stylesheet to be more consitent.

Co-authored-by: Kai Middleton <kai.middleton@hingehealth.com>
Co-authored-by: H. Yiu <hannah.k.yiu@gmail.com>
Co-authored-by: Mikena Wood <mi-wood@users.noreply.github.com>
Co-authored-by: Teagan <tkwidmer@gmail.com>
Co-authored-by: Joe Wadcan <joe.wadcan@github.com>
Co-authored-by: vinzruzell <35182720+vinzruzell@users.noreply.github.com>
Co-authored-by: Bryan Mark Fajutag <fbryanmark@gmail.com>
Co-authored-by: Emily Ring <btyy77c@gmail.com>
Co-authored-by: Jason Chen <kbtpodifo@gmail.com>
mi-wood added a commit that referenced this issue Apr 13, 2020
* db/seeds.rb: Give restroom entries an edit_id (#567)

Only applies during development and testing
when we use the "db/export.csv" data.

Doesn't affect production, which uses the real data in its db.

* Explain how to run individual tests and access psql (#570)

Also, clarify that there are two containers, web and db,
rather than just one; these can be viewed using
docker ps

* Make filter with "focus" class more readable

* Remove unused li

* Allow dropdown menu text to wrap and fit within the dropdown

Add border bottom to give each menu item more separation

* yarn.lock: Update jquery (#587)

* Dockerfile: Update and streamline steps (#586)

Does effectively the same things as before,
but now in a simpler/faster way.

Some of the changes take inspiration from
@btyy77c's dockerAlpine branch:
https://github.com/btyy77c/refugerestrooms/blob/dockerAlpine/Dockerfile

The PhantomJS install is based on (mostly copy-pasted from)
@nkovacs' phantomjs image from Docker Hub:
https://github.com/nkovacs/selenium-standalone-phantomjs/blob/c5f6bba218472270/Dockerfile#L19-L22

* Dockerfile: Get latest Node.js in a major version (#589)

(Also installs Node.js in /usr/local/
instead of installing Node.js in the root directory.)

With this updated script, we specify just a major version
and the script picks the latest minor/patch version within that.

--

Nodejs.org does most of the work by maintaining the "latest-v[MAJOR]"
folders; We only need to parse the "SHASUMS256.txt" file from there,
and pick the "linux-x64" variant, which works with our Docker setup.

At this point we can use the known directory URL, plus the filename
extracted from "SHASUMS256.txt", and download with curl, or wget, etc.

(e.g. "curl -L https://nodejs.org/dist/latest-v10.x/node-v10.16.0-linux-x64.tar.xz -o nodejs.tar.xz")

--

There is no "latest-LTS" folder or similar, so automatically getting
the latest LTS version would be more difficult.

We could search "nodejs.org/dist/" for folders with
the name "latest-[LETTERS-ONLY-STRING]", which would be the folders
of all the LTS codenames. Among these, the one with
the alphabetically last name is the latest LTS.

This would work at least until around 2040, when they may have
to loop around and re-use some earlier letters (a, b, c, etc.)

* Update Node.js and Ruby dependencies (#590)

* yarn.lock: Update Node.js packages

* Gemfile.lock: Update gems

* Add Bugsnag to readme

To fufill the open source agreement, we have to link to bugsnag now in our readme.

* .travis.yml: Use minimal base image for Travis CI

We do all the setup/build steps inside a Docker container,
so we don't need ruby tools outside of Docker
(on the Travis CI virtual machine instances).

Should save about 20 seconds of Travis CI build time.

--

Inspired by @btyy77c who did this first at their dockerAlpine branch:
  - btyy77c@393cf46

Documentation at Travis re: minimal/generic images:
  - https://docs.travis-ci.com/user/languages/minimal-and-generic/

* docker-compose.yml: Use postgresql:alpine image

This (the Alpine Linux-based postgresql image) is a smaller image
than the debian-based postgresql image,
so it should be marginally faster to download.

Seems like a good idea in general,
to speed up build times (even outside of Travis CI).

Also should save some disk space for developers.

--

Inspired by the general concept of @btyy77c's dockerAlpine branch:
  - https://github.com/btyy77c/refugerestrooms/commits/dockerAlpine

Docker Hub documentation on the alpine vs debian postgres images:
  - https://hub.docker.com/_/postgres#image-variants

* layouts/_footer.html.haml: Remove tumblr link

* stylesheets/.../common: Remove tumblr icon stlye

* en/footer.en.yml: Remove string for tumblr blog

This isn't needed anymore,
since we have removed the tumblr link from the footer.

* removed tumblr from about page (#593)

I noticed we were removing tumblr, here's one more instance

* Create about.fil.yml (#465)

* Filipino Translation devise.fil.yml (#454)

* Create devise.fil.yml

* Update devise.fil.yml

* Update for devise.fil.yml @100% Translation

* Update and rename devise.fil.yml to devise.fl.yml

* Update and rename devise.fl.yml to devise.fil.yml

* 100% completed for restroom.fil.yml file  (#467)

* Create restroom.fil.yml

* Translations for EN to FIL Issue 451 (#556)

Translated files from EN to FIL #451

* config/locales/fil/: Remove tumblr

See #592 and #593

* Updated filipino translations

* switched sass-rails gem (#595)

* switched sass-rails gem (sass-rails --> sassc-rails)

* Changed the word `restroom` to `banyo` to be mroe understandable to most Filipinos

* Fixed some unnoticed words that needed some changes in translation

* additional translation changes

* config/application.rb: Add 'fil' locale (Filipino)

Enables translations as merged in #596

* .travis.yml: Set "dist" to "trusty" (#600)

Should allow our CI tests to pass
while we investigate test failures on xenial and newer.

* production.rb: Fix i18n.fallbacks deprecation warn

* config/application.rb: Add Tagalog (:tl) locale

* production.rb: I18n fallbacks for :tl --> :fil

We don't maintain separate translations for
"Tagalog" and Filipino, since they are arguably the same language.

However, Firefox only allows users to set "Tagalog" as preferred,
and Chrome only allows users to set "Filipino" as preferred.

To support both browsers, we must support both the "Tagalog"
and the "Filipino" locales.

(These locales use the "tl" and "fil" locale codes, respectively.)

* config/application.rb: Set default locale to "en"

* package.json: Update swagger to master with patch

* yarn.lock: Commit updated (indirect) dependencies

* yarn.lock: Update all packages

* Gemfile[.lock]: Update devise, simple_form

* yarn.lock: Upgrade swagger-ui's dependencies

* Ruby: Upgrade from 2.5.3 to 2.5.7

* Dockerfile: Work around an issue with phantomjs

When running the tests, cliver tries to check that PhantomJS's version
is within a certain range, by running "phantomjs --version".

The "phantomjs --version" command fails for some reason
on the new ruby:2.5.7-slim Docker base image.

Perhaps because the new Docker image is based on Debian 10 "Buster,"
whereas the old Docker image was based on Debian 9 "Stretch"?

This commit's workaround allows "phantomjs --version" to work again.

* Fix Travis tests failing on distributions other than trusty (#606)

* Revert ".travis.yml: Set "dist" to "trusty" (#600)"

This reverts commit ac8f6ab.

Doing this to run tests on Travis to investigate why they
aren't passing.

* Explicitly require locations.rb in rspec.rb

Tentative fix for tests not passing in xenial but passing in trusty.
This might be because different distributions load files in a
different order. In xenial, `rspec.rb` might get loaded before
`locations.rb`, making `Locations` uninitialized. Explicit require
fixes this.

* Dockerfile: Upgrade Node from v10.x to v12.x (#603)

Node 12 "Erbium" is the newest Long Term Service release.

We should either pin a version of Node in our package.json file,
or stay on the latest LTS version of Node;

Heroku will use the latest LTS version of Node 
in production if we don't have any versions pinned in our package.json

* Webpack Upgrade (#607)

* Updated webpacker gem

* Upgraded yarn packages

* Ran webpack:install process.  Working without rails-erb-loader

* Added rails-erb-loader to webpack

* Fixed include PgSearch warning

* Added .dockerignore

* PR #607: Minor tweaks/cleanup

- Adjust Gemfile[.lock] to specify webpacker within the 4.x series,
  rather than any version 4.0 or greater.

- Delete some duplicate entries in the .gitignore file

* CONTRIBUTING.md: Remove the reference to "Cmd + C"

The "Cmd + C" keyboard shortcut is for copying text,
not quitting programs in the terminal.

The proper way to quit programs in the terminal
under macOS is "Ctrl + C", the same as Linux.

Referring to "Cmd + C" here was based on
a mistaken assumption that "Ctrl" on Windows or Linux
always gets translated to "Cmd" on macOS.

(In fact, some uses of "Ctrl" on Windows/Linux
are preserved as-is on macOS. It's a mixed bag.)

Deleting the reference to "Ctrl + C", to make the guidance clearer.

* db/schema.rb: Commit with underscores in date

The date gets underscores added automatically
when running migrations on the database.

Committing with the underscores so the change isn't flagged by git
when no code has been changed.

* restrooms_spec.rb: Fix a test (#608)

Background:

The Mission Creek Cafe in San Francisco has been closed for some time.

Google Maps API now resolves "Mission Creek Cafe"
to a coffee shop in Washington state.

Washington is too far away from our stub restroom entries;
No stub restrooms are located near Washington,
so no restroom results are shown on our results page for this search.

The test expects to see a stub restroom entry on the reults page,
but does not see it, and so the test fails.

---

Fix:

search the Maps API for "San Francisco," not "Mission Creek Cafe"

(This returns a lat/long associated with San Francisco not Washington)

* Update some dependencies, fix some deprecation warnings (#609)

* Gemfile[.lock]: Update simplecov

Fixes a deprecation warning

* restrooms_spec.rb: Use 'successful' not 'success'

Rspec's `be_success` and `.success?` are deprecated.

Rspec's `be_successful` and `.successful?`
are the non-deprecated versions of this check.

(This fixes the associated deprecation warning)

* Gemfile.lock: Bump some dependencies

Upgraded loofah, puma, rack, and rack-cors,
plus their dependencies.

* Tweak CSS a bit for narrow screens (e.g. mobile phones) (#610)

* CSS: Add some styles for narrow screens

For screen widths ~340px or narrower.

(Such a narrow screen is found, for example, on the original iPhone
through to the iPhone 5S and iPhone SE.)

- Makes the "+" icon on the "Add A Restroom" button
  appear in a more correct-looking position.

- Fixes the overlap of the "Refuge Restrooms" text
  with the "hamburger" drop-down menu button in the header/nav section.

- Adds a class via the haml source (.nav-column)
  to make applying one of the style rules easier.

* CSS: No double-padding on nested `.container`s

Eliminate double-padding in cases of
an [element].container immediately inside another [element].container.

(Doing this only directly under the header div, just to be conservative.)

The 15px + 15px = 30px of padding on both sides
seemed unintentionally wide. Also, I think this looks nicer.
Helps with the tight fit on mobile devices, too.

(Should affect the header/nav on all pages other than the home page,
aka the splash page, due to the way the pages are coded.)

* CSS: Center logo and brand name on narrow screens (#611)

* _mobile.scss: Lower logo/brand on narrow screens

Adjust the CSS "top" property to set the logo and "brand name"
("Refuge Restrooms") slightly lower within the navbar on narrow
screens.

This is to adjust for the navbar being responsively taller
on narrower screens. "767px screen width" happens to be the responsive
threshold for that height change for the navbar.

* _mobile.scss: Move 342px rules, adjust whitespace

Moved the "max 342px" rules to the bottom, so all screen-width-related
style rules are in descending order of the sizes that they apply to.
(For consistency).

Adjusted the use of newlines in this stylesheet to be more consitent.

* Update docker config (#616)

* Dockerfile: Use better PhantomJS URL

GitHub's CDN is more reliable than BitBucket's.

(This is the URL we originally used as of PR #435,
which was the initial implementation of our Docker setup.)

* docker-compose.yml: Add password for PostgreSQL db

This is in response to a recent change in the PostgreSQL Docker image.

Either the database must be configured to not check passwords, i.e.
`POSTGRESQL_HOST_AUTH_METHOD=trust`, or a password must now be set.

For explanation and context, see:

- docker-library/postgres#658
- docker-library/postgres#681
- docker-library/postgres#580
- https://discuss.circleci.com/t/postgresql-image-password-not-specified-issue/34555

* Ruby: Update from 2.5.7 to 2.5.8 (#618)

* Update Node.JS and Ruby Dependencies (#617)

* Gemfile[.lock]: Update rails to 5.2.4.2

Also update its dependencies, as required.

* Gemfile[.lock]: Update grape and grape-swagger

Also update their dependencies, as needed.

* Gemfile[.lock]: Update activeadmin

* Gemfile: Pin sprockets to "< 4"

The 4.x major version upgrade requires some configuration changes.

Pinning keeps the app from breaking when doing `bundle update`.

* Gemfile.lock: Update all packages

* yarn.lock: Update all packages

* Implement Google's reCAPTCHA (#566)

* Add server reCAPTCHA verification for contacts

Added a temporary secret key for testing in .env, which is loaded by
the dotenv gem. In production, just put another key in the Heroku
env variable settings.

* Add reCAPTCHA to contacts submission page

* Enable browser form validation by default

This gets form input validated on the client side, which gives faster
feedback to the user, without the need for a custom solution. This
feature is supported in all modern browsers.

* Add reCAPTCHA to restrooms page

* Make stub for reCAPTCHA verification during tests

Co-authored-by: Mikena Wood <mi-wood@users.noreply.github.com>

Co-authored-by: DeeDeeG <DeeDeeG@users.noreply.github.com>
Co-authored-by: Kai Middleton <kai.middleton@hingehealth.com>
Co-authored-by: hkly <hannah.k.yiu@gmail.com>
Co-authored-by: Teagan <tkwidmer@gmail.com>
Co-authored-by: Joe Wadcan <joe.wadcan@github.com>
Co-authored-by: vinzruzell <35182720+vinzruzell@users.noreply.github.com>
Co-authored-by: hnarasaki <hnarasaki@indeed.com>
Co-authored-by: Bryan Mark Fajutag <fbryanmark@gmail.com>
Co-authored-by: Emily Ring <emily_ring@ymail.com>
Co-authored-by: Jason Chen <kbtpodifo@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Hacktoberfest These are issues or pull requests related to Hacktoberfest (https://hacktoberfest.digitalocean.com/) help wanted translations
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants