diff --git a/app/views/application/migration_error.html.erb b/app/views/application/migration_error.html.erb index 8d90ff3d..06d9d420 100644 --- a/app/views/application/migration_error.html.erb +++ b/app/views/application/migration_error.html.erb @@ -2,14 +2,14 @@
-

Greenlight encountered a database migration error.
This may be because you haven't updated to Greenlight 2.0.

-

If you are not an administrator, please contact one.

-

We've released a new version of Greenlight, but your database isn't compatible.

+

<%= t("errors.migration_error.notice") %>

+

<%= t("errors.migration_error.contact_admin") %>

+

<%= t("errors.migration_error.version") %>

- Show me how to upgrade to 2.0! + <%= t("errors.migration_error.upgrade") %> - I'd like to stay using 1.0. + <%= t("errors.migration_error.continue") %>
diff --git a/app/views/errors/internal_error.html.erb b/app/views/errors/internal_error.html.erb index c0cd592b..ddf4c539 100644 --- a/app/views/errors/internal_error.html.erb +++ b/app/views/errors/internal_error.html.erb @@ -2,10 +2,10 @@
500
-

Oh no! Looks like something went wrong on our end.

-

The error has been logged, we'll take a look!

+

<%= t("errors.internal.message") %>

+

<%= t("errors.internal.help") %>

- Go back + <%= t("go_back") %>
diff --git a/app/views/errors/not_found.html.erb b/app/views/errors/not_found.html.erb index 5b975728..82f6b7f1 100644 --- a/app/views/errors/not_found.html.erb +++ b/app/views/errors/not_found.html.erb @@ -2,10 +2,10 @@
404
-

Whoops! Looks like we can't find that.

-

Is it possible its been removed?

+

<%= t("errors.not_found.message") %>

+

<%= t("errors.not_found.help") %>

- Go back + <%= t("go_back") %>
diff --git a/app/views/errors/unprocessable.html.erb b/app/views/errors/unprocessable.html.erb index bbe004d5..67958f07 100644 --- a/app/views/errors/unprocessable.html.erb +++ b/app/views/errors/unprocessable.html.erb @@ -2,10 +2,10 @@
422
-

Oops! Request is unprocessable.

-

Unforunately this isn't a valid request.

+

<%= t("errors.unprocessable.message") %>

+

<%= t("errors.unprocessable.help") %>

- Go back + <%= t("go_back") %>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index b814347d..bf5a174d 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,7 +1,7 @@ - Greenlight + <%= t("greenlight") %> <%= csrf_meta_tags %> @@ -19,15 +19,14 @@
- <%= render "shared/header" %> <% if bigbluebutton_endpoint_default? %> <%= render "shared/error_banner" do %> -

This deployment is using a pre-configured testing server, - you should replace this with your own. - For details, see the <%= link_to "documentation", "http://docs.bigbluebutton.org/install/greenlight.html#installing-greenlight", target: "_blank" %>. +

<%= t("test_install", + href: link_to(t("docs").downcase, "http://docs.bigbluebutton.org/install/greenlight-v2.html#2-install-greenlight", target: "_blank") + ).html_safe %> <% end %> <% end %> @@ -42,7 +41,6 @@ <% if current_user %> <%= render "shared/modals/create_room_modal" %> <% end %> -

<%= render "shared/footer" %> diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb index 57ca2794..cd25f5c3 100644 --- a/app/views/main/index.html.erb +++ b/app/views/main/index.html.erb @@ -9,11 +9,11 @@
-

Welcome to Greenlight.

-

A simple front end for your BigBlueButton Open Source Web Conferencing Server.

+

<%= t("landing.welcome") %>

+

<%= t("landing.about") %>

<%= link_to "https://youtu.be/Hso8yLzkqj8", class: "p-3", target: "_blank" do %> -

Watch a tutorial on using Greenlight

+

<%= t("landing.video") %>

<% end %>
diff --git a/app/views/rooms/join.html.erb b/app/views/rooms/join.html.erb index caa6b7ac..bff59dd1 100644 --- a/app/views/rooms/join.html.erb +++ b/app/views/rooms/join.html.erb @@ -4,11 +4,11 @@ <%= f.text_field :join_name, required: true, class: "form-control join-form", - placeholder: "Enter your name!", + placeholder: t("enter_your_name"), value: "#{current_user ? current_user.name : ''}", readonly: !current_user.nil? %> - <%= f.submit "Join", class: "btn btn-primary px-7 join-form" %> + <%= f.submit t("room.join"), class: "btn btn-primary px-7 join-form" %>
<% end %> diff --git a/app/views/rooms/show.html.erb b/app/views/rooms/show.html.erb index f48df08c..67e17c6e 100644 --- a/app/views/rooms/show.html.erb +++ b/app/views/rooms/show.html.erb @@ -7,8 +7,8 @@ <% end %> -

<%= @room.sessions %> Sessions | <%= @recordings.length %> Recordings

- +

<%= @room.sessions %> <%= t("room.sessions") %> | <%= @recordings.length %> <%= t("room.recordings") %>

+
- Copy + <%= t("copy") %>
-
<% if @is_running %> - <%= button_to "Join", room_path(@room), class: "btn btn-primary btn-block px-7 start-button float-right" %> + <%= button_to t("room.join"), room_path(@room), class: "btn btn-primary btn-block px-7 start-button float-right" %> <% else %> - <%= button_to "Start", start_room_path(@room), class: "btn btn-primary btn-block px-7 start-button float-right" %> + <%= button_to t("room.start"), start_room_path(@room), class: "btn btn-primary btn-block px-7 start-button float-right" %> <% end %>
diff --git a/app/views/rooms/wait.html.erb b/app/views/rooms/wait.html.erb index 83f01a7e..4857ab3f 100644 --- a/app/views/rooms/wait.html.erb +++ b/app/views/rooms/wait.html.erb @@ -1,8 +1,8 @@ <%= render 'shared/room_event' do %>
-

Oops! The meeting hasn't started yet.

-

You will automatically join when the meeting starts.

+

<%= t("room.wait.message") %>

+

<%= t("room.wait.auto") %>

diff --git a/app/views/shared/_features.html.erb b/app/views/shared/_features.html.erb index cd9b1f8e..02ef73b2 100644 --- a/app/views/shared/_features.html.erb +++ b/app/views/shared/_features.html.erb @@ -1,4 +1,4 @@ -

Features

+

<%= t("features.title") %>

@@ -6,19 +6,19 @@ -

Personalized Rooms

+

<%= t("features.rooms") %>

-

Recording Management

+

<%= t("features.recordings") %>

-

Custom Designs

+

<%= t("features.designs") %>

diff --git a/app/views/shared/_footer.html.erb b/app/views/shared/_footer.html.erb index 686d95ec..f3f55c2a 100644 --- a/app/views/shared/_footer.html.erb +++ b/app/views/shared/_footer.html.erb @@ -1,3 +1,3 @@ diff --git a/app/views/shared/_header.html.erb b/app/views/shared/_header.html.erb index 5720dd70..2c535060 100644 --- a/app/views/shared/_header.html.erb +++ b/app/views/shared/_header.html.erb @@ -9,7 +9,7 @@
<% if current_user %> -   Create Room +   <%= t("header.create_room") %> <% else %> - <% if Rails.configuration.omniauth_bn_launcher && !current_user %> - <%= link_to "Login", "#{Rails.configuration.relative_url_root}/auth/bn_launcher", :class => "btn btn-pill btn-outline-primary mx-2" %> + <% if Rails.configuration.omniauth_bn_launcher && !current_user %> + <%= link_to t("login"), "#{Rails.configuration.relative_url_root}/auth/bn_launcher", :class => "btn btn-pill btn-outline-primary mx-2" %> <% else %> - <%= link_to "Login", "#loginModal", :class => "btn btn-pill btn-outline-primary mx-2", "data-toggle": "modal" %> + <%= link_to t("login"), "#loginModal", :class => "btn btn-pill btn-outline-primary mx-2", "data-toggle": "modal" %> <% end %> <% if allow_user_signup? %> - <%= link_to "Signup", signup_path, :class => "btn btn-pill btn-outline-primary mx-2" %> + <%= link_to t("signup.title"), signup_path, :class => "btn btn-pill btn-outline-primary mx-2" %> <% end %> <%= render "shared/modals/login_modal" %> diff --git a/app/views/shared/_room_event.html.erb b/app/views/shared/_room_event.html.erb index 5236bc43..3108c266 100644 --- a/app/views/shared/_room_event.html.erb +++ b/app/views/shared/_room_event.html.erb @@ -2,7 +2,7 @@
-

You have been invited to join

+

<%= t("room.invited") %>

<%= @room.name %>


@@ -15,7 +15,7 @@ <% else %> <% end %> -
<%= @room.owner.name %> (Owner)
+
<%= @room.owner.name %> (<%= t("room.invited") %>)
diff --git a/app/views/shared/_sessions.html.erb b/app/views/shared/_sessions.html.erb index b218d5b7..5609f538 100644 --- a/app/views/shared/_sessions.html.erb +++ b/app/views/shared/_sessions.html.erb @@ -1,7 +1,7 @@
- <%= render "shared/components/subtitle", subtitle: (only_public ? "Public " : "") + "Recordings", search: true %> + <%= render "shared/components/subtitle", subtitle: (only_public ? t("recording.visibility.public") + " " : "") + t("room.recordings"), search: true %>
@@ -9,12 +9,12 @@ - - - - - - + + + + + + <% unless only_public %> <% end %> @@ -24,7 +24,7 @@ <% if recordings.empty? %> <% else %> @@ -39,7 +39,7 @@
NameThumbnailsLengthUsersVisibilityFormats<%= t("recording.table.name") %><%= t("recording.table.thumbnails") %><%= t("recording.table.length") %><%= t("recording.table.users") %><%= t("recording.table.visibility") %><%= t("recording.table.formats") %>
- <%= "This room has no #{(only_public ? "public " : "")} recordings." %> + <%= t("recording.no_recordings", inject: only_public ? t("recording.visibility.public").downcase + " " : "") %>
-
+
diff --git a/app/views/shared/components/_public_recording_row.html.erb b/app/views/shared/components/_public_recording_row.html.erb index 7350467f..3b272628 100644 --- a/app/views/shared/components/_public_recording_row.html.erb +++ b/app/views/shared/components/_public_recording_row.html.erb @@ -2,7 +2,7 @@
<%= recording[:name] %>
- Recorded on <%= recording_date(recording[:startTime]) %> + <%= t("recording.recorded_on", date: recording_date(recording[:startTime])) %>
@@ -15,22 +15,22 @@
- Length + <%= t("recording.table.length") %>
<%= recording_length(recording[:startTime], recording[:endTime]) %>
- Users + <%= t("recording.table.users") %>
<%= recording[:participants] %> diff --git a/app/views/shared/components/_recording_row.html.erb b/app/views/shared/components/_recording_row.html.erb index 887021ad..c1576f0e 100644 --- a/app/views/shared/components/_recording_row.html.erb +++ b/app/views/shared/components/_recording_row.html.erb @@ -2,7 +2,7 @@
<%= recording[:name] %>
- Recorded on <%= recording_date(recording[:startTime]) %> + <%= t("recording.recorded_on", date: recording_date(recording[:startTime])) %>
@@ -15,29 +15,29 @@
- Length + <%= t("recording.table.length") %>
<%= recording_length(recording[:startTime], recording[:endTime]) %>
- Users + <%= t("recording.table.users") %>
<%= recording[:participants] %> @@ -51,10 +51,10 @@ diff --git a/app/views/shared/components/_room_block.html.erb b/app/views/shared/components/_room_block.html.erb index 0a796d84..24480fea 100644 --- a/app/views/shared/components/_room_block.html.erb +++ b/app/views/shared/components/_room_block.html.erb @@ -15,9 +15,9 @@

<%= room.name %>

<% if room.sessions > 0 %> - Last session on <%= recording_date(room.last_session) %> + <%= t("room.last_session", session: recording_date(room.last_session)) %> <% else %> - This room has no sessions, yet! + <%= t("room.no_sessions") %> <% end %>
@@ -28,11 +28,11 @@
diff --git a/app/views/shared/modals/_create_room_modal.html.erb b/app/views/shared/modals/_create_room_modal.html.erb index bcf9e7c5..d5436b3d 100644 --- a/app/views/shared/modals/_create_room_modal.html.erb +++ b/app/views/shared/modals/_create_room_modal.html.erb @@ -4,7 +4,7 @@
diff --git a/app/views/shared/modals/_delete_room_modal.html.erb b/app/views/shared/modals/_delete_room_modal.html.erb index 5ce6854f..294262cd 100644 --- a/app/views/shared/modals/_delete_room_modal.html.erb +++ b/app/views/shared/modals/_delete_room_modal.html.erb @@ -4,20 +4,20 @@
diff --git a/app/views/shared/modals/_login_modal.html.erb b/app/views/shared/modals/_login_modal.html.erb index 5896d4fb..6d63cfe3 100644 --- a/app/views/shared/modals/_login_modal.html.erb +++ b/app/views/shared/modals/_login_modal.html.erb @@ -4,18 +4,22 @@ @@ -34,12 +38,12 @@ - <%= f.password_field :password, class: "form-control", placeholder: "Password", value: "" %> + <%= f.password_field :password, class: "form-control", placeholder: t("password"), value: "" %> <% end %> diff --git a/app/views/shared/settings/_account.html.erb b/app/views/shared/settings/_account.html.erb index cc9669a5..f4505da1 100644 --- a/app/views/shared/settings/_account.html.erb +++ b/app/views/shared/settings/_account.html.erb @@ -3,24 +3,24 @@
- <%= f.label "Fullname", class: "form-label" %> + <%= f.label t("settings.account.fullname"), class: "form-label" %>
- <%= f.text_field :name, class: "form-control #{form_is_invalid?(@user, :name)}", placeholder: "Fullname" %> + <%= f.text_field :name, class: "form-control #{form_is_invalid?(@user, :name)}", placeholder: t("settings.account.fullname") %>
- <%= f.label "Email", class: "form-label" %> + <%= f.label t("email"), class: "form-label" %>
- <%= f.text_field :email, class: "form-control #{form_is_invalid?(@user, :email)}", placeholder: "Email" %> + <%= f.text_field :email, class: "form-control #{form_is_invalid?(@user, :email)}", placeholder: t("email") %>

- <%= f.label "Provider", class: "form-label" %> + <%= f.label t("settings.account.provider"), class: "form-label" %> <%= f.text_field :provider, class: "form-control", readonly: "" %> - <%= f.label "Image", class: "form-label mt-5" %> + <%= f.label t("settings.account.image"), class: "form-label mt-5" %>
<% if current_user.image.blank? %> @@ -30,11 +30,11 @@ <% end %>
- <%= f.text_field :image, class: "form-control #{form_is_invalid?(@user, :image)}", placeholder: "Profile Image URL" %> + <%= f.text_field :image, class: "form-control #{form_is_invalid?(@user, :image)}", placeholder: t("settings.account.image_url") %>
<% end %> diff --git a/app/views/shared/settings/_design.html.erb b/app/views/shared/settings/_design.html.erb index 7e8afcdf..c69ea908 100644 --- a/app/views/shared/settings/_design.html.erb +++ b/app/views/shared/settings/_design.html.erb @@ -1,7 +1,7 @@
-
Customization not currently supported.
+
<%= t("settings.design.not_supported") %>
diff --git a/app/views/shared/settings/_password.html.erb b/app/views/shared/settings/_password.html.erb index 43e846e0..3dc486b2 100644 --- a/app/views/shared/settings/_password.html.erb +++ b/app/views/shared/settings/_password.html.erb @@ -3,18 +3,18 @@
- <%= f.label "Old Password", class: "form-label" %> + <%= f.label t("settings.password.old"), class: "form-label" %> <%= f.password_field :password, class: "form-control #{form_is_invalid?(@user, :password)}" %>
- <%= f.label "New Password", class: "form-label" %> + <%= f.label t("settings.password.new"), class: "form-label" %> <%= f.password_field :new_password, class: "form-control #{form_is_invalid?(@user, :password)}" %>
- <%= f.label "New Password Confirmation", class: "form-label" %> + <%= f.label t("settings.password.confirmation"), class: "form-label" %> <%= f.password_field :password_confirmation, class: "form-control #{form_is_invalid?(@user, :password_confirmation)}" %>
<% end %> diff --git a/app/views/users/edit.html.erb b/app/views/users/edit.html.erb index 27240083..11854729 100644 --- a/app/views/users/edit.html.erb +++ b/app/views/users/edit.html.erb @@ -1,26 +1,26 @@
- <%= render "shared/components/subtitle", subtitle: "Settings", search: false %> + <%= render "shared/components/subtitle", subtitle: t("settings.title"), search: false %>
<% if @user.social_uid.nil? %> <% end %>
- + <% if @user.errors.any? %> -
Errors:
+
<%= t("errors.title") %>:
    <% @user.errors.full_messages.each do |err| %>
  • <%= err %>.
  • @@ -35,13 +35,13 @@
    - <%= render "shared/settings/setting_view", setting_id: "account", setting_title: "Update your Account Info" %> + <%= render "shared/settings/setting_view", setting_id: "account", setting_title: t("settings.account.subtitle") %> <% if @user.social_uid.nil? %> - <%= render "shared/settings/setting_view", setting_id: "password", setting_title: "Change your Password" %> + <%= render "shared/settings/setting_view", setting_id: "password", setting_title: t("settings.password.subtitle") %> <% end %> - <%= render "shared/settings/setting_view", setting_id: "design", setting_title: "Customize GreenLight" %> + <%= render "shared/settings/setting_view", setting_id: "design", setting_title: t("settings.design.subtitle") %>
diff --git a/app/views/users/new.html.erb b/app/views/users/new.html.erb index 06b3168d..55f5d378 100644 --- a/app/views/users/new.html.erb +++ b/app/views/users/new.html.erb @@ -3,33 +3,33 @@
-

Create an Account

+

<%= t("signup.subtitle") %>

<%= form_for @user, url: create_user_path, method: :post do |f| %>
- <%= f.label "Fullname", class: "form-label" %> - <%= f.text_field :name, class: "form-control #{form_is_invalid?(@user, :name)}", placeholder: "Fullname" %> + <%= f.label t("settings.account.fullname"), class: "form-label" %> + <%= f.text_field :name, class: "form-control #{form_is_invalid?(@user, :name)}", placeholder: t("settings.account.fullname") %>
<%= @user.errors.full_messages_for(:name).first %>
- <%= f.label "Email", class: "form-label" %> - <%= f.text_field :email, class: "form-control #{form_is_invalid?(@user, :email)}", placeholder: "Email" %> + <%= f.label t("email"), class: "form-label" %> + <%= f.text_field :email, class: "form-control #{form_is_invalid?(@user, :email)}", placeholder: t("email") %>
<%= @user.errors.full_messages_for(:email).first %>
- <%= f.label "Password", class: "form-label" %> - <%= f.password_field :password, class: "form-control #{form_is_invalid?(@user, :password)}", placeholder: "Password" %> + <%= f.label t("password"), class: "form-label" %> + <%= f.password_field :password, class: "form-control #{form_is_invalid?(@user, :password)}", placeholder: t("password") %>
<%= @user.errors.full_messages_for(:password).first %>
- <%= f.label "Password Confirmation", class: "form-label" %> - <%= f.password_field :password_confirmation, class: "form-control #{form_is_invalid?(@user, :password_confirmation)}", placeholder: "Password Confirmation" %> + <%= f.label t("signup.password_confirm"), class: "form-label" %> + <%= f.password_field :password_confirmation, class: "form-control #{form_is_invalid?(@user, :password_confirmation)}", placeholder: t("signup.password_confirm") %>
<%= @user.errors.full_messages_for(:password_confirmation).first %>
<% end %>
diff --git a/app/views/users/terms.html.erb b/app/views/users/terms.html.erb index e00d52e2..a0220725 100644 --- a/app/views/users/terms.html.erb +++ b/app/views/users/terms.html.erb @@ -2,14 +2,14 @@
-

Terms and Conditions

+

<%= t("terms.title") %>

<%= Rails.configuration.terms %>

- <%= button_to "I accept the terms and conditions.", terms_path, params: {accept: true}, class: "btn btn-primary btn-space" %> + <%= button_to t("terms.accept"), terms_path, params: {accept: true}, class: "btn btn-primary btn-space" %>
diff --git a/config/locales/en.yml b/config/locales/en.yml index 06539571..4b2c8009 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,23 +1,124 @@ -# Files in the config/locales directory are used for internationalization -# and are automatically loaded by Rails. If you want to use locales other -# than English, add the necessary files in this directory. -# -# To use the locales, use `I18n.t`: -# -# I18n.t 'hello' -# -# In views, this is aliased to just `t`: -# -# <%= t('hello') %> -# -# To use a different locale, set it with `I18n.locale`: -# -# I18n.locale = :es -# -# This would use the information in config/locales/es.yml. -# -# To learn more, please read the Rails Internationalization guide -# available at http://guides.rubyonrails.org/i18n.html. +# English (en) locale. en: - hello: "Hello world" + bigbluebutton: BigBlueButton + cancel: Cancel + copy: Copy + delete: Delete + docs: Documentation + email: Email + enter_your_name: Enter your name! + errors: + internal: + message: Oh no! Looks like something went wrong on our end. + help: The error has been logged, we'll take a look! + migration_error: + contact_admin: If you are not an administrator, please contact one. + continue: I'd like to stay using 1.0. + notice: > + Greenlight encountered a database migration error.
+ This may be because you haven't updated to Greenlight 2.0. + not_found: + message: Whoops! Looks like we can't find that. + help: Is it possible its been removed? + title: Errors + unprocessable: + message: Oops! Request is unprocessable. + help: Unforunately this isn't a valid request. + features: + title: Features + rooms: Personalized Rooms + recordings: Recording Management + designs: Custom Designs + footer: + powered_by: Powered by %{href}. + go_back: Go back + greenlight: Greenlight + header: + create_room: Create Room + dropdown: + help: Need help? + home: Home room + settings: Settings + signout: Sign out + landing: + about: A simple front end for your BigBlueButton Open Source Web Conferencing Server. + welcome: Welcome to Greenlight. + video: Watch a tutorial on using Greenlight + upgrade: Show me how to upgrade to 2.0! + version: We've released a new version of Greenlight, but your database isn't compatible. + login: Login + modal: + create_room: + auto_join: Automatically join me into the room. + free_delete: You will be free to delete this room at any time. + name_placeholder: Enter a room name... + not_blank: Room name cannot be blank. + title: Create New Room + delete_room: + confirm: Are you sure you want to delete %{room}? + delete: I'm sure, delete this room. + keep: On second thought, I'll keep it. + warning: You will not be able to recover this room or any of its associated recordings. + login: + or: or + with: Login with %{provider} + password: Password + recording: + email: Email Recording + no_recordings: This room has no %{inject}recordings. + recorded_on: Recorded on %{date} + table: + name: Name + thumbnails: Thumbnails + length: Length + users: Users + visibility: Visibility + formats: Formats + visibility: + public: Public + unlisted: Unlisted + room: + invited: You have been inivited to join + invite_participants: Invite Participants + join: Join + last_session: Last session on %{session} + owner: Owner + no_sessions: This room has no sessions, yet! + recordings: Recordings + sessions: Sessions + settings: Room Settings + start: Start + wait: + message: Oops! The meeting hasn't started yet. + auto: You will automatically join when the meeting starts. + settings: + account: + fullname: Fullname + provider: Provider + image: Image + image_url: Profile Image URL + subtitle: Update your Account Info + title: Account + design: + not_supported: Customization not currently supported. + subtitle: Customize Greenlight + title: Design + password: + confirmation: New Password Confirmation + new: New Password + old: Old Password + subtitle: Change your Password + title: Password + title: Settings + signup: + password_confirm: Password Confirmation + subtitle: Create an Account + title: Signup + terms: + accept: I accept the terms and conditions. + title: Terms and Conditions + test_install: > + This deployment is using a pre-configured testing server, you should replace this with your own. + For details, see the %{href}. + update: Update