From 435af75ef798a2b2282b7f26e7987a67a1da7182 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Thu, 17 Sep 2020 10:30:08 +0200 Subject: [PATCH] Merge pull request #3163 from overleaf/as-jpa-i18n-cleanup [misc] Translations cleanup GitOrigin-RevId: 46bf1142bb9415eeebf638c120597996aaa55f8b --- .../app/src/infrastructure/ExpressLocals.js | 10 - services/web/app/src/infrastructure/Server.js | 4 +- .../app/src/infrastructure/Translations.js | 189 ++- .../translations/translation_message.pug | 8 +- services/web/locales/README.md | 3 + services/web/locales/cn.json | 905 ------------ services/web/locales/en-GB.json | 1296 ----------------- services/web/locales/en-US.json | 1296 ----------------- services/web/scripts/translations/download.js | 8 +- services/web/test/smoke/src/SmokeTests.js | 4 +- .../src/infrastructure/TranslationsTests.js | 130 +- 11 files changed, 142 insertions(+), 3711 deletions(-) delete mode 100644 services/web/locales/cn.json delete mode 100644 services/web/locales/en-GB.json delete mode 100644 services/web/locales/en-US.json diff --git a/services/web/app/src/infrastructure/ExpressLocals.js b/services/web/app/src/infrastructure/ExpressLocals.js index 9ec9a1c0e2..f01f0bcf63 100644 --- a/services/web/app/src/infrastructure/ExpressLocals.js +++ b/services/web/app/src/infrastructure/ExpressLocals.js @@ -208,16 +208,6 @@ module.exports = function(webRouter, privateApiRouter, publicApiRouter) { next() }) - webRouter.use(function(req, res, next) { - const subdomain = _.find( - Settings.i18n.subdomainLang, - subdomain => subdomain.lngCode === req.showUserOtherLng && !subdomain.hide - ) - res.locals.recomendSubdomain = subdomain - res.locals.currentLngCode = req.lng - next() - }) - webRouter.use(function(req, res, next) { res.locals.getUserEmail = function() { const user = AuthenticationController.getSessionUser(req) diff --git a/services/web/app/src/infrastructure/Server.js b/services/web/app/src/infrastructure/Server.js index 58d8a71f18..e73c3615a5 100644 --- a/services/web/app/src/infrastructure/Server.js +++ b/services/web/app/src/infrastructure/Server.js @@ -150,8 +150,8 @@ Modules.applyNonCsrfRouter(webRouter, privateApiRouter, publicApiRouter) webRouter.csrf = new Csrf() webRouter.use(webRouter.csrf.middleware) -webRouter.use(translations.expressMiddlewear) -webRouter.use(translations.setLangBasedOnDomainMiddlewear) +webRouter.use(translations.i18nMiddleware) +webRouter.use(translations.setLangBasedOnDomainMiddleware) // Measure expiry from last request, not last login webRouter.use(function(req, res, next) { diff --git a/services/web/app/src/infrastructure/Translations.js b/services/web/app/src/infrastructure/Translations.js index e0c1fae469..96c41ae32f 100644 --- a/services/web/app/src/infrastructure/Translations.js +++ b/services/web/app/src/infrastructure/Translations.js @@ -3,108 +3,97 @@ const fsBackend = require('i18next-fs-backend') const middleware = require('i18next-http-middleware') const path = require('path') const Settings = require('settings-sharelatex') +const { URL } = require('url') -const Translations = { - setup(options = {}) { - const subdomainLang = options.subdomainLang || {} - const availableLngs = Object.values(subdomainLang).map(c => c.lngCode) +const fallbackLanguageCode = Settings.i18n.defaultLng || 'en' +const availableLanguageCodes = [] +const availableHosts = new Map() +const subdomainConfigs = new Map() +Object.values(Settings.i18n.subdomainLang || {}).forEach(function(spec) { + availableLanguageCodes.push(spec.lngCode) + // prebuild a host->lngCode mapping for the usage at runtime in the + // middleware + availableHosts.set(new URL(spec.url).host, spec.lngCode) - i18n - .use(fsBackend) - .use(middleware.LanguageDetector) - .init({ - backend: { - loadPath: path.join(__dirname, '../../../locales/__lng__.json') - }, - - // Detect language set via setLng query string - detection: { - order: ['querystring'], - lookupQuerystring: 'setLng' - }, - - // Load translation files synchronously: https://www.i18next.com/overview/configuration-options#initimmediate - initImmediate: false, - - // We use the legacy v1 JSON format, so configure interpolator to use - // underscores instead of curly braces - interpolation: { - prefix: '__', - suffix: '__', - unescapeSuffix: 'HTML', - // Disable escaping of interpolated values for backwards compatibility. - // We escape the value after it's translated in web, so there's no - // security risk - escapeValue: false, - // Disable nesting in interpolated values, preventing user input - // injection via another nested value - skipOnVariables: true - }, - - preload: availableLngs, - supportedLngs: availableLngs, - fallbackLng: options.defaultLng || 'en' - }) - - // Make custom language detector for Accept-Language header - const headerLangDetector = new middleware.LanguageDetector(i18n.services, { - order: ['header'] - }) - - function setLangBasedOnDomainMiddleware(req, res, next) { - // setLng query param takes precedence, so if set ignore the subdomain - if (req.originalUrl.includes('setLng')) { - return next() - } - - // Determine language from subdomain - const { host } = req.headers - if (host == null) { - return next() - } - const [subdomain] = host.split(/[.-]/) - const lang = subdomainLang[subdomain] - ? subdomainLang[subdomain].lngCode - : null - - if (lang != null) { - req.i18n.changeLanguage(lang) - } - - // If the set language is different from the language detection (based on - // the Accept-Language header), then set flag which will show a banner - // offering to switch to the appropriate library - const detectedLanguage = headerLangDetector.detect(req, res) - if (req.language !== detectedLanguage) { - req.showUserOtherLng = detectedLanguage - } - - next() - } - - const expressMiddleware = function(req, res, next) { - middleware.handle(i18n)(req, res, (...args) => { - // Decorate req.i18n with translate function alias for backwards - // compatibility usage in requests - req.i18n.translate = req.i18n.t - next(...args) - }) - } - - // Decorate i18n with translate function alias for backwards compatibility - // in direct usage - i18n.translate = i18n.t - - return { - expressMiddleware, - setLangBasedOnDomainMiddleware, - i18n, - - // Backwards compatibility with long-standing typo - expressMiddlewear: expressMiddleware, - setLangBasedOnDomainMiddlewear: setLangBasedOnDomainMiddleware - } + // prebuild a lngCode -> language config mapping; some subdomains should + // not appear in the language picker + if (!spec.hide) { + subdomainConfigs.set(spec.lngCode, spec) } +}) +if (!availableLanguageCodes.includes(fallbackLanguageCode)) { + // always load the fallback locale + availableLanguageCodes.push(fallbackLanguageCode) } -module.exports = Translations.setup(Settings.i18n) +i18n + .use(fsBackend) + .use(middleware.LanguageDetector) + .init({ + backend: { + loadPath: path.join(__dirname, '../../../locales/__lng__.json') + }, + + // Load translation files synchronously: https://www.i18next.com/overview/configuration-options#initimmediate + initImmediate: false, + + // We use the legacy v1 JSON format, so configure interpolator to use + // underscores instead of curly braces + interpolation: { + prefix: '__', + suffix: '__', + unescapeSuffix: 'HTML', + // Disable escaping of interpolated values for backwards compatibility. + // We escape the value after it's translated in web, so there's no + // security risk + escapeValue: false, + // Disable nesting in interpolated values, preventing user input + // injection via another nested value + skipOnVariables: true + }, + + preload: availableLanguageCodes, + supportedLngs: availableLanguageCodes, + fallbackLng: fallbackLanguageCode + }) + +// Make custom language detector for Accept-Language header +const headerLangDetector = new middleware.LanguageDetector(i18n.services, { + order: ['header'] +}) + +function setLangBasedOnDomainMiddleware(req, res, next) { + // Determine language from subdomain + const lang = availableHosts.get(req.headers.host) + if (lang) { + req.i18n.changeLanguage(lang) + } + + // expose the language code to pug + res.locals.currentLngCode = req.language + + // If the set language is different from the language detection (based on + // the Accept-Language header), then set flag which will show a banner + // offering to switch to the appropriate library + const detectedLanguageCode = headerLangDetector.detect(req, res) + if (req.language !== detectedLanguageCode) { + res.locals.suggestedLanguageSubdomainConfig = subdomainConfigs.get( + detectedLanguageCode + ) + } + + // Decorate req.i18n with translate function alias for backwards + // compatibility usage in requests + req.i18n.translate = req.i18n.t + next() +} + +// Decorate i18n with translate function alias for backwards compatibility +// in direct usage +i18n.translate = i18n.t + +module.exports = { + i18nMiddleware: middleware.handle(i18n), + setLangBasedOnDomainMiddleware, + i18n +} diff --git a/services/web/app/views/translations/translation_message.pug b/services/web/app/views/translations/translation_message.pug index 635a8c9265..eb8b9845f3 100644 --- a/services/web/app/views/translations/translation_message.pug +++ b/services/web/app/views/translations/translation_message.pug @@ -1,8 +1,8 @@ -- if(typeof(recomendSubdomain) != "undefined") +- if(typeof(suggestedLanguageSubdomainConfig) != "undefined") span(ng-controller="TranslationsPopupController", ng-cloak) .translations-message(ng-hide="hidei18nNotification") - a(href=recomendSubdomain.url+currentUrl) !{translate("click_here_to_view_sl_in_lng", {lngName:"" + translate(recomendSubdomain.lngCode) + ""})} - img(src=buildImgPath("flags/24/" + recomendSubdomain.lngCode + ".png")) + a(href=suggestedLanguageSubdomainConfig.url+currentUrl) !{translate("click_here_to_view_sl_in_lng", {lngName:"" + translate(suggestedLanguageSubdomainConfig.lngCode) + ""})} + img(src=buildImgPath("flags/24/" + suggestedLanguageSubdomainConfig.lngCode + ".png")) button(ng-click="dismiss()").close.pull-right span(aria-hidden="true") × - span.sr-only #{translate("close")} \ No newline at end of file + span.sr-only #{translate("close")} diff --git a/services/web/locales/README.md b/services/web/locales/README.md index 144164440e..cbf0dcf749 100644 --- a/services/web/locales/README.md +++ b/services/web/locales/README.md @@ -3,3 +3,6 @@ Locales These files are not to be edited by hand. [OneSky](https://sharelatex.oneskyapp.com/) is used to manage the locales. + +Please contact us via support@overleaf.com if you want to contribute any + changes. diff --git a/services/web/locales/cn.json b/services/web/locales/cn.json deleted file mode 100644 index 3792d83c53..0000000000 --- a/services/web/locales/cn.json +++ /dev/null @@ -1,905 +0,0 @@ -{ - "trashed_projects": "已删除项目", - "archived_projects": "已归档项目", - "archive": "归档", - "best_value": "最佳性价比", - "faq_how_free_trial_works_question": "如何体验免费使用?", - "faq_change_plans_question": "之后可以更改付款方案吗?", - "faq_do_collab_need_premium_question": "我的合作者也需要高级账户吗?", - "faq_need_more_collab_question": "如果我需要更多合作者该怎么办?", - "faq_purchase_more_licenses_question": "可以为我的同事购买许可吗?", - "faq_monthly_or_annual_question": "应当选择月付还是年付方案?", - "faq_how_to_pay_question": "可以在线使用信用卡、储蓄卡、或者paypal支付吗?", - "faq_pay_by_invoice_question": "可以稍后支付吗", - "reference_search": "高级搜索", - "reference_search_info": "可以通过引用关键词搜索,高级搜索还可以用作者、题目、年份、期刊名称等搜索", - "reference_sync": "同步参考文献", - "instant_access": "马上使用__appName__", - "tagline_personal": "理想的个人项目实现", - "tagline_collaborator": "非常适合共同合作的项目", - "tagline_professional": "对多人合作多项目来说", - "tagline_student_annual": "节省更多", - "tagline_student_monthly": "对单次使用来说简直完美", - "all_premium_features": "所有高级付费功能", - "sync_dropbox_github": "与dropbox或Github同步", - "track_changes": "修订", - "tooltip_hide_pdf": "单击隐藏PDF", - "tooltip_show_pdf": "单击显示PDF", - "tooltip_hide_filetree": "单击隐藏文件树", - "tooltip_show_filetree": "单击显示文件树", - "cannot_verify_user_not_robot": "抱歉,您没有通过“我不是个机器人”验证,请检查您的防火墙或网页插件是否阻碍了您的验证。", - "uncompiled_changes": "未编译的改动", - "code_check_failed": "代码检查失败", - "code_check_failed_explanation": "您的代码有问题,无法自动编译", - "tags_slash_folders": "标签/文件夹", - "file_already_exists": "同名文件或文件夹已存在", - "import_project_to_v2": "打开项目到V2", - "open_in_v1": "在V1中打开", - "import_to_v2": "倒入到V2", - "never_mind_open_in_v1": "忽略,用V1打开", - "yes_im_sure": "我确定", - "drop_files_here_to_upload": "拖动文件到这里以上传", - "drag_here": "拖到这里", - "creating_project": "创立项目", - "select_a_zip_file": "选择一个.zip文件", - "drag_a_zip_file": "拖动.zip文件", - "v1_badge": "V1 徽章", - "v1_projects": "V1 项目列表", - "open_your_billing_details_page": "打开付款信息页面", - "try_out_link_sharing": "试用链接分享功能!", - "try_link_sharing": "试用链接分享", - "try_link_sharing_description": "通过分享链接进入项目", - "learn_more_about_link_sharing": "了解分享链接", - "link_sharing": "分享链接", - "tc_switch_everyone_tip": "为所有用户切换记录模式", - "tc_switch_user_tip": "为当前用户切换记录模式", - "tc_switch_guests_tip": "为所有分享链接用户切换记录模式", - "tc_guests": "受邀用户", - "select_all_projects": "全选", - "select_project": "选择", - "main_file_not_found": "未知主文件。", - "please_set_main_file": "请在项目菜单中选择此项目的主文件。", - "link_sharing_is_off": "链接分享已关闭,只有被邀请的用户才能浏览此项目。", - "turn_on_link_sharing": "开启通过链接分享功能。", - "link_sharing_is_on": "通过链接分享功能已开启。", - "turn_off_link_sharing": "关闭通过链接分享功能。", - "anyone_with_link_can_edit": "任何人可以通过此链接编辑此项目。", - "anyone_with_link_can_view": "任何人可以通过此链接浏览此项目。", - "turn_on_link_sharing_consequences": "当“通过链接分享”功能开启时,任何人都可以通过链接浏览或编辑此项目。", - "turn_off_link_sharing_consequences": "当“通过链接分享”功能关闭时,只有被邀请的用户可以通过链接浏览或编辑此项目。", - "autocompile_disabled": "自动编译已关闭", - "autocompile_disabled_reason": "由于服务器过载,暂时无法自动实时编译,请点击上方按钮进行编译", - "auto_compile_onboarding_description": "开启后将会进行实时编译", - "try_out_auto_compile_setting": "试用新的自动编译功能!", - "got_it": "了解", - "pdf_compile_in_progress_error": "已在另一窗口编译", - "pdf_compile_try_again": "请等待其他项目编译完成后再试", - "invalid_email": "有未验证的邮箱", - "auto_compile": "自动编译", - "on": "开", - "tc_everyone": "所有人", - "per_user_tc_title": "个人用户记录更改历史", - "you_can_use_per_user_tc": "现在您可以记录每个用户的更改记录", - "turn_tc_on_individuals": "为个人用户开启更改记录", - "keep_tc_on_like_before": "或者向全体保留", - "auto_close_brackets": "自动补全括号", - "auto_pair_delimiters": "自动补全分隔符", - "successfull_dropbox_link": "已成功链接 Dropbox,正在跳转到设置页", - "show_link": "显示链接", - "hide_link": "隐藏链接", - "aggregate_changed": "替换", - "aggregate_to": "为", - "confirm_password_to_continue": "确认密码以继续", - "confirm_password_footer": "短时间内我们将不会再要求输入密码", - "accept_all": "采纳全部", - "reject_all": "拒绝全部", - "bulk_accept_confirm": "您确认采纳__nChanges__ 个变动吗?", - "bulk_reject_confirm": "您确认拒绝__nChanges__ 个变动吗?", - "uncategorized": "未分类", - "pdf_compile_rate_limit_hit": "编译率达到限制", - "project_flagged_too_many_compiles": "因频繁编译,项目被标旗。编译上限会稍后解除。", - "reauthorize_github_account": "重新授权 GitHub 帐号", - "github_credentials_expired": "您的 Github 授权凭证已过期", - "hit_enter_to_reply": "点击确认键重试", - "add_your_comment_here": "在此添加评论", - "resolved_comments": "已折叠的评论", - "try_it_for_free": "免费体验", - "please_ask_the_project_owner_to_upgrade_to_track_changes": "请要求项目所有者升级以使用历史查询功能。", - "mark_as_resolved": "标记为已解决", - "reopen": "重新打开", - "add_comment": "添加评论", - "no_resolved_threads": "没有未解决线程", - "upgrade_to_track_changes": "升级以记录文档修改历史", - "see_changes_in_your_documents_live": "实时查看文档修改情况", - "track_any_change_in_real_time": "实时记录文档的任何修改情况", - "review_your_peers_work": "同行评议", - "accept_or_reject_each_changes_individually": "接受或拒绝修改意见", - "accept": "采纳", - "reject": "不要", - "no_comments": "没有评论", - "edit": "编辑", - "are_you_sure": "您确认吗?", - "resolve": "解决", - "reply": "回复", - "quoted_text_in": "引文内容", - "review": "审阅", - "track_changes_is_on": "修改追踪功能 开启", - "track_changes_is_off": "修改追踪功能 关闭", - "current_file": "当前文件", - "overview": "概览", - "tracked_change_added": "已添加", - "tracked_change_deleted": "已删除", - "show_all": "显示全部", - "show_less": "折叠", - "dropbox_sync_error": "Dropbox 同步错误", - "send": "发送", - "sending": "发送中", - "invalid_password": "密码错误", - "error": "错误", - "other_actions": "其他", - "send_test_email": "发送测试邮件", - "email_sent": "邮件已发送", - "create_first_admin_account": "创建首个管理员账户", - "ldap": "LDAP", - "ldap_create_admin_instructions": "输入邮箱,创建您的第一个__appName__管理员账户。这个账户对应您在LDAP系统中的账户,请使用此账户登陆系统。", - "saml": "SAML", - "saml_create_admin_instructions": "输入邮箱,创建您的第一个__appName__管理员账户。这个账户对应您在SAML系统中的账户,请使用此账户登陆系统。", - "admin_user_created_message": "管理员账户已创建, 登陆 以继续", - "status_checks": "状态检查", - "editor_resources": "编辑资源", - "checking": "检查中", - "cannot_invite_self": "不能向自己发送邀请", - "cannot_invite_non_user": "邀请发送失败。被邀人可能已有__appName__账户。", - "log_in_with": "用 __provider__ 账户登陆", - "return_to_login_page": "回到登录页", - "login_failed": "登陆失败", - "delete_account_warning_message_3": "您即将永久删除您的所有账户数据,包括您的项目和设置。请输入账户邮箱地址和密码以继续。", - "delete_account_warning_message_2": "您即将永久删除您的所有账户数据,包括您的项目和设置。请输入账户邮件地主以继续", - "your_sessions": "我的会话", - "clear_sessions_description": "这是您的账户中当前活跃的会话信息(不包含当前会话)。点击“清理会话”按钮可以退出这些会话。", - "no_other_sessions": "暂无其他活跃对话", - "ip_address": "IP地址", - "session_created_at": "会话创建于", - "clear_sessions": "清理会话", - "clear_sessions_success": "会话已清理", - "sessions": "会话", - "manage_sessions": "管理会话", - "syntax_validation": "代码检查", - "history": "历史记录", - "joining": "加入", - "open_project": "打开项目", - "files_cannot_include_invalid_characters": "文件中不能包含 * 或 /", - "invalid_file_name": "文件名无效", - "autocomplete_references": "参考文献自动补全(在 \\cite{} 中)", - "autocomplete": "自动补全", - "failed_compile_check": "您的项目中似乎含有关键性语法错误,请修改后重试", - "failed_compile_check_try": "强制编译", - "failed_compile_option_or": "或者", - "failed_compile_check_ignore": "关闭语法检查", - "compile_time_checks": "语法检查", - "stop_on_validation_error": "编译前检查语法", - "ignore_validation_errors": "忽略语法检查", - "run_syntax_check_now": "运行语法检查", - "your_billing_details_were_saved": "您的账单细节已保存", - "security_code": "安全码", - "paypal_upgrade": "如要升级,请点击下面链接按钮,用你的邮箱和密码登录到PayPal。", - "upgrade_cc_btn": "现在升级,7天后付款", - "upgrade_paypal_btn": "继续", - "notification_project_invite": "__userName__ 您是否愿意加入 __projectName__ 加入项目", - "file_restored": "您的文档 (__filename__) 已恢复。", - "file_restored_back_to_editor": "您可以返回进行修改并继续编辑。", - "file_restored_back_to_editor_btn": "返回编辑器", - "view_project": "查看项目", - "join_project": "加入项目", - "invite_not_accepted": "邀请尚未接受", - "resend": "重发", - "syntax_check": "语法检查", - "revoke_invite": "撤销邀请", - "pending": "待定", - "invite_not_valid": "项目邀请无效", - "invite_not_valid_description": "邀请已经过期。请联系项目所有者", - "accepting_invite_as": "接受邀请", - "accept_invite": "接受邀请", - "log_hint_ask_extra_feedback": "您能帮我们理解为什么该提示没有帮助吗?", - "log_hint_extra_feedback_didnt_understand": "我不理解该提示", - "log_hint_extra_feedback_not_applicable": "该解决办法对我的文档无效", - "log_hint_extra_feedback_incorrect": "无法纠正错误", - "log_hint_extra_feedback_other": "其它:", - "log_hint_extra_feedback_submit": "提交", - "if_you_are_registered": "您已经注册", - "stop_compile": "停止编译", - "terminated": "编译取消", - "compile_terminated_by_user": "“停止编译”按钮终止了这次编译,您可以在原始日志中查看关于编译停止的信息。", - "site_description": "一个简洁的在线 LaTeX 编辑器。无需安装,实时共享,版本控制,数百免费模板……", - "knowledge_base": "知识库", - "contact_message_label": "信息", - "kb_suggestions_enquiry": "是否已检查 __kbLink__ ?", - "answer_yes": "确认", - "answer_no": "否", - "log_hint_extra_info": "了解更多", - "log_hint_feedback_label": "该提示有帮助吗?", - "log_hint_feedback_gratitude": "感谢您的反馈!", - "recompile_pdf": "重新编译该PDF", - "about_paulo_reis": "是一个前端软件开发员和用户体验设计师,目前居住在葡萄牙阿威罗。Paulo有一个用户体验专业的博士学位,他致力于让人们在方方面面更便捷地掌握和实用技术:概念、测试、设计乃至实施。", - "login_or_password_wrong_try_again": "注册名或密码错误,请重试", - "manage_beta_program_membership": "管理 Beta 计划账户", - "beta_program_opt_out_action": "退出 Beta 计划", - "disable_beta": "禁用Beta版本", - "beta_program_badge_description": "在使用 __appName__ 过程中,测试功能会被这样标记:", - "beta_program_current_beta_features_description": "在Beta版本中,我们正在测试以下新功能:", - "enable_beta": "开启Beta版本", - "user_in_beta_program": "用户在参加Beta版测试", - "beta_program_already_participating": "您加入了Beta版测试", - "sharelatex_beta_program": "__appName__ Beta版项目", - "beta_program_benefits": "我们一直致力于改进 __appName__。通过加入 Beta 计划,您可以更早体验新功能,并帮助我们更好地满足您的需求。", - "beta_program_opt_in_action": "退出Beta版测试", - "conflicting_paths_found": "发现冲突路径", - "following_paths_conflict": "下面的文档和文件夹拥有冲突的相同路径", - "open_a_file_on_the_left": "打开左侧的一个文件", - "reference_error_relink_hint": "如果仍出现此错误,请尝试在此重新关联您的账户:", - "pdf_rendering_error": "PDF渲染错误", - "something_went_wrong_rendering_pdf": "渲染此PDF时出错了。", - "mendeley_reference_loading_error_expired": "Mendeley令牌过期,请重新关联您的账户", - "zotero_reference_loading_error_expired": "Zotero令牌过期,请重新关联您的账户", - "mendeley_reference_loading_error_forbidden": "无法加载Mendeley的参考文献,请重新关联您的账户后重试", - "zotero_reference_loading_error_forbidden": "无法加载Zotero的参考文献,请重新关联您的账户后重试", - "mendeley_integration": "Mendeley集成", - "mendeley_sync_description": "集成Mendeley后,您可以将mendeley的参考文献导入__appName__项目。", - "mendeley_is_premium": "Mendeley集成是一个高级功能", - "link_to_mendeley": "关联至Mendeley", - "unlink_to_mendeley": "取消关联Mendeley", - "mendeley_reference_loading": "加载Mendeley的参考文献", - "mendeley_reference_loading_success": "已加载Mendeley的参考文献", - "mendeley_reference_loading_error": "错误,无法加载Mendeley的参考文献", - "zotero_integration": "Zotero集成。", - "zotero_sync_description": "集成__appName__后,您可以将Zotero的参考文献导入__appName__项目。", - "zotero_is_premium": "Zotero集成是一个高级功能", - "link_to_zotero": "关联至Zotero", - "unlink_to_zotero": "取消关联Zotero", - "zotero_reference_loading": "加载Zotero的参考文献", - "zotero_reference_loading_success": "已加载Zotero的参考文献", - "zotero_reference_loading_error": "错误,无法加载Mendeley的参考文献", - "reference_import_button": "导入参考文献至", - "unlink_reference": "取消关联参考文献提供者", - "unlink_warning_reference": "警告:如果将账户与此提供者取消关联,您将无法把参考文献导入到项目中。", - "mendeley": "Mendeley", - "zotero": "Zotero", - "suggest_new_doc": "建议新文件", - "request_sent_thank_you": "请求已发送,谢谢。", - "suggestion": "建议", - "project_url": "受影响的项目URL", - "subject": "主题", - "confirm": "确认", - "cancel_personal_subscription_first": "您已有个人订阅。是否要取消此订阅,然后再加入群组许可?", - "delete_projects": "删除项目", - "leave_projects": "离开项目", - "delete_and_leave_projects": "删除并离开项目", - "too_recently_compiled": "此项目是最近编译的,所以已跳过此编译。", - "clsi_maintenance": "编译服务器停机维护,将很快恢复正常。", - "references_search_hint": "按CTRL-空格以搜索", - "ask_proj_owner_to_upgrade_for_references_search": "请要求项目所有者升级以使用参考文献搜索功能。", - "ask_proj_owner_to_upgrade_for_faster_compiles": "请要求项目所有者升级以取得更快的编译速度,并增加您的超时限制。", - "search_bib_files": "按作者、标题、年份搜索", - "leave_group": "退出群", - "leave_now": "现在退出", - "sure_you_want_to_leave_group": "您确定要退出该群吗?", - "notification_group_invite": "您被邀请加入 __groupName__, 点击加入。", - "search_references": "搜索此项目中的.bib文件", - "no_search_results": "没有搜索到结果", - "email_already_registered": "改邮箱已被注册", - "compile_mode": "编译模式", - "normal": "常规", - "fast": "快速", - "rename_folder": "重命名文件夹", - "delete_folder": "删除文件夹", - "about_to_delete_folder": "您即将删除下列文件夹 (里面的所有项目也会被删除)", - "to_modify_your_subscription_go_to": "如需修改您的订阅,请到", - "manage_subscription": "管理订购", - "activate_account": "激活账户", - "yes_please": "是", - "nearly_activated": "还有一步您的账户 your __appName__ account 就会被激活了!", - "please_set_a_password": "请设置密码", - "activation_token_expired": "您的激活码已经过期,您需要另外一个", - "activate": "激活", - "activating": "激活中", - "ill_take_it": "我要它!", - "cancel_your_subscription": "取消订购", - "no_thanks_cancel_now": "谢谢 - 我要现在取消", - "cancel_my_account": "取消我的订购", - "sure_you_want_to_cancel": "您确认要取消订购吗?", - "i_want_to_stay": "我要留下", - "have_more_days_to_try": "试用期增加__days__ days!", - "interested_in_cheaper_plan": "您是否对便宜点的__price__学生方案感兴趣?", - "session_expired_redirecting_to_login": "会话过期。将在__seconds__秒后重定向至登录页面", - "maximum_files_uploaded_together": "最多可同时上传__max__个文件", - "too_many_files_uploaded_throttled_short_period": "上传的文件太多,您的上传将暂停一会儿。", - "compile_larger_projects": "编译更大项目", - "upgrade_to_get_feature": "升级以获得__feature__,以及:", - "new_group": "新群", - "about_to_delete_groups": "您将删除下面的群:", - "removing": "删除", - "adding": "添加", - "groups": "群", - "rename_group": "重命名群", - "renaming": "重命名中", - "create_group": "建立群", - "delete_group": "删除群", - "delete_groups": "删除群", - "your_groups": "你的群", - "group_name": "群名", - "no_groups": "没有群", - "Subscription": "订购", - "Documentation": "文档", - "Universities": "大学", - "Account Settings": "账户设置", - "Projects": "项目", - "Account": "账户", - "global": "整体的", - "Terms": "条款", - "Security": "安全性", - "About": "关于", - "editor_disconected_click_to_reconnect": "编辑器与网络的连接已经断开,重新连接请点击任何位置。", - "word_count": "字数统计", - "please_compile_pdf_before_word_count": "请您在统计字数之前先编译您的的项目", - "total_words": "总字数", - "headers": "标题", - "math_inline": "行内数学符号", - "math_display": "数学表达式", - "connected_users": "已连接的用户", - "projects": "项目", - "upload_project": "上传项目", - "all_projects": "所有项目", - "your_projects": "您的项目", - "shared_with_you": "与您共享的", - "deleted_projects": "已删除的项目", - "templates": "模板", - "new_folder": "新建目录", - "create_your_first_project": "创建您的第一个项目!", - "complete": "完成", - "on_free_sl": "您正在使用的是免费版的 __appName__", - "upgrade": "升级", - "or_unlock_features_bonus": "或者通过以下方式解除对一些免费赠送额外功能的锁定", - "sharing_sl": "分享 __appName__", - "add_to_folder": "添加到目录", - "create_new_folder": "创建新目录", - "more": "更多的", - "rename": "重命名", - "make_copy": "制作一份拷贝", - "restore": "恢复", - "title": "标题", - "last_modified": "最近一次修改", - "no_projects": "没有任何项目", - "welcome_to_sl": "欢迎使用 __appName__!", - "new_to_latex_look_at": "刚刚接触LaTeX?看看我们的", - "or": "或者", - "or_create_project_left": "或者在左边创建您的第一个项目", - "thanks_settings_updated": "谢谢,您的设置已更新", - "update_account_info": "更新账户信息", - "must_be_email_address": "必须是电邮地址", - "first_name": "名", - "last_name": "姓", - "update": "更新", - "change_password": "更换密码", - "current_password": "正在使用的密码", - "new_password": "新密码", - "confirm_new_password": "确认新密码", - "required": "必填", - "doesnt_match": "不一致", - "dropbox_integration": "Dropbox整合", - "learn_more": "学习更多", - "dropbox_is_premium": "Dropbox同步是一个高级功能", - "account_is_linked": "账户已链接", - "unlink_dropbox": "解除与Dropbox的链接", - "link_to_dropbox": "链接到Dropbox", - "newsletter_info_and_unsubscribe": "我们会每隔几个月会发送有关可用的新功能的讯息,如果您不想接收邮件您可以随时取消订阅。", - "unsubscribed": "订阅被取消", - "unsubscribing": "正在取消订阅", - "unsubscribe": "取消订阅", - "need_to_leave": "确定要放弃?", - "delete_your_account": "删除您的账户", - "delete_account": "删除账户", - "delete_account_warning_message": "您即将永久删除您的所有账户数据,包括您的项目和设置。请输入账户邮箱以继续。", - "deleting": "正在删除", - "delete": "删除", - "sl_benefits_plans": "__appName__是世界上最易用的LaTeX编辑器。协同工作,版本跟踪,从世界上任何一个角落您都可以使用我们的LaTeX环境。", - "monthly": "每个月", - "personal": "个人", - "free": "免费", - "one_collaborator": "仅一个合作者", - "collaborator": "合作者", - "collabs_per_proj": "每个项目的__collabcount__ 个合作者", - "full_doc_history": "完整的文档历史", - "sync_to_dropbox": "同步到Dropbox", - "start_free_trial": "开始免费试用", - "professional": "专业", - "unlimited_collabs": "无限制的合作者数", - "name": "名字", - "student": "学生", - "university": "大学", - "position": "职位", - "choose_plan_works_for_you": "选择适合您的 __len__-天免费试用版。可以随时取消。", - "interested_in_group_licence": "对在群组、团队或部门中使用 __appName__ 感兴趣吗?", - "get_in_touch_for_details": "联系我们以获取更多资讯", - "group_plan_enquiry": "询问群组使用方案", - "enjoy_these_features": "享受以下这些美妙的付费功能吧!", - "create_unlimited_projects": "随心所欲的创建项目", - "never_loose_work": "有了您的支持,我们将做得更好!", - "access_projects_anywhere": "在任何地方访问您的项目", - "log_in": "登录", - "login": "登录", - "logging_in": "正在登录", - "forgot_your_password": "忘记密码", - "password_reset": "重置密码", - "password_reset_email_sent": "已给您发送邮件以完成密码重置", - "please_enter_email": "请输入您的电邮地址", - "request_password_reset": "请求重置密码", - "reset_your_password": "重置您的密码", - "password_has_been_reset": "您的密码已重置", - "login_here": "在此登录", - "set_new_password": "设置新密码", - "user_wants_you_to_see_project": "__username__ 邀请您查看 __projectname__", - "join_sl_to_view_project": "加入 __appName__ 来查看此项目", - "register_to_edit_template": "请注册以编辑 __templateName__ 模板", - "already_have_sl_account": "已经拥有 __appName__ 账户了吗?", - "register": "注册", - "password": "密码", - "registering": "正在注册", - "planned_maintenance": "计划中的维护", - "no_planned_maintenance": "目前没有维护计划", - "cant_find_page": "抱歉,没有找到您查找的页面", - "take_me_home": "我要返回!", - "no_preview_available": "抱歉,无法预览。", - "no_messages": "无消息", - "send_first_message": "发送您的第一个消息", - "account_not_linked_to_dropbox": "您的账户没有链接到Dropbox", - "update_dropbox_settings": "更新Dropbox设置", - "refresh_page_after_starting_free_trial": "请在您开始免费试用之后刷新此页面", - "checking_dropbox_status": "检查Dropbox状态", - "dismiss": "离开", - "new_file": "新建文件", - "upload_file": "上传文件", - "create": "创建", - "creating": "正在创建", - "upload_files": "上传文件", - "sure_you_want_to_delete": "您确定要永久删除以下文件吗?", - "common": "通用", - "navigation": "导航", - "editing": "正在编辑", - "ok": "好的", - "source": "源码", - "actions": "执行", - "copy_project": "复制项目", - "publish_as_template": "发布为模板", - "sync": "同步", - "settings": "设置", - "main_document": "主目录", - "off": "关闭", - "auto_complete": "自动补全", - "theme": "主题", - "font_size": "字号", - "pdf_viewer": "PDF阅读器", - "built_in": "内嵌", - "native": "本机", - "show_hotkeys": "显示快捷键", - "new_name": "新名字", - "copying": "正在复制", - "copy": "复制", - "compiling": "正在编译", - "click_here_to_preview_pdf": "点击预览PDF", - "server_error": "服务器错误", - "somthing_went_wrong_compiling": "抱歉,出错了,您的项目无法编译。请在几分钟后再试。", - "timedout": "超时", - "proj_timed_out_reason": "抱歉,您的编译超时。原因可能是存在大量高分辨率的图像,或者程序过于复杂。", - "no_errors_good_job": "没有错误,好样的!", - "compile_error": "编译错误", - "generic_failed_compile_message": "抱歉,由于一些原因,您的LaTeX代码无法编译。更多细节请检查下面报出的错误信息,或查看原始日志", - "other_logs_and_files": "其他日志或文件", - "view_raw_logs": "查看原始日志", - "hide_raw_logs": "隐藏原始日志", - "clear_cache": "清空缓存", - "clear_cache_explanation": "将从我们的编译服务器中清除所有隐藏的LaTeX文件(.aux .bbl等)。通常情况下您不需要这么做,除非您遇到了与其相关的麻烦。", - "clear_cache_is_safe": "您的项目文件不会被删除或修改", - "clearing": "正在清除", - "template_description": "模板描述", - "project_last_published_at": "您的项目最近一次被发布在", - "problem_talking_to_publishing_service": "我们的发布服务出现故障,请在几分钟后再试", - "unpublishing": "取消发布", - "republish": "重新发布", - "publishing": "正在发表", - "share_project": "共享该项目", - "this_project_is_private": "此项目是私有的,只能被下面的人访问", - "make_public": "允许公共访问", - "this_project_is_public": "此项目是公共的,可以被任何人通过URL编辑", - "make_private": "允许私有访问", - "can_edit": "可以编辑", - "share_with_your_collabs": "和您的合作者共享", - "share": "共享", - "need_to_upgrade_for_more_collabs": "您的账户需要升级方可添加更多的合作者", - "make_project_public": "允许公共访问该项目", - "make_project_public_consequences": "如果允许公共访问您的项目,任何人将可以通过URL访问它", - "allow_public_editing": "允许公共编辑", - "allow_public_read_only": "允许公共只读访问", - "make_project_private": "试该项目成为私有", - "make_project_private_consequences": "如果设定您的项目为私有,它只可以被您选定共享的人所访问。", - "need_to_upgrade_for_history": "需要升级您的账户方可使用历史功能", - "ask_proj_owner_to_upgrade_for_history": "请要求项目所有者升级账户以使用历史功能", - "anonymous": "匿名", - "generic_something_went_wrong": "抱歉,出错了:(", - "restoring": "正在恢复", - "restore_to_before_these_changes": "恢复到未更改时的版本", - "profile_complete_percentage": "您的资料完成了 __percentval__%", - "file_has_been_deleted": "__filename__ 已被删除", - "sure_you_want_to_restore_before": "您确定要恢复 __filename__ 到 __date__ 的版本?", - "rename_project": "重命名项目", - "about_to_delete_projects": "您将删除下面的项目:", - "about_to_leave_projects": "您将离开下面的项目", - "upload_zipped_project": "上传项目的压缩包", - "upload_a_zipped_project": "上传一个项目的压缩包", - "your_profile": "您的资料", - "institution": "机构", - "role": "角色", - "folders": "目录", - "disconnected": "连接已断开", - "please_refresh": "请刷新页面以继续", - "lost_connection": "丢失连接", - "reconnecting_in_x_secs": "__seconds__ 秒后重新连接", - "try_now": "立刻尝试", - "reconnecting": "正在重新连接", - "saving_notification_with_seconds": "保存 __docname__... (剩余 __seconds__ 秒)", - "help_us_spread_word": "帮助我们推广 __appName__", - "share_sl_to_get_rewards": "和您的朋友和同事分享 __appName__ 以解锁下面的奖励", - "post_on_facebook": "发布到Facebook", - "share_us_on_googleplus": "通过Google+分享", - "email_us_to_your_friends": "通过邮件分享给朋友", - "link_to_us": "从您的站点上链接到我们", - "direct_link": "直接的链接", - "sl_gives_you_free_stuff_see_progress_below": "当有人利用您的推荐开始使用 __appName__ 后,我们会给您一些 免费奖励 以表示感谢! 检查您的下面的进度。", - "spread_the_word_and_fill_bar": "传播并填入此栏", - "one_free_collab": "1个免费的合作者", - "three_free_collab": "3个免费的合作者", - "free_dropbox_and_history": "免费的Dropbox和历史功能", - "you_not_introed_anyone_to_sl": "您还没有把 __appName__ 介绍给其它人。开始吧!", - "you_introed_small_number": " 您已经把 __appName__ 介绍给了 __numberOfPeople__ 个人。太棒了,能介绍给更多人吗?", - "you_introed_high_number": " 您已经把 __appName__ 介绍给了 __numberOfPeople__ 个人。太棒了。", - "link_to_sl": "链接到 __appName__", - "can_link_to_sl_with_html": "您可以用下面的HTML链接到 __appName__:", - "year": "年", - "month": "月", - "subscribe_to_this_plan": "订购此项", - "your_plan": "您的订购", - "your_subscription": "您的提交", - "on_free_trial_expiring_at": "您正在使用免费试用版,将在 __expiresAt__.到期", - "choose_a_plan_below": "选择一个套餐", - "currently_subscribed_to_plan": "您正在选择订购 __planName__套餐。", - "change_plan": "改变套餐", - "next_payment_of_x_collectected_on_y": "__paymentAmmount__ 的下次支付时间为__collectionDate__", - "update_your_billing_details": "更新您的帐单细节", - "subscription_canceled_and_terminate_on_x": " 您的订购已被取消,将于__terminateDate__ 过期。不必支付其他费用。", - "your_subscription_has_expired": "您的订购已过期", - "create_new_subscription": "新建订购", - "problem_with_subscription_contact_us": "您的订购出现了问题。请联系我们以获得更多信息。", - "manage_group": "管理群组", - "loading_billing_form": "正在加载帐单细节表格", - "you_have_added_x_of_group_size_y": "您已经添加 __addedUsersSize__ / __groupSize__ 个可用成员", - "remove_from_group": "从群组中移除", - "group_account": "群组账户", - "registered": "已注册", - "no_members": "没有成员", - "add_more_members": "添加更多成员", - "add": "添加", - "thanks_for_subscribing": "感谢订购!", - "your_card_will_be_charged_soon": "您的银行卡不久将被扣款", - "if_you_dont_want_to_be_charged": "如果您不想再被扣款 ", - "add_your_first_group_member_now": "现在添加您的第一个组成员", - "thanks_for_subscribing_you_help_sl": "感谢您订购套餐 __planName__ 。正是由于您的支持使得 __appName__ 继续成长和进步。", - "back_to_your_projects": "返回您的项目", - "goes_straight_to_our_inboxes": "直接发送到我们的电邮收件箱", - "need_anything_contact_us_at": "您有任何需要,请直接联系我们", - "regards": "感谢", - "about": "关于", - "comment": "评论", - "restricted_no_permission": "受限,抱歉您没有权限访问此页面", - "online_latex_editor": "在线LaTeX编辑器", - "meet_team_behind_latex_editor": "和您最喜欢的在线LaTeX编辑器的团队接触", - "follow_me_on_twitter": "加我的Twitter", - "motivation": "动机", - "evolved": "衍生产品", - "the_easy_online_collab_latex_editor": "易用、在线、协同合作的LaTeX编辑器", - "get_started_now": "立即开始", - "sl_used_over_x_people_at": "已有来自以下学校的超过 __numberOfUsers__ 学生和学者在使用 __appName__", - "collaboration": "合作", - "work_on_single_version": "在单一版本上合作", - "view_collab_edits": "查看合作者的编辑 ", - "ease_of_use": " 易于使用", - "no_complicated_latex_install": "不需要复杂的LaTeX安装", - "all_packages_and_templates": "包含所有您所需要的包和__templatesLink__", - "document_history": "文档历史", - "see_what_has_been": "看到了什么 ", - "added": "已添加", - "and": "和", - "removed": "已被移除", - "restore_to_any_older_version": "回滚到任意历史版本", - "work_from_anywhere": "在任何地点使用", - "acces_work_from_anywhere": "从世界上任何地点使用", - "work_offline_and_sync_with_dropbox": "离线使用通过Dropbox和GitHub同步您的文件", - "over": "超过", - "view_templates": "预览模板", - "nothing_to_install_ready_to_go": "您的安装不会有任何的复杂和困难,并且您可以__start_now__,即使您从来没见过它。 __appName__ 运行在我们的服务器上,提供了一个完整的、随时可以使用的LaTeX环境。", - "start_using_latex_now": "立即使用LaTex", - "get_same_latex_setup": "您到任何地方都可以用 __appName__ 实现LaTeX的功能。由于您和您的同事和学生可以在 __appName__ 上共同工作,不会出现版本不一致和包冲突的情况。", - "support_lots_of_features": "我们支持了几乎所有的LaTeX功能,包括插入图片、参考文献、公式以及更多!在__help_guides_link__中查看所有目前所有 __appName__ 可以做的事情", - "latex_guides": "LaTex手册", - "reset_password": "重置密码", - "set_password": "设置密码", - "updating_site": "升级站点", - "bonus_please_recommend_us": "奖励 - 请推荐我们", - "admin": "管理员", - "subscribe": "提交", - "update_billing_details": "更新帐单细节", - "thank_you": "谢谢您", - "group_admin": "群组管理员", - "all_templates": "所有模板", - "your_settings": "您的设置", - "maintenance": "维护", - "to_many_login_requests_2_mins": "您的账户尝试登录次数过多。请等待2分钟后再试", - "email_or_password_wrong_try_again": "您的邮件地址或密码不正确。请重试", - "rate_limit_hit_wait": "速度限制。请等会再试", - "problem_changing_email_address": "无法更改您的email地址。请您过一会儿重试。如果问题持续,请联系我们。", - "single_version_easy_collab_blurb": "__appName__ 确保您和您的合作者是同步的,并且知道他们在做什么。每个文档只有一个单一的主版本,每个人都可以访问。因改变而出现冲突是不可能的,并且您可以继续工作而不必等待您的合作者发送的最新版本。", - "can_see_collabs_type_blurb": "如果多个人想要同时一起完成一份文档是没有问题的。您可以在编辑器中直接看到您的合作者在哪打字,并且对文档的改变会直接立即显示在您的屏幕上。", - "work_directly_with_collabs": "和您的合作者直接合作", - "work_with_word_users": "和Word使用者一起工作", - "work_with_word_users_blurb": "__appName__ 是如此易于上手以至于您可以邀请非LaTeX的合作者来直接对您的LaTeX文档做出贡献。他们一开始就可以工作,并且随着接下来的使用能够不费力地学会少量的LaTeX知识。", - "view_which_changes": "查看哪些被更改了", - "sl_included_history_of_changes_blurb": "__appName__能够保存您做过的所有更改,从而你可以看到有谁在何时做过何种修改。 这使得您可以非常容易的和您的合作者保持同一进度,并且可以允许您回顾最近的工作。", - "can_revert_back_blurb": "无论是合作项目或者个人项目,有时候出现错误是难免的。 在__appName__中恢复早期版本很简单,这样就降低了失误的风险。", - "start_using_sl_now": "立即开始使用 __appName__", - "over_x_templates_easy_getting_started": "我们有 __over__ 400 __templates__供您使用,因此无论您要写期刊论文,毕业论文,简历或者其它的,都非常容易。", - "done": "完成", - "change": "改变", - "page_not_found": "找不到页面", - "please_see_help_for_more_info": "了解更多信息请参看我们的帮助手册", - "this_project_will_appear_in_your_dropbox_folder_at": "此项目将显示在您的Dropbox的目录 ", - "member_of_group_subscription": "您是由__admin_email__管理下的团体认购中的一员。请联系他们来管理您的认购。\n", - "about_henry_oswald": "是居住在伦敦的一名软件工程师。他构建了 __appName__ 的原型,并且一直负责构建一个稳定并具有上升空间到平台。Henry是测试驱动开发的强烈拥护者,并且督促我们保持 __appName__ 代码始终整洁且易于维护。", - "about_james_allen": "拥有理论物理学博士学位并且对LaTeX充满热情。他开发了最早的在线LaTeX编辑器中的一个,ScribTeX,并且在新技术开发中起了很大作用。正是有了这些新技术, __appName__ 才得以面世。", - "two_strong_principles_behind_sl": "我们关于 __appName__ 的工作背后有两个非常强烈的推动原则:", - "want_to_improve_workflow_of_as_many_people_as_possible": "我们想要完善尽可能多的人的工作流程", - "detail_on_improve_peoples_workflow": "LaTeX一向以极其难用著称,且非常难以合作使用。 我们相信我们已经研发了一些非常有效的方案来帮助人们解决困难,并且我们保证__appName__会对尽可能多的人开放。 我们一直尝试保持公道的价格,并且公布了 __appName__ 的大部分的代码做为开源代码。", - "want_to_create_sustainable_lasting_legacy": "我们想要创造一个可持续的和持久的传统", - "details_on_legacy": "发展和维护像 __appName__ 一样的产品需要大量的时间和工作,所以我们能找到一个商业模式以得到长期的支持是十分重要的。我们不想 __appName__ 依赖于外来的基金或者由于商业模式的失败而消失。我们很高兴得告诉大家,现在 __appName__ 是可持续的、盈利的,并且预期能够长期盈利。", - "get_in_touch": "联系", - "want_to_hear_from_you_email_us_at": "我们喜欢倾听任何使用 __appName__ 以及想知道我们在做什么的人。您可以和我们联系 ", - "cant_find_email": "邮箱尚未注册,抱歉。", - "plans_amper_pricing": "套餐 & 价格", - "documentation": "文档", - "account": "账户", - "subscription": "订购", - "log_out": "退出", - "en": "英语", - "pt": "葡萄牙语", - "es": "西班牙语", - "fr": "法语", - "de": "德语", - "it": "意大利语", - "da": "丹麦语", - "sv": "瑞典语", - "no": "挪威语", - "nl": "荷兰语", - "pl": "波兰语", - "ru": "俄罗斯语", - "uk": "乌克兰语", - "ro": "罗马尼亚语", - "click_here_to_view_sl_in_lng": "点此以__lngName__ 使用 __appName__", - "language": "语言", - "upload": "上传", - "menu": "菜单", - "full_screen": "全屏", - "logs_and_output_files": "日志和生成的文件", - "download_pdf": "下载PDF", - "split_screen": "分屏", - "clear_cached_files": "清除缓存文件", - "go_to_code_location_in_pdf": "转到PDF中的位置", - "please_compile_pdf_before_download": "请在下载PDF之前编译您的项目", - "remove_collaborator": "移除合作者", - "add_to_folders": "添加到目录", - "download_zip_file": "下载ZIP格式文件", - "price": "价格", - "close": "关闭", - "keybindings": "组合键", - "restricted": "受限的", - "start_x_day_trial": "开始您的__len__天免费试用之旅", - "buy_now": "现在购买!", - "cs": "捷克语", - "view_all": "预览所有", - "terms": "条款", - "privacy": "隐私", - "contact": "联系", - "change_to_this_plan": "该为这个订购项", - "processing": "处理中", - "sure_you_want_to_change_plan": "您确定想要改变套餐为 __planName__?", - "move_to_annual_billing": "转为包年套餐", - "annual_billing_enabled": "包年套餐已启用", - "move_to_annual_billing_now": "立即转为包年套餐", - "change_to_annual_billing_and_save": "包年套餐立省 __percentage__ . 现在选择每年立省 __yearlySaving__ 。", - "missing_template_question": "模板不全?", - "tell_us_about_the_template": "如果我们模板中没有您要找的,请您发给我们您的模版,该模版的 __appName__ 网址,或者告诉我们哪里可以找到您要的模版。此外,请您简单描述一下该模版的用处。", - "email_us": "电邮我们", - "this_project_is_public_read_only": "该项目是公开的,任何人都可以通过该URL查看,但是不能编辑。", - "tr": "土耳其语", - "select_files": "选取文件", - "drag_files": "拖动文件", - "upload_failed_sorry": "抱歉,上传失败。", - "inserting_files": "正在插入文件", - "password_reset_token_expired": "您的密码重置链接已过期。请申请新的密码重置email,并按照email中的链接操作。", - "merge_project_with_github": "将项目与GitHub合并", - "pull_github_changes_into_sharelatex": "将GitHub中的更改调入 __appName__", - "push_sharelatex_changes_to_github": "将 __appName__ 中的更改推送到GitHub", - "features": "功能", - "commit": "交付", - "commiting": "交付中", - "importing_and_merging_changes_in_github": "正在导入合并GitHub中的更改", - "upgrade_for_faster_compiles": "升级以取得更快的编译速度,并增加您的超时限制。", - "free_accounts_have_timeout_upgrade_to_increase": "免费账户有一分钟的超时限制。升级以增加超时限制。", - "learn_how_to_make_documents_compile_quickly": "了解如何更快的编译您的文档", - "zh-CN": "中文", - "cn": "中文 (简体)", - "sync_to_github": "同步到 GitHub", - "sync_to_dropbox_and_github": "同步到 Dropbox 和 GitHub", - "project_too_large": "项目太大", - "project_too_large_please_reduce": "这个项目文本过多,请减少后再试。", - "please_ask_the_project_owner_to_link_to_github": "请让项目的拥有者将该项目链接到一个GitHub存储库", - "go_to_pdf_location_in_code": "转到PDF中对应的位置", - "ko": "韩语", - "ja": "日语", - "about_brian_gough": "是一名软件工程师及 Fermilab 和 Los Alamos的前任理论高能物理学家。多年来,他用TeX和LaTeX出版了很多自由软件的使用手册,并且是GNU科学图书馆的一名维护人员。", - "first_few_days_free": "前__trialLen__ 天免费", - "every": "每个", - "credit_card": "信用卡", - "credit_card_number": "信用卡号码", - "invalid": "无效的", - "expiry": "过期日期", - "january": "一月", - "february": "二月", - "march": "三月", - "april": "四月", - "may": "五月", - "june": "六月", - "july": "七月", - "august": "八月", - "september": "九月", - "october": "十月", - "november": "十一月", - "december": "十二月", - "zip_post_code": "邮编", - "city": "城市", - "address": "地址", - "coupon_code": "优惠券号码", - "country": "国家", - "billing_address": "账单地址", - "upgrade_now": "现在升级", - "state": "州", - "vat_number": "增值税号", - "you_have_joined": "你已经加入 __groupName__", - "claim_premium_account": "你已经获得由__groupName__提供的高级账户权限", - "you_are_invited_to_group": "您被邀请加入__groupName__", - "you_can_claim_premium_account": "你可以通过验证你的电子邮箱来获得由 __groupName__ 提供的高级账户权限", - "not_now": "稍后", - "verify_email_join_group": "验证电子邮箱并加入群", - "check_email_to_complete_group": "请查看您的电子邮件以便成功加入该群", - "verify_email_address": "验证电子邮箱", - "group_provides_you_with_premium_account": "__groupName__ 为你提供了一个高级账户。验证你的电子邮箱来升级你的账户。", - "check_email_to_complete_the_upgrade": "请查看您的电子邮件以完成升级", - "email_link_expired": "电子邮件链接已过期,请申请一个新的链接。", - "services": "服务", - "about_shane_kilkelly": "是居住在爱丁堡的软件开发员。 Shane 积极主张函数式编程和测试驱动开发,且以设计高质量软件而引以为豪。", - "this_is_your_template": "这是从你的项目提取的模版", - "links": "链接", - "account_settings": "账户设置", - "search_projects": "搜索项目", - "clone_project": "克隆项目", - "delete_project": "删除项目", - "download_zip": "下载Zip压缩包", - "new_project": "创建新项目", - "blank_project": "空白项目", - "example_project": "样例项目", - "from_template": "从模板导入", - "cv_or_resume": "简历", - "cover_letter": "附信", - "journal_article": "期刊文章", - "presentation": "幻灯片", - "thesis": "论文", - "bibliographies": "参考文献", - "terms_of_service": "服务条款", - "privacy_policy": "隐私政策", - "plans_and_pricing": "套餐及价格", - "university_licences": "大学许可证", - "security": "安全性", - "contact_us": "联系我们", - "thanks": "谢谢", - "blog": "博客", - "latex_editor": "LeTeX编辑器", - "get_free_stuff": "免费获取", - "chat": "聊天", - "your_message": "您的信息", - "loading": "正在加载", - "connecting": "正在连接", - "recompile": "重新编译", - "download": "下载", - "email": "电邮", - "owner": "拥有者", - "read_and_write": "读/写", - "read_only": "只读", - "publish": "发布", - "view_in_template_gallery": "在模板区预览", - "unpublish": "未出版", - "hotkeys": "快捷键", - "saving": "正在保存", - "cancel": "取消", - "project_name": "项目名称", - "root_document": "根目录", - "spell_check": "拼写检查", - "compiler": "编译器", - "private": "私有", - "public": "公共", - "delete_forever": "永远删除", - "support_and_feedback": "支持和反馈", - "help": "帮助", - "latex_templates": "LeTeX模板", - "info": "信息", - "latex_help_guide": "LeTeX帮助指南", - "choose_your_plan": "选择您的支付方案", - "indvidual_plans": "个人方案", - "free_forever": "永久免费", - "low_priority_compile": "低的编译优先级", - "unlimited_projects": "项目无限制", - "unlimited_compiles": "编译无限制", - "full_history_of_changes": "改动的所有历史记录", - "highest_priority_compiling": "最高编译优先级", - "dropbox_sync": "Dropbox同步", - "beta": "试用版", - "sign_up_now": "现在注册", - "annual": "每年", - "half_price_student": "学生半价", - "about_us": "关于我们", - "loading_recent_github_commits": "正在装载最近的提交", - "no_new_commits_in_github": "自上次合并后GitHub未收到新的提交", - "dropbox_sync_description": "保持您的 __appName__ 项目与您的Dropbox同步。SharaLaTeX中的更改将被自动发送到Dropbox,反之亦然。", - "github_sync_description": "通过与GitHub同步,你可以将您的__appName__项目关联到GitHub的存储库,从 __appName__ 创建新的提交,并与线下或者GitHub中的提交合并。", - "github_import_description": "通过与GitHub同步,你可以将GitHub的存储库导入 __appName__,从 __appName__ 创建新的提交,并与线下或者GitHub中的提交合并。", - "link_to_github_description": "您需要授权 __appName__ 访问您的GitHub账户,从而允许我们同步您的项目。", - "unlink": "取消关联", - "unlink_github_warning": "任何您已经同步到GitHub的项目将被切断联系,并且不再保持与GitHub同步。您确定要取消与您的GitHub账户的关联吗?", - "github_account_successfully_linked": "GitHub账户已经成功关联。", - "github_successfully_linked_description": "谢谢,您已成功建立了您的GitHub账户与 __appName__ 的关联。您现在可以导出您的 __appName__ 项目到GitHub,或者从您的GitHub存储困导入项目。", - "import_from_github": "从GitHub导入", - "github_sync_error": "抱歉,与我们的GitHub服务器连接出错。请稍后重试。", - "loading_github_repositories": "正在读取您的GitHub存储库", - "select_github_repository": "选取要导入 __appName__ 的GitHub存储库", - "import_to_sharelatex": "导入 __appName__", - "importing": "正在倒入", - "github_sync": "GitHub同步", - "checking_project_github_status": "正在检查GitHub中的项目状态", - "account_not_linked_to_github": "您的帐号未与GitHub关联", - "project_not_linked_to_github": "该项目未与GitHub任一存储库关联。您可以在GitHub中为该项目创建一个存储库:", - "create_project_in_github": "创建一个GitHub存储库", - "project_synced_with_git_repo_at": "该项目已与GitHub存储库同步,时间为", - "recent_commits_in_github": "GitHub中最近的提交", - "sync_project_to_github": "同步项目到GitHub", - "sync_project_to_github_explanation": "您在 __appName__ 中所做的任何更改将被交付并与GitHub中任何升级合并。", - "github_merge_failed": "您在 __appName__ 和GitHub中的更改未能自动合并。请您手动将the __sharelatex_branch__ branch合并到git中的the __master_branch__ branch。当您手动合并完成后,点击下面继续。", - "continue_github_merge": "我已经手动合并。继续", - "export_project_to_github": "将项目导出到GitHub", - "github_validation_check": "请检查存储库的名字是否已被占用,且您有权限创建存储库。", - "repository_name": "存储库名称", - "optional": "可选的", - "github_public_description": "任何人都可以看到该存储库。您可以选择谁有权提交。", - "github_commit_message_placeholder": "为 __appName__ 中的更改提交信息", - "merge": "合并", - "merging": "正在合并", - "github_account_is_linked": "您的GitHub账户已经成功关联。", - "unlink_github": "取消与您的GitHub账户的关联", - "link_to_github": "建立与您的GitHub账户的关联", - "github_integration": "GitHub 整合", - "github_is_premium": "与GitHub同步是一项付费功能" -} \ No newline at end of file diff --git a/services/web/locales/en-GB.json b/services/web/locales/en-GB.json deleted file mode 100644 index 69abc71b0f..0000000000 --- a/services/web/locales/en-GB.json +++ /dev/null @@ -1,1296 +0,0 @@ -{ - "compile_timeout": "Compile timeout (seconds)", - "collabs_per_proj_single": "__collabcount__ collaborator per project", - "premium_features": "Premium features", - "special_price_student": "Special Price Student Plans", - "hide_outline": "Hide File outline", - "show_outline": "Show File outline", - "expand": "Expand", - "collapse": "Collapse", - "file_outline": "File outline", - "the_file_outline_is_a_new_feature_click_the_icon_to_learn_more": "The <0>File outline is a new feature. Click the icon to learn more", - "we_cant_find_any_sections_or_subsections_in_this_file": "We can’t find any sections or subsections in this file", - "find_out_more_about_the_file_outline": "Find out more about the file outline", - "invalid_institutional_email": "Your institution's SSO service returned your email address as __email__, which is at an unexpected domain that we do not recognise as belonging to it. You may be able to change your primary email address via your user profile at your institution to one at your institution's domain. Please contact your IT department if you have any questions.", - "wed_love_you_to_stay": "We'd love you to stay", - "yes_move_me_to_student_plan": "Yes, move me to the student plan", - "last_login": "Last Login", - "thank_you_for_being_part_of_our_beta_program": "Thank you for being part of our Beta Program, where you can have early access to new features and help us understand your needs better", - "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "You will be able to contact us any time to share your feedback", - "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "We may also contact you from time to time by email with a survey, or to see if you would like to participate in other user research initiatives", - "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "You can opt in and out of the program at any time on this page", - "give_feedback": "Give feedback", - "beta_feature_badge": "Beta feature badge", - "invalid_filename": "Upload failed: check that the file name doesn't contain special characters or trailing/leading whitespace", - "clsi_unavailable": "Sorry, the compile server for your project was temporarily unavailable. Please try again in a few moments.", - "x_price_per_month": "__price__ per month", - "x_price_per_year": "__price__ per year", - "x_price_for_first_month": "__price__ for your first month", - "x_price_for_first_year": "__price__ for your first year", - "normally_x_price_per_month": "Normally __price__ per month", - "normally_x_price_per_year": "Normally __price__ per year", - "then_x_price_per_month": "Then __price__ per month", - "then_x_price_per_year": "Then __price__ per year", - "for_your_first": "for your first", - "sso_not_linked": "You have not linked your account to __provider__. Please log in to your account another way and link your __provider__ account via your account settings.", - "template_gallery": "Template Gallery", - "template_not_found_description": "This way of creating projects from templates has been removed. Please visit our template gallery to find more templates.", - "dropbox_checking_sync_status": "Checking Dropbox Integration status", - "dropbox_sync_in": "Updating Overleaf", - "dropbox_sync_out": "Updating Dropbox", - "dropbox_sync_both": "Updating Overleaf and Dropbox", - "dropbox_synced": "Overleaf and Dropbox are up-to-date", - "dropbox_sync_status_error": "An error has occurred with the Dropbox Integration", - "requesting_password_reset": "Requesting password reset", - "tex_live_version": "TeX Live version", - "email_does_not_belong_to_university": "We don't recognize that domain as being affiliated with your university. Please contact us to add the affiliation.", - "company_name": "Company Name", - "add_company_details": "Add Company Details", - "github_timeout_error": "Syncing your Overleaf project with Github has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", - "github_large_files_error": "Merge failed: your Github repository contains files over the 50mb file size limit ", - "no_history_available": "This project doesn't have any history yet. Please make some changes to the project and try again.", - "project_approaching_file_limit": "This project is approaching the file limit", - "recurly_email_updated": "Your billing email address was successfully updated", - "recurly_email_update_needed": "Your billing email address is currently __recurlyEmail__. If needed you can update your billing address to __userEmail__.", - "project_has_too_many_files": "This project has reached the 2000 file limit", - "processing_your_request": "Please wait while we process your request.", - "github_repository_diverged": "The master branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause Overleaf and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", - "unlink_github_repository": "Unlink Github Repository", - "unlinking": "Unlinking", - "github_no_master_branch_error": "This repository cannot be imported as it is missing the master branch. Please make sure the project has a master branch", - "confirmation_token_invalid": "Sorry, your confirmation token is invalid or has expired. Please request a new email confirmation link.", - "confirmation_link_broken": "Sorry, something is wrong with your confirmation link. Please try copy and pasting the link from the bottom of your confirmation email.", - "duplicate_file": "Duplicate File", - "file_already_exists_in_this_location": "An item named __fileName__ already exists in this location. If you wish to move this file, rename or remove the conflicting file and try again.", - "group_full": "This group is already full", - "no_selection_select_file": "Currently, no file is selected. Please select a file from the file tree.", - "no_selection_create_new_file": "Your project is currently empty. Please create a new file.", - "files_selected": "files selected.", - "home": "Home", - "this_action_cannot_be_undone": "This action cannot be undone.", - "dropbox_email_not_verified": "We have been unable to retrieve updates from your Dropbox account. Dropbox reported that your email address is unverified. Please verify your email address in your Dropbox account to resolve this.", - "link_email_to_join": "Link your institutional email to join __portalTitle__ on __appName__", - "token_access_success": "Access granted", - "token_access_failure": "Cannot grant access; contact the project owner for help", - "trashed_projects": "Trashed Projects", - "trash": "Trash", - "untrash": "Restore", - "delete_and_leave": "Delete / Leave", - "trash_projects": "Trash Projects", - "about_to_trash_projects": "You are about to trash the following projects:", - "archived_projects_info_note": "The Archive now works on a per-user basis. Projects that you decide to archive will only be archived for you, not your collaborators.", - "trashed_projects_info_note": "Overleaf now has a Trash for projects you want to get rid of. Trashing a project won't affect your collaborators.", - "register_intercept_sso": "You can link your __authProviderName__ account from the Account Settings page after logging in.", - "continue_to": "Continue to __appName__", - "project_ownership_transfer_confirmation_1": "Are you sure you want to make __user__ the owner of __project__?", - "project_ownership_transfer_confirmation_2": "This action cannot be undone. The new owner will be notified and will be able to change project access settings (including removing your own access).", - "change_owner": "Change owner", - "change_project_owner": "Change Project Owner", - "faq_pay_by_invoice_answer": "Yes, if you'd like to purchase a group account or site license and would prefer to pay by invoice,\r\nor need to raise a purchase order, please __payByInvoiceLinkOpen__let us know__payByInvoiceLinkClose__.\r\nFor individual accounts or accounts with monthly billing, we can only accept payment online\r\nvia credit or debit card, or PayPal.", - "password_too_long_please_reset": "Maximum password length exceeded. Please reset your password.", - "view_other_options_to_log_in": "View other options to log in", - "we_logged_you_in": "We have logged you in.", - "will_need_to_log_out_from_and_in_with": "You will need to log out from your __email1__ account and then log in with __email2__.", - "resubmit_institutional_email": "Please resubmit your institutional email.", - "opted_out_linking": "You've opted out from linking your __email__ __appName__ account to your institutional account.", - "please_link_to_institution_account": "Please link your __email__ __appName__ account to your __institutionName__ institutional account.", - "register_with_another_email": "Register with __appName__ using another email.", - "register_with_email_provided": "Register with __appName__ using the email and password you provided.", - "security_reasons_linked_accts": "For security reasons, as your institutional email is already associated with the __email__ __appName__ account, we can only allow account linking with that specific account.", - "this_grants_access_to_features": "This grants you access to __appName__ __featureType__ features.", - "to_add_email_accounts_need_to_be_linked": "To add this email, your __appName__ and __institutionName__ accounts will need to be linked.", - "tried_to_log_in_with_email": "You've tried to login with __email__.", - "tried_to_register_with_email": "You've tried to register with __email__, which is already registered with __appName__ as an institutional account.", - "log_in_with_email": "Log in with __email__", - "log_in_with_existing_institution_email": "Please log in with your existing __appName__ account in order to get your __appName__ and __institutionName__ institutional accounts linked.", - "log_out_from": "Log out from __email__", - "logged_in_with_acct_that_cannot_be_linked": "You've logged in with an __appName__ account that cannot be linked to your institution account.", - "logged_in_with_email": "You are currently logged in to __appName__ with the email __email__.", - "looks_like_logged_in_with_email": "It looks like you're already logged in to __appName__ with the email __email__.", - "make_primary_to_log_in_through_institution": "Make your __email__ email primary to log in through your institution portal. ", - "make_primary_which_will_allow_log_in_through_institution": "Making it your primary __appName__ email will allow you to log in through your institution portal.", - "need_to_do_this_to_access_license": "You'll need to do this in order to have access to the benefits from the __institutionName__ site license.", - "institutional_login_not_supported": "Your university doesn't support institutional login yet, but you can still register with your institutional email.", - "link_account": "Link Account", - "link_accounts": "Link Accounts", - "link_accounts_and_add_email": "Link Accounts and Add Email", - "link_your_accounts": "Link your accounts", - "log_in_and_link": "Log in and link", - "log_in_and_link_accounts": "Log in and link accounts", - "log_in_first_to_proceed": "You will need to log in first to proceed.", - "log_in_through_institution": "Log in through your institution", - "if_have_existing_can_link": "If you have an existing __appName__ account on another email, you can link it to your __institutionName__ account by clicking __clickText__.", - "if_owner_can_link": "If you own the __appName__ account with __email__, you will be allowed to link it to your __institutionName__ institutional account.", - "ignore_and_continue_institution_linking": "You can also ignore this and continue to __appName__ with your __email__ account.", - "in_order_to_match_institutional_metadata": "In order to match your institutional metadata, we've linked your account using __email__.", - "in_order_to_match_institutional_metadata_associated": "In order to match your institutional metadata, your account is associated with the email __email__.", - "institution_account_tried_to_add_already_registered": "The email/institution account you tried to add is already registered with __appName__.", - "institution_acct_successfully_linked": "Your __appName__ account was successfully linked to your __institutionName__ institutional account.", - "institution_email_new_to_app": "Your __institutionName__ email (__email__) is new to __appName__.", - "institutional": "Institutional", - "doing_this_allow_log_in_through_institution": "Doing this will allow you to log in to __appName__ through your institution portal.", - "doing_this_will_verify_affiliation_and_allow_log_in": "Doing this will verify your affiliation with __institutionName__ and will allow you to log in to __appName__ through your institution.", - "email_already_associated_with": "The __email1__ email is already associated with the __email2__ __appName__ account.", - "enter_institution_email_to_log_in": "Enter your institutional email to log in through your institution.", - "find_out_more_about_institution_login": "Find out more about institutional login", - "get_in_touch_having_problems": "Get in touch with support if you're having problems", - "go_back_and_link_accts": "Go back and link your accounts", - "go_back_and_log_in": "Go back and log in again", - "go_back_to_institution": "Go back to your institution", - "can_link_institution_email_by_clicking": "You can link your __email__ __appName__ account to your __institutionName__ account by clicking __clickText__.", - "can_link_institution_email_to_login": "You can link your __email__ __appName__ account to your __institutionName__ account, which will allow you to log in to __appName__ through your institution portal.", - "can_link_your_institution_acct": "You can now link your __appName__ account to your __institutionName__ institutional account.", - "can_now_link_to_institution_acct": "You can link your __email__ __appName__ account to your __institutionName__ institutional account.", - "click_link_to_proceed": "Click __clickText__ below to proceed.", - "continue_with_email": "Continue to __appName__ with your __email__ account", - "create_new_account": "Create new account", - "do_not_have_acct_or_do_not_want_to_link": "If you don't have an __appName__ account, or if you don't want to link to your __institutionName__ account, please click __clickText__.", - "do_not_link_accounts": "Don't link accounts", - "account_has_been_link_to_institution_account": "Your __appName__ account on __email__ has been linked to your __institutionName__ institutional account.", - "account_linking": "Account Linking", - "account_with_email_exists": "It looks like an __appName__ account with the email __email__ already exists.", - "acct_linked_to_institution_acct": "This account is linked to your __institutionName__ institution account.", - "alternatively_create_new_institution_account": "Alternatively, you can create a new account with your institution email (__email__) by clicking __clickText__.", - "as_a_member_of_sso": "As a member of __institutionName__, you can log in to __appName__ through your institution portal.", - "as_a_member_of_sso_required": "As a member of __institutionName__, you must log in to __appName__ through your institution portal.", - "can_link_institution_email_acct_to_institution_acct": "You can now link your __email__ __appName__ account to your __institutionName__ institutional account.", - "can_link_institution_email_acct_to_institution_acct_alt": "You can link your __email__ __appName__ account to your __institutionName__ institutional account.", - "user_deletion_error": "Sorry, something went wrong deleting your account. Please try again in a minute.", - "card_must_be_authenticated_by_3dsecure": "Your card must be authenticated with 3D Secure before continuing", - "view_your_invoices": "View Your Invoices", - "payment_provider_unreachable_error": "Sorry, there was an error talking to our payment provider. Please try again in a few moments.\nIf you are using any ad or script blocking extensions in your browser, you may need to temporarily disable them.", - "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with Overleaf.", - "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with Overleaf.", - "upgrade_for_longer_compiles": "Upgrade to increase your timeout limit.", - "ask_proj_owner_to_upgrade_for_longer_compiles": "Please ask the project owner to upgrade to increase the timeout limit.", - "plus_upgraded_accounts_receive": "Plus with an upgraded account you get", - "sso_account_already_linked": "Account already linked to another __appName__ user", - "subscription_admins_cannot_be_deleted": "You cannot delete your account while on a subscription. Please cancel your subscription and try again. If you keep seeing this message please contact us.", - "delete_acct_no_existing_pw": "Please use the password reset form to set a password before deleting your account", - "empty_zip_file": "Zip doesn't contain any file", - "you_can_now_login_through_overleaf_sl": "You can now log in to your ShareLaTeX account through Overleaf.", - "find_out_more_nt": "Find out more.", - "register_error": "Registration error", - "login_error": "Login error", - "sso_link_error": "Error linking SSO account", - "more_info": "More Info", - "synctex_failed": "Couldn't find the corresponding source file", - "linked_collabratec_description": "Use Collabratec to manage your __appName__ projects.", - "reset_from_sl": "Please reset your password from ShareLaTeX and login there to move your account to Overleaf", - "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account.", - "github_too_many_files_error": "This repository cannot be imported as it exceeds the maximum number of files allowed", - "linked_accounts": "linked accounts", - "linked_accounts_explained": "You can link your __appName__ account with other services to enable the features described below", - "oauth_orcid_description": " Securely establish your identity by linking your ORCID iD to your __appName__ account. Submissions to participating publishers will automatically include your ORCID iD for improved workflow and visibility. ", - "no_existing_password": "Please use the password reset form to set your password", - " to_reactivate_your_subscription_go_to": "To reactivate your subscription go to", - "subscription_canceled": "Subscription Canceled", - "coupons_not_included": "This does not include your current discounts, which will be applied automatically before your next payment", - "email_already_registered_secondary": "This email is already registered as a secondary email", - "secondary_email_password_reset": "That email is registered as a secondary email. Please enter the primary email for your account.", - "if_registered_email_sent": "If you have an account, we have sent you an email.", - "reconfirm": "reconfirm", - "request_reconfirmation_email": "Request reconfirmation email", - "reconfirm_explained": "We need to reconfirm your account. Please request a password reset link via the form below to reconfirm your account. If you have any problems reconfirming your account, please contact us at", - "upload_failed": "Upload failed", - "file_too_large": "File too large", - "zip_contents_too_large": "Zip contents too large", - "invalid_zip_file": "Invalid zip file", - "make_primary": "Make Primary", - "make_email_primary_description": "Make this the primary email, used to log in", - "github_sync_repository_not_found_description": "The linked repository has either been removed, or you no longer have access to it. You can set up sync with a new repository by cloning the project and using the 'Github' menu item. You can also unlink the repository from this project.", - "unarchive": "Restore", - "cant_see_what_youre_looking_for_question": "Can't see what you're looking for?", - "something_went_wrong_canceling_your_subscription": "Something went wrong canceling your subscription. Please contact support.", - "department": "Department", - "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has a partnership with Overleaf, and you now have access to all of Overleaf's Professional features.", - "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has a partnership with Overleaf, and you now have access to Overleaf's Professional features through your affiliation. You can cancel your personal subscription without losing access to any of your benefits.", - "github_private_description": "You choose who can see and commit to this repository.", - "notification_project_invite_message": "__userName__ would like you to join __projectName__", - "notification_project_invite_accepted_message": "You've joined __projectName__", - "subject_to_additional_vat": "Prices may be subject to additional VAT, depending on your country.", - "select_country_vat": "Please select your country on the payment page to view the total price including any VAT.", - "to_change_access_permissions": "To change access permissions, please ask the project owner", - "file_name_in_this_project": "File Name In This Project", - "new_snippet_project": "Untitled", - "loading_content": "Creating Project", - "there_was_an_error_opening_your_content": "There was an error creating your project", - "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on Overleaf. Please try again.", - "the_required_parameters_were_not_supplied": "The link to open this content on Overleaf was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", - "more_than_one_kind_of_snippet_was_requested": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", - "the_supplied_parameters_were_invalid": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", - "unable_to_extract_the_supplied_zip_file": "Opening this content on Overleaf failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", - "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on Overleaf pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", - "the_requested_publisher_was_not_found": "The link to open this content on Overleaf specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", - "the_supplied_uri_is_invalid": "The link to open this content on Overleaf included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", - "the_requested_conversion_job_was_not_found": "The link to open this content on Overleaf specified a conversion job that could not be found. It's possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", - "not_found_error_from_the_supplied_url": "The link to open this content on Overleaf pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", - "too_many_requests": "Too many requests were received in a short space of time. Please wait for a few moments and try again.", - "password_change_passwords_do_not_match": "Passwords do not match", - "github_for_link_shared_projects": "This project was accessed via link-sharing and won't be synchronised with your Github unless you are invited via e-mail by the project owner.", - "browsing_project_latest_for_pseudo_label": "Browsing your project's current state", - "history_label_project_current_state": "Current state", - "download_project_at_this_version": "Download project at this version", - "submit": "submit", - "help_articles_matching": "Help articles matching your subject", - "dropbox_for_link_share_projs": "This project was accessed via link-sharing and won't be synchronised to your Dropbox unless you are invited via e-mail by the project owner.", - "clear_search": "clear search", - "email_registered_try_alternative": "Sorry, we do not have an account matching those credentials. Perhaps you signed up using a different provider?", - "access_your_projects_with_git": "Access your projects with Git", - "ask_proj_owner_to_upgrade_for_git_bridge": "Ask the project owner to upgrade their account to use git", - "export_csv": "Export CSV", - "add_comma_separated_emails_help": "Separate multiple email addresses using the comma (,) character.", - "members_management": "Members management", - "managers_management": "Managers management", - "institution_account": "Institution Account", - "git": "Git", - "clone_with_git": "Clone with Git", - "git_bridge_modal_description": "You can git clone your project using the link displayed below.", - "managers_cannot_remove_admin": "Admins cannot be removed", - "managers_cannot_remove_self": "Managers cannot remove themselves", - "user_not_found": "User not found", - "user_already_added": "User already added", - "bonus_twitter_share_text": "I'm using __appName__, the free online collaborative LaTeX editor - it's awesome and easy to use!", - "bonus_email_share_header": "Online LaTeX editor you may like", - "bonus_email_share_body": "Hey, I have been using the online LaTeX editor __appName__ recently and thought you might like to check it out.", - "bonus_share_link_text": "Online LaTeX Editor __appName__", - "bonus_facebook_name": "__appName__ - Online LaTeX Editor", - "bonus_facebook_caption": "Free Unlimited Projects and Compiles", - "bonus_facebook_description": "__appName__ is a free online LaTeX Editor. Real time collaboration like Google Docs, with Dropbox, history and auto-complete.", - "remove_manager": "Remove manager", - "invalid_element_name": "Could not copy your project because of filenames containing invalid characters\r\n(such as asterisks, slashes or control characters). Please rename the files and\r\ntry again.", - "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to Overleaf from IEEE Collabratec™ or login with a different account.", - "password_change_failed_attempt": "Password change failed", - "password_change_successful": "Password changed", - "not_registered": "Not registered", - "featured_latex_templates": "Featured LaTeX Templates", - "no_featured_templates": "No featured templates", - "try_again": "Please try again", - "email_required": "Email required", - "registration_error": "Registration error", - "newsletter-accept": "I’d like emails about product offers and company news and events.", - "resending_confirmation_email": "Resending confirmation email", - "please_confirm_email": "Please confirm your email __emailAddress__ by clicking on the link in the confirmation email ", - "register_using_service": "Register using __service__", - "login_to_overleaf": "Log in to Overleaf", - "login_with_email": "Log in with your email", - "login_with_service": "Log in with __service__", - "first_time_sl_user": "First time here as a ShareLaTeX user", - "migrate_from_sl": "Migrate from ShareLaTeX", - "dont_have_account": "Don't have an account?", - "sl_extra_info_tooltip": "Please log in to ShareLaTeX to move your account to Overleaf. It will only take a few seconds. If you have a ShareLaTeX subscription, it will automatically be transferred to Overleaf.", - "register_using_email": "Register using your email", - "login_register_or": "or", - "to_add_more_collaborators": "To add more collaborators or turn on link sharing, please ask the project owner", - "by": "by", - "emails": "Emails", - "editor_theme": "Editor theme", - "overall_theme": "Overall theme", - "faq_how_does_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", - "thousands_templates": "Thousands of templates", - "get_instant_access_to": "Get instant access to", - "ask_proj_owner_to_upgrade_for_full_history": "Please ask the project owner to upgrade to access this project's full history.", - "currently_seeing_only_24_hrs_history": "You're currently seeing the last 24 hours of changes in this project.", - "archive_projects": "Archive Projects", - "archive_and_leave_projects": "Archive and Leave Projects", - "about_to_archive_projects": "You are about to archive the following projects:", - "please_confirm_your_email_before_making_it_default": "Please confirm your email before making it the default.", - "back_to_editor": "Back to the editor", - "generic_history_error": "Something went wrong trying to fetch your project's history. If the error persists, please contact us via:", - "unconfirmed": "Unconfirmed", - "please_check_your_inbox": "Please check your inbox", - "resend_confirmation_email": "Resend confirmation email", - "history_label_created_by": "Created by", - "history_label_this_version": "Label this version", - "history_add_label": "Add label", - "history_adding_label": "Adding label", - "history_new_label_name": "New label name", - "history_new_label_added_at": "A new label will be added as of", - "history_delete_label": "Delete label", - "history_deleting_label": "Deleting label", - "history_are_you_sure_delete_label": "Are you sure you want to delete the following label", - "browsing_project_labelled": "Browsing project version labelled", - "history_view_all": "All history", - "history_view_labels": "Labels", - "history_view_a11y_description": "Show all of the project history or only labelled versions.", - "add_another_email": "Add another email", - "start_by_adding_your_email": "Start by adding your email address.", - "is_email_affiliated": "Is your email affiliated with an institution? ", - "let_us_know": "Let us know", - "add_new_email": "Add new email", - "error_performing_request": "An error has occurred while performing your request.", - "reload_emails_and_affiliations": "Reload emails and affiliations", - "emails_and_affiliations_title": "Emails and Affiliations", - "emails_and_affiliations_explanation": "Add additional email addresses to your account to access any upgrades your university or institution has, to make it easier for collaborators to find you, and to make sure you can recover your account.", - "institution_and_role": "Institution and role", - "add_role_and_department": "Add role and department", - "save_or_cancel-save": "Save", - "save_or_cancel-or": "or", - "save_or_cancel-cancel": "Cancel", - "make_default": "Make default", - "remove": "remove", - "confirm_email": "Confirm Email", - "invited_to_join_team": "You have been invited to join a team", - "join_team": "Join Team", - "accepted_invite": "Accepted invite", - "invited_to_group": "__inviterName__ has invited you to join a team on __appName__", - "join_team_explanation": "Please click the button below to join the team and enjoy the benefits of an upgraded __appName__ account", - "accept_invitation": "Accept invitation", - "joined_team": "You have joined the team managed by __inviterName__", - "compare_to_another_version": "Compare to another version", - "file_action_edited": "Edited", - "file_action_renamed": "Renamed", - "file_action_created": "Created", - "file_action_deleted": "Deleted", - "browsing_project_as_of": "Browsing project as of", - "view_single_version": "View single version", - "font_family": "Font Family", - "line_height": "Line Height", - "compact": "Compact", - "wide": "Wide", - "default": "Default", - "leave": "Leave", - "archived_projects": "Archived Projects", - "archive": "Archive", - "student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that you're eligible for the discount.", - "billed_after_x_days": "You won’t be billed until after your __len__ day trial expires.", - "looking_multiple_licenses": "Looking for multiple licenses?", - "reduce_costs_group_licenses": "You can cut down on paperwork and reduce costs with our discounted group licenses.", - "find_out_more": "Find out More", - "compare_plan_features": "Compare Plan Features", - "in_good_company": "You're In Good Company", - "unlimited": "Unlimited", - "priority_support": "Priority support", - "dropbox_integration_lowercase": "Dropbox integration", - "github_integration_lowercase": "Git and GitHub integration", - "discounted_group_accounts": "discounted group accounts", - "referring_your_friends": "referring your friends", - "still_have_questions": "Still have questions?", - "quote_erdogmus": "The ability to track changes and the real-time collaborative nature is what sets ShareLaTeX apart.", - "quote_henderson": "ShareLaTeX has proven to be a powerful and robust collaboration tool that is widely used in our School.", - "best_value": "Best value", - "faq_how_free_trial_works_question": "How does the free trial work?", - "faq_change_plans_question": "Can I change plans later?", - "faq_do_collab_need_premium_question": "Do my collaborators also need premium accounts?", - "faq_need_more_collab_question": "What if I need more collaborators?", - "faq_purchase_more_licenses_question": "Can I purchase additional licenses for my colleagues?", - "faq_monthly_or_annual_question": "Should I choose monthly or annual billing?", - "faq_how_to_pay_question": "Can I pay online with a credit or debit card, or PayPal?", - "faq_pay_by_invoice_question": "Can I pay by invoice / purchase order?", - "reference_search": "Advanced reference search", - "reference_search_info": "You can always search by citation key, and advanced reference search lets you also search by author, title, year or journal.", - "reference_sync": "Reference manager sync", - "reference_sync_info": "Manage your reference library in Mendeley and link it directly to a .bib file in Overleaf, so you can easily cite anything in your Mendeley library.", - "faq_how_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", - "faq_change_plans_answer": "Yes, you can change your plan at any time via your subscription settings. This includes options to switch to a different plan, or to switch between monthly and annual billing options, or to cancel to downgrade to the free plan.", - "faq_do_collab_need_premium_answer": "Premium features, such as tracked changes, will be available to your collaborators on projects that you have created, even if those collaborators have free accounts.", - "faq_need_more_collab_answer": "You can upgrade to one of our paid accounts, which support more collaborators. You can also earn additional collaborators on our free accounts by __referFriendsLink__.", - "faq_purchase_more_licenses_answer": "Yes, we provide __groupLink__, which are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple licenses.", - "faq_monthly_or_annual_answer": "Annual billing offers a way to cut down on your admin and paperwork. If you’d prefer to manage a single payment every year, instead of twelve, annual billing is for you.", - "faq_how_to_pay_answer": "Yes, you can. All major credit and debit cards and Paypal are supported. Select the plan you’d like above, and you’ll have the option to pay by card or to go through to PayPal when it’s time to set up payment.", - "powerful_latex_editor": "Powerful LaTeX editor", - "realtime_track_changes": "Real-time track changes", - "realtime_track_changes_info": "Now you don’t have to choose between tracked changes and typesetting in LaTeX. Leave comments, keep track of TODOs, and accept or reject others’ changes.", - "full_doc_history_info": "Travel back in time to see any version and who made changes. No matter what happens, we've got your back.", - "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on Overleaf and vice versa.", - "github_integration_info": "Push and pull commits to and from GitHub or directly from Git, so you or your collaborators can work offline with Git and online with Overleaf.", - "latex_editor_info": "Everything you need in a modern LaTeX editor --- spell check, intelligent autocomplete, syntax highlighting, dozens of color themes, vim and emacs bindings, help with LaTeX warnings and error messages, and much more.", - "change_plans_any_time": "You can change plans or change your account at any time. ", - "number_collab": "Number of collaborators", - "unlimited_private_info": "All your projects are private by default. Invite collaborators to read or edit by email address or by sending them a secret link.", - "unlimited_private": "Unlimited private projects", - "realtime_collab": "Real-time collaboration", - "realtime_collab_info": "When you’re working together, you can see your collaborators’ cursors and their changes in real time, so everyone always has the latest version.", - "hundreds_templates": "Hundreds of templates", - "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", - "instant_access": "Get instant access to __appName__", - "tagline_personal": "Ideal when working solo", - "tagline_collaborator": "Great for shared projects", - "tagline_professional": "For those working with many", - "tagline_student_annual": "Save even more", - "tagline_student_monthly": "Great for a single term", - "all_premium_features": "All premium features", - "sync_dropbox_github": "Sync with Dropbox and GitHub", - "track_changes": "Track changes", - "tooltip_hide_pdf": "Click to hide the PDF", - "tooltip_show_pdf": "Click to show the PDF", - "tooltip_hide_filetree": "Click to hide the file-tree", - "tooltip_show_filetree": "Click to show the file-tree", - "cannot_verify_user_not_robot": "Sorry, we could not verify that you are not a robot. Please check that Google reCAPTCHA is not being blocked by an ad blocker or firewall.", - "uncompiled_changes": "Uncompiled Changes", - "code_check_failed": "Code check failed", - "code_check_failed_explanation": "Your code has errors that need to be fixed before the auto-compile can run", - "tags_slash_folders": "Tags/Folders", - "file_already_exists": "A file or folder with this name already exists", - "import_project_to_v2": "Import Project to V2", - "open_in_v1": "Open in V1", - "import_to_v2": "Import to V2", - "never_mind_open_in_v1": "Never mind, open in V1", - "yes_im_sure": "Yes, I'm sure", - "drop_files_here_to_upload": "Drop files here to upload", - "drag_here": "drag here", - "creating_project": "Creating project", - "select_a_zip_file": "Select a .zip file", - "drag_a_zip_file": "drag a .zip file", - "v1_badge": "V1 Badge", - "v1_projects": "V1 Projects", - "open_your_billing_details_page": "Open Your Billing Details Page", - "try_out_link_sharing": "Try the new link sharing feature!", - "try_link_sharing": "Try Link Sharing", - "try_link_sharing_description": "Give access to your project by simply sharing a link.", - "learn_more_about_link_sharing": "Learn more about Link Sharing", - "link_sharing": "Link sharing", - "tc_switch_everyone_tip": "Toggle track-changes for everyone", - "tc_switch_user_tip": "Toggle track-changes for this user", - "tc_switch_guests_tip": "Toggle track-changes for all link-sharing guests", - "tc_guests": "Guests", - "select_all_projects": "Select all", - "select_project": "Select", - "main_file_not_found": "Unknown main document.", - "please_set_main_file": "Please choose the main file for this project in the project menu. ", - "link_sharing_is_off": "Link sharing is off, only invited users can view this project.", - "turn_on_link_sharing": "Turn on link sharing", - "link_sharing_is_on": "Link sharing is on", - "turn_off_link_sharing": "Turn off link sharing", - "anyone_with_link_can_edit": "Anyone with this link can edit this project", - "anyone_with_link_can_view": "Anyone with this link can view this project", - "turn_on_link_sharing_consequences": "When link sharing is enabled, anyone with the relevant link will be able to access or edit this project", - "turn_off_link_sharing_consequences": "When link sharing is disabled, only people who are invited to this project will be have access", - "autocompile_disabled": "Autocompile disabled", - "autocompile_disabled_reason": "Due to high server load, background recompilation has been temporarily disabled. Please recompile by clicking the button above.", - "auto_compile_onboarding_description": "When enabled, your project will compile as you type.", - "try_out_auto_compile_setting": "Try out the new auto compile setting!", - "got_it": "Got it", - "pdf_compile_in_progress_error": "Compile already running in another window", - "pdf_compile_try_again": "Please wait for your other compile to finish before trying again.", - "invalid_email": "An email address is invalid", - "auto_compile": "Auto Compile", - "on": "On", - "tc_everyone": "Everyone", - "per_user_tc_title": "Per-user Track Changes", - "you_can_use_per_user_tc": "Now you can use Track Changes on a per-user basis", - "turn_tc_on_individuals": "Turn Track Changes on for individuals users", - "keep_tc_on_like_before": "Or keep it on for everyone, like before", - "auto_close_brackets": "Auto-close Brackets", - "auto_pair_delimiters": "Auto-Pair Delimiters", - "successfull_dropbox_link": "Dropbox successfully linked, Redirecting to settings page.", - "show_link": "Show Link", - "hide_link": "Hide Link", - "aggregate_changed": "Changed", - "aggregate_to": "to", - "confirm_password_to_continue": "Confirm password to continue", - "confirm_password_footer": "We won't ask for your password again for a while.", - "accept_all": "Accept all", - "reject_all": "Reject all", - "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", - "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", - "uncategorized": "Uncategorized", - "pdf_compile_rate_limit_hit": "Compile rate limit hit", - "project_flagged_too_many_compiles": "This project has been flagged for compiling too often. The limit will be lifted shortly.", - "reauthorize_github_account": "Reauthorize your GitHub Account", - "github_credentials_expired": "Your GitHub authorization credentials have expired", - "hit_enter_to_reply": "Hit Enter to reply", - "add_your_comment_here": "Add your comment here", - "resolved_comments": "Resolved comments", - "try_it_for_free": "Try it for free", - "please_ask_the_project_owner_to_upgrade_to_track_changes": "Please ask the project owner to upgrade to use track changes", - "mark_as_resolved": "Mark as resolved", - "reopen": "Re-open", - "add_comment": "Add comment", - "no_resolved_threads": "No resolved threads", - "upgrade_to_track_changes": "Upgrade to Track Changes", - "see_changes_in_your_documents_live": "See changes in your documents, live", - "track_any_change_in_real_time": "Track any change, in real-time", - "review_your_peers_work": "Review your peers' work", - "accept_or_reject_each_changes_individually": "Accept or reject each change individually", - "accept": "Accept", - "reject": "Reject", - "no_comments": "No comments", - "edit": "Edit", - "are_you_sure": "Are you sure?", - "resolve": "Resolve", - "reply": "Reply", - "quoted_text_in": "Quoted text in", - "review": "Review", - "track_changes_is_on": "Track changes is on", - "track_changes_is_off": "Track changes is off", - "current_file": "Current file", - "overview": "Overview", - "tracked_change_added": "Added", - "tracked_change_deleted": "Deleted", - "show_all": "show all", - "show_less": "show less", - "dropbox_sync_error": "Dropbox Sync Error", - "send": "Send", - "sending": "Sending", - "invalid_password": "Invalid Password", - "error": "Error", - "other_actions": "Other Actions", - "send_test_email": "Send a test email", - "email_sent": "Email Sent", - "create_first_admin_account": "Create the first Admin account", - "ldap": "LDAP", - "ldap_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the LDAP system. You will then be asked to log in with this account.", - "saml": "SAML", - "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", - "admin_user_created_message": "Created admin user, Log in here to continue", - "status_checks": "Status Checks", - "editor_resources": "Editor Resources", - "checking": "Checking", - "cannot_invite_self": "Can't send invite to yourself", - "cannot_invite_non_user": "Can't send invite. Recipient must already have a __appName__ account", - "log_in_with": "Log in with __provider__", - "return_to_login_page": "Return to Login page", - "login_failed": "Login failed", - "delete_account_warning_message_3": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address and password in the boxes below to proceed.", - "delete_account_warning_message_2": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address into the box below to proceed.", - "your_sessions": "Your Sessions", - "clear_sessions_description": "This is a list of other sessions (logins) which are active on your account, not including your current session. Click the \"Clear Sessions\" button below to log them out.", - "no_other_sessions": "No other sessions active", - "ip_address": "IP Address", - "session_created_at": "Session Created At", - "clear_sessions": "Clear Sessions", - "clear_sessions_success": "Sessions Cleared", - "sessions": "Sessions", - "manage_sessions": "Manage Your Sessions", - "syntax_validation": "Code check", - "history": "History", - "joining": "Joining", - "open_project": "Open Project", - "files_cannot_include_invalid_characters": "File name is empty or contains invalid characters", - "invalid_file_name": "Invalid File Name", - "autocomplete_references": "Reference Autocomplete (inside a \\cite{} block)", - "autocomplete": "Autocomplete", - "failed_compile_check": "It looks like your project has some fatal syntax errors that you should fix before we compile it", - "failed_compile_check_try": "Try compiling anyway", - "failed_compile_option_or": "or", - "failed_compile_check_ignore": "turn off syntax checking", - "compile_time_checks": "Syntax Checks", - "stop_on_validation_error": "Check syntax before compile", - "ignore_validation_errors": "Don't check syntax", - "run_syntax_check_now": "Run syntax check now", - "your_billing_details_were_saved": "Your billing details were saved", - "security_code": "Security code", - "paypal_upgrade": "To upgrade, click on the button below and log on to PayPal using your email and password.", - "upgrade_cc_btn": "Upgrade now, pay after 7 days", - "upgrade_paypal_btn": "Continue", - "notification_project_invite": "__userName__ would like you to join __projectName__ Join Project", - "file_restored": "Your file (__filename__) has been recovered.", - "file_restored_back_to_editor": "You can go back to the editor and work on it again.", - "file_restored_back_to_editor_btn": "Back to editor", - "view_project": "View Project", - "join_project": "Join Project", - "invite_not_accepted": "Invite not yet accepted", - "resend": "Resend", - "syntax_check": "Syntax check", - "revoke_invite": "Revoke Invite", - "pending": "Pending", - "invite_not_valid": "This is not a valid project invite", - "invite_not_valid_description": "The invite may have expired. Please contact the project owner", - "accepting_invite_as": "You are accepting this invite as", - "accept_invite": "Accept invite", - "log_hint_ask_extra_feedback": "Can you help us understand why this hint wasn't helpful?", - "log_hint_extra_feedback_didnt_understand": "I didn’t understand the hint", - "log_hint_extra_feedback_not_applicable": "I can’t apply this solution to my document", - "log_hint_extra_feedback_incorrect": "This doesn’t fix the error", - "log_hint_extra_feedback_other": "Other:", - "log_hint_extra_feedback_submit": "Submit", - "if_you_are_registered": "If you are already registered", - "stop_compile": "Stop compilation", - "terminated": "Compilation cancelled", - "compile_terminated_by_user": "The compile was cancelled using the 'Stop Compilation' button. You can view the raw logs to see where the compile stopped.", - "site_description": "An online LaTeX editor that's easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", - "knowledge_base": "knowledge base", - "contact_message_label": "Message", - "kb_suggestions_enquiry": "Have you checked our __kbLink__?", - "answer_yes": "Yes", - "answer_no": "No", - "log_hint_extra_info": "Learn more", - "log_hint_feedback_label": "Was this hint helpful?", - "log_hint_feedback_gratitude": "Thank you for your feedback!", - "recompile_pdf": "Recompile the PDF", - "about_paulo_reis": "is a front-end software developer and user experience researcher living in Aveiro, Portugal. Paulo has a PhD in user experience and is passionate about shaping technology towards human usage — either in concept or testing/validation, in design or implementation.", - "login_or_password_wrong_try_again": "Your login or password is incorrect. Please try again", - "manage_beta_program_membership": "Manage Beta Program Membership", - "beta_program_opt_out_action": "Opt-Out of Beta Program", - "disable_beta": "Disable Beta", - "beta_program_badge_description": "While using __appName__, you will see beta features marked with this badge:", - "beta_program_current_beta_features_description": "We are currently testing the following new features in beta:", - "enable_beta": "Enable Beta", - "user_in_beta_program": "User is participating in Beta Program", - "beta_program_already_participating": "You are enrolled in the Beta Program", - "sharelatex_beta_program": "__appName__ Beta Program", - "beta_program_benefits": "We're always improving __appName__. By joining our Beta program you can have early access to new features and help us understand your needs better.", - "beta_program_opt_in_action": "Opt-In to Beta Program", - "conflicting_paths_found": "Conflicting Paths Found", - "following_paths_conflict": "The following files & folders conflict with the same path", - "open_a_file_on_the_left": "Open a file on the left", - "reference_error_relink_hint": "If this error persists, try re-linking your account here:", - "pdf_rendering_error": "PDF Rendering Error", - "something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.", - "mendeley_reference_loading_error_expired": "Mendeley token expired, please re-link your account", - "zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account", - "mendeley_reference_loading_error_forbidden": "Could not load references from Mendeley, please re-link your account and try again", - "zotero_reference_loading_error_forbidden": "Could not load references from Zotero, please re-link your account and try again", - "mendeley_integration": "Mendeley Integration", - "mendeley_sync_description": "With Mendeley integration you can import your references from Mendeley into your __appName__ projects.", - "mendeley_is_premium": "Mendeley Integration is a premium feature", - "link_to_mendeley": "Link to Mendeley", - "unlink_to_mendeley": "Unlink Mendeley", - "mendeley_reference_loading": "Loading references from Mendeley", - "mendeley_reference_loading_success": "Loaded references from Mendeley", - "mendeley_reference_loading_error": "Error, could not load references from Mendeley", - "zotero_integration": "Zotero Integration.", - "zotero_sync_description": "With Zotero integration you can import your references from Zotero into your __appName__ projects.", - "zotero_is_premium": "Zotero Integration is a premium feature", - "link_to_zotero": "Link to Zotero", - "unlink_to_zotero": "Unlink Zotero", - "zotero_reference_loading": "Loading references from Zotero", - "zotero_reference_loading_success": "Loaded references from Zotero", - "zotero_reference_loading_error": "Error, could not load references from Zotero", - "reference_import_button": "Import References to", - "unlink_reference": "Unlink References Provider", - "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.", - "mendeley": "Mendeley", - "zotero": "Zotero", - "suggest_new_doc": "Suggest new doc", - "request_sent_thank_you": "Your contact request has been sent. It will be reviewed by our support staff and you will receive a reply via email.", - "suggestion": "Suggestion", - "project_url": "Affected project URL", - "subject": "Subject", - "confirm": "Confirm", - "cancel_personal_subscription_first": "You already have a personal subscription, would you like us to cancel this first before joining the group licence?", - "delete_projects": "Delete Projects", - "leave_projects": "Leave Projects", - "delete_and_leave_projects": "Delete and Leave Projects", - "too_recently_compiled": "This project was compiled very recently, so this compile has been skipped.", - "clsi_maintenance": "The compile servers are down for maintenance, and will be back shortly.", - "references_search_hint": "Press CTRL-Space to Search", - "ask_proj_owner_to_upgrade_for_references_search": "Please ask the project owner to upgrade to use the References Search feature.", - "ask_proj_owner_to_upgrade_for_faster_compiles": "Please ask the project owner to upgrade for faster compiles and to increase the timeout limit.", - "search_bib_files": "Search by author, title, year", - "leave_group": "Leave group", - "leave_now": "Leave now", - "sure_you_want_to_leave_group": "Are you sure you want to leave this group?", - "notification_group_invite": "You have been invited to join the __groupName__, Join Here.", - "search_references": "Search the .bib files in this project", - "no_search_results": "No Search Results", - "email_already_registered": "This email is already registered", - "compile_mode": "Compile Mode", - "normal": "Normal", - "fast": "Fast", - "rename_folder": "Rename Folder", - "delete_folder": "Delete Folder", - "about_to_delete_folder": "You are about to delete the following folders (any projects in them will not be deleted):", - "to_modify_your_subscription_go_to": "To modify your subscription go to", - "manage_subscription": "Manage Subscription", - "activate_account": "Activate your account", - "yes_please": "Yes Please!", - "nearly_activated": "You're one step away from activating your __appName__ account!", - "please_set_a_password": "Please set a password", - "activation_token_expired": "Your activation token has expired, you will need to get another one sent to you.", - "activate": "Activate", - "activating": "Activating", - "ill_take_it": "I'll take it!", - "cancel_your_subscription": "Stop Your Subscription", - "no_thanks_cancel_now": "No thanks, I still want to cancel", - "cancel_my_account": "Cancel my subscription", - "sure_you_want_to_cancel": "Are you sure you want to cancel?", - "i_want_to_stay": "I want to stay", - "have_more_days_to_try": "Have another __days__ days on your Trial!", - "interested_in_cheaper_plan": "Would you be interested in the cheaper __price__ student plan?", - "session_expired_redirecting_to_login": "Session Expired. Redirecting to login page in __seconds__ seconds", - "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", - "too_many_files_uploaded_throttled_short_period": "Too many files uploaded, your uploads have been throttled for short period. Please wait 15 minutes and try again.", - "compile_larger_projects": "Compile larger projects", - "upgrade_to_get_feature": "Upgrade to get __feature__, plus:", - "new_group": "New Group", - "about_to_delete_groups": "You are about to delete the following groups:", - "removing": "Removing", - "adding": "Adding", - "groups": "Groups", - "rename_group": "Rename Group", - "renaming": "Renaming", - "create_group": "Create Group", - "delete_group": "Delete Group", - "delete_groups": "Delete Groups", - "your_groups": "Your Groups", - "group_name": "Group Name", - "no_groups": "No Groups", - "Subscription": "Subscription", - "Documentation": "Documentation", - "Universities": "Universities", - "Account Settings": "Account Settings", - "Projects": "Projects", - "Account": "Account", - "global": "global", - "Terms": "Terms", - "Security": "Security", - "About": "About", - "editor_disconected_click_to_reconnect": "Editor disconnected, click anywhere to reconnect.", - "word_count": "Word Count", - "please_compile_pdf_before_word_count": "Please compile your project before performing a word count", - "total_words": "Total Words", - "headers": "Headers", - "math_inline": "Math Inline", - "math_display": "Math Display", - "connected_users": "Connected Users", - "projects": "Projects", - "upload_project": "Upload Project", - "all_projects": "All Projects", - "your_projects": "Your Projects", - "shared_with_you": "Shared with you", - "deleted_projects": "Deleted Projects", - "templates": "Templates", - "new_folder": "New Folder", - "create_your_first_project": "Create your first project!", - "complete": "Complete", - "on_free_sl": "You are using the free version of __appName__", - "upgrade": "Upgrade", - "or_unlock_features_bonus": "or unlock some free bonus features by", - "sharing_sl": "sharing __appName__", - "add_to_folder": "Add to folder", - "create_new_folder": "Create New Folder", - "more": "More", - "rename": "Rename", - "make_copy": "Make a copy", - "restore": "Restore", - "title": "Title", - "last_modified": "Last Modified", - "no_projects": "No projects", - "welcome_to_sl": "Welcome to __appName__!", - "new_to_latex_look_at": "New to LaTeX? Start by having a look at our", - "or": "or", - "or_create_project_left": "or create your first project on the left.", - "thanks_settings_updated": "Thanks, your settings have been updated.", - "update_account_info": "Update Account Info", - "must_be_email_address": "Must be an email address", - "first_name": "First Name", - "last_name": "Last Name", - "update": "Update", - "change_password": "Change Password", - "current_password": "Current Password", - "new_password": "New Password", - "confirm_new_password": "Confirm New Password", - "required": "Required", - "doesnt_match": "Doesn't match", - "dropbox_integration": "Dropbox Integration", - "learn_more": "Learn more", - "dropbox_is_premium": "Dropbox sync is a premium feature", - "account_is_linked": "Account is linked", - "unlink_dropbox": "Unlink Dropbox", - "link_to_dropbox": "Link to Dropbox", - "newsletter_info_and_unsubscribe": "Every few months we send a newsletter out summarizing the new features available. If you would prefer not to receive this email then you can unsubscribe at any time:", - "unsubscribed": "Unsubscribed", - "unsubscribing": "Unsubscribing", - "unsubscribe": "Unsubscribe", - "need_to_leave": "Need to leave?", - "delete_your_account": "Delete your account", - "delete_account": "Delete Account", - "delete_account_warning_message": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address into the box below to proceed.", - "deleting": "Deleting", - "delete": "Delete", - "sl_benefits_plans": "__appName__ is the world's easiest to use LaTeX editor. Stay up to date with your collaborators, keep track of all changes to your work, and use our LaTeX environment from anywhere in the world.", - "monthly": "Monthly", - "personal": "Personal", - "free": "Free", - "one_collaborator": "Only one collaborator", - "collaborator": "Collaborator", - "collabs_per_proj": "__collabcount__ collaborators per project", - "full_doc_history": "Full document history", - "sync_to_dropbox": "Sync to Dropbox", - "start_free_trial": "Start Free Trial!", - "professional": "Professional", - "unlimited_collabs": "Unlimited collaborators", - "name": "Name", - "student": "Student", - "university": "University", - "position": "Position", - "choose_plan_works_for_you": "Choose the plan that works for you with our __len__-day free trial. Cancel at any time.", - "interested_in_group_licence": "Interested in using __appName__ with a group, team or department wide account?", - "get_in_touch_for_details": "Get in touch for details!", - "group_plan_enquiry": "Group Plan Enquiry", - "enjoy_these_features": "Enjoy all of these great features", - "create_unlimited_projects": "Create as many projects as you need.", - "never_loose_work": "Never lose a step, we've got your back.", - "access_projects_anywhere": "Access your projects everywhere.", - "log_in": "Log In", - "login": "Login", - "logging_in": "Logging in", - "forgot_your_password": "Forgot your password", - "password_reset": "Password Reset", - "password_reset_email_sent": "You have been sent an email to complete your password reset.", - "please_enter_email": "Please enter your email address", - "request_password_reset": "Request password reset", - "reset_your_password": "Reset your password", - "password_has_been_reset": "Your password has been reset", - "login_here": "Login here", - "set_new_password": "Set new password", - "user_wants_you_to_see_project": "__username__ would like you to join __projectname__", - "join_sl_to_view_project": "Join __appName__ to view this project", - "register_to_edit_template": "Please register to edit the __templateName__ template", - "already_have_sl_account": "Already have a __appName__ account?", - "register": "Register", - "password": "Password", - "registering": "Registering", - "planned_maintenance": "Planned Maintenance", - "no_planned_maintenance": "There is currently no planned maintenance", - "cant_find_page": "Sorry, we can't find the page you are looking for.", - "take_me_home": "Take me home!", - "no_preview_available": "Sorry, no preview is available.", - "no_messages": "No messages", - "send_first_message": "Send your first message to your collaborators", - "account_not_linked_to_dropbox": "Your account is not linked to Dropbox", - "update_dropbox_settings": "Update Dropbox Settings", - "refresh_page_after_starting_free_trial": "Please refresh this page after starting your free trial.", - "checking_dropbox_status": "checking Dropbox status", - "dismiss": "Dismiss", - "deleted_files": "Deleted Files", - "new_file": "New File", - "upload_file": "Upload File", - "create": "Create", - "creating": "Creating", - "upload_files": "Upload File(s)", - "sure_you_want_to_delete": "Are you sure you want to permanently delete the following files?", - "common": "Common", - "navigation": "Navigation", - "editing": "Editing", - "ok": "OK", - "source": "Source", - "actions": "Actions", - "copy_project": "Copy Project", - "publish_as_template": "Publish as Template", - "sync": "Sync", - "settings": "Settings", - "main_document": "Main document", - "off": "Off", - "auto_complete": "Auto-complete", - "theme": "Theme", - "font_size": "Font Size", - "pdf_viewer": "PDF Viewer", - "built_in": "Built-In", - "native": "Native", - "show_hotkeys": "Show Hotkeys", - "new_name": "New Name", - "copying": "Copying", - "copy": "Copy", - "compiling": "Compiling", - "click_here_to_preview_pdf": "Click here to preview your work as a PDF.", - "server_error": "Server Error", - "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", - "timedout": "Timed out", - "proj_timed_out_reason": "Sorry, your compile took too long to run and timed out. This may be due to a LaTeX error, or a large number of high-res images or complicated diagrams.", - "no_errors_good_job": "No errors, good job!", - "compile_error": "Compile Error", - "generic_failed_compile_message": "Sorry, your LaTeX code couldn't compile for some reason. Please check the errors below for details, or view the raw log", - "other_logs_and_files": "Other logs & files", - "view_raw_logs": "View Raw Logs", - "hide_raw_logs": "Hide Raw Logs", - "clear_cache": "Clear cache", - "clear_cache_explanation": "This will clear all hidden LaTeX files (.aux, .bbl, etc) from our compile server. You generally don't need to do this unless you're having trouble with references.", - "clear_cache_is_safe": "Your project files will not be deleted or changed.", - "clearing": "Clearing", - "template_description": "Template Description", - "project_last_published_at": "Your project was last published at", - "problem_talking_to_publishing_service": "There is a problem with our publishing service, please try again in a few minutes", - "unpublishing": "Unpublishing", - "republish": "Republish", - "publishing": "Publishing", - "share_project": "Share Project", - "this_project_is_private": "This project is private and can only be accessed by the people below.", - "make_public": "Make Public", - "this_project_is_public": "This project is public and can be edited by anyone with the URL.", - "make_private": "Make Private", - "can_edit": "Can Edit", - "share_with_your_collabs": "Share with your collaborators", - "share": "Share", - "need_to_upgrade_for_more_collabs": "You need to upgrade your account to add more collaborators", - "make_project_public": "Make project public", - "make_project_public_consequences": "If you make your project public then anyone with the URL will be able to access it.", - "allow_public_editing": "Allow public editing", - "allow_public_read_only": "Allow public read only access", - "make_project_private": "Disable link-sharing", - "make_project_private_consequences": "If you make your project private then only the people you choose to share it with will have access.", - "need_to_upgrade_for_history": "You need to upgrade your account to use the History feature.", - "ask_proj_owner_to_upgrade_for_history": "Please ask the project owner to upgrade to use the History feature.", - "anonymous": "Anonymous", - "generic_something_went_wrong": "Sorry, something went wrong", - "restoring": "Restoring", - "restore_to_before_these_changes": "Restore to before these changes", - "profile_complete_percentage": "Your profile is __percentval__% complete", - "file_has_been_deleted": "__filename__ has been deleted", - "sure_you_want_to_restore_before": "Are you sure you want to restore __filename__ to before the changes on __date__?", - "rename_project": "Rename Project", - "about_to_delete_projects": "You are about to delete the following projects:", - "about_to_leave_projects": "You are about to leave the following projects:", - "upload_zipped_project": "Upload Zipped Project", - "upload_a_zipped_project": "Upload a zipped project", - "your_profile": "Your Profile", - "institution": "Institution", - "role": "Role", - "folders": "Folders", - "disconnected": "Disconnected", - "please_refresh": "Please refresh the page to continue.", - "lost_connection": "Lost Connection", - "reconnecting_in_x_secs": "Reconnecting in __seconds__ secs", - "try_now": "Try Now", - "reconnecting": "Reconnecting", - "saving_notification_with_seconds": "Saving __docname__... (__seconds__ seconds of unsaved changes)", - "help_us_spread_word": "Help us spread the word about __appName__", - "share_sl_to_get_rewards": "Share __appName__ with your friends and colleagues and unlock the rewards below", - "post_on_facebook": "Post on Facebook", - "share_us_on_googleplus": "Share us on Google+", - "email_us_to_your_friends": "Email us to your friends", - "link_to_us": "Link to us from your website", - "direct_link": "Direct Link", - "sl_gives_you_free_stuff_see_progress_below": "When someone starts using __appName__ after your recommendation we'll give you some free stuff to say thanks! Check your progress below.", - "spread_the_word_and_fill_bar": "Spread the word and fill this bar up", - "one_free_collab": "One free collaborator", - "three_free_collab": "Three free collaborators", - "free_dropbox_and_history": "Free Dropbox and History", - "you_not_introed_anyone_to_sl": "You've not introduced anyone to __appName__ yet. Get sharing!", - "you_introed_small_number": " You've introduced __numberOfPeople__ person to __appName__. Good job, but can you get some more?", - "you_introed_high_number": " You've introduced __numberOfPeople__ people to __appName__. Good job!", - "link_to_sl": "Link to __appName__", - "can_link_to_sl_with_html": "You can link to __appName__ with the following HTML:", - "year": "year", - "month": "month", - "subscribe_to_this_plan": "Subscribe to this plan", - "your_plan": "Your plan", - "your_subscription": "Your Subscription", - "on_free_trial_expiring_at": "You are currently using a free trial which expires on __expiresAt__.", - "choose_a_plan_below": "Choose a plan below to subscribe to.", - "currently_subscribed_to_plan": "You are currently subscribed to the __planName__ plan.", - "change_plan": "Change plan", - "next_payment_of_x_collectected_on_y": "The next payment of __paymentAmmount__ will be collected on __collectionDate__.", - "update_your_billing_details": "Update Your Billing Details", - "subscription_canceled_and_terminate_on_x": " Your subscription has been canceled and will terminate on __terminateDate__. No further payments will be taken.", - "your_subscription_has_expired": "Your subscription has expired.", - "create_new_subscription": "Create New Subscription", - "problem_with_subscription_contact_us": "There is a problem with your subscription. Please contact us for more information.", - "manage_group": "Manage Group", - "loading_billing_form": "Loading billing details form", - "you_have_added_x_of_group_size_y": "You have added __addedUsersSize__ of __groupSize__ available members", - "remove_from_group": "Remove from group", - "group_account": "Group Account", - "registered": "Registered", - "no_members": "No members", - "add_more_members": "Add more members", - "add": "Add", - "thanks_for_subscribing": "Thanks for subscribing!", - "your_card_will_be_charged_soon": "Your card will be charged soon.", - "if_you_dont_want_to_be_charged": "If you do not want to be charged again ", - "add_your_first_group_member_now": "Add your first group members now", - "thanks_for_subscribing_you_help_sl": "Thank you for subscribing to the __planName__ plan. It's support from people like yourself that allows __appName__ to continue to grow and improve.", - "back_to_your_projects": "Back to your projects", - "goes_straight_to_our_inboxes": "It goes straight to both our inboxes", - "need_anything_contact_us_at": "If there is anything you ever need please feel free to contact us directly at", - "regards": "Regards", - "about": "About", - "comment": "Comment", - "restricted_no_permission": "Restricted, sorry you don't have permission to load this page.", - "online_latex_editor": "Online LaTeX Editor", - "meet_team_behind_latex_editor": "Meet the team behind your favourite online LaTeX editor.", - "follow_me_on_twitter": "Follow me on Twitter", - "motivation": "Motivation", - "evolved": "Evolved", - "the_easy_online_collab_latex_editor": "The easy to use, online, collaborative LaTeX editor", - "get_started_now": "Get started now", - "sl_used_over_x_people_at": "__appName__ is used by over __numberOfUsers__ students and academics at:", - "collaboration": "Collaboration", - "work_on_single_version": "Work together on a single version", - "view_collab_edits": "View collaborator edits ", - "ease_of_use": " Ease of Use", - "no_complicated_latex_install": "No complicated LaTeX installation", - "all_packages_and_templates": "All the packages and __templatesLink__ you need", - "document_history": "Document history", - "see_what_has_been": "See what has been ", - "added": "added", - "and": "and", - "removed": "removed", - "restore_to_any_older_version": "Restore to any older version", - "work_from_anywhere": "Work from anywhere", - "acces_work_from_anywhere": "Access your work from anywhere in the world", - "work_offline_and_sync_with_dropbox": "Work offline and sync your files via Dropbox and GitHub", - "over": "over", - "view_templates": "View templates", - "nothing_to_install_ready_to_go": "There's nothing complicated or difficult for you to install, and you can __start_now__, even if you've never seen it before. __appName__ comes with a complete, ready to go LaTeX environment which runs on our servers.", - "start_using_latex_now": "start using LaTeX right now", - "get_same_latex_setup": "With __appName__ you get the same LaTeX set-up wherever you go. By working with your colleagues and students on __appName__, you know that you're not going to hit any version inconsistencies or package conflicts.", - "support_lots_of_features": "We support almost all LaTeX features, including inserting images, bibliographies, equations, and much more! Read about all the exciting things you can do with __appName__ in our __help_guides_link__", - "latex_guides": "LaTeX guides", - "reset_password": "Reset Password", - "set_password": "Set Password", - "updating_site": "Updating Site", - "bonus_please_recommend_us": "Bonus - Please recommend us", - "admin": "admin", - "subscribe": "Subscribe", - "update_billing_details": "Update Billing Details", - "thank_you": "Thank You", - "group_admin": "Group Admin", - "all_templates": "All Templates", - "your_settings": "Your settings", - "maintenance": "Maintenance", - "to_many_login_requests_2_mins": "This account has had too many login requests. Please wait 2 minutes before trying to log in again", - "email_or_password_wrong_try_again": "Your email or password is incorrect. Please try again", - "rate_limit_hit_wait": "Rate limit hit. Please wait a while before retrying", - "problem_changing_email_address": "There was a problem changing your email address. Please try again in a few moments. If the problem continues please contact us.", - "single_version_easy_collab_blurb": "__appName__ makes sure that you're always up to date with your collaborators and what they are doing. There is only a single master version of each document which everyone has access to. It's impossible to make conflicting changes, and you don't have to wait for your colleagues to send you the latest draft before you can keep working.", - "can_see_collabs_type_blurb": "If multiple people want to work on a document at the same time then that's no problem. You can see where your colleagues are typing directly in the editor and their changes show up on your screen immediately.", - "work_directly_with_collabs": "Work directly with your collaborators", - "work_with_word_users": "Work with Word users", - "work_with_word_users_blurb": "__appName__ is so easy to get started with that you'll be able to invite your non-LaTeX colleagues to contribute directly to your LaTeX documents. They'll be productive from day one and be able to pick up small amounts of LaTeX as they go.", - "view_which_changes": "View which changes have been", - "sl_included_history_of_changes_blurb": "__appName__ includes a history of all of your changes so you can see exactly who changed what, and when. This makes it extremely easy to keep up to date with any progress made by your collaborators and allows you to review recent work.", - "can_revert_back_blurb": "In a collaboration or on your own, sometimes mistakes are made. Reverting back to previous versions is simple and removes the risk of losing work or regretting a change.", - "start_using_sl_now": "Start using __appName__ now", - "over_x_templates_easy_getting_started": "There are thousands of __templates__ in our template gallery, so it's really easy to get started, whether you're writing a journal article, thesis, CV or something else.", - "done": "Done", - "change": "Change", - "page_not_found": "Page Not Found", - "please_see_help_for_more_info": "Please see our help guide for more information", - "this_project_will_appear_in_your_dropbox_folder_at": "This project will appear in your Dropbox folder at ", - "member_of_group_subscription": "You are a member of a group subscription managed by __admin_email__. Please contact them to manage your subscription.\n", - "about_henry_oswald": "is a software engineer living in London. He built the original prototype of __appName__ and has been responsible for building a stable and scalable platform. Henry is a strong advocate of Test Driven Development and makes sure we keep the __appName__ code clean and easy to maintain.", - "about_james_allen": "has a PhD in theoretical physics and is passionate about LaTeX. He created one of the first online LaTeX editors, ScribTeX, and has played a large role in developing the technologies that make __appName__ possible.", - "two_strong_principles_behind_sl": "There are two strong driving principles behind our work on __appName__:", - "want_to_improve_workflow_of_as_many_people_as_possible": "We want to improve the workflow of as many people as possible.", - "detail_on_improve_peoples_workflow": "LaTeX is notoriously hard to use, and collaboration is always difficult to coordinate. We believe that we've developed some great solutions to help people who face these problems, and we want to make sure that __appName__ is accessible to as many people as possible. We've tried to keep our pricing fair, and have released much of __appName__ as open source so that anyone can host their own.", - "want_to_create_sustainable_lasting_legacy": "We want to create a sustainable and lasting legacy.", - "details_on_legacy": "Development and maintenance of a product like __appName__ takes a lot of time and work, so it's important that we can find a business model that will support this both now, and in the long term. We don't want __appName__ to be dependent on external funding or disappear due to a failed business model. I'm pleased to say that we're currently able to run __appName__ profitably and sustainably, and expect to be able to do so in the long term.", - "get_in_touch": "Get in touch", - "want_to_hear_from_you_email_us_at": "We'd love to hear from anyone who is using __appName__, or wants to have a chat about what we're doing. You can get in touch with us at ", - "cant_find_email": "That email address is not registered, sorry.", - "plans_amper_pricing": "Plans & Pricing", - "documentation": "Documentation", - "account": "Account", - "subscription": "Subscription", - "log_out": "Log Out", - "en": "English", - "pt": "Portuguese", - "es": "Spanish", - "fr": "French", - "de": "German", - "it": "Italian", - "da": "Danish", - "sv": "Swedish", - "no": "Norwegian", - "nl": "Dutch", - "pl": "Polish", - "ru": "Russian", - "uk": "Ukrainian", - "ro": "Romanian", - "click_here_to_view_sl_in_lng": "Click here to use __appName__ in __lngName__", - "language": "Language", - "upload": "Upload", - "menu": "Menu", - "full_screen": "Full screen", - "logs_and_output_files": "Logs and output files", - "download_pdf": "Download PDF", - "split_screen": "Split screen", - "clear_cached_files": "Clear cached files", - "go_to_code_location_in_pdf": "Go to code location in PDF", - "please_compile_pdf_before_download": "Please compile your project before downloading the PDF", - "remove_collaborator": "Remove collaborator", - "add_to_folders": "Add to folders", - "download_zip_file": "Download .zip File", - "price": "Price", - "close": "Close", - "keybindings": "Keybindings", - "restricted": "Restricted", - "start_x_day_trial": "Start Your __len__-Day Free Trial Today!", - "buy_now": "Buy Now!", - "cs": "Czech", - "view_all": "View All", - "terms": "Terms", - "privacy": "Privacy", - "contact": "Contact", - "change_to_this_plan": "Change to this plan", - "processing": "processing", - "sure_you_want_to_change_plan": "Are you sure you want to change plan to __planName__?", - "move_to_annual_billing": "Move to Annual Billing", - "annual_billing_enabled": "Annual billing enabled", - "move_to_annual_billing_now": "Move to annual billing now", - "change_to_annual_billing_and_save": "Get __percentage__ off with annual billing. If you switch now you'll save __yearlySaving__ per year.", - "missing_template_question": "Missing Template?", - "tell_us_about_the_template": "If we are missing a template please either: Send us a copy of the template, a __appName__ url to the template or let us know where we can find the template. Also please let us know a little about the template for the description.", - "email_us": "Email us", - "this_project_is_public_read_only": "This project is public and can be viewed but not edited by anyone with the URL", - "tr": "Turkish", - "select_files": "Select file(s)", - "drag_files": "drag file(s)", - "upload_failed_sorry": "Upload failed, sorry :(", - "inserting_files": "Inserting file...", - "password_reset_token_expired": "Your password reset token has expired. Please request a new password reset email and follow the link there.", - "merge_project_with_github": "Merge Project with GitHub", - "pull_github_changes_into_sharelatex": "Pull GitHub changes into __appName__", - "push_sharelatex_changes_to_github": "Push __appName__ changes to GitHub", - "features": "Features", - "commit": "Commit", - "commiting": "Committing", - "importing_and_merging_changes_in_github": "Importing and merging changes in GitHub", - "upgrade_for_faster_compiles": "Upgrade for faster compiles and to increase your timeout limit", - "free_accounts_have_timeout_upgrade_to_increase": "Free accounts have a one minute timeout, whereas upgraded accounts have a timeout of four minutes.", - "learn_how_to_make_documents_compile_quickly": "Learn how to fix compile timeouts", - "zh-CN": "Chinese", - "cn": "Chinese (Simplified)", - "sync_to_github": "Sync to GitHub", - "sync_to_dropbox_and_github": "Sync to Dropbox and GitHub", - "project_too_large": "Project too large", - "project_too_large_please_reduce": "This project has too much editable text, please try and reduce it. The largest files are:", - "please_ask_the_project_owner_to_link_to_github": "Please ask the project owner to link this project to a GitHub repository", - "go_to_pdf_location_in_code": "Go to PDF location in code", - "ko": "Korean", - "ja": "Japanese", - "about_brian_gough": "is a software developer and former theoretical high energy physicist at Fermilab and Los Alamos. For many years he published free software manuals commercially using TeX and LaTeX and was also the maintainer of the GNU Scientific Library.", - "first_few_days_free": "First __trialLen__ days free", - "every": "per", - "credit_card": "Credit Card", - "credit_card_number": "Credit Card Number", - "invalid": "Invalid", - "expiry": "Expiry Date", - "january": "January", - "february": "February", - "march": "March", - "april": "April", - "may": "May", - "june": "June", - "july": "July", - "august": "August", - "september": "September", - "october": "October", - "november": "November", - "december": "December", - "zip_post_code": "Zip / Post Code", - "city": "City", - "address": "Address", - "coupon_code": "Coupon code", - "country": "Country", - "billing_address": "Billing Address", - "upgrade_now": "Upgrade Now", - "state": "State", - "vat_number": "VAT Number", - "you_have_joined": "You have joined __groupName__", - "claim_premium_account": "You have claimed your premium account provided by __groupName__.", - "you_are_invited_to_group": "You are invited to join __groupName__", - "you_can_claim_premium_account": "You can claim a premium account provided by __groupName__ by verifying your email", - "not_now": "Not now", - "verify_email_join_group": "Verify email and join Group", - "check_email_to_complete_group": "Please check your email to complete joining the group", - "verify_email_address": "Verify Email Address", - "group_provides_you_with_premium_account": "__groupName__ provides you with a premium account. Verifiy your email address to upgrade your account.", - "check_email_to_complete_the_upgrade": "Please check your email to complete the upgrade", - "email_link_expired": "Email link expired, please request a new one.", - "services": "Services", - "about_shane_kilkelly": "is a software developer living in Edinburgh. Shane is a strong advocate for Functional Programming, Test Driven Development and takes pride in building quality software.", - "this_is_your_template": "This is your template from your project", - "links": "Links", - "account_settings": "Account Settings", - "search_projects": "Search projects", - "clone_project": "Clone Project", - "delete_project": "Delete Project", - "download_zip": "Download Zip", - "new_project": "New Project", - "blank_project": "Blank Project", - "example_project": "Example Project", - "from_template": "From Template", - "cv_or_resume": "CV or Resume", - "cover_letter": "Cover Letter", - "journal_article": "Journal Article", - "presentation": "Presentation", - "thesis": "Thesis", - "bibliographies": "Bibliographies", - "terms_of_service": "Terms of Service", - "privacy_policy": "Privacy Policy", - "plans_and_pricing": "Plans and Pricing", - "university_licences": "University Licenses", - "security": "Security", - "contact_us": "Contact Us", - "thanks": "Thanks", - "blog": "Blog", - "latex_editor": "LaTeX Editor", - "get_free_stuff": "Get free stuff", - "chat": "Chat", - "your_message": "Your Message", - "loading": "Loading", - "connecting": "Connecting", - "recompile": "Recompile", - "download": "Download", - "email": "Email", - "owner": "Owner", - "read_and_write": "Read and Write", - "read_only": "Read Only", - "publish": "Publish", - "view_in_template_gallery": "View it in template gallery", - "description": "Description", - "unpublish": "Unpublish", - "hotkeys": "Hotkeys", - "saving": "Saving", - "cancel": "Cancel", - "project_name": "Project Name", - "root_document": "Root Document", - "spell_check": "Spell check", - "compiler": "Compiler", - "private": "Private", - "public": "Public", - "delete_forever": "Delete Forever", - "support_and_feedback": "Support and feedback", - "help": "Help", - "latex_templates": "LaTeX Templates", - "info": "Info", - "latex_help_guide": "LaTeX help guide", - "choose_your_plan": "Choose your plan", - "indvidual_plans": "Individual Plans", - "free_forever": "Free forever", - "low_priority_compile": "Low priority compiling", - "unlimited_projects": "Unlimited projects", - "unlimited_compiles": "Unlimited compiles", - "full_history_of_changes": "Full history of changes", - "highest_priority_compiling": "Highest priority compiling", - "dropbox_sync": "Dropbox Sync", - "beta": "Beta", - "sign_up_now": "Sign Up Now", - "annual": "Annual", - "half_price_student": "Half Price Student Plans", - "about_us": "About Us", - "loading_recent_github_commits": "Loading recent commits", - "no_new_commits_in_github": "No new commits in GitHub since last merge.", - "dropbox_sync_description": "Keep your __appName__ projects in sync with your Dropbox. Changes in __appName__ are automatically sent to your Dropbox, and the other way around.", - "github_sync_description": "With GitHub Sync you can link your __appName__ projects to GitHub repositories. Create new commits from __appName__, and merge with commits made offline or in GitHub.", - "github_import_description": "With GitHub Sync you can import your GitHub Repositories into __appName__. Create new commits from __appName__, and merge with commits made offline or in GitHub.", - "link_to_github_description": "You need to authorise __appName__ to access your GitHub account to allow us to sync your projects.", - "unlink": "Unlink", - "unlink_github_warning": "Any projects that you have synced with GitHub will be disconnected and no longer kept in sync with GitHub. Are you sure you want to unlink your GitHub account?", - "github_account_successfully_linked": "GitHub Account Successfully Linked!", - "github_successfully_linked_description": "Thanks, we've successfully linked your GitHub account to __appName__. You can now export your __appName__ projects to GitHub, or import projects from your GitHub repositories.", - "import_from_github": "Import from GitHub", - "github_sync_error": "Sorry, there was an error talking to our GitHub service. Please try again in a few moments.", - "loading_github_repositories": "Loading your GitHub repositories", - "select_github_repository": "Select a GitHub repository to import into __appName__.", - "import_to_sharelatex": "Import to __appName__", - "importing": "Importing", - "github_sync": "GitHub Sync", - "checking_project_github_status": "Checking project status in GitHub", - "account_not_linked_to_github": "Your account is not linked to GitHub", - "project_not_linked_to_github": "This project is not linked to a GitHub repository. You can create a repository for it in GitHub:", - "create_project_in_github": "Create a GitHub repository", - "project_synced_with_git_repo_at": "This project is synced with the GitHub repository at", - "recent_commits_in_github": "Recent commits in GitHub", - "sync_project_to_github": "Sync project to GitHub", - "sync_project_to_github_explanation": "Any changes you have made in __appName__ will be committed and merged with any updates in GitHub.", - "github_merge_failed": "Your changes in __appName__ and GitHub could not be automatically merged. Please manually merge the __sharelatex_branch__ branch into the __master_branch__ branch in git. Click below to continue, after you have manually merged.", - "continue_github_merge": "I have manually merged. Continue", - "export_project_to_github": "Export Project to GitHub", - "github_validation_check": "Please check that the repository name is valid, and that you have permission to create the repository.", - "repository_name": "Repository Name", - "optional": "Optional", - "github_public_description": "Anyone can see this repository. You choose who can commit.", - "github_commit_message_placeholder": "Commit message for changes made in __appName__...", - "merge": "Merge", - "merging": "Merging", - "github_account_is_linked": "Your GitHub account is successfully linked.", - "unlink_github": "Unlink your GitHub account", - "link_to_github": "Link to your GitHub account", - "github_integration": "GitHub Integration", - "github_is_premium": "GitHub sync is a premium feature" -} \ No newline at end of file diff --git a/services/web/locales/en-US.json b/services/web/locales/en-US.json deleted file mode 100644 index 69abc71b0f..0000000000 --- a/services/web/locales/en-US.json +++ /dev/null @@ -1,1296 +0,0 @@ -{ - "compile_timeout": "Compile timeout (seconds)", - "collabs_per_proj_single": "__collabcount__ collaborator per project", - "premium_features": "Premium features", - "special_price_student": "Special Price Student Plans", - "hide_outline": "Hide File outline", - "show_outline": "Show File outline", - "expand": "Expand", - "collapse": "Collapse", - "file_outline": "File outline", - "the_file_outline_is_a_new_feature_click_the_icon_to_learn_more": "The <0>File outline is a new feature. Click the icon to learn more", - "we_cant_find_any_sections_or_subsections_in_this_file": "We can’t find any sections or subsections in this file", - "find_out_more_about_the_file_outline": "Find out more about the file outline", - "invalid_institutional_email": "Your institution's SSO service returned your email address as __email__, which is at an unexpected domain that we do not recognise as belonging to it. You may be able to change your primary email address via your user profile at your institution to one at your institution's domain. Please contact your IT department if you have any questions.", - "wed_love_you_to_stay": "We'd love you to stay", - "yes_move_me_to_student_plan": "Yes, move me to the student plan", - "last_login": "Last Login", - "thank_you_for_being_part_of_our_beta_program": "Thank you for being part of our Beta Program, where you can have early access to new features and help us understand your needs better", - "you_will_be_able_to_contact_us_any_time_to_share_your_feedback": "You will be able to contact us any time to share your feedback", - "we_may_also_contact_you_from_time_to_time_by_email_with_a_survey": "We may also contact you from time to time by email with a survey, or to see if you would like to participate in other user research initiatives", - "you_can_opt_in_and_out_of_the_program_at_any_time_on_this_page": "You can opt in and out of the program at any time on this page", - "give_feedback": "Give feedback", - "beta_feature_badge": "Beta feature badge", - "invalid_filename": "Upload failed: check that the file name doesn't contain special characters or trailing/leading whitespace", - "clsi_unavailable": "Sorry, the compile server for your project was temporarily unavailable. Please try again in a few moments.", - "x_price_per_month": "__price__ per month", - "x_price_per_year": "__price__ per year", - "x_price_for_first_month": "__price__ for your first month", - "x_price_for_first_year": "__price__ for your first year", - "normally_x_price_per_month": "Normally __price__ per month", - "normally_x_price_per_year": "Normally __price__ per year", - "then_x_price_per_month": "Then __price__ per month", - "then_x_price_per_year": "Then __price__ per year", - "for_your_first": "for your first", - "sso_not_linked": "You have not linked your account to __provider__. Please log in to your account another way and link your __provider__ account via your account settings.", - "template_gallery": "Template Gallery", - "template_not_found_description": "This way of creating projects from templates has been removed. Please visit our template gallery to find more templates.", - "dropbox_checking_sync_status": "Checking Dropbox Integration status", - "dropbox_sync_in": "Updating Overleaf", - "dropbox_sync_out": "Updating Dropbox", - "dropbox_sync_both": "Updating Overleaf and Dropbox", - "dropbox_synced": "Overleaf and Dropbox are up-to-date", - "dropbox_sync_status_error": "An error has occurred with the Dropbox Integration", - "requesting_password_reset": "Requesting password reset", - "tex_live_version": "TeX Live version", - "email_does_not_belong_to_university": "We don't recognize that domain as being affiliated with your university. Please contact us to add the affiliation.", - "company_name": "Company Name", - "add_company_details": "Add Company Details", - "github_timeout_error": "Syncing your Overleaf project with Github has timed out. This may be due to the overall size of your project, or the number of files/changes to sync, being too large.", - "github_large_files_error": "Merge failed: your Github repository contains files over the 50mb file size limit ", - "no_history_available": "This project doesn't have any history yet. Please make some changes to the project and try again.", - "project_approaching_file_limit": "This project is approaching the file limit", - "recurly_email_updated": "Your billing email address was successfully updated", - "recurly_email_update_needed": "Your billing email address is currently __recurlyEmail__. If needed you can update your billing address to __userEmail__.", - "project_has_too_many_files": "This project has reached the 2000 file limit", - "processing_your_request": "Please wait while we process your request.", - "github_repository_diverged": "The master branch of the linked repository has been force-pushed. Pulling GitHub changes after a force push can cause Overleaf and GitHub to get out of sync. You might need to push changes after pulling to get back in sync.", - "unlink_github_repository": "Unlink Github Repository", - "unlinking": "Unlinking", - "github_no_master_branch_error": "This repository cannot be imported as it is missing the master branch. Please make sure the project has a master branch", - "confirmation_token_invalid": "Sorry, your confirmation token is invalid or has expired. Please request a new email confirmation link.", - "confirmation_link_broken": "Sorry, something is wrong with your confirmation link. Please try copy and pasting the link from the bottom of your confirmation email.", - "duplicate_file": "Duplicate File", - "file_already_exists_in_this_location": "An item named __fileName__ already exists in this location. If you wish to move this file, rename or remove the conflicting file and try again.", - "group_full": "This group is already full", - "no_selection_select_file": "Currently, no file is selected. Please select a file from the file tree.", - "no_selection_create_new_file": "Your project is currently empty. Please create a new file.", - "files_selected": "files selected.", - "home": "Home", - "this_action_cannot_be_undone": "This action cannot be undone.", - "dropbox_email_not_verified": "We have been unable to retrieve updates from your Dropbox account. Dropbox reported that your email address is unverified. Please verify your email address in your Dropbox account to resolve this.", - "link_email_to_join": "Link your institutional email to join __portalTitle__ on __appName__", - "token_access_success": "Access granted", - "token_access_failure": "Cannot grant access; contact the project owner for help", - "trashed_projects": "Trashed Projects", - "trash": "Trash", - "untrash": "Restore", - "delete_and_leave": "Delete / Leave", - "trash_projects": "Trash Projects", - "about_to_trash_projects": "You are about to trash the following projects:", - "archived_projects_info_note": "The Archive now works on a per-user basis. Projects that you decide to archive will only be archived for you, not your collaborators.", - "trashed_projects_info_note": "Overleaf now has a Trash for projects you want to get rid of. Trashing a project won't affect your collaborators.", - "register_intercept_sso": "You can link your __authProviderName__ account from the Account Settings page after logging in.", - "continue_to": "Continue to __appName__", - "project_ownership_transfer_confirmation_1": "Are you sure you want to make __user__ the owner of __project__?", - "project_ownership_transfer_confirmation_2": "This action cannot be undone. The new owner will be notified and will be able to change project access settings (including removing your own access).", - "change_owner": "Change owner", - "change_project_owner": "Change Project Owner", - "faq_pay_by_invoice_answer": "Yes, if you'd like to purchase a group account or site license and would prefer to pay by invoice,\r\nor need to raise a purchase order, please __payByInvoiceLinkOpen__let us know__payByInvoiceLinkClose__.\r\nFor individual accounts or accounts with monthly billing, we can only accept payment online\r\nvia credit or debit card, or PayPal.", - "password_too_long_please_reset": "Maximum password length exceeded. Please reset your password.", - "view_other_options_to_log_in": "View other options to log in", - "we_logged_you_in": "We have logged you in.", - "will_need_to_log_out_from_and_in_with": "You will need to log out from your __email1__ account and then log in with __email2__.", - "resubmit_institutional_email": "Please resubmit your institutional email.", - "opted_out_linking": "You've opted out from linking your __email__ __appName__ account to your institutional account.", - "please_link_to_institution_account": "Please link your __email__ __appName__ account to your __institutionName__ institutional account.", - "register_with_another_email": "Register with __appName__ using another email.", - "register_with_email_provided": "Register with __appName__ using the email and password you provided.", - "security_reasons_linked_accts": "For security reasons, as your institutional email is already associated with the __email__ __appName__ account, we can only allow account linking with that specific account.", - "this_grants_access_to_features": "This grants you access to __appName__ __featureType__ features.", - "to_add_email_accounts_need_to_be_linked": "To add this email, your __appName__ and __institutionName__ accounts will need to be linked.", - "tried_to_log_in_with_email": "You've tried to login with __email__.", - "tried_to_register_with_email": "You've tried to register with __email__, which is already registered with __appName__ as an institutional account.", - "log_in_with_email": "Log in with __email__", - "log_in_with_existing_institution_email": "Please log in with your existing __appName__ account in order to get your __appName__ and __institutionName__ institutional accounts linked.", - "log_out_from": "Log out from __email__", - "logged_in_with_acct_that_cannot_be_linked": "You've logged in with an __appName__ account that cannot be linked to your institution account.", - "logged_in_with_email": "You are currently logged in to __appName__ with the email __email__.", - "looks_like_logged_in_with_email": "It looks like you're already logged in to __appName__ with the email __email__.", - "make_primary_to_log_in_through_institution": "Make your __email__ email primary to log in through your institution portal. ", - "make_primary_which_will_allow_log_in_through_institution": "Making it your primary __appName__ email will allow you to log in through your institution portal.", - "need_to_do_this_to_access_license": "You'll need to do this in order to have access to the benefits from the __institutionName__ site license.", - "institutional_login_not_supported": "Your university doesn't support institutional login yet, but you can still register with your institutional email.", - "link_account": "Link Account", - "link_accounts": "Link Accounts", - "link_accounts_and_add_email": "Link Accounts and Add Email", - "link_your_accounts": "Link your accounts", - "log_in_and_link": "Log in and link", - "log_in_and_link_accounts": "Log in and link accounts", - "log_in_first_to_proceed": "You will need to log in first to proceed.", - "log_in_through_institution": "Log in through your institution", - "if_have_existing_can_link": "If you have an existing __appName__ account on another email, you can link it to your __institutionName__ account by clicking __clickText__.", - "if_owner_can_link": "If you own the __appName__ account with __email__, you will be allowed to link it to your __institutionName__ institutional account.", - "ignore_and_continue_institution_linking": "You can also ignore this and continue to __appName__ with your __email__ account.", - "in_order_to_match_institutional_metadata": "In order to match your institutional metadata, we've linked your account using __email__.", - "in_order_to_match_institutional_metadata_associated": "In order to match your institutional metadata, your account is associated with the email __email__.", - "institution_account_tried_to_add_already_registered": "The email/institution account you tried to add is already registered with __appName__.", - "institution_acct_successfully_linked": "Your __appName__ account was successfully linked to your __institutionName__ institutional account.", - "institution_email_new_to_app": "Your __institutionName__ email (__email__) is new to __appName__.", - "institutional": "Institutional", - "doing_this_allow_log_in_through_institution": "Doing this will allow you to log in to __appName__ through your institution portal.", - "doing_this_will_verify_affiliation_and_allow_log_in": "Doing this will verify your affiliation with __institutionName__ and will allow you to log in to __appName__ through your institution.", - "email_already_associated_with": "The __email1__ email is already associated with the __email2__ __appName__ account.", - "enter_institution_email_to_log_in": "Enter your institutional email to log in through your institution.", - "find_out_more_about_institution_login": "Find out more about institutional login", - "get_in_touch_having_problems": "Get in touch with support if you're having problems", - "go_back_and_link_accts": "Go back and link your accounts", - "go_back_and_log_in": "Go back and log in again", - "go_back_to_institution": "Go back to your institution", - "can_link_institution_email_by_clicking": "You can link your __email__ __appName__ account to your __institutionName__ account by clicking __clickText__.", - "can_link_institution_email_to_login": "You can link your __email__ __appName__ account to your __institutionName__ account, which will allow you to log in to __appName__ through your institution portal.", - "can_link_your_institution_acct": "You can now link your __appName__ account to your __institutionName__ institutional account.", - "can_now_link_to_institution_acct": "You can link your __email__ __appName__ account to your __institutionName__ institutional account.", - "click_link_to_proceed": "Click __clickText__ below to proceed.", - "continue_with_email": "Continue to __appName__ with your __email__ account", - "create_new_account": "Create new account", - "do_not_have_acct_or_do_not_want_to_link": "If you don't have an __appName__ account, or if you don't want to link to your __institutionName__ account, please click __clickText__.", - "do_not_link_accounts": "Don't link accounts", - "account_has_been_link_to_institution_account": "Your __appName__ account on __email__ has been linked to your __institutionName__ institutional account.", - "account_linking": "Account Linking", - "account_with_email_exists": "It looks like an __appName__ account with the email __email__ already exists.", - "acct_linked_to_institution_acct": "This account is linked to your __institutionName__ institution account.", - "alternatively_create_new_institution_account": "Alternatively, you can create a new account with your institution email (__email__) by clicking __clickText__.", - "as_a_member_of_sso": "As a member of __institutionName__, you can log in to __appName__ through your institution portal.", - "as_a_member_of_sso_required": "As a member of __institutionName__, you must log in to __appName__ through your institution portal.", - "can_link_institution_email_acct_to_institution_acct": "You can now link your __email__ __appName__ account to your __institutionName__ institutional account.", - "can_link_institution_email_acct_to_institution_acct_alt": "You can link your __email__ __appName__ account to your __institutionName__ institutional account.", - "user_deletion_error": "Sorry, something went wrong deleting your account. Please try again in a minute.", - "card_must_be_authenticated_by_3dsecure": "Your card must be authenticated with 3D Secure before continuing", - "view_your_invoices": "View Your Invoices", - "payment_provider_unreachable_error": "Sorry, there was an error talking to our payment provider. Please try again in a few moments.\nIf you are using any ad or script blocking extensions in your browser, you may need to temporarily disable them.", - "dropbox_unlinked_because_access_denied": "Your Dropbox account has been unlinked because the Dropbox service rejected your stored credentials. Please relink your Dropbox account to continue using it with Overleaf.", - "dropbox_unlinked_because_full": "Your Dropbox account has been unlinked because it is full, and we can no longer send updates to it. Please free up some space and relink your Dropbox account to continue using it with Overleaf.", - "upgrade_for_longer_compiles": "Upgrade to increase your timeout limit.", - "ask_proj_owner_to_upgrade_for_longer_compiles": "Please ask the project owner to upgrade to increase the timeout limit.", - "plus_upgraded_accounts_receive": "Plus with an upgraded account you get", - "sso_account_already_linked": "Account already linked to another __appName__ user", - "subscription_admins_cannot_be_deleted": "You cannot delete your account while on a subscription. Please cancel your subscription and try again. If you keep seeing this message please contact us.", - "delete_acct_no_existing_pw": "Please use the password reset form to set a password before deleting your account", - "empty_zip_file": "Zip doesn't contain any file", - "you_can_now_login_through_overleaf_sl": "You can now log in to your ShareLaTeX account through Overleaf.", - "find_out_more_nt": "Find out more.", - "register_error": "Registration error", - "login_error": "Login error", - "sso_link_error": "Error linking SSO account", - "more_info": "More Info", - "synctex_failed": "Couldn't find the corresponding source file", - "linked_collabratec_description": "Use Collabratec to manage your __appName__ projects.", - "reset_from_sl": "Please reset your password from ShareLaTeX and login there to move your account to Overleaf", - "dropbox_already_linked_error": "Your Dropbox account cannot be linked as it is already linked with another Overleaf account.", - "github_too_many_files_error": "This repository cannot be imported as it exceeds the maximum number of files allowed", - "linked_accounts": "linked accounts", - "linked_accounts_explained": "You can link your __appName__ account with other services to enable the features described below", - "oauth_orcid_description": " Securely establish your identity by linking your ORCID iD to your __appName__ account. Submissions to participating publishers will automatically include your ORCID iD for improved workflow and visibility. ", - "no_existing_password": "Please use the password reset form to set your password", - " to_reactivate_your_subscription_go_to": "To reactivate your subscription go to", - "subscription_canceled": "Subscription Canceled", - "coupons_not_included": "This does not include your current discounts, which will be applied automatically before your next payment", - "email_already_registered_secondary": "This email is already registered as a secondary email", - "secondary_email_password_reset": "That email is registered as a secondary email. Please enter the primary email for your account.", - "if_registered_email_sent": "If you have an account, we have sent you an email.", - "reconfirm": "reconfirm", - "request_reconfirmation_email": "Request reconfirmation email", - "reconfirm_explained": "We need to reconfirm your account. Please request a password reset link via the form below to reconfirm your account. If you have any problems reconfirming your account, please contact us at", - "upload_failed": "Upload failed", - "file_too_large": "File too large", - "zip_contents_too_large": "Zip contents too large", - "invalid_zip_file": "Invalid zip file", - "make_primary": "Make Primary", - "make_email_primary_description": "Make this the primary email, used to log in", - "github_sync_repository_not_found_description": "The linked repository has either been removed, or you no longer have access to it. You can set up sync with a new repository by cloning the project and using the 'Github' menu item. You can also unlink the repository from this project.", - "unarchive": "Restore", - "cant_see_what_youre_looking_for_question": "Can't see what you're looking for?", - "something_went_wrong_canceling_your_subscription": "Something went wrong canceling your subscription. Please contact support.", - "department": "Department", - "notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has a partnership with Overleaf, and you now have access to all of Overleaf's Professional features.", - "notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has a partnership with Overleaf, and you now have access to Overleaf's Professional features through your affiliation. You can cancel your personal subscription without losing access to any of your benefits.", - "github_private_description": "You choose who can see and commit to this repository.", - "notification_project_invite_message": "__userName__ would like you to join __projectName__", - "notification_project_invite_accepted_message": "You've joined __projectName__", - "subject_to_additional_vat": "Prices may be subject to additional VAT, depending on your country.", - "select_country_vat": "Please select your country on the payment page to view the total price including any VAT.", - "to_change_access_permissions": "To change access permissions, please ask the project owner", - "file_name_in_this_project": "File Name In This Project", - "new_snippet_project": "Untitled", - "loading_content": "Creating Project", - "there_was_an_error_opening_your_content": "There was an error creating your project", - "sorry_something_went_wrong_opening_the_document_please_try_again": "Sorry, an unexpected error occurred when trying to open this content on Overleaf. Please try again.", - "the_required_parameters_were_not_supplied": "The link to open this content on Overleaf was missing some required parameters. If this keeps happening for links on a particular site, please report this to them.", - "more_than_one_kind_of_snippet_was_requested": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", - "the_supplied_parameters_were_invalid": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.", - "unable_to_extract_the_supplied_zip_file": "Opening this content on Overleaf failed because the zip file could not be extracted. Please ensure that it is a valid zip file. If this keeps happening for links on a particular site, please report this to them.", - "the_file_supplied_is_of_an_unsupported_type ": "The link to open this content on Overleaf pointed to the wrong kind of file. Valid file types are .tex documents and .zip files. If this keeps happening for links on a particular site, please report this to them.", - "the_requested_publisher_was_not_found": "The link to open this content on Overleaf specified a publisher that could not be found. If this keeps happening for links on a particular site, please report this to them.", - "the_supplied_uri_is_invalid": "The link to open this content on Overleaf included an invalid URI. If this keeps happening for links on a particular site, please report this to them.", - "the_requested_conversion_job_was_not_found": "The link to open this content on Overleaf specified a conversion job that could not be found. It's possible that the job has expired and needs to be run again. If this keeps happening for links on a particular site, please report this to them.", - "not_found_error_from_the_supplied_url": "The link to open this content on Overleaf pointed to a file that could not be found. If this keeps happening for links on a particular site, please report this to them.", - "too_many_requests": "Too many requests were received in a short space of time. Please wait for a few moments and try again.", - "password_change_passwords_do_not_match": "Passwords do not match", - "github_for_link_shared_projects": "This project was accessed via link-sharing and won't be synchronised with your Github unless you are invited via e-mail by the project owner.", - "browsing_project_latest_for_pseudo_label": "Browsing your project's current state", - "history_label_project_current_state": "Current state", - "download_project_at_this_version": "Download project at this version", - "submit": "submit", - "help_articles_matching": "Help articles matching your subject", - "dropbox_for_link_share_projs": "This project was accessed via link-sharing and won't be synchronised to your Dropbox unless you are invited via e-mail by the project owner.", - "clear_search": "clear search", - "email_registered_try_alternative": "Sorry, we do not have an account matching those credentials. Perhaps you signed up using a different provider?", - "access_your_projects_with_git": "Access your projects with Git", - "ask_proj_owner_to_upgrade_for_git_bridge": "Ask the project owner to upgrade their account to use git", - "export_csv": "Export CSV", - "add_comma_separated_emails_help": "Separate multiple email addresses using the comma (,) character.", - "members_management": "Members management", - "managers_management": "Managers management", - "institution_account": "Institution Account", - "git": "Git", - "clone_with_git": "Clone with Git", - "git_bridge_modal_description": "You can git clone your project using the link displayed below.", - "managers_cannot_remove_admin": "Admins cannot be removed", - "managers_cannot_remove_self": "Managers cannot remove themselves", - "user_not_found": "User not found", - "user_already_added": "User already added", - "bonus_twitter_share_text": "I'm using __appName__, the free online collaborative LaTeX editor - it's awesome and easy to use!", - "bonus_email_share_header": "Online LaTeX editor you may like", - "bonus_email_share_body": "Hey, I have been using the online LaTeX editor __appName__ recently and thought you might like to check it out.", - "bonus_share_link_text": "Online LaTeX Editor __appName__", - "bonus_facebook_name": "__appName__ - Online LaTeX Editor", - "bonus_facebook_caption": "Free Unlimited Projects and Compiles", - "bonus_facebook_description": "__appName__ is a free online LaTeX Editor. Real time collaboration like Google Docs, with Dropbox, history and auto-complete.", - "remove_manager": "Remove manager", - "invalid_element_name": "Could not copy your project because of filenames containing invalid characters\r\n(such as asterisks, slashes or control characters). Please rename the files and\r\ntry again.", - "collabratec_account_not_registered": "IEEE Collabratec™ account not registered. Please connect to Overleaf from IEEE Collabratec™ or login with a different account.", - "password_change_failed_attempt": "Password change failed", - "password_change_successful": "Password changed", - "not_registered": "Not registered", - "featured_latex_templates": "Featured LaTeX Templates", - "no_featured_templates": "No featured templates", - "try_again": "Please try again", - "email_required": "Email required", - "registration_error": "Registration error", - "newsletter-accept": "I’d like emails about product offers and company news and events.", - "resending_confirmation_email": "Resending confirmation email", - "please_confirm_email": "Please confirm your email __emailAddress__ by clicking on the link in the confirmation email ", - "register_using_service": "Register using __service__", - "login_to_overleaf": "Log in to Overleaf", - "login_with_email": "Log in with your email", - "login_with_service": "Log in with __service__", - "first_time_sl_user": "First time here as a ShareLaTeX user", - "migrate_from_sl": "Migrate from ShareLaTeX", - "dont_have_account": "Don't have an account?", - "sl_extra_info_tooltip": "Please log in to ShareLaTeX to move your account to Overleaf. It will only take a few seconds. If you have a ShareLaTeX subscription, it will automatically be transferred to Overleaf.", - "register_using_email": "Register using your email", - "login_register_or": "or", - "to_add_more_collaborators": "To add more collaborators or turn on link sharing, please ask the project owner", - "by": "by", - "emails": "Emails", - "editor_theme": "Editor theme", - "overall_theme": "Overall theme", - "faq_how_does_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", - "thousands_templates": "Thousands of templates", - "get_instant_access_to": "Get instant access to", - "ask_proj_owner_to_upgrade_for_full_history": "Please ask the project owner to upgrade to access this project's full history.", - "currently_seeing_only_24_hrs_history": "You're currently seeing the last 24 hours of changes in this project.", - "archive_projects": "Archive Projects", - "archive_and_leave_projects": "Archive and Leave Projects", - "about_to_archive_projects": "You are about to archive the following projects:", - "please_confirm_your_email_before_making_it_default": "Please confirm your email before making it the default.", - "back_to_editor": "Back to the editor", - "generic_history_error": "Something went wrong trying to fetch your project's history. If the error persists, please contact us via:", - "unconfirmed": "Unconfirmed", - "please_check_your_inbox": "Please check your inbox", - "resend_confirmation_email": "Resend confirmation email", - "history_label_created_by": "Created by", - "history_label_this_version": "Label this version", - "history_add_label": "Add label", - "history_adding_label": "Adding label", - "history_new_label_name": "New label name", - "history_new_label_added_at": "A new label will be added as of", - "history_delete_label": "Delete label", - "history_deleting_label": "Deleting label", - "history_are_you_sure_delete_label": "Are you sure you want to delete the following label", - "browsing_project_labelled": "Browsing project version labelled", - "history_view_all": "All history", - "history_view_labels": "Labels", - "history_view_a11y_description": "Show all of the project history or only labelled versions.", - "add_another_email": "Add another email", - "start_by_adding_your_email": "Start by adding your email address.", - "is_email_affiliated": "Is your email affiliated with an institution? ", - "let_us_know": "Let us know", - "add_new_email": "Add new email", - "error_performing_request": "An error has occurred while performing your request.", - "reload_emails_and_affiliations": "Reload emails and affiliations", - "emails_and_affiliations_title": "Emails and Affiliations", - "emails_and_affiliations_explanation": "Add additional email addresses to your account to access any upgrades your university or institution has, to make it easier for collaborators to find you, and to make sure you can recover your account.", - "institution_and_role": "Institution and role", - "add_role_and_department": "Add role and department", - "save_or_cancel-save": "Save", - "save_or_cancel-or": "or", - "save_or_cancel-cancel": "Cancel", - "make_default": "Make default", - "remove": "remove", - "confirm_email": "Confirm Email", - "invited_to_join_team": "You have been invited to join a team", - "join_team": "Join Team", - "accepted_invite": "Accepted invite", - "invited_to_group": "__inviterName__ has invited you to join a team on __appName__", - "join_team_explanation": "Please click the button below to join the team and enjoy the benefits of an upgraded __appName__ account", - "accept_invitation": "Accept invitation", - "joined_team": "You have joined the team managed by __inviterName__", - "compare_to_another_version": "Compare to another version", - "file_action_edited": "Edited", - "file_action_renamed": "Renamed", - "file_action_created": "Created", - "file_action_deleted": "Deleted", - "browsing_project_as_of": "Browsing project as of", - "view_single_version": "View single version", - "font_family": "Font Family", - "line_height": "Line Height", - "compact": "Compact", - "wide": "Wide", - "default": "Default", - "leave": "Leave", - "archived_projects": "Archived Projects", - "archive": "Archive", - "student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that you're eligible for the discount.", - "billed_after_x_days": "You won’t be billed until after your __len__ day trial expires.", - "looking_multiple_licenses": "Looking for multiple licenses?", - "reduce_costs_group_licenses": "You can cut down on paperwork and reduce costs with our discounted group licenses.", - "find_out_more": "Find out More", - "compare_plan_features": "Compare Plan Features", - "in_good_company": "You're In Good Company", - "unlimited": "Unlimited", - "priority_support": "Priority support", - "dropbox_integration_lowercase": "Dropbox integration", - "github_integration_lowercase": "Git and GitHub integration", - "discounted_group_accounts": "discounted group accounts", - "referring_your_friends": "referring your friends", - "still_have_questions": "Still have questions?", - "quote_erdogmus": "The ability to track changes and the real-time collaborative nature is what sets ShareLaTeX apart.", - "quote_henderson": "ShareLaTeX has proven to be a powerful and robust collaboration tool that is widely used in our School.", - "best_value": "Best value", - "faq_how_free_trial_works_question": "How does the free trial work?", - "faq_change_plans_question": "Can I change plans later?", - "faq_do_collab_need_premium_question": "Do my collaborators also need premium accounts?", - "faq_need_more_collab_question": "What if I need more collaborators?", - "faq_purchase_more_licenses_question": "Can I purchase additional licenses for my colleagues?", - "faq_monthly_or_annual_question": "Should I choose monthly or annual billing?", - "faq_how_to_pay_question": "Can I pay online with a credit or debit card, or PayPal?", - "faq_pay_by_invoice_question": "Can I pay by invoice / purchase order?", - "reference_search": "Advanced reference search", - "reference_search_info": "You can always search by citation key, and advanced reference search lets you also search by author, title, year or journal.", - "reference_sync": "Reference manager sync", - "reference_sync_info": "Manage your reference library in Mendeley and link it directly to a .bib file in Overleaf, so you can easily cite anything in your Mendeley library.", - "faq_how_free_trial_works_answer": "You get full access to your chosen __appName__ plan during your __len__-day free trial. There is no obligation to continue beyond the trial. Your card will be charged at the end of your __len__ day trial unless you cancel before then. You can cancel via your subscription settings.", - "faq_change_plans_answer": "Yes, you can change your plan at any time via your subscription settings. This includes options to switch to a different plan, or to switch between monthly and annual billing options, or to cancel to downgrade to the free plan.", - "faq_do_collab_need_premium_answer": "Premium features, such as tracked changes, will be available to your collaborators on projects that you have created, even if those collaborators have free accounts.", - "faq_need_more_collab_answer": "You can upgrade to one of our paid accounts, which support more collaborators. You can also earn additional collaborators on our free accounts by __referFriendsLink__.", - "faq_purchase_more_licenses_answer": "Yes, we provide __groupLink__, which are easy to manage, help to save on paperwork, and reduce the cost of purchasing multiple licenses.", - "faq_monthly_or_annual_answer": "Annual billing offers a way to cut down on your admin and paperwork. If you’d prefer to manage a single payment every year, instead of twelve, annual billing is for you.", - "faq_how_to_pay_answer": "Yes, you can. All major credit and debit cards and Paypal are supported. Select the plan you’d like above, and you’ll have the option to pay by card or to go through to PayPal when it’s time to set up payment.", - "powerful_latex_editor": "Powerful LaTeX editor", - "realtime_track_changes": "Real-time track changes", - "realtime_track_changes_info": "Now you don’t have to choose between tracked changes and typesetting in LaTeX. Leave comments, keep track of TODOs, and accept or reject others’ changes.", - "full_doc_history_info": "Travel back in time to see any version and who made changes. No matter what happens, we've got your back.", - "dropbox_integration_info": "Work online and offline seamlessly with two-way Dropbox sync. Changes you make locally will be sent automatically to the version on Overleaf and vice versa.", - "github_integration_info": "Push and pull commits to and from GitHub or directly from Git, so you or your collaborators can work offline with Git and online with Overleaf.", - "latex_editor_info": "Everything you need in a modern LaTeX editor --- spell check, intelligent autocomplete, syntax highlighting, dozens of color themes, vim and emacs bindings, help with LaTeX warnings and error messages, and much more.", - "change_plans_any_time": "You can change plans or change your account at any time. ", - "number_collab": "Number of collaborators", - "unlimited_private_info": "All your projects are private by default. Invite collaborators to read or edit by email address or by sending them a secret link.", - "unlimited_private": "Unlimited private projects", - "realtime_collab": "Real-time collaboration", - "realtime_collab_info": "When you’re working together, you can see your collaborators’ cursors and their changes in real time, so everyone always has the latest version.", - "hundreds_templates": "Hundreds of templates", - "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", - "instant_access": "Get instant access to __appName__", - "tagline_personal": "Ideal when working solo", - "tagline_collaborator": "Great for shared projects", - "tagline_professional": "For those working with many", - "tagline_student_annual": "Save even more", - "tagline_student_monthly": "Great for a single term", - "all_premium_features": "All premium features", - "sync_dropbox_github": "Sync with Dropbox and GitHub", - "track_changes": "Track changes", - "tooltip_hide_pdf": "Click to hide the PDF", - "tooltip_show_pdf": "Click to show the PDF", - "tooltip_hide_filetree": "Click to hide the file-tree", - "tooltip_show_filetree": "Click to show the file-tree", - "cannot_verify_user_not_robot": "Sorry, we could not verify that you are not a robot. Please check that Google reCAPTCHA is not being blocked by an ad blocker or firewall.", - "uncompiled_changes": "Uncompiled Changes", - "code_check_failed": "Code check failed", - "code_check_failed_explanation": "Your code has errors that need to be fixed before the auto-compile can run", - "tags_slash_folders": "Tags/Folders", - "file_already_exists": "A file or folder with this name already exists", - "import_project_to_v2": "Import Project to V2", - "open_in_v1": "Open in V1", - "import_to_v2": "Import to V2", - "never_mind_open_in_v1": "Never mind, open in V1", - "yes_im_sure": "Yes, I'm sure", - "drop_files_here_to_upload": "Drop files here to upload", - "drag_here": "drag here", - "creating_project": "Creating project", - "select_a_zip_file": "Select a .zip file", - "drag_a_zip_file": "drag a .zip file", - "v1_badge": "V1 Badge", - "v1_projects": "V1 Projects", - "open_your_billing_details_page": "Open Your Billing Details Page", - "try_out_link_sharing": "Try the new link sharing feature!", - "try_link_sharing": "Try Link Sharing", - "try_link_sharing_description": "Give access to your project by simply sharing a link.", - "learn_more_about_link_sharing": "Learn more about Link Sharing", - "link_sharing": "Link sharing", - "tc_switch_everyone_tip": "Toggle track-changes for everyone", - "tc_switch_user_tip": "Toggle track-changes for this user", - "tc_switch_guests_tip": "Toggle track-changes for all link-sharing guests", - "tc_guests": "Guests", - "select_all_projects": "Select all", - "select_project": "Select", - "main_file_not_found": "Unknown main document.", - "please_set_main_file": "Please choose the main file for this project in the project menu. ", - "link_sharing_is_off": "Link sharing is off, only invited users can view this project.", - "turn_on_link_sharing": "Turn on link sharing", - "link_sharing_is_on": "Link sharing is on", - "turn_off_link_sharing": "Turn off link sharing", - "anyone_with_link_can_edit": "Anyone with this link can edit this project", - "anyone_with_link_can_view": "Anyone with this link can view this project", - "turn_on_link_sharing_consequences": "When link sharing is enabled, anyone with the relevant link will be able to access or edit this project", - "turn_off_link_sharing_consequences": "When link sharing is disabled, only people who are invited to this project will be have access", - "autocompile_disabled": "Autocompile disabled", - "autocompile_disabled_reason": "Due to high server load, background recompilation has been temporarily disabled. Please recompile by clicking the button above.", - "auto_compile_onboarding_description": "When enabled, your project will compile as you type.", - "try_out_auto_compile_setting": "Try out the new auto compile setting!", - "got_it": "Got it", - "pdf_compile_in_progress_error": "Compile already running in another window", - "pdf_compile_try_again": "Please wait for your other compile to finish before trying again.", - "invalid_email": "An email address is invalid", - "auto_compile": "Auto Compile", - "on": "On", - "tc_everyone": "Everyone", - "per_user_tc_title": "Per-user Track Changes", - "you_can_use_per_user_tc": "Now you can use Track Changes on a per-user basis", - "turn_tc_on_individuals": "Turn Track Changes on for individuals users", - "keep_tc_on_like_before": "Or keep it on for everyone, like before", - "auto_close_brackets": "Auto-close Brackets", - "auto_pair_delimiters": "Auto-Pair Delimiters", - "successfull_dropbox_link": "Dropbox successfully linked, Redirecting to settings page.", - "show_link": "Show Link", - "hide_link": "Hide Link", - "aggregate_changed": "Changed", - "aggregate_to": "to", - "confirm_password_to_continue": "Confirm password to continue", - "confirm_password_footer": "We won't ask for your password again for a while.", - "accept_all": "Accept all", - "reject_all": "Reject all", - "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", - "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", - "uncategorized": "Uncategorized", - "pdf_compile_rate_limit_hit": "Compile rate limit hit", - "project_flagged_too_many_compiles": "This project has been flagged for compiling too often. The limit will be lifted shortly.", - "reauthorize_github_account": "Reauthorize your GitHub Account", - "github_credentials_expired": "Your GitHub authorization credentials have expired", - "hit_enter_to_reply": "Hit Enter to reply", - "add_your_comment_here": "Add your comment here", - "resolved_comments": "Resolved comments", - "try_it_for_free": "Try it for free", - "please_ask_the_project_owner_to_upgrade_to_track_changes": "Please ask the project owner to upgrade to use track changes", - "mark_as_resolved": "Mark as resolved", - "reopen": "Re-open", - "add_comment": "Add comment", - "no_resolved_threads": "No resolved threads", - "upgrade_to_track_changes": "Upgrade to Track Changes", - "see_changes_in_your_documents_live": "See changes in your documents, live", - "track_any_change_in_real_time": "Track any change, in real-time", - "review_your_peers_work": "Review your peers' work", - "accept_or_reject_each_changes_individually": "Accept or reject each change individually", - "accept": "Accept", - "reject": "Reject", - "no_comments": "No comments", - "edit": "Edit", - "are_you_sure": "Are you sure?", - "resolve": "Resolve", - "reply": "Reply", - "quoted_text_in": "Quoted text in", - "review": "Review", - "track_changes_is_on": "Track changes is on", - "track_changes_is_off": "Track changes is off", - "current_file": "Current file", - "overview": "Overview", - "tracked_change_added": "Added", - "tracked_change_deleted": "Deleted", - "show_all": "show all", - "show_less": "show less", - "dropbox_sync_error": "Dropbox Sync Error", - "send": "Send", - "sending": "Sending", - "invalid_password": "Invalid Password", - "error": "Error", - "other_actions": "Other Actions", - "send_test_email": "Send a test email", - "email_sent": "Email Sent", - "create_first_admin_account": "Create the first Admin account", - "ldap": "LDAP", - "ldap_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the LDAP system. You will then be asked to log in with this account.", - "saml": "SAML", - "saml_create_admin_instructions": "Choose an email address for the first __appName__ admin account. This should correspond to an account in the SAML system. You will then be asked to log in with this account.", - "admin_user_created_message": "Created admin user, Log in here to continue", - "status_checks": "Status Checks", - "editor_resources": "Editor Resources", - "checking": "Checking", - "cannot_invite_self": "Can't send invite to yourself", - "cannot_invite_non_user": "Can't send invite. Recipient must already have a __appName__ account", - "log_in_with": "Log in with __provider__", - "return_to_login_page": "Return to Login page", - "login_failed": "Login failed", - "delete_account_warning_message_3": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address and password in the boxes below to proceed.", - "delete_account_warning_message_2": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address into the box below to proceed.", - "your_sessions": "Your Sessions", - "clear_sessions_description": "This is a list of other sessions (logins) which are active on your account, not including your current session. Click the \"Clear Sessions\" button below to log them out.", - "no_other_sessions": "No other sessions active", - "ip_address": "IP Address", - "session_created_at": "Session Created At", - "clear_sessions": "Clear Sessions", - "clear_sessions_success": "Sessions Cleared", - "sessions": "Sessions", - "manage_sessions": "Manage Your Sessions", - "syntax_validation": "Code check", - "history": "History", - "joining": "Joining", - "open_project": "Open Project", - "files_cannot_include_invalid_characters": "File name is empty or contains invalid characters", - "invalid_file_name": "Invalid File Name", - "autocomplete_references": "Reference Autocomplete (inside a \\cite{} block)", - "autocomplete": "Autocomplete", - "failed_compile_check": "It looks like your project has some fatal syntax errors that you should fix before we compile it", - "failed_compile_check_try": "Try compiling anyway", - "failed_compile_option_or": "or", - "failed_compile_check_ignore": "turn off syntax checking", - "compile_time_checks": "Syntax Checks", - "stop_on_validation_error": "Check syntax before compile", - "ignore_validation_errors": "Don't check syntax", - "run_syntax_check_now": "Run syntax check now", - "your_billing_details_were_saved": "Your billing details were saved", - "security_code": "Security code", - "paypal_upgrade": "To upgrade, click on the button below and log on to PayPal using your email and password.", - "upgrade_cc_btn": "Upgrade now, pay after 7 days", - "upgrade_paypal_btn": "Continue", - "notification_project_invite": "__userName__ would like you to join __projectName__ Join Project", - "file_restored": "Your file (__filename__) has been recovered.", - "file_restored_back_to_editor": "You can go back to the editor and work on it again.", - "file_restored_back_to_editor_btn": "Back to editor", - "view_project": "View Project", - "join_project": "Join Project", - "invite_not_accepted": "Invite not yet accepted", - "resend": "Resend", - "syntax_check": "Syntax check", - "revoke_invite": "Revoke Invite", - "pending": "Pending", - "invite_not_valid": "This is not a valid project invite", - "invite_not_valid_description": "The invite may have expired. Please contact the project owner", - "accepting_invite_as": "You are accepting this invite as", - "accept_invite": "Accept invite", - "log_hint_ask_extra_feedback": "Can you help us understand why this hint wasn't helpful?", - "log_hint_extra_feedback_didnt_understand": "I didn’t understand the hint", - "log_hint_extra_feedback_not_applicable": "I can’t apply this solution to my document", - "log_hint_extra_feedback_incorrect": "This doesn’t fix the error", - "log_hint_extra_feedback_other": "Other:", - "log_hint_extra_feedback_submit": "Submit", - "if_you_are_registered": "If you are already registered", - "stop_compile": "Stop compilation", - "terminated": "Compilation cancelled", - "compile_terminated_by_user": "The compile was cancelled using the 'Stop Compilation' button. You can view the raw logs to see where the compile stopped.", - "site_description": "An online LaTeX editor that's easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.", - "knowledge_base": "knowledge base", - "contact_message_label": "Message", - "kb_suggestions_enquiry": "Have you checked our __kbLink__?", - "answer_yes": "Yes", - "answer_no": "No", - "log_hint_extra_info": "Learn more", - "log_hint_feedback_label": "Was this hint helpful?", - "log_hint_feedback_gratitude": "Thank you for your feedback!", - "recompile_pdf": "Recompile the PDF", - "about_paulo_reis": "is a front-end software developer and user experience researcher living in Aveiro, Portugal. Paulo has a PhD in user experience and is passionate about shaping technology towards human usage — either in concept or testing/validation, in design or implementation.", - "login_or_password_wrong_try_again": "Your login or password is incorrect. Please try again", - "manage_beta_program_membership": "Manage Beta Program Membership", - "beta_program_opt_out_action": "Opt-Out of Beta Program", - "disable_beta": "Disable Beta", - "beta_program_badge_description": "While using __appName__, you will see beta features marked with this badge:", - "beta_program_current_beta_features_description": "We are currently testing the following new features in beta:", - "enable_beta": "Enable Beta", - "user_in_beta_program": "User is participating in Beta Program", - "beta_program_already_participating": "You are enrolled in the Beta Program", - "sharelatex_beta_program": "__appName__ Beta Program", - "beta_program_benefits": "We're always improving __appName__. By joining our Beta program you can have early access to new features and help us understand your needs better.", - "beta_program_opt_in_action": "Opt-In to Beta Program", - "conflicting_paths_found": "Conflicting Paths Found", - "following_paths_conflict": "The following files & folders conflict with the same path", - "open_a_file_on_the_left": "Open a file on the left", - "reference_error_relink_hint": "If this error persists, try re-linking your account here:", - "pdf_rendering_error": "PDF Rendering Error", - "something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.", - "mendeley_reference_loading_error_expired": "Mendeley token expired, please re-link your account", - "zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account", - "mendeley_reference_loading_error_forbidden": "Could not load references from Mendeley, please re-link your account and try again", - "zotero_reference_loading_error_forbidden": "Could not load references from Zotero, please re-link your account and try again", - "mendeley_integration": "Mendeley Integration", - "mendeley_sync_description": "With Mendeley integration you can import your references from Mendeley into your __appName__ projects.", - "mendeley_is_premium": "Mendeley Integration is a premium feature", - "link_to_mendeley": "Link to Mendeley", - "unlink_to_mendeley": "Unlink Mendeley", - "mendeley_reference_loading": "Loading references from Mendeley", - "mendeley_reference_loading_success": "Loaded references from Mendeley", - "mendeley_reference_loading_error": "Error, could not load references from Mendeley", - "zotero_integration": "Zotero Integration.", - "zotero_sync_description": "With Zotero integration you can import your references from Zotero into your __appName__ projects.", - "zotero_is_premium": "Zotero Integration is a premium feature", - "link_to_zotero": "Link to Zotero", - "unlink_to_zotero": "Unlink Zotero", - "zotero_reference_loading": "Loading references from Zotero", - "zotero_reference_loading_success": "Loaded references from Zotero", - "zotero_reference_loading_error": "Error, could not load references from Zotero", - "reference_import_button": "Import References to", - "unlink_reference": "Unlink References Provider", - "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.", - "mendeley": "Mendeley", - "zotero": "Zotero", - "suggest_new_doc": "Suggest new doc", - "request_sent_thank_you": "Your contact request has been sent. It will be reviewed by our support staff and you will receive a reply via email.", - "suggestion": "Suggestion", - "project_url": "Affected project URL", - "subject": "Subject", - "confirm": "Confirm", - "cancel_personal_subscription_first": "You already have a personal subscription, would you like us to cancel this first before joining the group licence?", - "delete_projects": "Delete Projects", - "leave_projects": "Leave Projects", - "delete_and_leave_projects": "Delete and Leave Projects", - "too_recently_compiled": "This project was compiled very recently, so this compile has been skipped.", - "clsi_maintenance": "The compile servers are down for maintenance, and will be back shortly.", - "references_search_hint": "Press CTRL-Space to Search", - "ask_proj_owner_to_upgrade_for_references_search": "Please ask the project owner to upgrade to use the References Search feature.", - "ask_proj_owner_to_upgrade_for_faster_compiles": "Please ask the project owner to upgrade for faster compiles and to increase the timeout limit.", - "search_bib_files": "Search by author, title, year", - "leave_group": "Leave group", - "leave_now": "Leave now", - "sure_you_want_to_leave_group": "Are you sure you want to leave this group?", - "notification_group_invite": "You have been invited to join the __groupName__, Join Here.", - "search_references": "Search the .bib files in this project", - "no_search_results": "No Search Results", - "email_already_registered": "This email is already registered", - "compile_mode": "Compile Mode", - "normal": "Normal", - "fast": "Fast", - "rename_folder": "Rename Folder", - "delete_folder": "Delete Folder", - "about_to_delete_folder": "You are about to delete the following folders (any projects in them will not be deleted):", - "to_modify_your_subscription_go_to": "To modify your subscription go to", - "manage_subscription": "Manage Subscription", - "activate_account": "Activate your account", - "yes_please": "Yes Please!", - "nearly_activated": "You're one step away from activating your __appName__ account!", - "please_set_a_password": "Please set a password", - "activation_token_expired": "Your activation token has expired, you will need to get another one sent to you.", - "activate": "Activate", - "activating": "Activating", - "ill_take_it": "I'll take it!", - "cancel_your_subscription": "Stop Your Subscription", - "no_thanks_cancel_now": "No thanks, I still want to cancel", - "cancel_my_account": "Cancel my subscription", - "sure_you_want_to_cancel": "Are you sure you want to cancel?", - "i_want_to_stay": "I want to stay", - "have_more_days_to_try": "Have another __days__ days on your Trial!", - "interested_in_cheaper_plan": "Would you be interested in the cheaper __price__ student plan?", - "session_expired_redirecting_to_login": "Session Expired. Redirecting to login page in __seconds__ seconds", - "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", - "too_many_files_uploaded_throttled_short_period": "Too many files uploaded, your uploads have been throttled for short period. Please wait 15 minutes and try again.", - "compile_larger_projects": "Compile larger projects", - "upgrade_to_get_feature": "Upgrade to get __feature__, plus:", - "new_group": "New Group", - "about_to_delete_groups": "You are about to delete the following groups:", - "removing": "Removing", - "adding": "Adding", - "groups": "Groups", - "rename_group": "Rename Group", - "renaming": "Renaming", - "create_group": "Create Group", - "delete_group": "Delete Group", - "delete_groups": "Delete Groups", - "your_groups": "Your Groups", - "group_name": "Group Name", - "no_groups": "No Groups", - "Subscription": "Subscription", - "Documentation": "Documentation", - "Universities": "Universities", - "Account Settings": "Account Settings", - "Projects": "Projects", - "Account": "Account", - "global": "global", - "Terms": "Terms", - "Security": "Security", - "About": "About", - "editor_disconected_click_to_reconnect": "Editor disconnected, click anywhere to reconnect.", - "word_count": "Word Count", - "please_compile_pdf_before_word_count": "Please compile your project before performing a word count", - "total_words": "Total Words", - "headers": "Headers", - "math_inline": "Math Inline", - "math_display": "Math Display", - "connected_users": "Connected Users", - "projects": "Projects", - "upload_project": "Upload Project", - "all_projects": "All Projects", - "your_projects": "Your Projects", - "shared_with_you": "Shared with you", - "deleted_projects": "Deleted Projects", - "templates": "Templates", - "new_folder": "New Folder", - "create_your_first_project": "Create your first project!", - "complete": "Complete", - "on_free_sl": "You are using the free version of __appName__", - "upgrade": "Upgrade", - "or_unlock_features_bonus": "or unlock some free bonus features by", - "sharing_sl": "sharing __appName__", - "add_to_folder": "Add to folder", - "create_new_folder": "Create New Folder", - "more": "More", - "rename": "Rename", - "make_copy": "Make a copy", - "restore": "Restore", - "title": "Title", - "last_modified": "Last Modified", - "no_projects": "No projects", - "welcome_to_sl": "Welcome to __appName__!", - "new_to_latex_look_at": "New to LaTeX? Start by having a look at our", - "or": "or", - "or_create_project_left": "or create your first project on the left.", - "thanks_settings_updated": "Thanks, your settings have been updated.", - "update_account_info": "Update Account Info", - "must_be_email_address": "Must be an email address", - "first_name": "First Name", - "last_name": "Last Name", - "update": "Update", - "change_password": "Change Password", - "current_password": "Current Password", - "new_password": "New Password", - "confirm_new_password": "Confirm New Password", - "required": "Required", - "doesnt_match": "Doesn't match", - "dropbox_integration": "Dropbox Integration", - "learn_more": "Learn more", - "dropbox_is_premium": "Dropbox sync is a premium feature", - "account_is_linked": "Account is linked", - "unlink_dropbox": "Unlink Dropbox", - "link_to_dropbox": "Link to Dropbox", - "newsletter_info_and_unsubscribe": "Every few months we send a newsletter out summarizing the new features available. If you would prefer not to receive this email then you can unsubscribe at any time:", - "unsubscribed": "Unsubscribed", - "unsubscribing": "Unsubscribing", - "unsubscribe": "Unsubscribe", - "need_to_leave": "Need to leave?", - "delete_your_account": "Delete your account", - "delete_account": "Delete Account", - "delete_account_warning_message": "You are about to permanently delete all of your account data, including your projects and settings. Please type your account email address into the box below to proceed.", - "deleting": "Deleting", - "delete": "Delete", - "sl_benefits_plans": "__appName__ is the world's easiest to use LaTeX editor. Stay up to date with your collaborators, keep track of all changes to your work, and use our LaTeX environment from anywhere in the world.", - "monthly": "Monthly", - "personal": "Personal", - "free": "Free", - "one_collaborator": "Only one collaborator", - "collaborator": "Collaborator", - "collabs_per_proj": "__collabcount__ collaborators per project", - "full_doc_history": "Full document history", - "sync_to_dropbox": "Sync to Dropbox", - "start_free_trial": "Start Free Trial!", - "professional": "Professional", - "unlimited_collabs": "Unlimited collaborators", - "name": "Name", - "student": "Student", - "university": "University", - "position": "Position", - "choose_plan_works_for_you": "Choose the plan that works for you with our __len__-day free trial. Cancel at any time.", - "interested_in_group_licence": "Interested in using __appName__ with a group, team or department wide account?", - "get_in_touch_for_details": "Get in touch for details!", - "group_plan_enquiry": "Group Plan Enquiry", - "enjoy_these_features": "Enjoy all of these great features", - "create_unlimited_projects": "Create as many projects as you need.", - "never_loose_work": "Never lose a step, we've got your back.", - "access_projects_anywhere": "Access your projects everywhere.", - "log_in": "Log In", - "login": "Login", - "logging_in": "Logging in", - "forgot_your_password": "Forgot your password", - "password_reset": "Password Reset", - "password_reset_email_sent": "You have been sent an email to complete your password reset.", - "please_enter_email": "Please enter your email address", - "request_password_reset": "Request password reset", - "reset_your_password": "Reset your password", - "password_has_been_reset": "Your password has been reset", - "login_here": "Login here", - "set_new_password": "Set new password", - "user_wants_you_to_see_project": "__username__ would like you to join __projectname__", - "join_sl_to_view_project": "Join __appName__ to view this project", - "register_to_edit_template": "Please register to edit the __templateName__ template", - "already_have_sl_account": "Already have a __appName__ account?", - "register": "Register", - "password": "Password", - "registering": "Registering", - "planned_maintenance": "Planned Maintenance", - "no_planned_maintenance": "There is currently no planned maintenance", - "cant_find_page": "Sorry, we can't find the page you are looking for.", - "take_me_home": "Take me home!", - "no_preview_available": "Sorry, no preview is available.", - "no_messages": "No messages", - "send_first_message": "Send your first message to your collaborators", - "account_not_linked_to_dropbox": "Your account is not linked to Dropbox", - "update_dropbox_settings": "Update Dropbox Settings", - "refresh_page_after_starting_free_trial": "Please refresh this page after starting your free trial.", - "checking_dropbox_status": "checking Dropbox status", - "dismiss": "Dismiss", - "deleted_files": "Deleted Files", - "new_file": "New File", - "upload_file": "Upload File", - "create": "Create", - "creating": "Creating", - "upload_files": "Upload File(s)", - "sure_you_want_to_delete": "Are you sure you want to permanently delete the following files?", - "common": "Common", - "navigation": "Navigation", - "editing": "Editing", - "ok": "OK", - "source": "Source", - "actions": "Actions", - "copy_project": "Copy Project", - "publish_as_template": "Publish as Template", - "sync": "Sync", - "settings": "Settings", - "main_document": "Main document", - "off": "Off", - "auto_complete": "Auto-complete", - "theme": "Theme", - "font_size": "Font Size", - "pdf_viewer": "PDF Viewer", - "built_in": "Built-In", - "native": "Native", - "show_hotkeys": "Show Hotkeys", - "new_name": "New Name", - "copying": "Copying", - "copy": "Copy", - "compiling": "Compiling", - "click_here_to_preview_pdf": "Click here to preview your work as a PDF.", - "server_error": "Server Error", - "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", - "timedout": "Timed out", - "proj_timed_out_reason": "Sorry, your compile took too long to run and timed out. This may be due to a LaTeX error, or a large number of high-res images or complicated diagrams.", - "no_errors_good_job": "No errors, good job!", - "compile_error": "Compile Error", - "generic_failed_compile_message": "Sorry, your LaTeX code couldn't compile for some reason. Please check the errors below for details, or view the raw log", - "other_logs_and_files": "Other logs & files", - "view_raw_logs": "View Raw Logs", - "hide_raw_logs": "Hide Raw Logs", - "clear_cache": "Clear cache", - "clear_cache_explanation": "This will clear all hidden LaTeX files (.aux, .bbl, etc) from our compile server. You generally don't need to do this unless you're having trouble with references.", - "clear_cache_is_safe": "Your project files will not be deleted or changed.", - "clearing": "Clearing", - "template_description": "Template Description", - "project_last_published_at": "Your project was last published at", - "problem_talking_to_publishing_service": "There is a problem with our publishing service, please try again in a few minutes", - "unpublishing": "Unpublishing", - "republish": "Republish", - "publishing": "Publishing", - "share_project": "Share Project", - "this_project_is_private": "This project is private and can only be accessed by the people below.", - "make_public": "Make Public", - "this_project_is_public": "This project is public and can be edited by anyone with the URL.", - "make_private": "Make Private", - "can_edit": "Can Edit", - "share_with_your_collabs": "Share with your collaborators", - "share": "Share", - "need_to_upgrade_for_more_collabs": "You need to upgrade your account to add more collaborators", - "make_project_public": "Make project public", - "make_project_public_consequences": "If you make your project public then anyone with the URL will be able to access it.", - "allow_public_editing": "Allow public editing", - "allow_public_read_only": "Allow public read only access", - "make_project_private": "Disable link-sharing", - "make_project_private_consequences": "If you make your project private then only the people you choose to share it with will have access.", - "need_to_upgrade_for_history": "You need to upgrade your account to use the History feature.", - "ask_proj_owner_to_upgrade_for_history": "Please ask the project owner to upgrade to use the History feature.", - "anonymous": "Anonymous", - "generic_something_went_wrong": "Sorry, something went wrong", - "restoring": "Restoring", - "restore_to_before_these_changes": "Restore to before these changes", - "profile_complete_percentage": "Your profile is __percentval__% complete", - "file_has_been_deleted": "__filename__ has been deleted", - "sure_you_want_to_restore_before": "Are you sure you want to restore __filename__ to before the changes on __date__?", - "rename_project": "Rename Project", - "about_to_delete_projects": "You are about to delete the following projects:", - "about_to_leave_projects": "You are about to leave the following projects:", - "upload_zipped_project": "Upload Zipped Project", - "upload_a_zipped_project": "Upload a zipped project", - "your_profile": "Your Profile", - "institution": "Institution", - "role": "Role", - "folders": "Folders", - "disconnected": "Disconnected", - "please_refresh": "Please refresh the page to continue.", - "lost_connection": "Lost Connection", - "reconnecting_in_x_secs": "Reconnecting in __seconds__ secs", - "try_now": "Try Now", - "reconnecting": "Reconnecting", - "saving_notification_with_seconds": "Saving __docname__... (__seconds__ seconds of unsaved changes)", - "help_us_spread_word": "Help us spread the word about __appName__", - "share_sl_to_get_rewards": "Share __appName__ with your friends and colleagues and unlock the rewards below", - "post_on_facebook": "Post on Facebook", - "share_us_on_googleplus": "Share us on Google+", - "email_us_to_your_friends": "Email us to your friends", - "link_to_us": "Link to us from your website", - "direct_link": "Direct Link", - "sl_gives_you_free_stuff_see_progress_below": "When someone starts using __appName__ after your recommendation we'll give you some free stuff to say thanks! Check your progress below.", - "spread_the_word_and_fill_bar": "Spread the word and fill this bar up", - "one_free_collab": "One free collaborator", - "three_free_collab": "Three free collaborators", - "free_dropbox_and_history": "Free Dropbox and History", - "you_not_introed_anyone_to_sl": "You've not introduced anyone to __appName__ yet. Get sharing!", - "you_introed_small_number": " You've introduced __numberOfPeople__ person to __appName__. Good job, but can you get some more?", - "you_introed_high_number": " You've introduced __numberOfPeople__ people to __appName__. Good job!", - "link_to_sl": "Link to __appName__", - "can_link_to_sl_with_html": "You can link to __appName__ with the following HTML:", - "year": "year", - "month": "month", - "subscribe_to_this_plan": "Subscribe to this plan", - "your_plan": "Your plan", - "your_subscription": "Your Subscription", - "on_free_trial_expiring_at": "You are currently using a free trial which expires on __expiresAt__.", - "choose_a_plan_below": "Choose a plan below to subscribe to.", - "currently_subscribed_to_plan": "You are currently subscribed to the __planName__ plan.", - "change_plan": "Change plan", - "next_payment_of_x_collectected_on_y": "The next payment of __paymentAmmount__ will be collected on __collectionDate__.", - "update_your_billing_details": "Update Your Billing Details", - "subscription_canceled_and_terminate_on_x": " Your subscription has been canceled and will terminate on __terminateDate__. No further payments will be taken.", - "your_subscription_has_expired": "Your subscription has expired.", - "create_new_subscription": "Create New Subscription", - "problem_with_subscription_contact_us": "There is a problem with your subscription. Please contact us for more information.", - "manage_group": "Manage Group", - "loading_billing_form": "Loading billing details form", - "you_have_added_x_of_group_size_y": "You have added __addedUsersSize__ of __groupSize__ available members", - "remove_from_group": "Remove from group", - "group_account": "Group Account", - "registered": "Registered", - "no_members": "No members", - "add_more_members": "Add more members", - "add": "Add", - "thanks_for_subscribing": "Thanks for subscribing!", - "your_card_will_be_charged_soon": "Your card will be charged soon.", - "if_you_dont_want_to_be_charged": "If you do not want to be charged again ", - "add_your_first_group_member_now": "Add your first group members now", - "thanks_for_subscribing_you_help_sl": "Thank you for subscribing to the __planName__ plan. It's support from people like yourself that allows __appName__ to continue to grow and improve.", - "back_to_your_projects": "Back to your projects", - "goes_straight_to_our_inboxes": "It goes straight to both our inboxes", - "need_anything_contact_us_at": "If there is anything you ever need please feel free to contact us directly at", - "regards": "Regards", - "about": "About", - "comment": "Comment", - "restricted_no_permission": "Restricted, sorry you don't have permission to load this page.", - "online_latex_editor": "Online LaTeX Editor", - "meet_team_behind_latex_editor": "Meet the team behind your favourite online LaTeX editor.", - "follow_me_on_twitter": "Follow me on Twitter", - "motivation": "Motivation", - "evolved": "Evolved", - "the_easy_online_collab_latex_editor": "The easy to use, online, collaborative LaTeX editor", - "get_started_now": "Get started now", - "sl_used_over_x_people_at": "__appName__ is used by over __numberOfUsers__ students and academics at:", - "collaboration": "Collaboration", - "work_on_single_version": "Work together on a single version", - "view_collab_edits": "View collaborator edits ", - "ease_of_use": " Ease of Use", - "no_complicated_latex_install": "No complicated LaTeX installation", - "all_packages_and_templates": "All the packages and __templatesLink__ you need", - "document_history": "Document history", - "see_what_has_been": "See what has been ", - "added": "added", - "and": "and", - "removed": "removed", - "restore_to_any_older_version": "Restore to any older version", - "work_from_anywhere": "Work from anywhere", - "acces_work_from_anywhere": "Access your work from anywhere in the world", - "work_offline_and_sync_with_dropbox": "Work offline and sync your files via Dropbox and GitHub", - "over": "over", - "view_templates": "View templates", - "nothing_to_install_ready_to_go": "There's nothing complicated or difficult for you to install, and you can __start_now__, even if you've never seen it before. __appName__ comes with a complete, ready to go LaTeX environment which runs on our servers.", - "start_using_latex_now": "start using LaTeX right now", - "get_same_latex_setup": "With __appName__ you get the same LaTeX set-up wherever you go. By working with your colleagues and students on __appName__, you know that you're not going to hit any version inconsistencies or package conflicts.", - "support_lots_of_features": "We support almost all LaTeX features, including inserting images, bibliographies, equations, and much more! Read about all the exciting things you can do with __appName__ in our __help_guides_link__", - "latex_guides": "LaTeX guides", - "reset_password": "Reset Password", - "set_password": "Set Password", - "updating_site": "Updating Site", - "bonus_please_recommend_us": "Bonus - Please recommend us", - "admin": "admin", - "subscribe": "Subscribe", - "update_billing_details": "Update Billing Details", - "thank_you": "Thank You", - "group_admin": "Group Admin", - "all_templates": "All Templates", - "your_settings": "Your settings", - "maintenance": "Maintenance", - "to_many_login_requests_2_mins": "This account has had too many login requests. Please wait 2 minutes before trying to log in again", - "email_or_password_wrong_try_again": "Your email or password is incorrect. Please try again", - "rate_limit_hit_wait": "Rate limit hit. Please wait a while before retrying", - "problem_changing_email_address": "There was a problem changing your email address. Please try again in a few moments. If the problem continues please contact us.", - "single_version_easy_collab_blurb": "__appName__ makes sure that you're always up to date with your collaborators and what they are doing. There is only a single master version of each document which everyone has access to. It's impossible to make conflicting changes, and you don't have to wait for your colleagues to send you the latest draft before you can keep working.", - "can_see_collabs_type_blurb": "If multiple people want to work on a document at the same time then that's no problem. You can see where your colleagues are typing directly in the editor and their changes show up on your screen immediately.", - "work_directly_with_collabs": "Work directly with your collaborators", - "work_with_word_users": "Work with Word users", - "work_with_word_users_blurb": "__appName__ is so easy to get started with that you'll be able to invite your non-LaTeX colleagues to contribute directly to your LaTeX documents. They'll be productive from day one and be able to pick up small amounts of LaTeX as they go.", - "view_which_changes": "View which changes have been", - "sl_included_history_of_changes_blurb": "__appName__ includes a history of all of your changes so you can see exactly who changed what, and when. This makes it extremely easy to keep up to date with any progress made by your collaborators and allows you to review recent work.", - "can_revert_back_blurb": "In a collaboration or on your own, sometimes mistakes are made. Reverting back to previous versions is simple and removes the risk of losing work or regretting a change.", - "start_using_sl_now": "Start using __appName__ now", - "over_x_templates_easy_getting_started": "There are thousands of __templates__ in our template gallery, so it's really easy to get started, whether you're writing a journal article, thesis, CV or something else.", - "done": "Done", - "change": "Change", - "page_not_found": "Page Not Found", - "please_see_help_for_more_info": "Please see our help guide for more information", - "this_project_will_appear_in_your_dropbox_folder_at": "This project will appear in your Dropbox folder at ", - "member_of_group_subscription": "You are a member of a group subscription managed by __admin_email__. Please contact them to manage your subscription.\n", - "about_henry_oswald": "is a software engineer living in London. He built the original prototype of __appName__ and has been responsible for building a stable and scalable platform. Henry is a strong advocate of Test Driven Development and makes sure we keep the __appName__ code clean and easy to maintain.", - "about_james_allen": "has a PhD in theoretical physics and is passionate about LaTeX. He created one of the first online LaTeX editors, ScribTeX, and has played a large role in developing the technologies that make __appName__ possible.", - "two_strong_principles_behind_sl": "There are two strong driving principles behind our work on __appName__:", - "want_to_improve_workflow_of_as_many_people_as_possible": "We want to improve the workflow of as many people as possible.", - "detail_on_improve_peoples_workflow": "LaTeX is notoriously hard to use, and collaboration is always difficult to coordinate. We believe that we've developed some great solutions to help people who face these problems, and we want to make sure that __appName__ is accessible to as many people as possible. We've tried to keep our pricing fair, and have released much of __appName__ as open source so that anyone can host their own.", - "want_to_create_sustainable_lasting_legacy": "We want to create a sustainable and lasting legacy.", - "details_on_legacy": "Development and maintenance of a product like __appName__ takes a lot of time and work, so it's important that we can find a business model that will support this both now, and in the long term. We don't want __appName__ to be dependent on external funding or disappear due to a failed business model. I'm pleased to say that we're currently able to run __appName__ profitably and sustainably, and expect to be able to do so in the long term.", - "get_in_touch": "Get in touch", - "want_to_hear_from_you_email_us_at": "We'd love to hear from anyone who is using __appName__, or wants to have a chat about what we're doing. You can get in touch with us at ", - "cant_find_email": "That email address is not registered, sorry.", - "plans_amper_pricing": "Plans & Pricing", - "documentation": "Documentation", - "account": "Account", - "subscription": "Subscription", - "log_out": "Log Out", - "en": "English", - "pt": "Portuguese", - "es": "Spanish", - "fr": "French", - "de": "German", - "it": "Italian", - "da": "Danish", - "sv": "Swedish", - "no": "Norwegian", - "nl": "Dutch", - "pl": "Polish", - "ru": "Russian", - "uk": "Ukrainian", - "ro": "Romanian", - "click_here_to_view_sl_in_lng": "Click here to use __appName__ in __lngName__", - "language": "Language", - "upload": "Upload", - "menu": "Menu", - "full_screen": "Full screen", - "logs_and_output_files": "Logs and output files", - "download_pdf": "Download PDF", - "split_screen": "Split screen", - "clear_cached_files": "Clear cached files", - "go_to_code_location_in_pdf": "Go to code location in PDF", - "please_compile_pdf_before_download": "Please compile your project before downloading the PDF", - "remove_collaborator": "Remove collaborator", - "add_to_folders": "Add to folders", - "download_zip_file": "Download .zip File", - "price": "Price", - "close": "Close", - "keybindings": "Keybindings", - "restricted": "Restricted", - "start_x_day_trial": "Start Your __len__-Day Free Trial Today!", - "buy_now": "Buy Now!", - "cs": "Czech", - "view_all": "View All", - "terms": "Terms", - "privacy": "Privacy", - "contact": "Contact", - "change_to_this_plan": "Change to this plan", - "processing": "processing", - "sure_you_want_to_change_plan": "Are you sure you want to change plan to __planName__?", - "move_to_annual_billing": "Move to Annual Billing", - "annual_billing_enabled": "Annual billing enabled", - "move_to_annual_billing_now": "Move to annual billing now", - "change_to_annual_billing_and_save": "Get __percentage__ off with annual billing. If you switch now you'll save __yearlySaving__ per year.", - "missing_template_question": "Missing Template?", - "tell_us_about_the_template": "If we are missing a template please either: Send us a copy of the template, a __appName__ url to the template or let us know where we can find the template. Also please let us know a little about the template for the description.", - "email_us": "Email us", - "this_project_is_public_read_only": "This project is public and can be viewed but not edited by anyone with the URL", - "tr": "Turkish", - "select_files": "Select file(s)", - "drag_files": "drag file(s)", - "upload_failed_sorry": "Upload failed, sorry :(", - "inserting_files": "Inserting file...", - "password_reset_token_expired": "Your password reset token has expired. Please request a new password reset email and follow the link there.", - "merge_project_with_github": "Merge Project with GitHub", - "pull_github_changes_into_sharelatex": "Pull GitHub changes into __appName__", - "push_sharelatex_changes_to_github": "Push __appName__ changes to GitHub", - "features": "Features", - "commit": "Commit", - "commiting": "Committing", - "importing_and_merging_changes_in_github": "Importing and merging changes in GitHub", - "upgrade_for_faster_compiles": "Upgrade for faster compiles and to increase your timeout limit", - "free_accounts_have_timeout_upgrade_to_increase": "Free accounts have a one minute timeout, whereas upgraded accounts have a timeout of four minutes.", - "learn_how_to_make_documents_compile_quickly": "Learn how to fix compile timeouts", - "zh-CN": "Chinese", - "cn": "Chinese (Simplified)", - "sync_to_github": "Sync to GitHub", - "sync_to_dropbox_and_github": "Sync to Dropbox and GitHub", - "project_too_large": "Project too large", - "project_too_large_please_reduce": "This project has too much editable text, please try and reduce it. The largest files are:", - "please_ask_the_project_owner_to_link_to_github": "Please ask the project owner to link this project to a GitHub repository", - "go_to_pdf_location_in_code": "Go to PDF location in code", - "ko": "Korean", - "ja": "Japanese", - "about_brian_gough": "is a software developer and former theoretical high energy physicist at Fermilab and Los Alamos. For many years he published free software manuals commercially using TeX and LaTeX and was also the maintainer of the GNU Scientific Library.", - "first_few_days_free": "First __trialLen__ days free", - "every": "per", - "credit_card": "Credit Card", - "credit_card_number": "Credit Card Number", - "invalid": "Invalid", - "expiry": "Expiry Date", - "january": "January", - "february": "February", - "march": "March", - "april": "April", - "may": "May", - "june": "June", - "july": "July", - "august": "August", - "september": "September", - "october": "October", - "november": "November", - "december": "December", - "zip_post_code": "Zip / Post Code", - "city": "City", - "address": "Address", - "coupon_code": "Coupon code", - "country": "Country", - "billing_address": "Billing Address", - "upgrade_now": "Upgrade Now", - "state": "State", - "vat_number": "VAT Number", - "you_have_joined": "You have joined __groupName__", - "claim_premium_account": "You have claimed your premium account provided by __groupName__.", - "you_are_invited_to_group": "You are invited to join __groupName__", - "you_can_claim_premium_account": "You can claim a premium account provided by __groupName__ by verifying your email", - "not_now": "Not now", - "verify_email_join_group": "Verify email and join Group", - "check_email_to_complete_group": "Please check your email to complete joining the group", - "verify_email_address": "Verify Email Address", - "group_provides_you_with_premium_account": "__groupName__ provides you with a premium account. Verifiy your email address to upgrade your account.", - "check_email_to_complete_the_upgrade": "Please check your email to complete the upgrade", - "email_link_expired": "Email link expired, please request a new one.", - "services": "Services", - "about_shane_kilkelly": "is a software developer living in Edinburgh. Shane is a strong advocate for Functional Programming, Test Driven Development and takes pride in building quality software.", - "this_is_your_template": "This is your template from your project", - "links": "Links", - "account_settings": "Account Settings", - "search_projects": "Search projects", - "clone_project": "Clone Project", - "delete_project": "Delete Project", - "download_zip": "Download Zip", - "new_project": "New Project", - "blank_project": "Blank Project", - "example_project": "Example Project", - "from_template": "From Template", - "cv_or_resume": "CV or Resume", - "cover_letter": "Cover Letter", - "journal_article": "Journal Article", - "presentation": "Presentation", - "thesis": "Thesis", - "bibliographies": "Bibliographies", - "terms_of_service": "Terms of Service", - "privacy_policy": "Privacy Policy", - "plans_and_pricing": "Plans and Pricing", - "university_licences": "University Licenses", - "security": "Security", - "contact_us": "Contact Us", - "thanks": "Thanks", - "blog": "Blog", - "latex_editor": "LaTeX Editor", - "get_free_stuff": "Get free stuff", - "chat": "Chat", - "your_message": "Your Message", - "loading": "Loading", - "connecting": "Connecting", - "recompile": "Recompile", - "download": "Download", - "email": "Email", - "owner": "Owner", - "read_and_write": "Read and Write", - "read_only": "Read Only", - "publish": "Publish", - "view_in_template_gallery": "View it in template gallery", - "description": "Description", - "unpublish": "Unpublish", - "hotkeys": "Hotkeys", - "saving": "Saving", - "cancel": "Cancel", - "project_name": "Project Name", - "root_document": "Root Document", - "spell_check": "Spell check", - "compiler": "Compiler", - "private": "Private", - "public": "Public", - "delete_forever": "Delete Forever", - "support_and_feedback": "Support and feedback", - "help": "Help", - "latex_templates": "LaTeX Templates", - "info": "Info", - "latex_help_guide": "LaTeX help guide", - "choose_your_plan": "Choose your plan", - "indvidual_plans": "Individual Plans", - "free_forever": "Free forever", - "low_priority_compile": "Low priority compiling", - "unlimited_projects": "Unlimited projects", - "unlimited_compiles": "Unlimited compiles", - "full_history_of_changes": "Full history of changes", - "highest_priority_compiling": "Highest priority compiling", - "dropbox_sync": "Dropbox Sync", - "beta": "Beta", - "sign_up_now": "Sign Up Now", - "annual": "Annual", - "half_price_student": "Half Price Student Plans", - "about_us": "About Us", - "loading_recent_github_commits": "Loading recent commits", - "no_new_commits_in_github": "No new commits in GitHub since last merge.", - "dropbox_sync_description": "Keep your __appName__ projects in sync with your Dropbox. Changes in __appName__ are automatically sent to your Dropbox, and the other way around.", - "github_sync_description": "With GitHub Sync you can link your __appName__ projects to GitHub repositories. Create new commits from __appName__, and merge with commits made offline or in GitHub.", - "github_import_description": "With GitHub Sync you can import your GitHub Repositories into __appName__. Create new commits from __appName__, and merge with commits made offline or in GitHub.", - "link_to_github_description": "You need to authorise __appName__ to access your GitHub account to allow us to sync your projects.", - "unlink": "Unlink", - "unlink_github_warning": "Any projects that you have synced with GitHub will be disconnected and no longer kept in sync with GitHub. Are you sure you want to unlink your GitHub account?", - "github_account_successfully_linked": "GitHub Account Successfully Linked!", - "github_successfully_linked_description": "Thanks, we've successfully linked your GitHub account to __appName__. You can now export your __appName__ projects to GitHub, or import projects from your GitHub repositories.", - "import_from_github": "Import from GitHub", - "github_sync_error": "Sorry, there was an error talking to our GitHub service. Please try again in a few moments.", - "loading_github_repositories": "Loading your GitHub repositories", - "select_github_repository": "Select a GitHub repository to import into __appName__.", - "import_to_sharelatex": "Import to __appName__", - "importing": "Importing", - "github_sync": "GitHub Sync", - "checking_project_github_status": "Checking project status in GitHub", - "account_not_linked_to_github": "Your account is not linked to GitHub", - "project_not_linked_to_github": "This project is not linked to a GitHub repository. You can create a repository for it in GitHub:", - "create_project_in_github": "Create a GitHub repository", - "project_synced_with_git_repo_at": "This project is synced with the GitHub repository at", - "recent_commits_in_github": "Recent commits in GitHub", - "sync_project_to_github": "Sync project to GitHub", - "sync_project_to_github_explanation": "Any changes you have made in __appName__ will be committed and merged with any updates in GitHub.", - "github_merge_failed": "Your changes in __appName__ and GitHub could not be automatically merged. Please manually merge the __sharelatex_branch__ branch into the __master_branch__ branch in git. Click below to continue, after you have manually merged.", - "continue_github_merge": "I have manually merged. Continue", - "export_project_to_github": "Export Project to GitHub", - "github_validation_check": "Please check that the repository name is valid, and that you have permission to create the repository.", - "repository_name": "Repository Name", - "optional": "Optional", - "github_public_description": "Anyone can see this repository. You choose who can commit.", - "github_commit_message_placeholder": "Commit message for changes made in __appName__...", - "merge": "Merge", - "merging": "Merging", - "github_account_is_linked": "Your GitHub account is successfully linked.", - "unlink_github": "Unlink your GitHub account", - "link_to_github": "Link to your GitHub account", - "github_integration": "GitHub Integration", - "github_is_premium": "GitHub sync is a premium feature" -} \ No newline at end of file diff --git a/services/web/scripts/translations/download.js b/services/web/scripts/translations/download.js index a7f072a1ef..44201f908c 100644 --- a/services/web/scripts/translations/download.js +++ b/services/web/scripts/translations/download.js @@ -27,16 +27,12 @@ async function run() { lang.translation[key] = sanitize(value) } + const outputLngCode = code === 'en-GB' ? 'en' : code await fs.writeFile( - `../../locales/${code}.json`, + `${__dirname}/../../locales/${outputLngCode}.json`, JSON.stringify(lang.translation, null, 2) ) } - - // Copy files, so we have appropriate dialects - await fs.copyFile('../../locales/en-GB.json', '../../locales/en-US.json') - await fs.copyFile('../../locales/en-GB.json', '../../locales/en.json') - await fs.copyFile('../../locales/zh-CN.json', '../../locales/cn.json') } catch (error) { console.error(error) process.exit(1) diff --git a/services/web/test/smoke/src/SmokeTests.js b/services/web/test/smoke/src/SmokeTests.js index 232e211750..8eb63c39eb 100644 --- a/services/web/test/smoke/src/SmokeTests.js +++ b/services/web/test/smoke/src/SmokeTests.js @@ -26,9 +26,7 @@ const cookeFilePath = `/tmp/smoke-test-cookie-${ownPort}-to-${port}.txt` const buildUrl = path => ` -b ${cookeFilePath} --resolve 'smoke${ Settings.cookieDomain - }:${port}:127.0.0.1' http://smoke${ - Settings.cookieDomain - }:${port}/${path}?setLng=en` + }:${port}:127.0.0.1' http://smoke${Settings.cookieDomain}:${port}/${path}` const logger = require('logger-sharelatex') const LoginRateLimiter = require('../../../app/src/Features/Security/LoginRateLimiter.js') const RateLimiter = require('../../../app/src/infrastructure/RateLimiter.js') diff --git a/services/web/test/unit/src/infrastructure/TranslationsTests.js b/services/web/test/unit/src/infrastructure/TranslationsTests.js index e0deeafc7a..95efe35d39 100644 --- a/services/web/test/unit/src/infrastructure/TranslationsTests.js +++ b/services/web/test/unit/src/infrastructure/TranslationsTests.js @@ -4,28 +4,36 @@ const SandboxedModule = require('sandboxed-module') const MODULE_PATH = '../../../../app/src/infrastructure/Translations.js' describe('Translations', function() { + let req, res, translations + function runMiddlewares(cb) { + translations.i18nMiddleware(req, res, () => { + translations.setLangBasedOnDomainMiddleware(req, res, cb) + }) + } + beforeEach(function() { - this.translations = SandboxedModule.require(MODULE_PATH, { + translations = SandboxedModule.require(MODULE_PATH, { requires: { 'settings-sharelatex': { i18n: { subdomainLang: { - www: { lngCode: 'en', url: 'www.sharelatex.com' }, - fr: { lngCode: 'fr', url: 'fr.sharelatex.com' }, - da: { lngCode: 'da', url: 'da.sharelatex.com' } + www: { lngCode: 'en', url: 'https://www.sharelatex.com' }, + fr: { lngCode: 'fr', url: 'https://fr.sharelatex.com' }, + da: { lngCode: 'da', url: 'https://da.sharelatex.com' } } } } } }) - this.req = { - originalUrl: "doesn'tmatter.sharelatex.com/login", + req = { + url: '/', headers: { 'accept-language': '' } } - this.res = { + res = { + locals: {}, getHeader: () => {}, setHeader: () => {} } @@ -33,28 +41,26 @@ describe('Translations', function() { describe('translate', function() { beforeEach(function(done) { - this.req.url = 'www.sharelatex.com/login' - this.translations.expressMiddleware(this.req, this.res, done) + runMiddlewares(done) }) it('works', function() { - expect(this.req.i18n.t('give_feedback')).to.equal('Give feedback') + expect(req.i18n.t('give_feedback')).to.equal('Give feedback') }) it('has translate alias', function() { - expect(this.req.i18n.translate('give_feedback')).to.equal('Give feedback') + expect(req.i18n.translate('give_feedback')).to.equal('Give feedback') }) }) describe('interpolation', function() { beforeEach(function(done) { - this.req.url = 'www.sharelatex.com/login' - this.translations.expressMiddleware(this.req, this.res, done) + runMiddlewares(done) }) it('works', function() { expect( - this.req.i18n.t('please_confirm_email', { + req.i18n.t('please_confirm_email', { emailAddress: 'foo@example.com' }) ).to.equal( @@ -66,7 +72,7 @@ describe('Translations', function() { // This translation string has a problematic interpolation followed by a // dash: `__len__-day` expect( - this.req.i18n.t('faq_how_does_free_trial_works_answer', { + req.i18n.t('faq_how_does_free_trial_works_answer', { appName: 'Overleaf', len: '5' }) @@ -77,7 +83,7 @@ describe('Translations', function() { it('disables escaping', function() { expect( - this.req.i18n.t('admin_user_created_message', { + req.i18n.t('admin_user_created_message', { link: 'http://google.com' }) ).to.equal( @@ -86,88 +92,34 @@ describe('Translations', function() { }) }) - describe('query string detection', function() { - it('sets the language to french if the setLng query string is fr', function(done) { - this.req.originalUrl = 'www.sharelatex.com/login?setLng=fr' - this.req.url = 'www.sharelatex.com/login' - this.req.query = { setLng: 'fr' } - this.req.headers.host = 'www.sharelatex.com' - this.translations.expressMiddleware(this.req, this.res, () => { - this.translations.setLangBasedOnDomainMiddleware( - this.req, - this.res, - () => { - expect(this.req.lng).to.equal('fr') - done() - } - ) - }) - }) - }) - describe('setLangBasedOnDomainMiddleware', function() { it('should set the lang to french if the domain is fr', function(done) { - this.req.url = 'fr.sharelatex.com/login' - this.req.headers.host = 'fr.sharelatex.com' - this.translations.expressMiddleware(this.req, this.res, () => { - this.translations.setLangBasedOnDomainMiddleware( - this.req, - this.res, - () => { - expect(this.req.lng).to.equal('fr') - done() - } - ) + req.headers.host = 'fr.sharelatex.com' + runMiddlewares(() => { + expect(req.lng).to.equal('fr') + done() }) }) - it('ignores domain if setLng query param is set', function(done) { - this.req.originalUrl = 'fr.sharelatex.com/login?setLng=en' - this.req.url = 'fr.sharelatex.com/login' - this.req.query = { setLng: 'en' } - this.req.headers.host = 'fr.sharelatex.com' - this.translations.expressMiddleware(this.req, this.res, () => { - this.translations.setLangBasedOnDomainMiddleware( - this.req, - this.res, - () => { - expect(this.req.lng).to.equal('en') - done() - } - ) - }) - }) - - describe('showUserOtherLng', function() { - it('should set showUserOtherLng=true if the detected lang is different to subdomain lang', function(done) { - this.req.headers['accept-language'] = 'da, en-gb;q=0.8, en;q=0.7' - this.req.url = 'fr.sharelatex.com/login' - this.req.headers.host = 'fr.sharelatex.com' - this.translations.expressMiddleware(this.req, this.res, () => { - this.translations.setLangBasedOnDomainMiddleware( - this.req, - this.res, - () => { - expect(this.req.showUserOtherLng).to.equal('da') - done() - } + describe('suggestedLanguageSubdomainConfig', function() { + it('should set suggestedLanguageSubdomainConfig if the detected lang is different to subdomain lang', function(done) { + req.headers['accept-language'] = 'da, en-gb;q=0.8, en;q=0.7' + req.headers.host = 'fr.sharelatex.com' + runMiddlewares(() => { + expect(res.locals.suggestedLanguageSubdomainConfig).to.exist + expect(res.locals.suggestedLanguageSubdomainConfig.lngCode).to.equal( + 'da' ) + done() }) }) - it('should not set showUserOtherLng if the detected lang is the same as subdomain lang', function(done) { - this.req.headers['accept-language'] = 'da, en-gb;q=0.8, en;q=0.7' - this.req.url = 'da.sharelatex.com/login' - this.req.headers.host = 'da.sharelatex.com' - this.translations.expressMiddleware(this.req, this.res, () => { - this.translations.setLangBasedOnDomainMiddleware( - this.req, - this.res, - () => { - expect(this.req.showUserOtherLng).to.not.exist - done() - } - ) + it('should not set suggestedLanguageSubdomainConfig if the detected lang is the same as subdomain lang', function(done) { + req.headers['accept-language'] = 'da, en-gb;q=0.8, en;q=0.7' + req.headers.host = 'da.sharelatex.com' + runMiddlewares(() => { + expect(res.locals.suggestedLanguageSubdomainConfig).to.not.exist + done() }) }) })