PageSourceSearch

https://rsdachy.ai/js/i18n.js

js rsdachy.ai collected 2026-10-05 15:12:07 UTC 72,205 bytes, 918 lines download raw bytes

1/**
2 * RS Roofs.AI - Internationalization (i18n) Module
3 * Supports English and Polish languages
4 */
5
6const translations = {
7    en: {
8        // Navigation
9        'nav.benefits': 'Benefits',
10        'nav.whatsNew': "What's New",
11        'nav.howItWorks': 'How It Works',
12        'nav.features': 'Features',
13        'nav.demo': 'Demo',
14        'nav.pricing': 'Plans',
15        'nav.training': 'Training',
16        'nav.earlyAccess': 'Contact',
17
18        // App Banner
19        'appBanner.tagline': 'Advanced roofing estimation tool powered by AI',
20        'appBanner.cta': 'Launch App',
21
22        // Hero Section
23        'hero.badge': 'AI-Powered Roofing Solutions',
24        'hero.title1': 'Measure Roofs.',
25        'hero.title2': 'Generate Offers.',
26        'hero.title3': 'Win More Deals.',
27        'hero.description': 'RS Roofs.AI uses advanced methods to measure roofs from satellite imagery or other sources and generate professional quotes in minutes, not hours.',
28        'hero.cta': 'Contact Us',
29        'hero.watchDemo': 'Watch Demo',
30        'hero.stat1': 'Faster Quotes',
31        'hero.stat2': 'Ease of Use',
32        'hero.stat3': 'Availability',
33
34        // Benefits Section
35        'benefits.badge': 'Why Choose Us',
36        'benefits.title': 'Transform Your Roofing Business',
37        'benefits.description': 'Streamline your workflow with AI-powered tools designed for modern roofing professionals',
38        'benefits.speed.title': 'Lightning Fast',
39        'benefits.speed.desc': 'Generate roof measurements, select products, and prepare a quote in minutes instead of hours — fully standalone, with no complex systems to deploy.',
40        'benefits.accuracy.title': 'Ease of Use',
41        'benefits.accuracy.desc': 'The intuitive interface and smart features make RS Roofs.AI simple and enjoyable to use, even for those who are not tech-savvy and have never worked on roof estimation. We know this like no one else. We have been creating roofing software for nearly 25 years.',
42        'benefits.remote.title': 'Remote Estimation',
43        'benefits.remote.desc': 'Analyze roofs from anywhere using satellite imagery — no site visit required. Send quotes to clients directly from the application. Use the full infrastructure — if you have RS Dachy5, you can save quotes directly to your RS Dachy5 account.',
44        'benefits.professional.title': 'Professional Quotes',
45        'benefits.professional.desc': 'Generate branded PDF quotes that impress clients and win contracts.',
46        'benefits.materials.title': 'Extensive Product Database',
47        'benefits.materials.desc': 'Browse products from many manufacturers, ready to use in your calculations. Find your suppliers here — and if something is missing, we will add it for you. If you have RS Dachy5, you can also automatically connect products from your account.',
48        'benefits.roi.title': 'Increased ROI',
49        'benefits.roi.desc': 'Close more deals with quickly prepared and professional quotes.',
50
51        // What's New (coming from RS Dachy5) Section
52        'whatsNew.badge': 'Coming from RS Dachy5',
53        'whatsNew.title': 'Everything you know from RS Dachy5 — and more',
54        'whatsNew.description': 'RS Roofs.AI is the successor to RS Dachy5. Here is what changes.',
55        'whatsNew.colFeature': 'Area',
56        'whatsNew.colOld': 'RS Dachy5',
57        'whatsNew.colNew': 'RS Roofs.AI',
58        'whatsNew.row1.label': 'Entering dimensions',
59        'whatsNew.row1.old': 'Plane by plane, point by point. Plus a few ready-made roofs in the roof library.',
60        'whatsNew.row1.new': 'Any roof geometry in minutes — instead of typing plane corner coordinates, you build the geometry visually. The familiar point-based workflow stays available for when a client provides dimensions in that form.',
61        'whatsNew.row2.label': 'Readiness to quote',
62        'whatsNew.row2.old': 'Quote after measuring on site. Requires travel time and a physical site visit.',
63        'whatsNew.row2.new': 'Prepare an initial quote at the first enquiry — before any site visit. You quote instantly (e.g. from a PDF underlay or satellite image), saving time and fuel.',
64        'whatsNew.row3.label': 'Measurement sources',
65        'whatsNew.row3.old': 'On-site measurement / manual input.',
66        'whatsNew.row3.new': 'Project PDF with scale, satellite imagery, LIDAR, drone footage, or data from an on-site measurement.',
67        'whatsNew.row4.label': 'Roof preview',
68        'whatsNew.row4.old': 'Single-plane view or 2D roof geometry.',
69        'whatsNew.row4.new': 'Interactive 3D visualization to verify the geometry at a glance.',
70        'whatsNew.row5.label': 'Access & platform',
71        'whatsNew.row5.old': 'Requires software installation on Windows 11.',
72        'whatsNew.row5.new': 'No installation — runs on Windows, macOS, Linux and Android in the browser.',
73        'whatsNew.row6.label': 'Product database',
74        'whatsNew.row6.old': 'Products added by the manufacturer or by the user.',
75        'whatsNew.row6.new': 'A broad product database, continuously updated — and you can connect the products from your RS Dachy5 account.',
76        'whatsNew.note': 'We keep all the features you know from RS Dachy5 — and add six breakthrough improvements on top.',
77
78        // How It Works Section
79        'howItWorks.badge': 'Process',
80        'howItWorks.title': 'How It Works',
81        'howItWorks.description': 'Six simple steps from address to professional quote',
82        'howItWorks.step1.title': 'Locate Your Roof',
83        'howItWorks.step1.desc': 'Enter your property address or use GPS to pinpoint the exact location of your roof. Our AI system will identify your property with precision.',
84        'howItWorks.step2.title': 'Load Your Base',
85        'howItWorks.step2.desc': 'Choose how you\'ll prepare the roof — based on the documentation you have, or none at all. A base image is not required.',
86        'howItWorks.step2.method1.title': 'Orthophoto / satellite',
87        'howItWorks.step2.method1.tag': 'Fast',
88        'howItWorks.step2.method1.desc': 'A quick estimate when you have no documentation — locate by address or GPS.',
89        'howItWorks.step2.method2.title': 'Project PDF + scale',
90        'howItWorks.step2.method2.desc': '100% accuracy straight from the designer\'s drawing.',
91        'howItWorks.step2.method3.title': 'No base needed',
92        'howItWorks.step2.method3.tag': 'Flexible',
93        'howItWorks.step2.method3.desc': 'No documentation at all? Draw the roof from real-world dimensions — each plane as an independent figure.',
94        'howItWorks.step3.title': 'Take Measurements',
95        'howItWorks.step3.desc': 'Check the scale. Draw the roof outline. RS Roofs.AI does the rest for you. A few adjustments and you\'re done!',
96        'howItWorks.step3.callout.title': 'No base image?',
97        'howItWorks.step3.callout.desc': 'Define each roof plane as an independent figure with real-world dimensions — just like in RS Dachy5. Perfect when a client arrives with measurements a roofer sketched on paper.',
98        'howItWorks.step4.title': 'Calculate Roof Slope',
99        'howItWorks.step4.desc': 'Determine the roof slope — the algorithm estimates its likely value. The feature currently works in Poland and Czechia.',
100        'howItWorks.step5.title': 'Comprehensive Product Selection',
101        'howItWorks.step5.desc': 'Choose roofing materials, flashings, gutter systems, soffits, PV panels, or complete roofing systems from the manufacturer database. Create multiple quote variants to give the client a choice.',
102        'howItWorks.step6.title': 'Professional Quote',
103        'howItWorks.step6.desc': 'Generate a comprehensive PDF quote and deliver it instantly from the application to the client\'s email address, or print it. Choose which quote template is appropriate for the given sales stage.',
104        'howItWorks.step6.quote': 'QUOTE',
105
106        // Demo Section
107        'demo.badge': 'See It In Action',
108        'demo.title': 'Watch RS Roofs.AI Demo',
109        'demo.description': 'See how easy it is to measure roofs and generate professional quotes',
110        'demo.videoPlaceholder': 'Demo video coming soon',
111
112        // Screenshots Section
113        'screenshots.badge': 'Interface',
114        'screenshots.title': 'System Screenshots',
115        'screenshots.description': 'Modern, intuitive interface designed for roofing professionals',
116        'screenshots.dashboard': 'Dashboard',
117        'screenshots.investments': 'Investments',
118        'screenshots.localize': 'Location',
119        'screenshots.topview': 'Aerial View',
120        'screenshots.measure': 'Measurements',
121        'screenshots.drawing': 'Roof Drawing',
122        'screenshots.3dmodel': '3D Model',
123        'screenshots.products': 'Products',
124        'screenshots.calculation': 'Calculation',
125        'screenshots.offer': 'Quote',
126        'screenshots.pdf1': 'PDF Report',
127        'screenshots.pdf2': 'PDF Details',
128
129        // Contact Section
130        'signup.badge': 'Contact',
131        'signup.title': 'Have a question? Get in touch',
132        'signup.description': "Want to learn more about RS Roofs.AI or discuss your project? Leave us a message and we'll get back to you as soon as possible.",
133        'signup.benefit1': 'Fast, personal reply',
134        'signup.benefit2': 'Free, no-obligation consultation',
135        'signup.benefit3': 'Direct support from our team',
136        'signup.benefit4': 'Answers tailored to your business',
137        // NIP / VAT lookup (shared with the Manufacturers form)
138        'signup.form.nip': 'NIP / VAT ID',
139        'signup.form.nipPlaceholder': 'Enter NIP or VAT ID',
140        'signup.form.nipLookup': 'Verify',
141        'signup.form.nipLooking': 'Checking...',
142        'signup.form.nipFound': 'Company found',
143        'signup.form.nipNotFound': 'Company not found for this NIP',
144        'signup.form.nipError': 'Error verifying NIP. Please enter company name manually.',
145        'signup.form.nipInvalid': 'NIP / VAT ID must be at least 6 characters',
146        'signup.form.email': 'Email Address',
147        'signup.form.emailPlaceholder': '[email protected]',
148        'signup.form.phone': 'Phone Number (optional)',
149        'signup.form.phonePlaceholder': '+48 123 456 789',
150        'signup.form.message': 'Your Inquiry',
151        'signup.form.messagePlaceholder': 'Tell us how we can help...',
152        'signup.form.gdpr': 'I consent to being contacted regarding RS Roofs.AI services by DEVELOPE.AI as the data controller. I understand my data will be processed in accordance with the <a href="privacy.html" target="_blank" class="gdpr-link">Privacy Policy</a>.',
153        'signup.form.gdprRequired': 'Consent is required',
154        'signup.form.submit': 'Send Message',
155        'signup.form.note': 'We respect your privacy. No spam, ever.',
156        'signup.success.title': 'Thank you!',
157        'signup.success.message': "We've received your message and will get back to you by email.",
158        'signup.error.message': 'An error occurred while sending. Please try again later.',
159        'signup.error.alreadyRegistered': 'This email address is already registered. We will contact you soon!',
160        'signup.error.recaptcha': 'Security verification failed. Please refresh the page and try again.',
161
162
163        // Features Section
164        'features.badge': 'System Features',
165        'features.title': 'Powerful Capabilities',
166        'features.description': 'Everything you need for professional roofing estimates',
167        'features.multiplatform': 'Multi-platform',
168        'features.multiplatform.desc': 'Windows, Linux, macOS',
169        'features.mobile': 'Mobile Devices',
170        'features.mobile.desc': 'Tablet & smartphone ready',
171        'features.gps': 'GPS & Maps',
172        'features.gps.desc': 'Satellite imagery & drones (coming soon)',
173        'features.templates': 'Quote Templates',
174        'features.templates.desc': 'Professional documents, customizable templates',
175        'features.directSend': 'Direct Sending',
176        'features.directSend.desc': 'Email & messaging integration',
177        'features.calculations': 'Comprehensive Estimation',
178        'features.calculations.desc': 'Roofing, gutters, soffits, PV, facades, and more',
179        'features.ai': 'AI Powered',
180        'features.ai.desc': 'Intelligent measurement assistance',
181        'features.insulation': 'RS Dachy5',
182        'features.insulation.desc': 'RS Dachy5 compatibility, save quotes for precise adaptation',
183
184        // Pricing Section
185        'pricing.badge': 'Subscription Plans',
186        'pricing.title': 'Subscription Pricing',
187        'pricing.description': 'Choose the plan that fits your business',
188        'pricing.fullVersion.title': 'Full Version, Multi-Brand',
189        'pricing.fullVersion.desc': 'Full access to RS Roofs.AI with products from many manufacturers in one place — build quotes without being limited to a single brand.',
190        'pricing.fullVersion.feature1': 'Products from many manufacturers',
191        'pricing.fullVersion.feature2': 'Full functionality',
192        'pricing.fullVersion.feature3': 'Measurements from satellite and aerial imagery',
193        'pricing.fullVersion.feature4': 'Professional PDF quotes',
194        'pricing.singleBrand.title': 'Single-Brand Versions',
195        'pricing.singleBrand.desc': "Dedicated versions featuring a single manufacturer's product catalog — ideal when you work mainly with one brand.",
196        'pricing.singleBrand.feature1': "Single manufacturer's catalog",
197        'pricing.singleBrand.feature2': 'Always up-to-date products',
198        'pricing.singleBrand.feature3': 'Quotes based on one brand',
199        'pricing.singleBrand.partnerNote': 'Are you a manufacturer? Add your version to the shop and reach roofers directly.',
200        'pricing.shopLink': 'Visit Shop',
201        'pricing.partnerLink': 'Become a Partner',
202        'pricing.registerLink': 'Register Now',
203
204        // Manufacturers Section
205        'manufacturers.badge': 'For Manufacturers',
206        'manufacturers.title': 'Partner With Us',
207        'manufacturers.description': 'Integrate your products into our AI-powered recommendation system',
208        'manufacturers.benefit1': 'Direct access to roofing professionals',
209        'manufacturers.benefit2': 'Product visibility in quotes',
210        'manufacturers.benefit3': 'Data-driven insights',
211        'manufacturers.benefit4': 'Boost your brand recognition',
212        'manufacturers.form.company': 'Company Name',
213        'manufacturers.form.companyPlaceholder': 'Your company name',
214        'manufacturers.form.contact': 'Contact Person',
215        'manufacturers.form.contactPlaceholder': 'Full name',
216        'manufacturers.form.email': 'Email Address',
217        'manufacturers.form.emailPlaceholder': '[email protected]',
218        'manufacturers.form.phone': 'Phone Number',
219        'manufacturers.form.phonePlaceholder': '+48 123 456 789',
220        'manufacturers.form.message': 'Message',
221        'manufacturers.form.messagePlaceholder': 'Tell us about your products and partnership goals...',
222        'manufacturers.form.gdpr': 'I consent to being contacted regarding RS Roofs.AI partnership by DEVELOPE.AI as the data controller. I understand my data will be processed in accordance with the <a href="privacy.html" target="_blank" class="gdpr-link">Privacy Policy</a>.',
223        'manufacturers.form.submit': 'Send Inquiry',
224        'manufacturers.form.note': 'We typically respond within 2 business days.',
225        'manufacturers.success.title': 'Thank you!',
226        'manufacturers.success.message': 'We will review your inquiry and contact you soon.',
227
228        // Training Section
229        'training.badge': 'Education',
230        'training.title': 'Professional Training',
231        'training.description': 'Master RS Roofs.AI with our comprehensive training programs',
232        'training.feature1': 'Video tutorials',
233        'training.feature2': 'Access to training platform',
234        'training.feature3': 'Certification program',
235        'training.cta': 'Explore Training',
236        'training.link': 'learning.develope.pl',
237
238        // Feedback Section
239        'feedback.badge': 'Your Opinion',
240        'feedback.title': 'Rate Our Service',
241        'feedback.description': 'Help us improve by sharing your experience',
242        'feedback.rateUs': 'How would you rate RS Roofs.AI?',
243        'feedback.commentPlaceholder': 'Share your thoughts (optional)...',
244        'feedback.submit': 'Send Feedback',
245        'feedback.success': 'Thank you for your feedback!',
246        'feedback.error': 'Error sending feedback. Please try again.',
247        'feedback.ratingRequired': 'Please select a rating',
248
249        // Footer
250        'footer.tagline': 'Intelligent roof measurement and quoting powered by AI',
251        'footer.rights': 'All rights reserved.',
252
253        // Navigation - Privacy
254        'nav.privacy': 'Privacy Policy',
255
256        // Privacy Policy Page
257        'privacy.backToHome': 'Back to Home',
258        'privacy.badge': 'Legal',
259        'privacy.title': 'Privacy Policy',
260        'privacy.intro': 'In connection with the changes in personal data protection regulations effective from May 25, 2018, in accordance with Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data (General Data Protection Regulation - GDPR), we inform you that:',
261
262        'privacy.s1.title': '1. Data Controller',
263        'privacy.s1.text': 'The controller of personal data of RS Roofs.AI Users is DEVELOPE.AI Krzysztof Sza\u0142kowski, based in P\u0142ock, Poland. Contact email address: [email protected].',
264
265        'privacy.s2.title': '2. Data Protection Officer',
266        'privacy.s2.text': 'The Company has appointed a Data Protection Officer who can be contacted at the email address: [email protected].',
267
268        'privacy.s3.title': '3. Purposes and Legal Basis of Data Processing',
269        'privacy.s3.intro': 'Personal data is processed for the following purposes:',
270        'privacy.s3.item1': 'Providing access to the RS Roofs.AI system, user authentication and authorization functions - legal basis: performance of a contract (Art. 6(1)(b) GDPR);',
271        'privacy.s3.item2': 'Password creation and reset - legal basis: performance of a contract (Art. 6(1)(b) GDPR);',
272        'privacy.s3.item3': 'RS Roofs.AI subscription sales and invoicing - legal basis: performance of a contract (Art. 6(1)(b) GDPR);',
273        'privacy.s3.item4': 'Marketing of own products and services - legal basis: legitimate interest of the controller (Art. 6(1)(f) GDPR);',
274        'privacy.s3.item5': 'Handling complaints and providing maintenance services - legal basis: performance of a contract (Art. 6(1)(b) GDPR);',
275        'privacy.s3.item6': 'Informing about new system versions, features and updates - legal basis: legitimate interest of the controller (Art. 6(1)(f) GDPR);',
276        'privacy.s3.item7': 'Processing early access registration requests - legal basis: consent (Art. 6(1)(a) GDPR) and pre-contractual measures (Art. 6(1)(b) GDPR).',
277
278        'privacy.s4.title': '4. Categories of Personal Data',
279        'privacy.s4.text': 'We process the following categories of personal data: company name, NIP/VAT ID, email address, phone number, 
279contact person name, and any additional information voluntarily provided through our forms.',
280
281        'privacy.s5.title': '5. Voluntary Nature of Data Provision',
282        'privacy.s5.text': 'Providing personal data is voluntary, but necessary in order to conclude an agreement with the Company, use the RS Roofs.AI system, or register for early access.',
283
284        'privacy.s6.title': '6. Data Retention Period',
285        'privacy.s6.text': 'Personal data will be stored for the duration of the contract, and after its termination for the period required by law or necessary to secure potential claims, or until consent is withdrawn. For early access registrations, data is retained until the service is launched and the registration is converted to an active subscription, or until the data subject requests deletion.',
286
287        'privacy.s7.title': '7. Data Recipients',
288        'privacy.s7.text': 'Your personal data may be shared with entities that process data on behalf of the controller, including hosting providers, email service providers, payment processors, and IT service providers. Data will not be transferred to third countries outside the European Economic Area without appropriate safeguards.',
289
290        'privacy.s8.title': '8. Your Rights',
291        'privacy.s8.intro': 'In accordance with the GDPR, you have the following rights:',
292        'privacy.s8.item1': 'Right of access - you may request information about your personal data being processed (Art. 15 GDPR);',
293        'privacy.s8.item2': 'Right to rectification - you may request correction of inaccurate or incomplete data (Art. 16 GDPR);',
294        'privacy.s8.item3': 'Right to erasure ("right to be forgotten") - you may request deletion of your data under certain conditions (Art. 17 GDPR);',
295        'privacy.s8.item4': 'Right to restriction of processing - you may request limitation of data processing (Art. 18 GDPR);',
296        'privacy.s8.item5': 'Right to data portability - you may request transfer of your data in a structured, commonly used format (Art. 20 GDPR);',
297        'privacy.s8.item6': 'Right to object - you may object to data processing based on legitimate interest, including profiling (Art. 21 GDPR);',
298        'privacy.s8.item7': 'Right to withdraw consent - where processing is based on consent, you may withdraw it at any time without affecting the lawfulness of processing carried out before the withdrawal (Art. 7(3) GDPR).',
299
300        'privacy.s9.title': '9. Right to Lodge a Complaint',
301        'privacy.s9.text': 'If you believe that the processing of your personal data violates the GDPR, you have the right to lodge a complaint with a supervisory authority. In Poland, the supervisory authority is the President of the Personal Data Protection Office (Prezes Urz\u0119du Ochrony Danych Osobowych - UODO), ul. Stawki 2, 00-193 Warsaw, Poland.',
302
303        'privacy.s10.title': '10. Automated Decision-Making',
304        'privacy.s10.text': 'Your personal data will not be subject to automated decision-making, including profiling, which produces legal effects concerning you or similarly significantly affects you.',
305
306        'privacy.s11.title': '11. Cookies and Tracking Technologies',
307        'privacy.s11.text1': 'The RS Roofs.AI website uses cookies and similar technologies for the following purposes:',
308        'privacy.s11.item1': 'Essential cookies - necessary for the proper functioning of the website, including language preferences and session management;',
309        'privacy.s11.item2': 'Security cookies - used for security verification (reCAPTCHA) to protect forms from automated abuse;',
310        'privacy.s11.item3': 'Analytics cookies - to understand how visitors interact with the website and improve our services.',
311        'privacy.s11.text2': 'You can manage cookie preferences through your browser settings. Disabling essential cookies may affect the functionality of the website.',
312
313        'privacy.s12.title': '12. Contact',
314        'privacy.s12.text': 'For any questions regarding the processing of your personal data, please contact us at: [email protected].',
315
316        'privacy.lastUpdated': 'Last updated: February 2026',
317
318        // Navigation - Terms
319        'nav.terms': 'Terms of Use',
320
321        // Terms of Use Page
322        'terms.badge': 'Legal',
323        'terms.title': 'Terms of Use',
324        'terms.intro': 'The following Terms of Use govern the access to and use of the RS Roofs.AI system provided by DEVELOPE.AI Krzysztof Sza\u0142kowski. By registering for or using the RS Roofs.AI system, you agree to be bound by these Terms.',
325
326        'terms.s1.title': '1. Definitions',
327        'terms.s1.item1': '"Provider" - DEVELOPE.AI Krzysztof Sza\u0142kowski, based in P\u0142ock, Poland, the operator of the RS Roofs.AI system.',
328        'terms.s1.item2': '"System" - the RS Roofs.AI cloud-based application for roof measurement, material selection, and quote generation, accessible via web browser.',
329        'terms.s1.item3': '"User" - any natural person or legal entity that has registered for and uses the System.',
330        'terms.s1.item4': '"Subscription" - a paid or free (early access) license granting the User access to the System for a defined period.',
331        'terms.s1.item5': '"Content" - any data, offers, measurements, documents, or other materials created or uploaded by the User within the System.',
332
333        'terms.s2.title': '2. Functionality',
334        'terms.s2.text': 'The RS Roofs.AI system is designed to support roofing professionals with roof measurement from satellite and aerial imagery, material selection, cost c
334alculations, and professional quote generation. The System operates as a cloud-based (SaaS) application accessible through a web browser. Features and available modules may vary depending on the subscription plan.',
335
336        'terms.s3.title': '3. Account Registration and Access',
337        'terms.s3.text1': 'To use the System, the User must register an account by providing accurate and complete information. The User is responsible for maintaining the confidentiality of their login credentials and for all activities that occur under their account.',
338        'terms.s3.text2': 'Login credentials must not be shared with third parties or persons outside the User\'s organization. The User must notify the Provider immediately of any unauthorized use of their account.',
339
340        'terms.s4.title': '4. Subscription and Service Availability',
341        'terms.s4.text1': 'The System enables storing offers and project data on the Provider\'s servers within the limits of the User\'s subscription plan. If storage limits are reached, the User may download and store data on personal devices.',
342        'terms.s4.text2': 'The System is available 24 hours a day, 7 days a week throughout the subscription period, except during emergency situations and scheduled maintenance windows. The Provider will make reasonable efforts to announce planned maintenance in advance.',
343        'terms.s4.text3': 'If the subscription is not renewed, data stored on the server will be retained for a period of one (1) month from expiration. After this period, the Provider reserves the right to permanently delete the User\'s data.',
344
345        'terms.s5.title': '5. Payment Terms',
346        'terms.s5.text1': 'Upon placing an order, the User receives a proforma invoice electronically with bank transfer details. Payment of the subscription fee grants access to the System for a period of one (1) year. A VAT invoice is issued upon account activation.',
347        'terms.s5.text2': 'Subscriptions are renewed automatically for subsequent annual periods. If payment is not received within the specified deadline, the account will be suspended and access to the System will be restricted.',
348        'terms.s5.text3': 'All prices are quoted in the currency indicated on the order form and are subject to applicable taxes. The Provider reserves the right to modify pricing for future subscription periods with at least 30 days\' prior notice.',
349
350        'terms.s6.title': '6. User Obligations and Acceptable Use',
351        'terms.s6.intro': 'The User agrees to:',
352        'terms.s6.item1': 'Use the System only for its intended purpose of roof measurement, estimation, and quote generation;',
353        'terms.s6.item2': 'Provide accurate information during registration and keep account details up to date;',
354        'terms.s6.item3': 'Not use the System in any way that could damage, disable, or impair the service or interfere with other users;',
355        'terms.s6.item4': 'Comply with all applicable laws and regulations when using the System;',
356        'terms.s6.item5': 'Not attempt to gain unauthorized access to any part of the System, other accounts, or connected systems.',
357
358        'terms.s7.title': '7. Intellectual Property',
359        'terms.s7.text1': 'The System, including its software, design, algorithms, documentation, and all related intellectual property, is and remains the exclusive property of the Provider. The subscription grants the User a limited, non-exclusive, non-transferable license to use the System for the duration of the subscription period.',
360        'terms.s7.text2': 'The User retains ownership of all Content created within or uploaded to the System. The Provider does not claim any intellectual property rights over User Content.',
361
362        'terms.s8.title': '8. Prohibition of Reverse Engineering and Software Analysis',
363        'terms.s8.intro': 'The User is expressly prohibited from:',
364        'terms.s8.item1': 'Decompilation, disassembly, or reverse engineering of the System\'s software;',
365        'terms.s8.item2': 'Attempting to recover or reconstruct source code, algorithms, or data structures;',
366        'terms.s8.item3': 'Analyzing network traffic, communication protocols, or API 
366structures for purposes other than intended use;',
367        'terms.s8.item4': 'Bypassing or attempting to circumvent security mechanisms, access controls, or license verification;',
368        'terms.s8.item5': 'Removing, altering, or obscuring any copyright notices, trademarks, or proprietary markings.',
369        'terms.s8.text': 'Violation of these prohibitions may result in immediate license termination, access revocation, and legal action for damages under applicable intellectual property and unfair competition laws.',
370
371        'terms.s9.title': '9. Limitation of Liability',
372        'terms.s9.text1': 'The System is provided as a professional support tool. All measurements, calculations, and estimates generated by the System are advisory in nature and should be verified by qualified professionals before use in contractual obligations.',
373        'terms.s9.text2': 'The Provider shall not be liable for any indirect, incidental, or consequential damages, including loss of profits or business opportunities, arising from the use or inability to use the System, errors in measurements or calculations, or reliance on System-generated data.',
374        'terms.s9.text3': 'The Provider\'s total liability under these Terms shall not exceed the amount paid by the User for the current subscription period. This limitation does not apply to liability that cannot be excluded or limited under applicable law.',
375
376        'terms.s10.title': '10. Data Confidentiality',
377        'terms.s10.text1': 'The Provider commits to protecting User data stored on its servers and will not share, sell, or disclose such data to third parties, except as required by law or as necessary for the operation of the System (e.g., hosting providers).',
378        'terms.s10.text2': 'Personal data processing is governed by our <a href="privacy.html" class="gdpr-link">Privacy Policy</a>, which forms an integral part of these Terms.',
379
380        'terms.s11.title': '11. Refusal of Sale and Protection of Business Interests',
381        'terms.s11.text': 'The Provider reserves the right to refuse sale, deny access, or revoke licenses in cases where there is a reasonable suspicion of intellectual property violations, reverse engineering attempts, risk of trade secret disclosure, or activities that may harm the Provider\'s business interests. In such cases, the Provider may cancel orders, restrict System access, or terminate licenses. The Provider is not obligated to disclose the reasons for such decisions.',
382
383        'terms.s12.title': '12. Termination',
384        'terms.s12.text1': 'The User may terminate the subscription at any time by contacting the Provider at [email protected]. Termination takes effect at the end of the current subscription period. No refunds are provided for partial periods unless required by applicable law.',
385        'terms.s12.text2': 'The Provider may terminate or suspend access to the System immediately, without prior notice, if the User breaches these Terms. Upon termination, the User\'s right to use the System ceases, and the Provider may delete User data after the retention period specified in Section 4.',
386
387        'terms.s13.title': '13. Amendments to the Terms',
388        'terms.s13.text': 'The Provider reserves the right to amend these Terms at any time. Users will be notified of material changes at least 14 days before they take effect, via email or System notification. Continued use of the System after the effective date of changes constitutes acceptance of the amended Terms. If the User does not agree with the changes, they may terminate their subscription before the changes take effect.',
389
390        'terms.s14.title': '14. Governing Law and Dispute Resolution',
391        'terms.s14.text': 'These Terms are governed by the laws of the Republic of Poland. Any disputes arising from or in connection with these Terms shall be resolved by the competent court having jurisdiction over the Provider\'s registered office in P\u0142ock, Poland, unless mandatory consumer protection laws provide otherwise.',
392
393        'terms.s15.title': '15. Contact',
394        'terms.s15.text': 'For any questions regarding these Terms of Use, please contact us at: [email protected].',
395
396        'terms.lastUpdated': 'Last updated: February 2026'
397    },
398
399    pl: {
400        // Navigation
401        'nav.benefits': 'Korzyści',
402        'nav.whatsNew': 'Co nowego',
403        'nav.howItWorks': 'Jak to działa',
404        'nav.features': 'Cechy',
405        'nav.demo': 'Demo',
406        'nav.pricing': 'Plany',
407        'nav.training': 'Szkolenia',
408        'nav.earlyAccess': 'Kontakt',
409
410        // App Banner
411        'appBanner.tagline': 'Zaawansowane narzędzie do wycen dachowych',
412        'appBanner.cta': 'Uruchom aplikację',
413
414        // Hero Section
415        'hero.badge': 'Rozwiązania dla Dachów, wspierane przez AI',
416        'hero.title1': 'Mierz Dachy.',
417        'hero.title2': 'Generuj Oferty.',
418        'hero.title3': 'Wygrywaj Kontrakty.',
419        'hero.description': 'RS Roofs.AI wykorzystuje zaawansowane metody do pomiaru dachów ze zdjęć satelitarnych lub z innych źródeł oraz generowania profesjonalnych wycen w kilka minut, nie godzin. ',
420        'hero.cta': 'Napisz do nas',
421        'hero.watchDemo': 'Zobacz demo',
422        'hero.stat1': 'Szybsze wyceny',
423        'hero.stat2': 'Łatwiejsza obługa',
424        'hero.stat3': 'Dostępność',
425
426        // Benefits Section
427        'benefits.badge': 'Dlaczego my',
428        'benefits.title': 'Zrewolucjonizuj Swój Biznes',
429        'benefits.description': 'Usprawnij swoją pracę dzięki narzędziom AI zaprojektowanym dla nowoczesnych firm branży dekarskiej',
430        'benefits.speed.title': 'Szybkość',
431        'benefits.speed.desc': 'Generuj pomiary dachu, wybierz produkty i przygotuj wycenę w kilka minut zamiast godzin — w pełni samodzielnie, bez wdrażania rozbudowanych systemów.',
432        'benefits.accuracy.title': 'Łatwość obsługi',
433        'benefits.accuracy.desc': 'Intuicyjny interfejs i inteligentne funkcje sprawiają, że korzystanie z RS Roofs.AI jest proste i przyjemne, nawet dla tych, którzy nie są technologiczni i nie pracowali przy wycenie dachów. Znamy się na tym jak nikt inny. Tworzymy programy dachowe od prawie 25 lat.',
434        'benefits.remote.title': 'Zdalna wycena',
435        'benefits.remote.desc': 'Analizuj dachy z dowolnego miejsca za pomocą zdjęć satelitarnych - bez konieczności wizyty na miejscu. Wysyłaj oferty do klienta bezpośrednio z programu. Używaj całego zaplecza - jeśli masz RS Dachy5, możesz zapisać ofertę bezpośrednio na swoim koncie w RS Dachy5.',
436        'benefits.professional.title': 'Profesjonalne wyceny',
437        'benefits.professional.desc': 'Generuj brandowane oferty PDF, które robią wrażenie na klientach i wygrywają kontrakty.',
438        'benefits.materials.title': 'Szeroka baza produktów',
439        'benefits.materials.desc': 'W bazie znajdziesz produkty wielu producentów, gotowe do użycia w kalkulacjach. Są tu też produkty Twoich dostawców — a jeśli czegoś brakuje, dodamy to dla Ciebie. Masz RS Dachy5? Możesz automatycznie podłączyć produkty ze swojego konta.',
440        'benefits.roi.title': 'Zwiększony zwrot z inwestycji',
441        'benefits.roi.desc': 'Zamykaj więcej transakcji dzięki szybko  przygotowanym  i profesjonalnym ofertom.',
442
443        // What's New (przejście z RS Dachy5) Section
444        'whatsNew.badge': 'Przechodzisz z RS Dachy5?',
445        'whatsNew.title': 'Wszystko, co znasz z RS Dachy5 — i więcej',
446        'whatsNew.description': 'RS Dachy.AI to następca RS Dachy5. Oto co się zmienia.',
447        'whatsNew.colFeature': 'Obszar',
448        'whatsNew.colOld': 'RS Dachy5',
449        'whatsNew.colNew': 'RS Dachy.AI',
450        'whatsNew.row1.label': 'Wprowadzanie wymiarów',
451        'whatsNew.row1.old': 'Połać po połaci, punkt po punkcie. Do tego kilka gotowych dachów w bibliotece.',
452        'whatsNew.row1.new': 'Dowolna geometria dachu w kilka minut — zamiast wpisywać współrzędne punktów połaci, budujesz geometrię wizualnie. Dotychczasowy sposób pracy na punktach pozostaje dostępny — gdy klient dostarcza wymiary właśnie w tej formie.',
453        'whatsNew.row2.label': 'Gotowość do ofertowania',
454        'whatsNew.row2.old': 'Wycena po pomiarze na obiekcie. Wymaga czasu na dojazd i fizycznej wizji lokalnej.',
455        'whatsNew.row2.new': 'Wstępna wycena już przy pierwszym zapytaniu — przed wyjazdem na budowę. Ofertujesz błyskawicznie (np. na bazie podkładu z PDF lub zdjęcia satelitarnego), oszczędzając czas i paliwo.',
456        'whatsNew.row3.label': 'Źródła pomiaru',
457        'whatsNew.row3.old': 'Pomiar na obiekcie / dane wprowadzane ręcznie.',
458        'whatsNew.row3.new': 'Projekt PDF ze skalą, zdjęcia satelitarne, dane LIDAR, ujęcie z drona lub dane pochodzące z pomiaru na obiekcie.',
459        'whatsNew.row4.label': 'Podgląd dachu',
460        'whatsNew.row4.old': 'Widok pojedynczych połaci lub geometri
460a 2D dachu.',
461        'whatsNew.row4.new': 'Interaktywna wizualizacja 3D do szybkiej weryfikacji geometrii.',
462        'whatsNew.row5.label': 'Dostęp i platforma',
463        'whatsNew.row5.old': 'Wymaga instalacji oprogramowania na Windows 11.',
464        'whatsNew.row5.new': 'Bez instalacji — działa na Windows, macOS, Linux i Android w przeglądarce.',
465        'whatsNew.row6.label': 'Baza produktów',
466        'whatsNew.row6.old': 'Produkty wprowadzone przez producenta lub przez użytkownika.',
467        'whatsNew.row6.new': 'Szeroka baza produktów, stale aktualizowana — z możliwością podłączenia produktów z konta RS Dachy5.',
468        'whatsNew.note': 'Zachowujemy wszystkie funkcje, które znasz z RS Dachy5 — i dokładamy do nich sześć przełomowych usprawnień.',
469
470        // How It Works Section
471        'howItWorks.badge': 'Proces',
472        'howItWorks.title': 'Jak to działa',
473        'howItWorks.description': 'Sześć prostych kroków od adresu do profesjonalnej wyceny',
474        'howItWorks.step1.title': 'Zlokalizuj swój dach',
475        'howItWorks.step1.desc': 'Wpisz adres nieruchomości lub użyj GPS, aby dokładnie zlokalizować dach. Nasz system zidentyfikuje Twoją nieruchomość z precyzją.',
476        'howItWorks.step2.title': 'Wczytaj podkład',
477        'howItWorks.step2.desc': 'Wybierz, jak przygotujesz dach — zależnie od posiadanej dokumentacji lub jej braku. Podkład nie jest wymagany.',
478        'howItWorks.step2.method1.title': 'Ortofoto / satelita',
479        'howItWorks.step2.method1.tag': 'Szybko',
480        'howItWorks.step2.method1.desc': 'Szybki szacunek, gdy nie masz dokumentacji — lokalizacja po adresie lub GPS.',
481        'howItWorks.step2.method2.title': 'PDF projektu + skala',
482        'howItWorks.step2.method2.desc': '100% dokładności prosto z rysunku projektanta.',
483        'howItWorks.step2.method3.title': 'Bez podkładu',
484        'howItWorks.step2.method3.tag': 'Elastycznie',
485        'howItWorks.step2.method3.desc': 'Nie masz żadnej dokumentacji? Narysuj dach z wymiarów rzeczywistych — każdą połać jako niezależną figurę.',
486        'howItWorks.step3.title': 'Wykonaj pomiary',
487        'howItWorks.step3.desc': 'Sprawdź skalę. Wykonaj obrys dachu. Resztę wykona za Ciebie RS Roofs.AI. Parę dopasowań i gotowe!',
488        'howItWorks.step3.callout.title': 'Bez podkładu?',
489        'howItWorks.step3.callout.desc': 'Zdefiniuj każdą połać jako niezależną figurę w wymiarach rzeczywistych — jak w RS Dachy5. Idealne, gdy klient przychodzi z pomiarami narysowanymi przez dekarza na kartce.',
490        'howItWorks.step4.title': 'Oblicz nachylenie dachu',
491        'howItWorks.step4.desc': 'Wyznacz nachylenie połaci — algorytm oszacuje jego prawdopodobną wartość. Funkcja na razie działa na terenie Polski i Czech.',
492        'howItWorks.step5.title': 'Kompleksowy dobór produktów',
493        'howItWorks.step5.desc': 'Wybierz z bazy producentów produkty do pokrycia dachu, obróbki dachowe, systemy rynnowe, podsufitki, panele PV lub kompletne systemy dachowe. Sporządź wiele wariantów oferty, aby dać klientowi wybór.',
494        'howItWorks.step6.title': 'Profesjonalna wycena',
495        'howItWorks.step6.desc': 'Wygeneruj kompleksową wycenę PDF i dostarcz ją natychmiast z programu na adres e-mail klienta lub wydrukuj. Wybierz, który szablon oferty będzie odpowiedni na danym etapie sprzedaży.',
496        'howItWorks.step6.quote': 'WYCENA',
497
498        // Demo Section
499        'demo.badge': 'Zobacz w akcji',
500        'demo.title': 'Obejrzyj demo RS Roofs.AI',
501        'demo.description': 'Zobacz jak łatwo jest mierzyć dachy i generować profesjonalne wyceny',
502        'demo.videoPlaceholder': 'Film demonstracyjny wkrótce',
503
504        // Screenshots Section
505        'screenshots.badge': 'Interfejs',
506        'screenshots.title': 'Zrzuty ekranu systemu',
507        'screenshots.description': 'Nowoczesny, intuicyjny interfejs zaprojektowany dla profesjonalistów branży dekarskiej',
508        'screenshots.dashboard': 'Panel Startowy',
509        'screenshots.investments': 'Inwestycje',
510        'screenshots.localize': 'Lokalizacja',
511        'screenshots.topview': 'Widok z Góry',
512        'screenshots.measure': 'Pomiary',
513        'screenshots.drawing': 'Rysunek Dachu',
514        'screenshots.3dmodel': 'Model 3D',
515        'screenshots.products': 'Produkty',
516        'screenshots.calculation': 'Kalkulacja',
517        'screenshots.offer': 'Oferta',
518        'screenshots.pdf1': 'Raport PDF',
519        'screenshots.pdf2': 'Szczegóły PDF',
520
521        // Contact Section
522        'signup.badge': 'Kontakt',
523        'signup.title': 'Masz pytanie? Napisz do nas',
524        'signup.description': 'Chcesz dowiedzieć się więcej o RS Roofs.AI lub omówić swój projekt? Zostaw zapytanie — odezwiemy się najszybciej, jak to możliwe.',
525        'signup.benefit1': 'Szybka, osobista odpowiedź',
526        'signup.benefit2': 'Bezpłatna, niezobowiązująca konsultacja',
527        'signup.benefit3': 'Bezpośrednie wsparcie od naszego zespołu',
528        'signup.benefit4': 'Odpowiedzi dopasowane do Twojego biznesu',
529        // NIP / VAT lookup (współdzielone z formularzem Producentów)
530        'signup.form.nip': 'NIP',
531        'signup.form.nipPlaceholder': 'Wpisz NIP / VAT ID',
532        'signup.form.nipLookup': 'Sprawdź',
533        'signup.form.nipLooking': 'Sprawdzanie...',
534        'signup.form.nipFound': 'Znaleziono firmę',
535        'signup.form.nipNotFound': 'Nie znaleziono firmy o podanym NIP',
536        'signup.form.nipError': 'Błąd weryfikacji NIP. Wpisz nazwę firmy ręcznie.',
537        'signup.form.nipInvalid': 'NIP / VAT ID musi mieć co najmniej 6 znaków',
538        'signup.form.email': 'Adres e-mail',
539        'signup.form.emailPlaceholder': '[email protected]',
540        'signup.form.phone': 'Numer telefonu (opcjonalnie)',
541        'signup.form.phonePlaceholder': '+48 123 456 789',
542        'signup.form.message': 'Twoje zapytanie',
543        'signup.form.messagePlaceholder': 'Napisz, w czym możemy pomóc...',
544        'signup.form.gdpr': 'Wyrażam zgodę na kontakt w sprawie usług RS Roofs.AI przez DEVELOPE.AI jako administratora danych. Rozumiem, że moje dane będą przetwarzane zgodnie z <a href="privacy.html" target="_blank" class="gdpr-link">Polityką Prywatności</a>.',
545        'signup.form.gdprRequired': 'Zgoda jest wymagana',
546        'signup.form.submit': 'Wyślij zapytanie',
547        'signup.form.note': 'Szanujemy Twoją prywatność. Żadnego spamu.',
548        'signup.success.title': 'Dziękujemy!',
549        'signup.success.message': 'Otrzymaliśmy Twoje zapytanie i odezwiemy się na podany adres e-mail.',
550        'signup.error.message': 'Wystąpił błąd podczas wysyłania. Spróbuj ponownie później.',
551        'signup.error.alreadyRegistered': 'Ten adres email jest już zarejestrowany. Skontaktujemy się wkrótce!',
552        'signup.error.recaptcha': 'Weryfikacja bezpieczeństwa nie powiodła się. Odśwież stronę i spróbuj ponownie.',
553
554
555        // Features Section
556        'features.badge': 'Cechy Systemu',
557        'features.title': 'Potężne Możliwości',
558        'features.description': 'Wszystko, czego potrzebujesz do profesjonalnych wycen dekarskich',
559        'features.multiplatform': 'Wieloplatformowość',
560        'features.multiplatform.desc': 'Windows, Linux, macOS',
561        'features.mobile': 'Urządzenia Mobilne',
562        'features.mobile.desc': 'Tablet i smartfon',
563        'features.gps': 'GPS i Mapy',
564        'features.gps.desc': 'Zdjęcia satelitarne i wkrótce drony',
565        'features.templates': 'Szablony Wycen',
566        'features.templates.desc': 'Profesjonalne dokumenty, personalizacja szablonów',
567        'features.directSend': 'Bezpośrednia Wysyłka',
568        'features.directSend.desc': 'Integracja z e-mail',
569        'features.calculations': 'Kompleksowa wycena',
570        'features.calculations.desc': 'Pokrycia, rynny, podsufitki, PV, elewacje i inne',
571        'features.ai': 'Wspomaganie AI',
572        'features.ai.desc': 'Inteligentna pomoc w generowaniu pomiarów',
573        'features.insulation': 'RS Dachy5',
574        'features.insulation.desc': 'Kompatybilność z RS Dachy5, zapis wyceny do precyzyjnej adaptacji',
575
576        // Pricing Section
577        'pricing.badge': 'Subskrypcje',
578        'pricing.title': 'Ceny subskrypcji',
579        'pricing.description': 'Wybierz plan dopasowany do Twojego biznesu',
580        'pricing.fullVersion.title': 'Wersja Pełna, Multi-Brand',
581        'pricing.fullVersion.desc': 'Pełny dostęp do RS Roofs.AI z produktami wielu producentów w jednym miejscu — twórz wyceny bez ograniczenia do jednej marki.',
582        'pricing.fullVersion.feature1': 'Produkty wielu producentów',
583        'pricing.fullVersion.feature2': 'Pełna funkcjonalność',
584        'pricing.fullVersion.feature3': 'Pomiary z map satelitarnych i ze zdjęć',
585        'pricing.fullVersion.feature4': 'Profesjonalne oferty PDF',
586        'pricing.singleBrand.title': 'Wersje z produktami jednego producenta',
587        'pricing.singleBrand.desc': 'Wersje dedykowane, zawierające katalog produktów jednego producenta — idealne, gdy pracujesz głównie na jednej marce.',
588        'pricing.singleBrand.feature1': 'Katalog jednego producenta',
589        'pricing.singleBrand.feature2': 'Produkty zawsze aktualne',
590        'pricing.singleBrand.feature3': 'Wycena w oparciu o jedną markę',
591        'pricing.singleBrand.partnerNote': 'Jesteś producentem? Umieść swoją wersję w sklepie i dotrzyj bezpośrednio do dekarzy.',
592        'pricing.shopLink': 'Odwiedź sklep',
593        'pricing.partnerLink': 'Zostań partnerem',
594        'pricing.registerLink': 'Zarejestruj się',
595
596        // Manufacturers Section
597        'manufacturers.badge': 'Dla Producentów',
598        'manufacturers.title': 'Zostań Partnerem',
599        'manufacturers.description': 'Zintegruj swoje produkty z naszym systemem RS Roofs.AI',
600        'manufacturers.benefit1': 'Bezpośredni dostęp do profesjonalistów',
601        'manufacturers.benefit2': 'Widoczność produktów w wycenach',
602        'manufacturers.benefit3': 'Analizy oparte na danych',
603        'manufacturers.benefit4': 'Wzmocnij rozpoznawalność marki',
604        'manufacturers.form.company': 'Nazwa firmy',
605        'manufacturers.form.companyPlaceholder': 'Nazwa Twojej firmy',
606        'manufacturers.form.contact': 'Osoba kontaktowa',
607        'manufacturers.form.contactPlaceholder': 'Imię i nazwisko',
608        'manufacturers.form.email': 'Adres e-mail',
609        'manufacturers.form.emailPlaceholder': '[email protected]',
610        'manufacturers.form.phone': 'Numer telefonu',
611        'manufacturers.form.phonePlaceholder': '+48 123 456 789',
612        'manufacturers.form.message': 'Wiadomość',
613        'manufacturers.form.messagePlaceholder': 'Opowiedz nam o swoich produktach i celach partnerstwa...',
614        'manufacturers.form.gdpr': 'Wyrażam zgodę na kontakt w sprawie partnerstwa z RS Roofs.AI przez DEVELOPE.AI jako administratora danych. Rozumiem, że moje dane będą przetwarzane zgodnie z <a href="privacy.html" target="_blank" class="gdpr-link">Polityką Prywatności</a>.',
615        'manufacturers.form.submit': 'Wyślij zapytanie',
616        'manufacturers.form.note': 'Zazwyczaj odpowiadamy w ciągu 2 dni roboczych.',
617        'manufacturers.success.title': 'Dziękujemy!',
618        'manufacturers.success.message': 'Rozpatrzymy Twoje zapytanie i wkrótce się skontaktujemy.',
619
620        // Training Section
621        'training.badge': 'Edukacja',
622        'training.title': 'Profesjonalne Szkolenia',
623        'training.description': 'Opanuj RS Roofs.AI dzięki naszym kompleksowym programom szkoleniowym',
624        'training.feature1': 'Samouczki wideo',
625        'training.feature2': 'Dostęp do platformy szkoleniowej',
626        'training.feature3': 'Program certyfikacji',
627        'training.cta': 'Poznaj szkolenia',
628        'training.link': 'learning.develope.pl',
629
630        // Feedback Section
631        'feedback.badge': 'Twoja Opinia',
632        'feedback.title': 'Oceń Naszą Usługę',
633        'feedback.description': 'Pomóż nam się rozwijać, dzieląc się swoimi doświadczeniami',
634        'feedback.rateUs': 'Jak oceniasz RS Roofs.AI?',
635        'feedback.commentPlaceholder': 'Podziel się swoimi przemyśleniami (opcjonalnie)...',
636        'feedback.submit': 'Wyślij opinię',
637        'feedback.success': 'Dziękujemy za Twoją opinię!',
638        'feedback.error': 'Błąd wysyłania opinii. Spróbuj ponownie.',
639        'feedback.ratingRequired': 'Proszę wybrać ocenę',
640
641        // Footer
642        'footer.tagline': 'Inteligentny pomiar i wycena dachów wspierane przez AI',
643        'footer.rights': 'Wszelkie prawa zastrzeżone.',
644
645        // Navigation - Privacy
646        'nav.privacy': 'Polityka Prywatności',
647
648        // Privacy Policy Page
649        'privacy.backToHome': 'Powrót do strony głównej',
650        'privacy.badge': 'Informacje prawne',
651        'privacy.title': 'Polityka Prywatności',
652        'privacy.intro': 'W związku ze zmianą przepisów dotyczących ochrony danych osobowych od dnia 25 maja 2018, zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych (ogólne rozporządzenie o ochronie danych - RODO), informujemy że:',
653
654        'privacy.s1.title': '1. Administrator danych osobowych',
655        'privacy.s1.text': 'Administratorem danych osobowych Użytkowników systemu RS Roofs.AI jest DEVELOPE.AI Krzysztof Szałkowski z siedzibą w Płocku. Adres e-mail do kontaktu: [email protected].',
656
657        'privacy.s2.title': '2. Inspektor Ochrony Danych',
658        'privacy.s2.text': 'W Spółce powołany został Inspektor Ochrony Danych, z którym można się skontaktować pod adresem email: [email protected].',
659
660        'privacy.s3.title': '3. Cele i podstawy prawne przetwarzania danych',
661        'privacy.s3.intro': 'Dane osobowe przetwarzane są w następujących celach:',
662        'privacy.s3.item1': 'Zapewnienie dostępu do systemu RS Roofs.AI, funkcji uwierzytelniania i autoryzacji użytkowników - podstawa prawna: wykonanie umowy (art. 6 ust. 1 lit. b RODO);',
663        'privacy.s3.item2': 'Tworzenie i resetowanie haseł - podstawa prawna: wykonanie umowy (art. 6 ust. 1 lit. b RODO);',
664        'privacy.s3.item3': 'Sprzedaż subskrypcji RS Roofs.AI i fakturowanie - podstawa prawna: wykonanie umowy (art. 6 ust. 1 lit. b RODO);',
665        'privacy.s3.item4': 'Marketing produktów i usług własnych - podstawa prawna: prawnie uzasadniony interes administratora (art. 6 ust. 1 lit. f RODO);',
666        'privacy.s3.item5': 'Obsługa reklamacji i świadczenie usług serwisowych - podstawa prawna: wykonanie umowy (art. 6 ust. 1 lit. b RODO);',
667        'privacy.s3.item6': 'Informowanie o nowych wersjach systemu, funkcjach i aktualizacjach - podstawa prawna: prawnie uzasadniony interes administratora (art. 6 ust. 1 lit. f RODO);',
668        'privacy.s3.item7': 'Obsługa zgłoszeń rejestracji wczesnego dostępu - podstawa prawna: zgoda (art. 6 ust. 1 lit. a RODO) oraz działania przedumowne (art. 6 ust. 1 lit. b RODO).',
669
670        'privacy.s4.title': '4. Kategorie danych osobowych',
671        'privacy.s4.text': 'Przetwarzamy następujące kategorie danych osobowych: nazwa firmy, NIP, adres e-mail, numer telefonu, imię i nazwisko osoby kontaktowej oraz wszelkie dodatkowe informacje dobrowolnie podane za pośrednictwem naszych formularzy.',
672
673        'privacy.s5.title': '5. Dobrowolność podania danych',
674        'privacy.s5.text': 'Podanie danych osobowych jest dobrowolne, lecz niezbędne w celu zawarcia umowy ze Spółką, korzystania z systemu RS Roofs.AI lub rejestracji wczesnego dostępu.',
675
676        'privacy.s6.title': '6. Okres przechowywania danych',
677        'privacy.s6.text': 'Dane osobowe będą przechowywane przez czas trwania umowy, a po jej zakończeniu przez okres wymagany przepisami prawa lub niezbędny do zabezpieczenia ewentualnych roszczeń, bądź do momentu wycofania zgody. W przypadku rejestracji wczesnego dostępu dane są przechowywane do momentu uruchomienia usługi i przekształcenia rejestracji w aktywną subskrypcję lub do momentu żądania usunięcia danych przez osobę, której dane dotyczą.',
678
679        'privacy.s7.title': '7. Odbiorcy danych',
680        'privacy.s7.text': 'Twoje dane osobowe mogą być udostępniane podmiotom przetwarzającym dane w imieniu administratora, w tym dostawcom usług hostingowych, dostawcom usług poczty elektronicznej, operatorom płatności oraz dostawcom usług IT. Dane nie będą przekazywane do państw trzecich poza Europejskim Obszarem Gospodarczym bez odpowiednich zabezpieczeń.',
681
682        'privacy.s8.title': '8. Twoje prawa',
683        'privacy.s8.intro': 'Zgodnie z RODO przysługują Ci następujące prawa:',
684        'privacy.s8.item1': 'Prawo dostępu - możesz żądać informacji o przetwarzanych danych osobowych (art. 15 RODO);',
685        'privacy.s8.item2': 'Prawo do sprostowania - możesz żądać poprawienia nieprawidłowych lub niekompletnych danych (art. 16 RODO);',
686        'privacy.s8.item3': 'Prawo do usunięcia danych ("prawo do bycia zapomnianym") - możesz żądać usunięcia swoich danych w określonych warunkach (art. 17 RODO);',
687        'privacy.s8.item4': 'Prawo do ograniczenia przetwarzania - możesz żądać ograniczenia przetwarzania danych (art. 18 RODO);',
688        'privacy.s8.item5': 'Prawo do przenoszenia danych - możesz żądać przekazania swoich danych w ustrukturyzowanym, powszechnie używanym formacie (art. 20 RODO);',
689        'privacy.s8.item6': 'Prawo do sprzeciwu - możesz wnieść sprzeciw wobec przetwarzania danych opartego na prawnie uzasadnionym interesie, w tym profilowania (art. 21 RODO);',
690        'privacy.s8.item7': 'Prawo do cofnięcia zgody - w przypadku gdy przetwarzanie odbywa się na podstawie zgody, możesz ją cofnąć w dowolnym momencie, bez wpływu na zgodność z prawem przetwarzania dokonanego przed cofnięciem zgody (art. 7 ust. 3 RODO).',
691
692        'privacy.s9.title': '9. Prawo do wniesienia skargi',
693        'privacy.s9.text': 'Jeśli uważasz, że przetwarzanie Twoich danych osobowych narusza RODO, masz prawo wniesienia skargi do organu nadzorczego. W Polsce organem nadzorczym jest Prezes Urzędu Ochrony Danych Osobowych (UODO), ul. Stawki 2, 00-193 Warszawa.',
694
695        'privacy.s10.title': '10. Zautomatyzowane podejmowanie decyzji',
696        'privacy.s10.text': 'Twoje dane osobowe nie będą podlegały zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu, które wywołuje wobec Ciebie skutki prawne lub w podobny sposób istotnie na Ciebie wpływa.',
697
698        'privacy.s11.title': '11. Pliki cookies i technologie śledzenia',
699        'privacy.s11.text1': 'Strona internetowa RS Roofs.AI wykorzystuje pliki cookies i podobne technologie w następujących celach:',
700        'privacy.s11.item1': 'Cookies niezbędne - konieczne do prawidłowego działania strony, w tym preferencje językowe i zarządzanie sesją;',
701        'privacy.s11.item2': 'Cookies bezpieczeństwa - używane do weryfikacji bezpieczeństwa (reCAPTCHA) w celu ochrony formularzy przed automatycznym nadużyciem;',
702        'privacy.s11.item3': 'Cookies analityczne - do analizy interakcji odwiedzających ze stroną i doskonalenia naszych usług.',
703        'privacy.s11.text2': 'Możesz zarządzać preferencjami dotyczącymi plików cookies w ustawieniach przeglądarki. Wyłączenie niezbędnych plików cookies może wpłynąć na funkcjonalność strony.',
704
705        'privacy.s12.title': '12. Kontakt',
706        'privacy.s12.text': 'W przypadku pytań dotyczących przetwarzania danych osobowych, prosimy o kontakt pod adresem: [email protected].',
707
708        'privacy.lastUpdated': 'Ostatnia aktualizacja: luty 2026',
709
710        // Navigation - Terms
711        'nav.terms': 'Regulamin',
712
713        // Terms of Use Page
714        'terms.badge': 'Informacje prawne',
715        'terms.title': 'Regulamin',
716        'terms.intro': 'Poniższy Regulamin określa zasady dostępu i korzystania z systemu RS Roofs.AI udostępnianego przez DEVELOPE.AI Krzysztof Szałkowski. Rejestracja lub korzystanie z systemu RS Roofs.AI oznacza akceptację niniejszego Regulaminu.',
717
718        'terms.s1.title': '1. Definicje',
719        'terms.s1.item1': '„Usługodawca" - DEVELOPE.AI Krzysztof Szałkowski z siedzibą w Płocku, operator systemu RS Roofs.AI.',
720        'terms.s1.item2': '„System" - aplikacja chmurowa RS Roofs.AI do pomiaru dachów, doboru materiałów i generowania wycen, dostępna przez przeglądarkę internetową.',
721        'terms.s1.item3': '„Użytkownik" - osoba fizyczna lub prawna, która zarejestrowała się i korzysta z Systemu.',
722        'terms.s1.item4': '„Subskrypcja" - płatna lub bezpłatna (wczesny dostęp) licencja udzielająca Użytkownikowi dostępu do Systemu na określony czas.',
723        'terms.s1.item5': '„Treści" - wszelkie dane, oferty, pomiary, dokumenty lub inne materiały utworzone lub przesłane przez Użytkownika w Systemie.',
724
725        'terms.s2.title': '2. Funkcjonalność',
726        'terms.s2.text': 'System RS Roofs.AI jest przeznaczony do wspomagania profesjonalistów branży dekarskiej w zakresie pomiaru dachów ze zdjęć satelitarnych i lotniczych, doboru materiałów, kalkulacji kosztów oraz generowania profesjonalnych wycen. System działa jako aplikacja chmurowa (SaaS) dostępna przez przeglądarkę internetową. Funkcje i dostępne moduły mogą się różnić w zależności od planu subskrypcji.',
727
728        'terms.s3.title': '3. Rejestracja konta i dostęp',
729        'terms.s3.text1': 'Aby korzystać z Systemu, Użytkownik musi zarejestrować konto, podając prawdziwe i kompletne dane. Użytkownik jest odpowiedzialny za zachowanie poufności swoich danych logowania oraz za wszelkie działania wykonywane na jego koncie.',
730        'terms.s3.text2': 'Dane logowania nie mogą być udostępniane osobom trzecim ani osobom spoza organizacji Użytkownika. Użytkownik jest zobowiązany do niezwłocznego powiadomienia Usługodawcy o każdym nieautoryzowanym użyciu swojego konta.',
731
732        'terms.s4.title': '4. Subskrypcja i dostępność usługi',
733        'terms.s4.text1': 'System umożliwia przechowywanie ofert i danych projektowych na serwerach Usługodawcy w ramach limitów planu subskrypcji Użytkownika. W przypadku osiągnięcia limitu przestrzeni Użytkownik może pobrać i przechowywać dane na urządzeniach osobistych.',
734        'terms.s4.text2': 'System jest dostępny 24 godziny na dobę, 7 dni w tygodniu przez cały okres subskrypcji, z wyjątkiem sytuacji awaryjnych i planowanych okien serwisowych. Usługodawca dołoży starań, aby z wyprzedzeniem informować o planowanych pracach serwisowych.',
735        'terms.s4.text3': 'W przypadku braku odnowienia subskrypcji dane przechowywane na serwerze będą zachowane przez okres jednego (1) miesiąca od wygaśnięcia. Po tym okresie Usługodawca zastrzega sobie prawo do trwałego usunięcia danych Użytkownika.',
736
737        'terms.s5.title': '5. Warunki płatności',
738        'terms.s5.text1': 'Po złożeniu zamówienia Użytkownik otrzymuje fakturę proforma drogą elektroniczną z danymi do przelewu bankowego. Opłacenie subskrypcji zapewnia dostęp do Systemu na okres jednego (1) roku. Faktura VAT wystawiana jest po aktywacji konta.',
739        'terms.s5.text2': 'Subskrypcje są automatycznie odnawiane na kolejne roczne okresy. W przypadku braku wpłaty w wyznaczonym terminie konto zostanie zawieszone, a dostęp do Systemu ograniczony.',
740        'terms.s5.text3': 'Wszystkie ceny podane są w walucie wskazanej na formularzu zamówienia i podlegają obowiązującym podatkom. Usługodawca zastrzega sobie prawo do zmiany cen dla przyszłych okresów subskrypcji z co najmniej 30-dniowym wyprzedzeniem.',
741
742        'terms.s6.title': '6. Obowiązki Użytkownika i dopuszczalne użytkowanie',
743        'terms.s6.intro': 'Użytkownik zobowiązuje się do:',
744        'terms.s6.item1': 'Korzystania z Systemu wyłącznie w jego przeznaczonym celu, tj. pomiaru dachów, wycen i generowania ofert;',
745        'terms.s6.item2': 'Podawania prawdziwych danych podczas rejestracji i utrzymywania aktualności danych konta;',
746        'terms.s6.item3': 'Niekorzystania z Systemu w sposób, który mógłby go uszkodzić, wyłączyć lub zakłócić jego działanie bądź przeszkadzać innym użytkownikom;',
747        'terms.s6.item4': 'Przestrzegania wszystkich obowiązujących przepisów prawa podczas korzystania z Systemu;',
748        'terms.s6.item5': 'Niepodejmowania prób uzyskania nieautoryzowanego dostępu do jakiejkolwiek części Systemu, innych kont lub powiązanych systemów.',
749
750        'terms.s7.title': '7. Własność intelektualna',
751        'terms.s7.text1': 'System, w tym jego oprogramowanie, projekt, algorytmy, dokumentacja i wszelka związana z nim własność intelektualna, jest i pozostaje wyłączną własnością Usługodawcy. Subskrypcja udziela Użytkownikowi ograniczonej, niewyłącznej, nieprzenoszalnej licencji na korzystanie z Systemu na czas trwania subskrypcji.',
752        'terms.s7.text2': 'Użytkownik zachowuje własność wszystkich Treści utworzonych w Systemie lub do niego przesłanych. Usługodawca nie ro
752ści sobie żadnych praw własności intelektualnej do Treści Użytkownika.',
753
754        'terms.s8.title': '8. Zakaz inżynierii wstecznej i analizy oprogramowania',
755        'terms.s8.intro': 'Użytkownikowi wyraźnie zabrania się:',
756        'terms.s8.item1': 'Dekompilacji, dezasemblacji lub inżynierii wstecznej oprogramowania Systemu;',
757        'terms.s8.item2': 'Prób odzyskania lub rekonstrukcji kodu źródłowego, algorytmów lub struktur danych;',
758        'terms.s8.item3': 'Analizy ruchu sieciowego, protokołów komunikacyjnych lub struktur API w celach innych niż przewidziane użytkowanie;',
759        'terms.s8.item4': 'Omijania lub prób obejścia mechanizmów bezpieczeństwa, kontroli dostępu lub weryfikacji licencji;',
760        'terms.s8.item5': 'Usuwania, zmieniania lub ukrywania jakichkolwiek oznaczeń praw autorskich, znaków towarowych lub oznaczeń własnościowych.',
761        'terms.s8.text': 'Naruszenie tych zakazów może skutkować natychmiastowym wypowiedzeniem licencji, cofnięciem dostępu oraz dochodzeniem roszczeń odszkodowawczych na podstawie obowiązujących przepisów o własności intelektualnej i zwalczaniu nieuczciwej konkurencji.',
762
763        'terms.s9.title': '9. Ograniczenie odpowiedzialności',
764        'terms.s9.text1': 'System jest udostępniany jako profesjonalne narzędzie wspomagające. Wszystkie pomiary, kalkulacje i wyceny generowane przez System mają charakter doradczy i powinny być zweryfikowane przez wykwalifikowanych specjalistów przed wykorzystaniem w zobowiązaniach umownych.',
765        'terms.s9.text2': 'Usługodawca nie ponosi odpowiedzialności za jakiekolwiek szkody pośrednie, uboczne lub następcze, w tym utratę zysków lub możliwości biznesowych, wynikające z korzystania lub niemożności korzystania z Systemu, błędów w pomiarach lub kalkulacjach, lub polegania na danych wygenerowanych przez System.',
766        'terms.s9.text3': 'Całkowita odpowiedzialność Usługodawcy na podstawie niniejszego Regulaminu nie przekracza kwoty zapłaconej przez Użytkownika za bieżący okres subskrypcji. Ograniczenie to nie dotyczy odpowiedzialności, której nie można wyłączyć lub ograniczyć na mocy obowiązujących przepisów prawa.',
767
768        'terms.s10.title': '10. Poufność danych',
769        'terms.s10.text1': 'Usługodawca zobowiązuje się do ochrony danych Użytkownika przechowywanych na swoich serwerach i nie będzie ich udostępniać, sprzedawać ani ujawniać osobom trzecim, z wyjątkiem przypadków wymaganych przez prawo lub niezbędnych do działania Systemu (np. dostawcy hostingu).',
770        'terms.s10.text2': 'Przetwarzanie danych osobowych reguluje nasza <a href="privacy.html" class="gdpr-link">Polityka Prywatności</a>, która stanowi integralną część niniejszego Regulaminu.',
771
772        'terms.s11.title': '11. Odmowa sprzedaży i ochrona interesów przedsiębiorstwa',
773        'terms.s11.text': 'Usługodawca zastrzega sobie prawo do odmowy sprzedaży, odmowy dostępu lub cofnięcia licencji w przypadkach uzasadnionego podejrzenia naruszenia praw własności intelektualnej, prób inżynierii wstecznej, ryzyka ujawnienia tajemnicy handlowej lub działań mogących zaszkodzić interesom biznesowym Usługodawcy. W takich przypadkach Usługodawca może anulować zamówienia, ograniczyć dostęp do Systemu lub wypowiedzieć licencje. Usługodawca nie jest zobowiązany do ujawniania przyczyn takich decyzji.',
774
775        'terms.s12.title': '12. Rozwiązanie umowy',
776        'terms.s12.text1': 'Użytkownik może wypowiedzieć subskrypcję w dowolnym momencie, kontaktując się z Usługodawcą pod adresem [email protected]. Wypowiedzenie jest skuteczne z końcem bieżącego okresu subskrypcji. Zwroty za niepełne okresy nie są przewidziane, chyba że wymaga tego obowiązujące prawo.',
777        'terms.s12.text2': 'Usługodawca może wypowiedzieć lub zawiesić dostęp do Systemu ze skutkiem natychmiastowym, bez uprzedniego powiadomienia, w przypadku naruszenia niniejszego Regulaminu przez Użytkownika. Po wypowiedzeniu prawo Użytkownika do korzystania z Systemu wygasa, a Usługodawca może usunąć dane Użytkownika po upływie okresu przechowywania określonego w punkcie 4.',
778
779        'terms.s13.title': '13. Zmiany Regulaminu',
780        'terms.s13.text': 'Usługodawca zastrzega sobie prawo do zmiany niniejszego Regulaminu w dowolnym czasie. O istotnych zmianach Użytkownicy zostaną powiadomieni co najmniej 14 dni przed ich wejściem w życie, za pośrednictwem poczty elektronicznej lub powiadomienia w Systemie. Dalsze korzystanie z Systemu po dacie wejścia zmian w życie oznacza akceptację zmienionego Regulaminu. Jeśli Użytkownik nie zgadza się ze zmianami, może wypowiedzieć subskrypcję przed ich wejściem w życie.',
781
782        'terms.s14.title': '14. Prawo właściwe i rozstrzyganie sporów',
783        'terms.s14.text': 'Niniejszy Regulamin podlega prawu Rzeczypospolitej Polskiej. Wszelkie spory wynikające z niniejszego Regulaminu lub z nim związane będą rozstrzygane przez sąd właściwy dla siedziby Usługodawcy w Płocku, chyba że bezwzględnie obowiązujące przepisy o ochronie konsumentów 
783stanowią inaczej.',
784
785        'terms.s15.title': '15. Kontakt',
786        'terms.s15.text': 'W przypadku pytań dotyczących niniejszego Regulaminu, prosimy o kontakt pod adresem: [email protected].',
787
788        'terms.lastUpdated': 'Ostatnia aktualizacja: luty 2026'
789    }
790};
791
792/**
793 * I18n Class - Handles language switching and translations
794 */
795class I18n {
796    constructor() {
797        this.currentLang = this.getStoredLanguage() || this.detectLanguage();
798        this.init();
799    }
800
801    /**
802     * Get stored language preference from localStorage
803     */
804    getStoredLanguage() {
805        try {
806            return localStorage.getItem('rsroofs_lang');
807        } catch (e) {
808            return null;
809        }
810    }
811
812    /**
813     * Store language preference
814     */
815    storeLanguage(lang) {
816        try {
817            localStorage.setItem('rsroofs_lang', lang);
818        } catch (e) {
819            // localStorage not available
820        }
821    }
822
823    /**
824     * Detect language based on domain first, then browser
825     */
826    detectLanguage() {
827        // First check domain
828        const hostname = window.location.hostname;
829        if (hostname.includes('rsdachy.pl')) {
830            return 'pl';
831        }
832        if (hostname.includes('rsroofs.ai')) {
833            return 'en';
834        }
835        // Fallback to browser language
836        const browserLang = navigator.language || navigator.userLanguage;
837        return browserLang.startsWith('pl') ? 'pl' : 'en';
838    }
839
840    /**
841     * Initialize i18n
842     */
843    init() {
844        this.updateUI();
845        this.updateLanguageToggle();
846    }
847
848    /**
849     * Set language and update UI
850     */
851    setLanguage(lang) {
852        if (translations[lang]) {
853            this.currentLang = lang;
854            this.storeLanguage(lang);
855            this.updateUI();
856            this.updateLanguageToggle();
857            document.documentElement.lang = lang;
858        }
859    }
860
861    /**
862     * Get translation for a key
863     */
864    t(key) {
865        return translations[this.currentLang][key] || translations['en'][key] || key;
866    }
867
868    /**
869     * Update all UI elements with translations
870     */
871    updateUI() {
872        // Update elements with data-i18n attribute
873        document.querySelectorAll('[data-i18n]').forEach(element => {
874            const key = element.getAttribute('data-i18n');
875            const translation = this.t(key);
876            if (translation) {
877                element.textContent = translation;
878            }
879        });
880
881        // Update elements with data-i18n-html attribute (supports HTML content)
882        document.querySelectorAll('[data-i18n-html]').forEach(element => {
883            const key = element.getAttribute('data-i18n-html');
884            const translation = this.t(key);
885            if (translation) {
886                element.innerHTML = translation;
887            }
888        });
889
890        // Update placeholders
891        document.querySelectorAll('[data-i18n-placeholder]').forEach(element => {
892            const key = element.getAttribute('data-i18n-placeholder');
893            const translation = this.t(key);
894            if (translation) {
895                element.placeholder = translation;
896            }
897        });
898    }
899
900    /**
901     * Update language toggle button state
902     */
903    updateLanguageToggle() {
904        document.querySelectorAll('.lang-option').forEach(el => {
905            el.classList.toggle('active', el.dataset.lang === this.currentLang);
906        });
907
908        document.querySelectorAll('.lang-btn').forEach(el => {
909            el.classList.toggle('active', el.dataset.lang === this.currentLang);
910        });
911    }
912}
913
914// Create global i18n instance
915const i18n = new I18n();
916
917// Export for use in other modules
918window.i18n = i18n;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.