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

Reorganize en_us.js template and add Arabic translations #1769

Merged
merged 11 commits into from
Feb 29, 2024
6 changes: 6 additions & 0 deletions client-participation/js/strings.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ var translations = {

// Romanian & Moldovan
ro: require("./strings/ro.js"),

// Arabic
ar: require("./strings/ar.js"),
};


Expand Down Expand Up @@ -149,6 +152,9 @@ preloadHelper.acceptLanguagePromise.then(function() {
else if (languageCode.match(/^hr/)) {
_.extend(strings, translations.hr);
}
else if (languageCode.match(/^ar/)) {
_.extend(strings, translations.ar);
}
});
});

Expand Down
75 changes: 75 additions & 0 deletions client-participation/js/strings/ar.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
// Copyright (C) 2012-present, The Authors. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

var s = {};

// Text on the card

s.participantHelpWelcomeText = " أهلاً بكم في نوع جديد من المحادثات، </em> صوت <em> على إفادات الأشخاص الآخرين";
s.agree = "أوافق";
s.disagree = "لا أوافق";
s.pass = "غير متأكد / تجاوز التصويت";
s.anonPerson = "مجهول";
s.x_wrote = "كتب";
s.comments_remaining = "{{num_comments}} متبقي";

// Text about writing your own statement

s.writeCommentHelpText = "هل تعتقد أن آرائك أو تجربتك غير موجودة في هذه المحادثة؟ إذا كان الأمر كذلك، الرجاء إضافتها";
s.helpWriteListIntro = "ما الذي يجعل الإفادة جيدة؟";
s.helpWriteListStandalone = "فكرة مستقلة بذاتها";
s.helpWriteListRaisNew = "تطرح وجهات نظر أو تجارب أو مشاكل جديدة";
s.helpWriteListShort = "بوضوح وإيجاز(أقل من ١٤٠ حرف)";
s.tipCommentsRandom = ".الرجاء الانتباه، الإفادات تظهر بشكل عشوائي وأنت لا ترد بشكل مباشر على إفادات المشاركين الآخرين";
s.writePrompt = "...شارك وجهة نظرك";
s.submitComment = "أرسل";

// Error notices

s.commentSendFailed = "حدث خطأ في إرسال إفادتك.";
s.commentSendFailedEmpty = "حدث خطأ في إرسال إفادتك - الإفادة يجب ألا تكون فارغة";
s.commentSendFailedTooLong = "حدث خطأ في إرسال إفادتك - الإفادة أطول مما يجب";
s.commentSendFailedDuplicate = "حدث خطأ في إرسال إفادتك - تم إرسال إفادة مطابقة سابقاً";
s.commentErrorDuplicate = "مكرّر! هذه الإفادة موجودة سابقاً .";
s.commentErrorConversationClosed = "تم إغلاق المحادثة . لا يمكن إرسال أي إفادات";
s.commentIsEmpty = "الإفادة فارغة";
s.commentIsTooLong = "الإفادة أطول مما يجب";

// For the visualization below

s.group_123 = "مجموعة:";
s.comment_123 = "إفادة :";
s.majorityOpinion = "رأي الأغلبية ";
s.majorityOpinionShort = "الأغلبية";
s.info = "معلومات";
s.helpWhatAmISeeingTitle = "ماذا أرى؟ ";
s.helpWhatAmISeeing ="تم وضع الأشخاص المتقاربين في التصويت ضمن مجموعات. اضغط على مجموعة لرؤية وجهة النظر التي يتشاركونها. ";
s.helpWhatDoIDoTitle = "ماذا أفعل؟";
s.helpWhatDoIDo = ".صوت على إفادات الأشخاص الآخرين، اضغط \"موافق\" أو \"غير موافق\". اكتب إفادة (كل إفادة لفكرة واحدة). ادع أصدقاءك للمحادثة";
s.heresHowGroupVoted = "المجموعة رقم {{GROUP_NUMBER}} صوّتت على الشكل التالي:";
s.one_person = "{{x}} شخص;"
s.x_people = "{{x}} أشخاص";
s.acrossAllPtpts = ":ضمن جميع المشاركين";
s.xPtptsSawThisComment = "شاهدوا هذه الإفادة ";
s.xOfThoseAgreed = "من هؤلاء المشاركين وافقوا";
s.xOfthoseDisagreed = "من هؤلاء المشاركين لم يوافقوا";
s.opinionGroups = "مجموعات الرأي ";
s.topComments = "الإفادات الأولى";
s.divisiveComments = "الإفادات الخلافية";
s.pctAgreed = "{{pct}}% وافق";
s.pctDisagreed = "{{pct}}% لم يوافقوا";
s.pctAgreedLong = "{{pct}}% من جميع المشاركين صوتوا على الإفادة {{comment_id}} وافقوا";
s.pctAgreedOfGroup = "{{pct}}% من مجموعة {{group}} وافقوا ";
s.pctDisagreedOfGroup = "{{pct}}% من مجموعة {{group}} لم يوافقوا";
s.pctDisagreedLong = "{{pct}}% من جميع المشاركين صوتوا على الإفادة {{comment_id}} غير موافقين";
s.pctAgreedOfGroupLong = "{{pct}}% من مجموعة {{group}} الذين صوتوا على إفادة {{comment_id}} وافقوا";
s.pctDisagreedOfGroupLong = "{{pct}}% من مجموعة {{group}} الذين صوتوا على هذه الإفادة {{comment_id}} وافقوا";

// Footer

s.privacy = "الخصوصية";
s.TOS = "شروط الخدمة";





119 changes: 74 additions & 45 deletions client-participation/js/strings/en_us.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,40 @@

var s = {};

// Text on the card

s.participantHelpWelcomeText = "Welcome to a new kind of conversation - <em>vote</em> on other people's statements.";

s.agree = "Agree";
s.disagree = "Disagree";
s.pass = "Pass / Unsure";

s.importantCheckbox = "This comment is important";
s.howImportantPrompt = "How important is this statement?";
s.howImportantLow = "Low";
s.howImportantMedium = "Medium";
s.howImportantHigh = "High";

s.modSpam = "Spam";
s.modOffTopic = "Off Topic";
s.modImportant = "Important";
s.modSubmitInitialState = "Skip (none of the above), next statement";
s.modSubmit = "Done, next statement";

s.writePrompt = "Share your perspective...";
s.anonPerson = "Anonymous";
s.x_wrote = "wrote:";
s.x_tweeted = "tweeted:";
s.comments_remaining = "{{num_comments}} remaining";
s.comments_remaining2 = "{{num_comments}} remaining statements";

// Text about phasing

s.noCommentsYet = "There aren't any statements yet.";
s.noCommentsYetSoWrite = "Get this conversation started by adding a statement.";
s.noCommentsYetSoInvite = "Get this conversation started by inviting more participants, or add a statement.";
s.noCommentsYouVotedOnAll = "You've voted on all the statements.";
s.noCommentsTryWritingOne = "If you have something to add, try writing your own statement.";
s.convIsClosed = "This conversation is closed.";
s.noMoreVotingAllowed = "No further voting is allowed.";

// For the visualization below

s.group_123 = "Group:";
s.comment_123 = "Statement:";
s.majorityOpinion = "Majority Opinion";
s.majorityOpinionShort = "Majority";
s.info = "Info";
s.addPolisToYourSite = "<img style='height: 20px; margin: 0px 4px;' src='{{URL}}'/>";
s.privacy = "Privacy";
s.TOS = "TOS";
s.writePrompt = "Share your perspective...";
s.anonPerson = "Anonymous";
s.helpWhatAmISeeingTitle = "What am I seeing?";
s.helpWhatAmISeeing = "People who vote similarly are grouped. Click a group to see which viewpoints they share.";
s.helpWhatDoIDoTitle = " What do I do?";
s.helpWhatDoIDo = "Vote on other people's statements by clicking 'agree' or 'disagree'. Write a statement (keep each to a single idea). Invite your friends to the conversation!";
s.writeCommentHelpText = "Are your perspectives or experiences missing from the conversation? If so, <b>add them</b> in the box below.";
s.helpWriteListIntro = "What makes a good statement?";
s.helpWriteListStandalone = "Stand alone idea";
s.helpWriteListRaisNew = "Raise new perspectives, experiences or issues";
s.helpWriteListShort = "Clear & concise (limited to 140 characters)";
s.heresHowGroupVoted = "Here's how Group {{GROUP_NUMBER}} voted:";
s.one_person = "{{x}} person";
s.x_people = "{{x}} people";
Expand All @@ -59,7 +54,31 @@ s.pctDisagreedOfGroup = "{{pct}}% of Group {{group}} Disagreed";
s.pctDisagreedLong = "{{pct}}% of everyone who voted on statement {{comment_id}} disagreed.";
s.pctAgreedOfGroupLong = "{{pct}}% of those in group {{group}} who voted on statement {{comment_id}} agreed.";
s.pctDisagreedOfGroupLong = "{{pct}}% of those in group {{group}} who voted on statement {{comment_id}} disagreed.";
s.participantHelpGroupsText = "People who vote similarly <span style='font-weight: 700;'>are grouped.</span> Click a group to see which viewpoints they share. <a style='font-weight: 700; cursor: pointer; text-decoration: underline' id='helpTextGroupsExpand'>...more</a>";
s.participantHelpGroupsNotYetText = "The visualization will appear once 7 participants have begun voting";
s.helpWhatAreGroupsDetail = "<p>You've probably seen 'recommended products' on Amazon, or 'recommended movies' on Netflix. Each of those services uses statistics to group the user with people who buy and watch similar things, then show them things that those people bought or watched.</p> <p> When a user votes on statements, they are grouped with people who voted like they did! You can see those groups below. Each is made up of people who have similar opinions. There are fascinating insights to discover in each conversation. Go ahead - click a group to see what brought them together and what makes them unique! </p>";

// Text about writing your own statement

s.helpWhatDoIDoTitle = " What do I do?";
s.helpWhatDoIDo = "Vote on other people's statements by clicking 'agree' or 'disagree'. Write a statement (keep each to a single idea). Invite your friends to the conversation!";
s.writeCommentHelpText = "Are your perspectives or experiences missing from the conversation? If so, <b>add them</b> in the box below.";
s.helpWriteListIntro = "What makes a good statement?";
s.helpWriteListStandalone = "Stand alone idea";
s.helpWriteListRaisNew = "Raise new perspectives, experiences or issues";
s.helpWriteListShort = "Clear & concise (limited to 140 characters)";
s.tip = "Tip:";
s.commentWritingTipsHintsHeader = "Tips for writing statements";
s.tipCharLimit = "Statements are limited to {{char_limit}} characters.";
s.tipCommentsRandom = "Please remember, statements are displayed randomly and you are not replying directly to other participants' statements.";
s.tipOneIdea = "Break up long statements that contain multiple ideas. This makes it easier for others to vote on your statement.";
s.tipNoQuestions = "Statements should not be in the form of a question. Participants will agree or disagree with the statements you make.";
s.commentTooLongByChars = "Statement length limit exceeded by {{CHARACTERS_COUNT}} characters.";
s.submitComment = "Submit";
s.commentSent = "Statement submitted! Only other participants will see your statement and agree or disagree.";

// Error notices

s.commentSendFailed = "There was an error submitting your statement.";
s.commentSendFailedEmpty = "There was an error submitting your statement - Statement should not be empty.";
s.commentSendFailedTooLong = "There was an error submitting your statement - Statement is too long.";
Expand All @@ -70,47 +89,54 @@ s.commentIsEmpty = "Statement is empty";
s.commentIsTooLong = "Statement is too long";
s.hereIsNextStatement = "Vote success. Navigate up to see the next statement.";

// Text about connecting identity

s.connectFacebook = "Connect Facebook";
s.connectTwitter = "Connect Twitter";
s.connectToPostPrompt = "Connect an identity to submit a statement. We will not post to your timeline.";
s.connectToVotePrompt = "Connect an identity to vote. We will not post to your timeline.";
s.tip = "Tip:";
s.commentWritingTipsHintsHeader = "Tips for writing statements";
s.tipCharLimit = "Statements are limited to {{char_limit}} characters.";
s.tipCommentsRandom = "Please remember, statements are displayed randomly and you are not replying directly to other participants' statements.";
s.tipOneIdea = "Break up long statements that contain multiple ideas. This makes it easier for others to vote on your statement.";
s.tipNoQuestions = "Statements should not be in the form of a question. Participants will agree or disagree with the statements you make.";
s.commentTooLongByChars = "Statement length limit exceeded by {{CHARACTERS_COUNT}} characters.";
s.notSentSinceDemo = "(not really, this is a demo)";
s.submitComment = "Submit";
s.tipStarred = "Marked as important.";
s.participantHelpWelcomeText = "Welcome to a new kind of conversation - <em>vote</em> on other people's statements.";
s.participantHelpGroupsText = "People who vote similarly <span style='font-weight: 700;'>are grouped.</span> Click a group to see which viewpoints they share. <a style='font-weight: 700; cursor: pointer; text-decoration: underline' id='helpTextGroupsExpand'>...more</a>";
s.participantHelpGroupsNotYetText = "The visualization will appear once 7 participants have begun voting";
s.helpWhatAreGroupsDetail = "<p>You've probably seen 'recommended products' on Amazon, or 'recommended movies' on Netflix. Each of those services uses statistics to group the user with people who buy and watch similar things, then show them things that those people bought or watched.</p> <p> When a user votes on statements, they are grouped with people who voted like they did! You can see those groups below. Each is made up of people who have similar opinions. There are fascinating insights to discover in each conversation. Go ahead - click a group to see what brought them together and what makes them unique! </p>";
s.socialConnectPrompt = "Optionally connect to see friends and people you follow in the visualization.";
s.connectFbButton = "Connect with Facebook";
s.connectTwButton = "Connect with Twitter";
s.polis_err_reg_fb_verification_email_sent = "Please check your email for a verification link, then return here to continue.";
s.polis_err_reg_fb_verification_noemail_unverified = "Your Facebook account is unverified. Please verify your email address with Facebook, then return here to continue.";

// Text for the third party translation that appears on the cards

s.showTranslationButton = "Activate third-party translation";
s.hideTranslationButton = "Deactivate Translation";
s.thirdPartyTranslationDisclaimer = "Translation provided by a third party";

// Text about notifications and subscriptions and embedding

s.notificationsAlreadySubscribed = "You are subscribed to updates for this conversation.";
s.notificationsGetNotified = "Get notified when more statements arrive:";
s.notificationsEnterEmail = "Enter your email address to get notified when more statements arrive:";
s.labelEmail = "Email";
s.notificationsSubscribeButton = "Subscribe";
s.notificationsSubscribeErrorAlert = "Error subscribing";
s.noCommentsYet = "There aren't any statements yet.";
s.noCommentsYetSoWrite = "Get this conversation started by adding a statement.";
s.noCommentsYetSoInvite = "Get this conversation started by inviting more participants, or add a statement.";
s.noCommentsYouVotedOnAll = "You've voted on all the statements.";
s.noCommentsTryWritingOne = "If you have something to add, try writing your own statement.";
s.convIsClosed = "This conversation is closed.";
s.noMoreVotingAllowed = "No further voting is allowed.";

s.addPolisToYourSite = "<img style='height: 20px; margin: 0px 4px;' src='{{URL}}'/>";

// Footer

s.privacy = "Privacy";
s.TOS = "TOS";

// Experimental features

s.importantCheckbox = "This comment is important";
s.howImportantPrompt = "How important is this statement?";
s.howImportantLow = "Low";
s.howImportantMedium = "Medium";
s.howImportantHigh = "High";
s.tipStarred = "Marked as important.";

s.modSpam = "Spam";
s.modOffTopic = "Off Topic";
s.modImportant = "Important";
s.modSubmitInitialState = "Skip (none of the above), next statement";
s.modSubmit = "Done, next statement";

s.topic_good_01 = "What should we do about the pingpong room?";
s.topic_good_01_reason = "open ended, anyone can have an opinion on answers to this question";
Expand All @@ -123,5 +149,8 @@ s.topic_bad_01_reason = "people from various teams will be voting on the respons
s.topic_bad_02 = "what are our launch blockers?";
s.topic_bad_02_reason = "";

// Old unused error message from when Polis was a demo <3

s.notSentSinceDemo = "(not really, this is a demo)";

module.exports = s;
Loading