ساده سازی محلی سازی – انجمن DEV

Summarize this content to 400 words in Persian Lang
محلی سازی ضروری است اما اغلب در توسعه وب مدرن دست و پا گیر است. مدیریت فایلهای ترجمه، اطمینان از یکپارچگی و یکپارچهسازی بهروزرسانیها، بهویژه در پایگاههای کد بزرگ، میتواند بسیار دشوار باشد. کتابخانههای سنتی i18n از توسعهدهندگان میخواهند که این پیچیدگیها را به صورت دستی مدیریت کنند که منجر به ناکارآمدی و خطاهای احتمالی میشود.
مشکل با کتابخانه های موجود i18n
بسیاری از کتابخانه های موجود i18n به توسعه دهندگان نیاز دارند:
فایل های JSON را به صورت دستی ایجاد و مدیریت کنید: توسعه دهندگان باید فایل های JSON را برای ترجمه ها ایجاد و به روز کنند، که می تواند مستعد خطا و وقت گیر باشد.
همه ترجمه ها را در یک فایل ذخیره کنید: این میتواند مدیریت ترجمهها را برای برنامههای بزرگ دشوار کند، و در نتیجه فایلهای متورمشدهای ایجاد میشود که به سختی پیمایش میشوند.
از کلیدهای دلخواه استفاده کنید: کلیدهای ساده ای که با متن واقعی مطابقت ندارند، جستجوی ترجمه های خاص در پایگاه کد را دشوارتر می کنند.
این چالش ها سربار و پیچیدگی را اضافه می کنند و بومی سازی را به یک کار ترسناک تبدیل می کنند.
من چگونه آن را اداره می کنم
من یک کتابخانه JS و یک اکوسیستم در اطراف آن ایجاد کردم که این نقاط دردناک را با ویژگیهایی که برای محلیسازی ساده و بدون دردسر طراحی شده است، برطرف میکند:
تولید فایل ترجمه خودکار
با استفاده از یک پلاگین ESLint یکپارچه، localang-i18n-js به طور خودکار فایل های ترجمه را بر اساس متن کد شما تولید می کند. این بدان معناست که دیگر فایل های JSON به صورت دستی ایجاد یا به روز نمی شوند. این افزونه تضمین می کند که فایل های ترجمه شما همیشه به روز و دقیق هستند.
فایل های ترجمه محلی
فایل های ترجمه درست در کنار فایل های کد مربوطه قرار می گیرند. این رویکرد بومیسازی، مدیریت ترجمهها را آسانتر میکند، زیرا هر جزء یا ماژول مجموعهای از فایلهای ترجمه خود را دارد.
کلیدهای مبتنی بر متن
به جای استفاده از کلیدهای دلخواه، localang-i18n-js از متن واقعی به عنوان کلید استفاده می کند. این امر جستجو و یافتن ترجمه های خاص را در پایگاه کد شما آسان می کند. اگر تکهای از متن را در رابط کاربری مشاهده کردید، میتوانید با جستجوی متن دقیق آن را به سرعت در کد پیدا کنید.
مثلا اگر بنویسید i18n(‘What is love?’) و i18n(‘{count} left’) در index.js فایل، یک index.i18n.js فایلی با محتوای زیر در کنار آن ایجاد خواهد شد:
import { makeI18n } from ‘localang-i18n-js’;
// or const { makeI18n } = require(‘localang-i18n-js’);
const keyset = {
‘What is love?’: {
en: ‘What is love?’,
ar: ”,
},
‘{count} left’: {
en: {
zero: ‘Nothing left’,
one: ‘One left’,
two: ‘Two left’,
few: ‘A few left’,
many: ‘Many left’,
other: ‘{count} left’,
},
ar: {
zero: ”,
one: ”,
two: ”,
few: ”,
many: ”,
other: ”
},
},
};
export const i18n = makeI18n(keyset);
// or module.exports = makeI18n(keyset);
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
یکپارچه سازی SaaS
localang-i18n-js با یک پلتفرم SaaS برای مدیریت ترجمه ها ادغام می شود و به غیر توسعه دهندگان این امکان را می دهد که ترجمه ها را مستقیماً در پایگاه کد به روز کنند. این بدان معناست که تیم بومیسازی شما میتواند بدون نیاز به مشارکت توسعهدهندگان، بهروزرسانیها را مدیریت کند، فرآیند را سادهسازی کند و خطر خطاها را کاهش دهد.
GitHub Actions برای اتوماسیون
برای سادهتر کردن فرآیند بومیسازی، localang-i18n-js آماده استفاده از GitHub Actions برای همگام سازی خودکار فایل های ترجمه است. میتوانید گردشهای کاری را راهاندازی کنید تا آخرین ترجمهها را از پلتفرم ترجمه بیرون بکشید یا ترجمههای جدید را مستقیماً از پایگاه کدتان به پلتفرم هدایت کنید. این اتوماسیون تضمین می کند که ترجمه های شما همیشه بدون دخالت دستی به روز هستند.
محلی سازی ضروری است اما اغلب در توسعه وب مدرن دست و پا گیر است. مدیریت فایلهای ترجمه، اطمینان از یکپارچگی و یکپارچهسازی بهروزرسانیها، بهویژه در پایگاههای کد بزرگ، میتواند بسیار دشوار باشد. کتابخانههای سنتی i18n از توسعهدهندگان میخواهند که این پیچیدگیها را به صورت دستی مدیریت کنند که منجر به ناکارآمدی و خطاهای احتمالی میشود.
مشکل با کتابخانه های موجود i18n
بسیاری از کتابخانه های موجود i18n به توسعه دهندگان نیاز دارند:
- فایل های JSON را به صورت دستی ایجاد و مدیریت کنید: توسعه دهندگان باید فایل های JSON را برای ترجمه ها ایجاد و به روز کنند، که می تواند مستعد خطا و وقت گیر باشد.
- همه ترجمه ها را در یک فایل ذخیره کنید: این میتواند مدیریت ترجمهها را برای برنامههای بزرگ دشوار کند، و در نتیجه فایلهای متورمشدهای ایجاد میشود که به سختی پیمایش میشوند.
- از کلیدهای دلخواه استفاده کنید: کلیدهای ساده ای که با متن واقعی مطابقت ندارند، جستجوی ترجمه های خاص در پایگاه کد را دشوارتر می کنند.
این چالش ها سربار و پیچیدگی را اضافه می کنند و بومی سازی را به یک کار ترسناک تبدیل می کنند.
من چگونه آن را اداره می کنم
من یک کتابخانه JS و یک اکوسیستم در اطراف آن ایجاد کردم که این نقاط دردناک را با ویژگیهایی که برای محلیسازی ساده و بدون دردسر طراحی شده است، برطرف میکند:
تولید فایل ترجمه خودکار
با استفاده از یک پلاگین ESLint یکپارچه، localang-i18n-js
به طور خودکار فایل های ترجمه را بر اساس متن کد شما تولید می کند. این بدان معناست که دیگر فایل های JSON به صورت دستی ایجاد یا به روز نمی شوند. این افزونه تضمین می کند که فایل های ترجمه شما همیشه به روز و دقیق هستند.
فایل های ترجمه محلی
فایل های ترجمه درست در کنار فایل های کد مربوطه قرار می گیرند. این رویکرد بومیسازی، مدیریت ترجمهها را آسانتر میکند، زیرا هر جزء یا ماژول مجموعهای از فایلهای ترجمه خود را دارد.
کلیدهای مبتنی بر متن
به جای استفاده از کلیدهای دلخواه، localang-i18n-js
از متن واقعی به عنوان کلید استفاده می کند. این امر جستجو و یافتن ترجمه های خاص را در پایگاه کد شما آسان می کند. اگر تکهای از متن را در رابط کاربری مشاهده کردید، میتوانید با جستجوی متن دقیق آن را به سرعت در کد پیدا کنید.
مثلا اگر بنویسید i18n('What is love?')
و i18n('{count} left')
در index.js
فایل، یک index.i18n.js
فایلی با محتوای زیر در کنار آن ایجاد خواهد شد:
import { makeI18n } from 'localang-i18n-js';
// or const { makeI18n } = require('localang-i18n-js');
const keyset = {
'What is love?': {
en: 'What is love?',
ar: '',
},
'{count} left': {
en: {
zero: 'Nothing left',
one: 'One left',
two: 'Two left',
few: 'A few left',
many: 'Many left',
other: '{count} left',
},
ar: {
zero: '',
one: '',
two: '',
few: '',
many: '',
other: ''
},
},
};
export const i18n = makeI18n(keyset);
// or module.exports = makeI18n(keyset);
یکپارچه سازی SaaS
localang-i18n-js
با یک پلتفرم SaaS برای مدیریت ترجمه ها ادغام می شود و به غیر توسعه دهندگان این امکان را می دهد که ترجمه ها را مستقیماً در پایگاه کد به روز کنند. این بدان معناست که تیم بومیسازی شما میتواند بدون نیاز به مشارکت توسعهدهندگان، بهروزرسانیها را مدیریت کند، فرآیند را سادهسازی کند و خطر خطاها را کاهش دهد.
GitHub Actions برای اتوماسیون
برای سادهتر کردن فرآیند بومیسازی، localang-i18n-js
آماده استفاده از GitHub Actions برای همگام سازی خودکار فایل های ترجمه است. میتوانید گردشهای کاری را راهاندازی کنید تا آخرین ترجمهها را از پلتفرم ترجمه بیرون بکشید یا ترجمههای جدید را مستقیماً از پایگاه کدتان به پلتفرم هدایت کنید. این اتوماسیون تضمین می کند که ترجمه های شما همیشه بدون دخالت دستی به روز هستند.