Add Thai langauge (#2903)

* Updated Thai language

* locale: remove unused translation in Thai

* locale: add Thai to settings menu and application

* locale: fix activerecord.th.yml format
master
Koala Yeung 7 years ago committed by Eugen Rochko
parent 66a3979cba
commit cbd673601c
  1. 1
      app/helpers/settings_helper.rb
  2. 3
      app/views/user_mailer/password_change.th.html.erb
  3. 3
      app/views/user_mailer/password_change.th.text.erb
  4. 8
      app/views/user_mailer/reset_password_instructions.th.html.erb
  5. 8
      app/views/user_mailer/reset_password_instructions.th.text.erb
  6. 1
      config/application.rb
  7. 13
      config/locales/activerecord.th.yml
  8. 61
      config/locales/devise.th.yml
  9. 113
      config/locales/doorkeeper.th.yml
  10. 53
      config/locales/simple_form.th.yml
  11. 6
      config/locales/th.yml

@ -25,6 +25,7 @@ module SettingsHelper
pt: 'Português',
'pt-BR': 'Português do Brasil',
ru: 'Русский',
th: 'ภาษาไทย',
tr: 'Türkçe',
uk: 'Українська',
'zh-CN': '简体中文',

@ -0,0 +1,3 @@
<p>สวสด <%= @resource.email %>!</p>
<p>เราตดตอเขามาเพอจะแจงใหณทราบวาพาสเวด Mastodon เปลยนแลว </p>

@ -0,0 +1,3 @@
สวสด <%= @resource.email %>!
เราตดตอมาเพอแจงใหณทราบวา พาสเวดของคณถกเปลยนแล

@ -0,0 +1,8 @@
<p>สวสด <%= @resource.email %>!</p>
<p>มการแจงขอลงคเปลยนแปลงพาสเวดเขา Mastodon ของคณ. คณสามารถแกไขพาสเวดไดานทางลงคานลางน.</p>
<p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %></p>
<p>ถาคณไมไดเปนคนขอลงค, กรณาขามเมลไป.</p>
<p>พารสเวดของคณจะยงไมกเปลยนจนกวาคณจะเขาไปในลงคานบนนเพอสรางพาสเวดใหม.</p>

@ -0,0 +1,8 @@
Hello <%= @resource.email %>!
Someone has requested a link to change your password on Mastodon. You can do this through the link below.
<%= edit_password_url(@resource, reset_password_token: @token) %>
If you didn't request this, please ignore this email.
Your password won't change until you access the link above and create a new one.

@ -49,6 +49,7 @@ module Mastodon
:pt,
:'pt-BR',
:ru,
:th,
:tr,
:uk,
:'zh-CN',

@ -0,0 +1,13 @@
---
th:
activerecord:
errors:
models:
account:
attributes:
username:
invalid: only letters, numbers and underscores
status:
attributes:
reblog:
taken: of status already exists

@ -0,0 +1,61 @@
---
th:
devise:
confirmations:
confirmed: Your email address has been successfully confirmed.
send_instructions: You will receive an email with instructions for how to confirm your email address in a few minutes.
send_paranoid_instructions: If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes.
failure:
already_authenticated: You are already signed in.
inactive: Your account is not activated yet.
invalid: Invalid %{authentication_keys} or password.
last_attempt: You have one more attempt before your account is locked.
locked: Your account is locked.
not_found_in_database: Invalid %{authentication_keys} or password.
timeout: Your session expired. Please sign in again to continue.
unauthenticated: You need to sign in or sign up before continuing.
unconfirmed: You have to confirm your email address before continuing.
mailer:
confirmation_instructions:
subject: 'Mastodon: Confirmation instructions for %{instance}'
password_change:
subject: 'Mastodon: Password changed'
reset_password_instructions:
subject: 'Mastodon: Reset password instructions'
unlock_instructions:
subject: 'Mastodon: Unlock instructions'
omniauth_callbacks:
failure: Could not authenticate you from %{kind} because "%{reason}".
success: Successfully authenticated from %{kind} account.
passwords:
no_token: You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided.
send_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.
send_paranoid_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.
updated: Your password has been changed successfully. You are now signed in.
updated_not_active: Your password has been changed successfully.
registrations:
destroyed: Bye! Your account has been successfully cancelled. We hope to see you again soon.
signed_up: Welcome! You have signed up successfully.
signed_up_but_inactive: You have signed up successfully. However, we could not sign you in because your account is not yet activated.
signed_up_but_locked: You have signed up successfully. However, we could not sign you in because your account is locked.
signed_up_but_unconfirmed: A message with a confirmation link has been sent to your email address. Please follow the link to activate your account.
update_needs_confirmation: You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address.
updated: Your account has been updated successfully.
sessions:
already_signed_out: Signed out successfully.
signed_in: Signed in successfully.
signed_out: Signed out successfully.
unlocks:
send_instructions: You will receive an email with instructions for how to unlock your account in a few minutes.
send_paranoid_instructions: If your account exists, you will receive an email with instructions for how to unlock it in a few minutes.
unlocked: Your account has been unlocked successfully. Please sign in to continue.
errors:
messages:
already_confirmed: was already confirmed, please try signing in
confirmation_period_expired: needs to be confirmed within %{period}, please request a new one
expired: has expired, please request a new one
not_found: not found
not_locked: was not locked
not_saved:
one: '1 error prohibited this %{resource} from being saved:'
other: "%{count} errors prohibited this %{resource} from being saved:"

@ -0,0 +1,113 @@
---
th:
activerecord:
attributes:
doorkeeper/application:
name:
redirect_uri: เปลยนเสนทาง URI
errors:
models:
doorkeeper/application:
attributes:
redirect_uri:
fragment_present: cannot contain a fragment.
invalid_uri: องใช URI ทกตอง.
relative_uri: องเปน absolute URI.
secured_uri: องใช HTTPS/SSL URI.
doorkeeper:
applications:
buttons:
authorize: Authorize
cancel: ยกเล
destroy: ทำลาย
edit: แกไข
submit: Submit
confirmations:
destroy: แนใจนะ?
edit:
title: แกไข แอฟพลเคช
form:
error: Whoops! Check your form for possible errors
help:
native_redirect_uri: ใช %{native_redirect_uri} สำหรบการทดสอบ
redirect_uri: ใชบรรทดละหนง URI
scopes: Separate scopes with spaces. Leave blank to use the default scopes.
index:
callback_url: Callback URL
name:
new: New Application
title: Your applications
new:
title: New Application
show:
actions: Actions
application_id: Application Id
callback_urls: Callback urls
scopes: Scopes
secret: Secret
title: 'Application: %{name}'
authorizations:
buttons:
authorize: อนญาต
deny: ไมอนญาต
error:
title: An error has occurred
new:
able_to: It will be able to
prompt: Application %{client_name} requests access to your account
title: Authorization required
show:
title: Authorization code
authorized_applications:
buttons:
revoke: ยกเลกการอนญาต
confirmations:
revoke: Are you sure?
index:
application: Application
created_at: Authorized
date_format: "%Y-%m-%d %H:%M:%S"
scopes: Scopes
title: Your authorized applications
errors:
messages:
access_denied: The resource owner or authorization server denied the request.
credential_flow_not_configured: Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.
invalid_client: Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.
invalid_grant: The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
invalid_redirect_uri: The redirect uri included is not valid.
invalid_request: The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.
invalid_resource_owner: The provided resource owner credentials are not valid, or resource owner cannot be found
invalid_scope: The requested scope is invalid, unknown, or malformed.
invalid_token:
expired: The access token expired
revoked: The access token was revoked
unknown: The access token is invalid
resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged.
server_error: The authorization server encountered an unexpected condition which prevented it from fulfilling the request.
temporarily_unavailable: The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
unauthorized_client: The client is not authorized to perform this request using this method.
unsupported_grant_type: The authorization grant type is not supported by the authorization server.
unsupported_response_type: The authorization server does not support this response type.
flash:
applications:
create:
notice: Application created.
destroy:
notice: Application deleted.
update:
notice: Application updated.
authorized_applications:
destroy:
notice: Application revoked.
layouts:
admin:
nav:
applications: Applications
oauth2_provider: OAuth2 Provider
application:
title: OAuth authorization required
scopes:
follow: follow, block, unblock and unfollow accounts
read: read your account's data
write: post on your behalf

@ -0,0 +1,53 @@
---
th:
simple_form:
hints:
defaults:
avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 120x120px
display_name: '%{counter} characters left'
header: PNG, GIF or JPG. At most 2MB. Will be downscaled to 700x335px
locked: Requires you to manually approve followers and defaults post privacy to followers-only
note: '%{counter} characters left'
imports:
data: CSV file exported from another Mastodon instance
sessions:
otp: Enter the Two-factor code from your phone or use one of your recovery codes.
user:
allowed_languages: These languages will be allowed in your public timelines. Languages that are not selected will be filtered out.
labels:
defaults:
avatar: Avatar
confirm_new_password: Confirm new password
confirm_password: Confirm password
current_password: Current password
data: อม
display_name: Display name
email: E-mail address
header: Header
locale: ภาษา
locked: Lock account
new_password: New password
note: Bio
otp_attempt: Two-factor code
password: พารสเว
setting_auto_play_gif: Auto-play animated GIFs
setting_boost_modal: Show confirmation dialog before boosting
setting_default_privacy: Post privacy
severity: Severity
type: Import type
username: Username
interactions:
must_be_follower: Block notifications from non-followers
must_be_following: Block notifications from people you don't follow
notification_emails:
digest: Send digest e-mails
favourite: Send e-mail when someone favourites your status
follow: Send e-mail when someone follows you
follow_request: Send e-mail when someone requests to follow you
mention: Send e-mail when someone mentions you
reblog: Send e-mail when someone boosts your status
'no': 'ไม'
required:
mark: "*"
text: required
'yes': 'ใช'

@ -48,12 +48,13 @@ th:
name: "%{account_name} สรางโนต."
outbox:
name: "%{account_name}'s Outbox"
summary: "รวมกจกรรมของผใช %{account_name}."
summary: รวมกจกรรมของผใช %{account_name}.
admin:
accounts:
are_you_sure: แนใจนะ?
confirm: นย
confirmed: นยนแล
disable_two_factor_authentication: Disable 2FA
display_name: อสำหรบดสเพล
domain: โดแมน
edit: แกไข
@ -118,7 +119,7 @@ th:
show:
affected_accounts:
one: ผลตอหนงแอคเคาทในฐานขอม
other: "ผลตอแอคเคาทในฐานขอมลจำนวน %{count}"
other: ผลตอแอคเคาทในฐานขอมลจำนวน %{count}
retroactive:
silence: ยกเลกการปดเสยงทกแอคเคาทจากโดเมน
suspend: ยกเลกการหยดทกแอคเคาทจากโดเมน
@ -221,6 +222,7 @@ th:
'422':
content: การตรวจสอบความปลอดภยลมเหลว. คณกำลงบลอกคกกอย?
title: การตรวจสอบความปลอดภยลมเหลว
'429': Throttled
exports:
blocks: ณบลอก
csv: CSV

Loading…
Cancel
Save